summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2021-09-22 00:22:40 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-09-22 00:22:40 +0000
commit780c5be8b59744d8660944a2be94aba4cfb8e359 (patch)
tree0fa3a19bc265197d0335770fd73e24de0e6d550a /src/com/android
parenteb01693f0e48c15d45dd548ab05b819ea062e0fa (diff)
parent4a59a2d8380ddb305e3d77bc9bfadcc3489e4611 (diff)
downloadplatform_packages_services_Telephony-780c5be8b59744d8660944a2be94aba4cfb8e359.tar.gz
platform_packages_services_Telephony-780c5be8b59744d8660944a2be94aba4cfb8e359.tar.bz2
platform_packages_services_Telephony-780c5be8b59744d8660944a2be94aba4cfb8e359.zip
Merge "Refactor PinStorage#storePin to avoid dead lock when unlock PIN." am: 4a59a2d838
Original change: https://android-review.googlesource.com/c/platform/packages/services/Telephony/+/1832798 Change-Id: I8614344ff3557cb61b473b08b8d91b7eff79cd20
Diffstat (limited to 'src/com/android')
-rwxr-xr-xsrc/com/android/phone/PhoneInterfaceManager.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index c75933b28..f78a0a10f 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -185,6 +185,7 @@ import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
import com.android.internal.telephony.uicc.IccIoResult;
import com.android.internal.telephony.uicc.IccRecords;
import com.android.internal.telephony.uicc.IccUtils;
+import com.android.internal.telephony.uicc.PinStorage;
import com.android.internal.telephony.uicc.SIMRecords;
import com.android.internal.telephony.uicc.UiccCard;
import com.android.internal.telephony.uicc.UiccCardApplication;
@@ -1732,8 +1733,9 @@ public class PhoneInterfaceManager extends ITelephony.Stub {
// If the operation is successful, update the PIN storage
Pair<String, String> passwords = (Pair<String, String>) request.argument;
int phoneId = getPhoneFromRequest(request).getPhoneId();
- UiccController.getInstance().getPinStorage()
- .storePin(passwords.second, phoneId);
+ PinStorage pinStorage = UiccController.getInstance().getPinStorage();
+ pinStorage.storePin(passwords.second, phoneId,
+ pinStorage.getIccid(phoneId));
} else {
request.result = msg.arg1;
}
@@ -1757,8 +1759,9 @@ public class PhoneInterfaceManager extends ITelephony.Stub {
Pair<Boolean, String> enabled = (Pair<Boolean, String>) request.argument;
int phoneId = getPhoneFromRequest(request).getPhoneId();
if (enabled.first) {
- UiccController.getInstance().getPinStorage()
- .storePin(enabled.second, phoneId);
+ PinStorage pinStorage = UiccController.getInstance().getPinStorage();
+ pinStorage.storePin(enabled.second, phoneId,
+ pinStorage.getIccid(phoneId));
} else {
UiccController.getInstance().getPinStorage().clearPin(phoneId);
}
@@ -2457,7 +2460,8 @@ public class PhoneInterfaceManager extends ITelephony.Stub {
resultArray[1] = mRetryCount;
if (mResult == PhoneConstants.PIN_RESULT_SUCCESS && pin.length() > 0) {
- UiccController.getInstance().getPinStorage().storePin(pin, mPhoneId);
+ PinStorage pinStorage = UiccController.getInstance().getPinStorage();
+ pinStorage.storePin(pin, mPhoneId, pinStorage.getIccid(mPhoneId));
}
return resultArray;