Use proper Telephony API to supply sim pin and puk.
Bug: 146593004 Test: manual - pin and puk Change-Id: Ic64cc8a48c6e28f3ac8a013cbb4c15e7e58f7f4d
This commit is contained in:
@@ -26,8 +26,6 @@ import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Color;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.telephony.SubscriptionInfo;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
@@ -37,7 +35,6 @@ import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.android.internal.telephony.ITelephony;
|
||||
import com.android.internal.telephony.PhoneConstants;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.R;
|
||||
@@ -258,12 +255,22 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if (DEBUG) {
|
||||
Log.v(TAG, "call supplyPinReportResultForSubscriber(subid=" + mSubId + ")");
|
||||
}
|
||||
final int[] result = ITelephony.Stub.asInterface(ServiceManager
|
||||
.checkService("phone")).supplyPinReportResultForSubscriber(mSubId, mPin);
|
||||
if (DEBUG) {
|
||||
Log.v(TAG, "call supplyPinReportResultForSubscriber(subid=" + mSubId + ")");
|
||||
}
|
||||
TelephonyManager telephonyManager =
|
||||
((TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE))
|
||||
.createForSubscriptionId(mSubId);
|
||||
final int[] result = telephonyManager.supplyPinReportResult(mPin);
|
||||
if (result == null || result.length == 0) {
|
||||
Log.e(TAG, "Error result for supplyPinReportResult.");
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
onSimCheckResponse(PhoneConstants.PIN_GENERAL_FAILURE, -1);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (DEBUG) {
|
||||
Log.v(TAG, "supplyPinReportResult returned: " + result[0] + " " + result[1]);
|
||||
}
|
||||
@@ -273,14 +280,6 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView {
|
||||
onSimCheckResponse(result[0], result[1]);
|
||||
}
|
||||
});
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "RemoteException for supplyPinReportResult:", e);
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
onSimCheckResponse(PhoneConstants.PIN_GENERAL_FAILURE, -1);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,8 +25,6 @@ import android.content.res.ColorStateList;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Color;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.telephony.SubscriptionInfo;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
@@ -36,7 +34,6 @@ import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.android.internal.telephony.ITelephony;
|
||||
import com.android.internal.telephony.PhoneConstants;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.R;
|
||||
@@ -318,10 +315,20 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if (DEBUG) Log.v(TAG, "call supplyPukReportResult()");
|
||||
final int[] result = ITelephony.Stub.asInterface(ServiceManager
|
||||
.checkService("phone")).supplyPukReportResultForSubscriber(mSubId, mPuk, mPin);
|
||||
if (DEBUG) Log.v(TAG, "call supplyPukReportResult()");
|
||||
TelephonyManager telephonyManager =
|
||||
((TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE))
|
||||
.createForSubscriptionId(mSubId);
|
||||
final int[] result = telephonyManager.supplyPukReportResult(mPuk, mPin);
|
||||
if (result == null || result.length == 0) {
|
||||
Log.e(TAG, "Error result for supplyPukReportResult.");
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
onSimLockChangedResponse(PhoneConstants.PIN_GENERAL_FAILURE, -1);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (DEBUG) {
|
||||
Log.v(TAG, "supplyPukReportResult returned: " + result[0] + " " + result[1]);
|
||||
}
|
||||
@@ -331,14 +338,6 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView {
|
||||
onSimLockChangedResponse(result[0], result[1]);
|
||||
}
|
||||
});
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "RemoteException for supplyPukReportResult:", e);
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
onSimLockChangedResponse(PhoneConstants.PIN_GENERAL_FAILURE, -1);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user