Merge changes from topic "146593004"
* changes: Use proper Telephony API to supply sim pin and puk. Hook supplyPin and supplyPuk to proper impl with subId specified
This commit is contained in:
committed by
Android (Google) Code Review
commit
a4e58b7e19
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8201,9 +8201,9 @@ public class TelephonyManager {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.supplyPin(pin);
|
||||
return telephony.supplyPinForSubscriber(getSubId(), pin);
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "Error calling ITelephony#supplyPin", e);
|
||||
Log.e(TAG, "Error calling ITelephony#supplyPinForSubscriber", e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -8215,9 +8215,9 @@ public class TelephonyManager {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.supplyPuk(puk, pin);
|
||||
return telephony.supplyPukForSubscriber(getSubId(), puk, pin);
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "Error calling ITelephony#supplyPuk", e);
|
||||
Log.e(TAG, "Error calling ITelephony#supplyPukForSubscriber", e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -8229,9 +8229,9 @@ public class TelephonyManager {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.supplyPinReportResult(pin);
|
||||
return telephony.supplyPinReportResultForSubscriber(getSubId(), pin);
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "Error calling ITelephony#supplyPinReportResult", e);
|
||||
Log.e(TAG, "Error calling ITelephony#supplyPinReportResultForSubscriber", e);
|
||||
}
|
||||
return new int[0];
|
||||
}
|
||||
@@ -8243,7 +8243,7 @@ public class TelephonyManager {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.supplyPukReportResult(puk, pin);
|
||||
return telephony.supplyPukReportResultForSubscriber(getSubId(), puk, pin);
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "Error calling ITelephony#]", e);
|
||||
}
|
||||
|
||||
@@ -117,13 +117,6 @@ interface ITelephony {
|
||||
*/
|
||||
boolean isRadioOnForSubscriberWithFeature(int subId, String callingPackage, String callingFeatureId);
|
||||
|
||||
/**
|
||||
* Supply a pin to unlock the SIM. Blocks until a result is determined.
|
||||
* @param pin The pin to check.
|
||||
* @return whether the operation was a success.
|
||||
*/
|
||||
@UnsupportedAppUsage
|
||||
boolean supplyPin(String pin);
|
||||
|
||||
/**
|
||||
* Supply a pin to unlock the SIM for particular subId.
|
||||
@@ -134,15 +127,6 @@ interface ITelephony {
|
||||
*/
|
||||
boolean supplyPinForSubscriber(int subId, String pin);
|
||||
|
||||
/**
|
||||
* Supply puk to unlock the SIM and set SIM pin to new pin.
|
||||
* Blocks until a result is determined.
|
||||
* @param puk The puk to check.
|
||||
* pin The new pin to be set in SIM
|
||||
* @return whether the operation was a success.
|
||||
*/
|
||||
boolean supplyPuk(String puk, String pin);
|
||||
|
||||
/**
|
||||
* Supply puk to unlock the SIM and set SIM pin to new pin.
|
||||
* Blocks until a result is determined.
|
||||
@@ -153,15 +137,6 @@ interface ITelephony {
|
||||
*/
|
||||
boolean supplyPukForSubscriber(int subId, String puk, String pin);
|
||||
|
||||
/**
|
||||
* Supply a pin to unlock the SIM. Blocks until a result is determined.
|
||||
* Returns a specific success/error code.
|
||||
* @param pin The pin to check.
|
||||
* @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code
|
||||
* retValue[1] = number of attempts remaining if known otherwise -1
|
||||
*/
|
||||
int[] supplyPinReportResult(String pin);
|
||||
|
||||
/**
|
||||
* Supply a pin to unlock the SIM. Blocks until a result is determined.
|
||||
* Returns a specific success/error code.
|
||||
@@ -171,17 +146,6 @@ interface ITelephony {
|
||||
*/
|
||||
int[] supplyPinReportResultForSubscriber(int subId, String pin);
|
||||
|
||||
/**
|
||||
* Supply puk to unlock the SIM and set SIM pin to new pin.
|
||||
* Blocks until a result is determined.
|
||||
* Returns a specific success/error code
|
||||
* @param puk The puk to check
|
||||
* pin The pin to check.
|
||||
* @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code
|
||||
* retValue[1] = number of attempts remaining if known otherwise -1
|
||||
*/
|
||||
int[] supplyPukReportResult(String puk, String pin);
|
||||
|
||||
/**
|
||||
* Supply puk to unlock the SIM and set SIM pin to new pin.
|
||||
* Blocks until a result is determined.
|
||||
|
||||
Reference in New Issue
Block a user