[Sprint Samsung Galaxy S 4 Q&A, Help & Troubleshoot] autoprime:
Ive been talking to unlock site admins for a few weeks before posting the command for the unlock code. all have failed. but good luck.. and keep us posted.

tho it looks like we're going to have to find the code ourselves. IF it even has a code. Like I mentioned in my last post... this may not even be valid on the device... altho since the apk was included in the rom.. you'd think it has some kinda significance. The only function of the personalization apk is to enter unlock code.

edit*

more info on the "personalization.apk"

package com.sec.android.app.personalization;

import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.AsyncResult;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Editable;
import android.text.TextUtils;
import android.text.method.DialerKeyListener;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;

public class PersoLock extends Dialog
{
final char REQ_GET_LOCK_STATUS = '\002';
final char REQ_LOCK_MODE = '\001';
final char REQ_UNLOCK_MODE = '\000';
private EditText mCPEntry;
private TextView mCPText;
private EditText mControlKeyEntry;
private TextView mCpStatus;
private Button mDismissButton;
View.OnClickListener mDismissListener = new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
PersoLock.this.log("network personalization skipped.");
PersoLock.this.dismiss();
PersoLock.this.mParentActivity.finish();
}
};
private LinearLayout mEntryPanel;
private Handler mHandler = new Handler()
{
public void handleMessage(Message paramAnonymousMessage)
{
if (paramAnonymousMessage.what == 100)
if (((AsyncResult)paramAnonymousMessage.obj).exception != null)
{
PersoLock.this.log("network perso lock request failure.");
PersoLock.this.indicateError();
postDelayed(new Runnable()
{
public void run()
{
PersoLock.this.hideAlert();
PersoLock.this.mMccMncEntry.getText().clear();
PersoLock.this.mMccMncEntry.requestFocus();
PersoLock.this.mControlKeyEntry.getText().clear();
PersoLock.this.mControlKeyEntry.requestFocus();
}
}
, 2000L);
}
do
{
return;
PersoLock.this.log("network perso lock SuCcess.");
PersoLock.this.indicateSuccess();
postDelayed(new Runnable()
{
public void run()
{
PersoLock.this.dismiss();
PersoLock.this.mParentActivity.finish();
}
}
, 2000L);
return;
if (paramAnonymousMessage.what == 101)
{
if (((AsyncResult)paramAnonymousMessage.obj).exception != null)
{
PersoLock.this.log("network perso unlock request failure.");
PersoLock.this.indicateError();
postDelayed(new Runnable()
{
public void run()
{
PersoLock.this.hideAlert();
PersoLock.this.mControlKeyEntry.getText().clear();
PersoLock.this.mControlKeyEntry.requestFocus();
}
}
, 3000L);
return;
}
PersoLock.this.log("network perso unlock success.");
PersoLock.this.indicateSuccess();
PersoLock.this.dismiss();
PersoLock.this.mParentActivity.finish();
return;
}
}
while (paramAnonymousMessage.what != 102);
PersoLock.this.log("get status success");
byte[] arrayOfByte = (byte[])((AsyncResult)paramAnonymousMessage.obj).result;
PersoLock.this.log("Buf[0] : " + arrayOfByte[0]);
PersoLock.this.log("Buf[1] : " + arrayOfByte[1]);
PersoLock.this.log("Buf[2] : " + arrayOfByte[2]);
PersoLock.this.log("Buf[3] : " + arrayOfByte[3]);
PersoLock.access$602(PersoLock.this, (TextView)PersoLock.this.findViewById(2131034126));
PersoLock.access$702(PersoLock.this, (TextView)PersoLock.this.findViewById(2131034127));
PersoLock.access$802(PersoLock.this, (TextView)PersoLock.this.findViewById(2131034128));
PersoLock.access$902(PersoLock.this, (TextView)PersoLock.this.findViewById(2131034129));
if (arrayOfByte[0] == 1)
{
PersoLock.this.mNpStatus.setText("[ON]");
if (arrayOfByte[1] != 1)
break label496;
PersoLock.this.mNspStatus.setText("[ON]");
label442: if (arrayOfByte[2] != 1)
break label511;
PersoLock.this.mSpStatus.setText("[ON]");
}
while (true)
{
if (arrayOfByte[3] != 1)
break label526;
PersoLock.this.mCpStatus.setText("[ON]");
return;
PersoLock.this.mNpStatus.setText("[OFF]");
break;
label496: PersoLock.this.mNspStatus.setText("[OFF]");
break label442;
label511: PersoLock.this.mSpStatus.setText("[OFF]");
}
label526: PersoLock.this.mCpStatus.setText("[OFF]");
}
};
public int mIsLock = 0;
private EditText mMccMncEntry;
private EditText mNSPEntry;
private TextView mNSPText;
private TextView mNpStatus;
private TextView mNspStatus;
private OemCommands mOem = null;
public Activity mParentActivity;
public int mPersoType = 0;
private TextView mPersoTypeText;
private Phone mPhone;
private TextView mSpStatus;
private LinearLayout mStatusPanel;
private TextView mStatusText;
private TextView mUnlockText;
private Button mlockButton;
View.OnClickListener mlockListener = new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
String str2;
if (PersoLock.this.mIsLock == 1)
{
PersoLock.this.log("mIsLock - ok click");
String str1 = PersoLock.this.mMccMncEntry.getText().toString();
str2 = PersoLock.this.mControlKeyEntry.getText().toString();
if (!TextUtils.isEmpty(str1));
}
do
{
do
{
do
return;
while (TextUtils.isEmpty(str2));
PersoLock.this.SendLockData();
PersoLock.this.indicateBusy();
return;
}
while (PersoLock.this.mIsLock != 0);
PersoLock.this.log("!mIsLock - ok click");
}
while (TextUtils.isEmpty(PersoLock.this.mControlKeyEntry.getText().toString()));
PersoLock.this.SendUnLockData();
PersoLock.this.indicateBusy();
}
};

public PersoLock(Context paramContext)
{
super(paramContext);
}

private void SendGetStatusData()
{
log("SendGetStatusData");
byte[] arrayOfByte = this.mOem.PersoGetStatusData();
if (arrayOfByte == null)
{
log("err - data is NULL");
return;
}
this.mPhone.invokeOemRilRequestRaw(arrayOfByte, this.mHandler.obtainMessage(102));
}

private void SendLockData()
{
byte[] arrayOfByte = null;
switch (this.mPersoType)
{
default:
log("err - switch;default");
case 5:
case 6:
case 7:
case 8:
}
while (arrayOfByte == null)
{
log("err - data is NULL");
return;
OemCommands localOemCommands4 = this.mOem;
this.mOem.getClass();
this.mOem.getClass();
arrayOfByte = localOemCommands4.PersoNWLockData('\005', '\001', this.mMccMncEntry.getText().toString(), this.mControlKeyEntry.getText().toString());
continue;
OemCommands localOemCommands3 = this.mOem;
this.mOem.getClass();
this.mOem.getClass();
arrayOfByte = localOemCommands3.PersoSUBLockData('\006', '\001', this.mMccMncEntry.getText().toString(), this.mNSPEntry.getText().toString(), this.mControlKeyEntry.getText().toString());
continue;
OemCommands localOemCommands2 = this.mOem;
this.mOem.getClass();
this.mOem.getClass();
arrayOfByte = localOemCommands2.PersoSPLockData('\007', '\001', this.mMccMncEntry.getText().toString(), this.mNSPEntry.getText().toString(), this.mControlKeyEntry.getText().toString());
continue;
OemCommands localOemCommands1 = this.mOem;
this.mOem.getClass();
this.mOem.getClass();
arrayOfByte = localOemCommands1.PersoCPLockData('\b', '\001', this.mMccMncEntry.getText().toString(), this.mNSPEntry.getText().toString(), this.mCPEntry.getText().toString(), this.mControlKeyEntry.getText().toString());
}
this.mPhone.invokeOemRilRequestRaw(arrayOfByte, this.mHandler.obtainMessage(100));
}

private void SendUnLockData()
{
byte[] arrayOfByte = this.mOem.PersoUnLockData((char)this.mPersoType, this.mControlKeyEntry.getText().toString());
if (arrayOfByte == null)
{
log("err - data is NULL");
return;
}
this.mPhone.invokeOemRilRequestRaw(arrayOfByte, this.mHandler.obtainMessage(101));
}

private void ShowLockPanel()
{
log("P type is " + this.mPersoType);
this.mPersoTypeText = ((TextView)findViewById(2131034113));
this.mNSPText = ((TextView)findViewById(2131034115));
this.mCPText = ((TextView)findViewById(2131034117));
this.mMccMncEntry = ((EditText)findViewById(2131034114));
this.mMccMncEntry.setKeyListener(DialerKeyListener.getInstance());
this.mMccMncEntry.setOnClickListener(this.mlockListener);
this.mNSPEntry = ((EditText)findViewById(2131034116));
this.mCPEntry = ((EditText)findViewById(2131034118));
int i = this.mPersoType;
this.mOem.getClass();
if (i == 5)
{
this.mNSPText.setVisibility(8);
this.mCPText.setVisibility(8);
this.mNSPEntry.setVisibility(8);
this.mCPEntry.setVisibility(8);
}
while (true)
{
this.mControlKeyEntry = ((EditText)findViewById(2131034119));
this.mControlKeyEntry.setKeyListener(DialerKeyListener.getInstance());
this.mEntryPanel = ((LinearLayout)findViewById(2131034112));
this.mlockButton = ((Button)findViewById(2131034120));
this.mlockButton.setOnClickListener(this.mlockListener);
this.mDismissButton = ((Button)findViewById(2131034121));
this.mDismissButton.setOnClickListener(this.mDismissListener);
this.mStatusPanel = ((LinearLayout)findViewById(2131034122));
this.mStatusText = ((TextView)findViewById(2131034123));
return;
int j = this.mPersoType;
this.mOem.getClass();
if (j == 6)
{
this.mCPEntry.setVisibility(8);
this.mCPText.setVisibility(8);
this.mNSPText.setText(2130968579);
this.mNSPEntry.setKeyListener(DialerKeyListener.getInstance());
}
else
{
int k = this.mPersoType;
this.mOem.getClass();
if (k == 7)
{
this.mCPEntry.setVisibility(8);
this.mCPText.setVisibility(8);
this.mNSPText.setText(2130968580);
this.mNSPEntry.setKeyListener(DialerKeyListener.getInstance());
}
else
{
int m = this.mPersoType;
this.mOem.getClass();
if (m == 8)
{
this.mNSPEntry.setKeyListener(DialerKeyListener.getInstance());
this.mCPEntry.setKeyListener(DialerKeyListener.getInstance());
}
else
{
log("Err Unknown type");
}
}
}
}
}

private void ShowStatusPanel()
{
log("ShowStatusPanel");
this.mPersoTypeText = ((TextView)findViewById(2131034125));
this.mPersoTypeText.setText("Personalizatiob Status");
this.mDismissButton = ((Button)findViewById(2131034130));
this.mDismissButton.setOnClickListener(this.mDismissListener);
SendGetStatusData();
}

private void ShowUnLockPanel()
{
log("P type is " + this.mPersoType);
this.mPersoTypeText = ((TextView)findViewById(2131034132));
this.mUnlockText = ((TextView)findViewById(2131034133));
int i = this.mPersoType;
this.mOem.getClass();
if (i == 5)
{
this.mPersoTypeText.setText(2130968594);
this.mUnlockText.setText(2130968598);
}
while (true)
{
this.mControlKeyEntry = ((EditText)findViewById(2131034134));
this.mControlKeyEntry.setKeyListener(DialerKeyListener.getInstance());
this.mEntryPanel = ((LinearLayout)findViewById(2131034131));
this.mlockButton = ((Button)findViewById(2131034135));
this.mlockButton.setOnClickListener(this.mlockListener);
this.mDismissButton = ((Button)findViewById(2131034136));
this.mDismissButton.setOnClickListener(this.mDismissListener);
this.mStatusPanel = ((LinearLayout)findViewById(2131034137));
this.mStatusText = ((TextView)findViewById(2131034138));
return;
int j = this.mPersoType;
this.mOem.getClass();
if (j == 6)
{
this.mPersoTypeText.setText(2130968595);
this.mUnlockText.setText(2130968599);
}
else
{
int k = this.mPersoType;
this.mOem.getClass();
if (k == 7)
{
this.mPersoTypeText.setText(2130968596);
this.mUnlockText.setText(2130968600);
}
else
{
int m = this.mPersoType;
this.mOem.getClass();
if (m == 8)
{
this.mPersoTypeText.setText(2130968597);
this.mUnlockText.setText(2130968601);
}
else
{
log("Err Unknown type");
}
}
}
}
}

private void hideAlert()
{
this.mEntryPanel.setVisibility(0);
this.mStatusPanel.setVisibility(8);
}

private void indicateBusy()
{
if (this.mIsLock == 1)
this.mStatusText.setText(2130968586);
while (true)
{
this.mEntryPanel.setVisibility(8);
this.mStatusPanel.setVisibility(0);
return;
this.mStatusText.setText(2130968589);
}
}

private void indicateError()
{
if (this.mIsLock == 1)
this.mStatusText.setText(2130968587);
while (true)
{
this.mEntryPanel.setVisibility(8);
this.mStatusPanel.setVisibility(0);
return;
this.mStatusText.setText(2130968590);
}
}

private void indicateSuccess()
{
if (this.mIsLock == 1)
this.mStatusText.setText(2130968588);
while (true)
{
this.mEntryPanel.setVisibility(8);
this.mStatusPanel.setVisibility(0);
return;
this.mStatusText.setText(2130968591);
}
}

private void log(String paramString)
{
Log.i("Personalization", "[SimNetworklock] " + paramString);
}

protected void onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
this.mPhone = PhoneFactory.getDefaultPhone();
this.mOem = new OemCommands(null);
if (this.mIsLock == 2)
{
log("mIsLock - REQ_GET_LOCK_STATUS");
setContentView(2130903041);
ShowStatusPanel();
return;
}
if (this.mIsLock == 1)
{
setContentView(2130903040);
ShowLockPanel();
return;
}
setContentView(2130903042);
ShowUnLockPanel();
}

public boolean onKeyDown(int paramInt, KeyEvent paramKeyEvent)
{
if (paramInt == 4)
return true;
return super.onKeyDown(paramInt, paramKeyEvent);
}

protected void onStart()
{
super.onStart();
}

private class OemCommands
{
final char OEM_PERSO_FUNCTAG = '\004';
final char OEM_PERSO_GET_LOCK_STATUS = '\002';
final char OEM_PERSO_LOCK_MODE = '\001';
final char OEM_PERSO_SUB_FUNCTAG = '\000';
final char OEM_PERSO_TYPE_CP_LOCK = '\b';
final char OEM_PERSO_TYPE_NW_LOCK = '\005';
final char OEM_PERSO_TYPE_NW_SUB_LOCK = '\006';
final char OEM_PERSO_TYPE_SP_LOCK = '\007';
final char OEM_PERSO_UNLOCK_MODE = '\000';

private OemCommands()
{
}

byte[] PersoCPLockData(char paramChar1, char paramChar2, String paramString1, String paramString2, String paramString3, String paramString4)
{
ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream);
int i = (char)paramString1.length();
int j = (char)paramString2.length();
int k = (char)paramString3.length();
((char)paramString4.length());
int m = 9 + paramString1.length() + paramString2.length() + paramString3.length() + paramString4.length();
try
{
localDataOutputStream.writeByte(4);
localDataOutputStream.writeByte(1);
localDataOutputStream.writeShort(m);
localDataOutputStream.writeByte(paramChar1);
localDataOutputStream.writeByte(paramChar2);
localDataOutputStream.writeByte(i);
localDataOutputStream.writeBytes(paramString1);
localDataOutputStream.writeByte(j);
localDataOutputStream.writeBytes(paramString2);
localDataOutputStream.writeByte(k);
localDataOutputStream.writeBytes(paramString3);
localDataOutputStream.writeBytes(paramString4);
if (localDataOutputStream != null);
try
{
localDataOutputStream.close();
arrayOfByte = localByteArrayOutputStream.toByteArray();
return arrayOfByte;
}
catch (IOException localIOException4)
{
while (true)
localIOException4.printStackTrace();
}
}
catch (IOException localIOException2)
{
do
{
PersoLock.this.log("IOException in PersoCP Data!!!");
byte[] arrayOfByte = null;
}
while (localDataOutputStream == null);
try
{
localDataOutputStream.close();
return null;
}
catch (IOException localIOException3)
{
localIOException3.printStackTrace();
return null;
}
}
finally
{
if (localDataOutputStream == null);
}
try
{
localDataOutputStream.close();
throw localObject;
}
catch (IOException localIOException1)
{
while (true)
localIOException1.printStackTrace();
}
}

byte[] PersoGetStatusData()
{
ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream);
try
{
localDataOutputStream.writeByte(4);
localDataOutputStream.writeByte(2);
localDataOutputStream.writeShort(4);
if (localDataOutputStream != null);
try
{
localDataOutputStream.close();
arrayOfByte = localByteArrayOutputStream.toByteArray();
return arrayOfByte;
}
catch (IOException localIOException4)
{
while (true)
localIOException4.printStackTrace();
}
}
catch (IOException localIOException2)
{
do
{
PersoLock.this.log("IOException in PersoGetStatusData Data!!!");
byte[] arrayOfByte = null;
}
while (localDataOutputStream == null);
try
{
localDataOutputStream.close();
return null;
}
catch (IOException localIOException3)
{
localIOException3.printStackTrace();
return null;
}
}
finally
{
if (localDataOutputStream == null);
}
try
{
localDataOutputStream.close();
throw localObject;
}
catch (IOException localIOException1)
{
while (true)
localIOException1.printStackTrace();
}
}

byte[] PersoNWLockData(char paramChar1, char paramChar2, String paramString1, String paramString2)
{
ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream);
int i = (char)paramString1.length();
((char)paramString2.length());
int j = 7 + paramString1.length() + paramString2.length();
try
{
localDataOutputStream.writeByte(4);
localDataOutputStream.writeByte(1);
localDataOutputStream.writeShort(j);
localDataOutputStream.writeByte(paramChar1);
localDataOutputStream.writeByte(paramChar2);
localDataOutputStream.writeByte(i);
localDataOutputStream.writeBytes(paramString1);
localDataOutputStream.writeBytes(paramString2);
if (localDataOutputStream != null);
try
{
localDataOutputStream.close();
arrayOfByte = localByteArrayOutputStream.toByteArray();
return arrayOfByte;
}
catch (IOException localIOException4)
{
while (true)
localIOException4.printStackTrace();
}
}
catch (IOException localIOException2)
{
do
{
PersoLock.this.log("IOException in PersoNWLock Data!!!");
byte[] arrayOfByte = null;
}
while (localDataOutputStream == null);
try
{
localDataOutputStream.close();
return null;
}
catch (IOException localIOException3)
{
localIOException3.printStackTrace();
return null;
}
}
finally
{
if (localDataOutputStream == null);
}
try
{
localDataOutputStream.close();
throw localObject;
}
catch (IOException localIOException1)
{
while (true)
localIOException1.printStackTrace();
}
}

byte[] PersoSPLockData(char paramChar1, char paramChar2, String paramString1, String paramString2, String paramString3)
{
ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream);
int i = (char)paramString1.length();
int j = (char)paramString2.length();
((char)paramString3.length());
int k = 8 + paramString1.length() + paramString2.length() + paramString3.length();
try
{
localDataOutputStream.writeByte(4);
localDataOutputStream.writeByte(1);
localDataOutputStream.writeShort(k);
localDataOutputStream.writeByte(paramChar1);
localDataOutputStream.writeByte(paramChar2);
localDataOutputStream.writeByte(i);
localDataOutputStream.writeBytes(paramString1);
localDataOutputStream.writeByte(j);
localDataOutputStream.writeBytes(paramString2);
localDataOutputStream.writeBytes(paramString3);
if (localDataOutputStream != null);
try
{
localDataOutputStream.close();
arrayOfByte = localByteArrayOutputStream.toByteArray();
return arrayOfByte;
}
catch (IOException localIOException4)
{
while (true)
localIOException4.printStackTrace();
}
}
catch (IOException localIOException2)
{
do
{
PersoLock.this.log("IOException in PersoSPLock Data!!!");
byte[] arrayOfByte = null;
}
while (localDataOutputStream == null);
try
{
localDataOutputStream.close();
return null;
}
catch (IOException localIOException3)
{
localIOException3.printStackTrace();
return null;
}
}
finally
{
if (localDataOutputStream == null);
}
try
{
localDataOutputStream.close();
throw localObject;
}
catch (IOException localIOException1)
{
while (true)
localIOException1.printStackTrace();
}
}

byte[] PersoSUBLockData(char paramChar1, char paramChar2, String paramString1, String paramString2, String paramString3)
{
ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream);
int i = (char)paramString1.length();
int j = (char)paramString2.length();
((char)paramString3.length());
int k = 8 + paramString1.length() + paramString2.length() + paramString3.length();
PersoLock.this.log("fileSize is " + k);
PersoLock.this.log("lengthOfMccMnc is " + paramString1.length());
PersoLock.this.log("lengthOfNsp is " + paramString2.length());
PersoLock.this.log("lengthOfControlKey is " + paramString3.length());
try
{
localDataOutputStream.writeByte(4);
localDataOutputStream.writeByte(1);
localDataOutputStream.writeShort(k);
localDataOutputStream.writeByte(paramChar1);
localDataOutputStream.writeByte(paramChar2);
localDataOutputStream.writeByte(i);
localDataOutputStream.writeBytes(paramString1);
localDataOutputStream.writeByte(j);
localDataOutputStream.writeBytes(paramString2);
localDataOutputStream.writeBytes(paramString3);
if (localDataOutputStream != null);
try
{
localDataOutputStream.close();
arrayOfByte = localByteArrayOutputStream.toByteArray();
return arrayOfByte;
}
catch (IOException localIOException4)
{
while (true)
localIOException4.printStackTrace();
}
}
catch (IOException localIOException2)
{
do
{
PersoLock.this.log("IOException in PersoSUBLock Data!!!");
byte[] arrayOfByte = null;
}
while (localDataOutputStream == null);
try
{
localDataOutputStream.close();
return null;
}
catch (IOException localIOException3)
{
localIOException3.printStackTrace();
return null;
}
}
finally
{
if (localDataOutputStream == null);
}
try
{
localDataOutputStream.close();
throw localObject;
}
catch (IOException localIOException1)
{
while (true)
localIOException1.printStackTrace();
}
}

byte[] PersoUnLockData(char paramChar, String paramString)
{
ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream);
int i = 6 + paramString.length();
try
{
localDataOutputStream.writeByte(4);
localDataOutputStream.writeByte(0);
localDataOutputStream.writeShort(i);
localDataOutputStream.writeByte(paramChar);
localDataOutputStream.writeByte(0);
localDataOutputStream.writeBytes(paramString);
if (localDataOutputStream != null);
try
{
localDataOutputStream.close();
arrayOfByte = localByteArrayOutputStream.toByteArray();
return arrayOfByte;
}
catch (IOException localIOException4)
{
while (true)
localIOException4.printStackTrace();
}
}
catch (IOException localIOException2)
{
do
{
PersoLock.this.log("IOException in Perso unlock Data!!!");
byte[] arrayOfByte = null;
}
while (localDataOutputStream == null);
try
{
localDataOutputStream.close();
return null;
}
catch (IOException localIOException3)
{
localIOException3.printStackTrace();
return null;
}
}
finally
{
if (localDataOutputStream == null);
}
try
{
localDataOutputStream.close();
throw localObject;
}
catch (IOException localIOException1)
{
while (true)
localIOException1.printStackTrace();
}
}
}
}