Loading src/java/com/android/internal/telephony/uicc/PinStorage.java +15 −9 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import android.os.AsyncResult; import android.os.Handler; import android.os.Message; import android.os.PersistableBundle; import android.os.WorkSource; import android.provider.Settings; import android.security.keystore.KeyGenParameterSpec; import android.telephony.CarrierConfigManager; Loading Loading @@ -270,7 +271,7 @@ public class PinStorage extends Handler { savePinInformation(slotId, null); TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_VERIFICATION_SKIPPED_SIM_CARD_MISMATCH, /* number_of_pins= */ 1); /* number_of_pins= */ 1, /* package_name= */ ""); } else if (storedPin.status == PinStatus.VERIFICATION_READY) { logd("getPin[%d] - Found PIN ready for verification", slotId); // Move the state to AVAILABLE, so that it cannot be retrieved again. Loading @@ -291,7 +292,7 @@ public class PinStorage extends Handler { * @return The result of the reboot preparation. */ @TelephonyManager.PrepareUnattendedRebootResult public synchronized int prepareUnattendedReboot() { public synchronized int prepareUnattendedReboot(WorkSource workSource) { // Unattended reboot should never occur before the device is unlocked. if (mIsDeviceLocked) { loge("prepareUnattendedReboot - Device is locked"); Loading Loading @@ -341,14 +342,18 @@ public class PinStorage extends Handler { } // Generate metrics String callingPackage = workSource == null || workSource.size() == 0 ? "" : workSource.getPackageName(0); if (result == TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS) { logd("prepareUnattendedReboot - Stored %d PINs", storedCount); TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_STORED_FOR_VERIFICATION, storedCount); PIN_STORAGE_EVENT__EVENT__PIN_STORED_FOR_VERIFICATION, storedCount, callingPackage); } else if (result == TelephonyManager.PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED) { logd("prepareUnattendedReboot - Required %d PINs after reboot", notAvailableCount); TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_REQUIRED_AFTER_REBOOT, notAvailableCount); PIN_STORAGE_EVENT__EVENT__PIN_REQUIRED_AFTER_REBOOT, notAvailableCount, callingPackage); } // Save number of PINs to generate metrics after reboot Loading Loading @@ -455,7 +460,7 @@ public class PinStorage extends Handler { if (prevCachedPinCount > verificationReadyCount) { TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_COUNT_NOT_MATCHING_AFTER_REBOOT, prevCachedPinCount - verificationReadyCount); prevCachedPinCount - verificationReadyCount, /* package_name= */ ""); } } Loading Loading @@ -507,7 +512,8 @@ public class PinStorage extends Handler { // Write metrics about number of discarded PINs if (discardedPin > 0) { TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__CACHED_PIN_DISCARDED, discardedPin); PIN_STORAGE_EVENT__EVENT__CACHED_PIN_DISCARDED, discardedPin, /* package_name= */ ""); } } Loading Loading @@ -576,7 +582,7 @@ public class PinStorage extends Handler { success ? PIN_STORAGE_EVENT__EVENT__PIN_VERIFICATION_SUCCESS : PIN_STORAGE_EVENT__EVENT__PIN_VERIFICATION_FAILURE, /* number_of_pins= */ 1); /* number_of_pins= */ 1, /* package_name= */ ""); } @Override Loading Loading @@ -1152,7 +1158,7 @@ public class PinStorage extends Handler { } catch (Exception e) { loge("Encrypt exception", e); TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_ENCRYPTION_ERROR, 1); PIN_STORAGE_EVENT__EVENT__PIN_ENCRYPTION_ERROR, 1, /* package_name= */ ""); } return new byte[0]; } Loading @@ -1177,7 +1183,7 @@ public class PinStorage extends Handler { } catch (Exception e) { loge("Decrypt exception", e); TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_DECRYPTION_ERROR, 1); PIN_STORAGE_EVENT__EVENT__PIN_DECRYPTION_ERROR, 1, /* package_name= */ ""); } return new byte[0]; } Loading tests/telephonytests/src/com/android/internal/telephony/uicc/PinStorageTest.java +21 −17 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import static org.mockito.Mockito.when; import android.content.Intent; import android.os.PersistableBundle; import android.os.WorkSource; import android.preference.PreferenceManager; import android.provider.Settings; import android.telephony.CarrierConfigManager; Loading @@ -50,6 +51,9 @@ public class PinStorageTest extends TelephonyTest { private static final String ICCID_1 = "89010003006562472370"; private static final String ICCID_2 = "89010003006562472399"; private static final String ICCID_INVALID = "1234"; private static final String PACKAGE_NAME = "com.package.name"; private static final int UID = -1; private static final WorkSource sWorkSource = new WorkSource(UID, PACKAGE_NAME); private int mBootCount; private int mSimulatedRebootsCount; Loading Loading @@ -138,7 +142,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_unattendedReboot_pinCanBeRetrievedOnce() { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -158,7 +162,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_ERROR); simulateReboot(); Loading @@ -172,7 +176,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_unattendedReboot_pinIsRemovedAfterDelay() { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -184,7 +188,7 @@ public class PinStorageTest extends TelephonyTest { assertThat(mPinStorage.getPin(0, ICCID_1)).isEqualTo(""); // Simulate a second unattended reboot to make sure that PIN was deleted. result = mPinStorage.prepareUnattendedReboot(); result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -197,7 +201,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_unattendedRebootNotDone_pinCannotBeRetrieved() { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); // Move time forward by 60 seconds before simulating reboot Loading @@ -213,7 +217,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_unattendedReboot_iccidChange() { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -235,7 +239,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); mPinStorage.clearPin(0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -249,7 +253,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); mPinStorage.storePin("5678", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -262,7 +266,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_pinTooShort_pinIsNotStored() { mPinStorage.storePin("12", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -275,7 +279,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_pinTooLong_pinIsNotStored() { mPinStorage.storePin("123456789", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -289,7 +293,7 @@ public class PinStorageTest extends TelephonyTest { doReturn(ICCID_INVALID).when(mPhone).getFullIccSerialNumber(); mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); simulateReboot(); Loading @@ -304,7 +308,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -323,7 +327,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED); simulateReboot(); Loading @@ -341,7 +345,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -364,7 +368,7 @@ public class PinStorageTest extends TelephonyTest { mContext.sendBroadcast(intent); processAllMessages(); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -384,7 +388,7 @@ public class PinStorageTest extends TelephonyTest { mContext.sendBroadcast(intent); processAllMessages(); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -397,7 +401,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_simReadyAfterUnattendedReboot_pinIsRemoved() { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading Loading
src/java/com/android/internal/telephony/uicc/PinStorage.java +15 −9 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import android.os.AsyncResult; import android.os.Handler; import android.os.Message; import android.os.PersistableBundle; import android.os.WorkSource; import android.provider.Settings; import android.security.keystore.KeyGenParameterSpec; import android.telephony.CarrierConfigManager; Loading Loading @@ -270,7 +271,7 @@ public class PinStorage extends Handler { savePinInformation(slotId, null); TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_VERIFICATION_SKIPPED_SIM_CARD_MISMATCH, /* number_of_pins= */ 1); /* number_of_pins= */ 1, /* package_name= */ ""); } else if (storedPin.status == PinStatus.VERIFICATION_READY) { logd("getPin[%d] - Found PIN ready for verification", slotId); // Move the state to AVAILABLE, so that it cannot be retrieved again. Loading @@ -291,7 +292,7 @@ public class PinStorage extends Handler { * @return The result of the reboot preparation. */ @TelephonyManager.PrepareUnattendedRebootResult public synchronized int prepareUnattendedReboot() { public synchronized int prepareUnattendedReboot(WorkSource workSource) { // Unattended reboot should never occur before the device is unlocked. if (mIsDeviceLocked) { loge("prepareUnattendedReboot - Device is locked"); Loading Loading @@ -341,14 +342,18 @@ public class PinStorage extends Handler { } // Generate metrics String callingPackage = workSource == null || workSource.size() == 0 ? "" : workSource.getPackageName(0); if (result == TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS) { logd("prepareUnattendedReboot - Stored %d PINs", storedCount); TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_STORED_FOR_VERIFICATION, storedCount); PIN_STORAGE_EVENT__EVENT__PIN_STORED_FOR_VERIFICATION, storedCount, callingPackage); } else if (result == TelephonyManager.PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED) { logd("prepareUnattendedReboot - Required %d PINs after reboot", notAvailableCount); TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_REQUIRED_AFTER_REBOOT, notAvailableCount); PIN_STORAGE_EVENT__EVENT__PIN_REQUIRED_AFTER_REBOOT, notAvailableCount, callingPackage); } // Save number of PINs to generate metrics after reboot Loading Loading @@ -455,7 +460,7 @@ public class PinStorage extends Handler { if (prevCachedPinCount > verificationReadyCount) { TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_COUNT_NOT_MATCHING_AFTER_REBOOT, prevCachedPinCount - verificationReadyCount); prevCachedPinCount - verificationReadyCount, /* package_name= */ ""); } } Loading Loading @@ -507,7 +512,8 @@ public class PinStorage extends Handler { // Write metrics about number of discarded PINs if (discardedPin > 0) { TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__CACHED_PIN_DISCARDED, discardedPin); PIN_STORAGE_EVENT__EVENT__CACHED_PIN_DISCARDED, discardedPin, /* package_name= */ ""); } } Loading Loading @@ -576,7 +582,7 @@ public class PinStorage extends Handler { success ? PIN_STORAGE_EVENT__EVENT__PIN_VERIFICATION_SUCCESS : PIN_STORAGE_EVENT__EVENT__PIN_VERIFICATION_FAILURE, /* number_of_pins= */ 1); /* number_of_pins= */ 1, /* package_name= */ ""); } @Override Loading Loading @@ -1152,7 +1158,7 @@ public class PinStorage extends Handler { } catch (Exception e) { loge("Encrypt exception", e); TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_ENCRYPTION_ERROR, 1); PIN_STORAGE_EVENT__EVENT__PIN_ENCRYPTION_ERROR, 1, /* package_name= */ ""); } return new byte[0]; } Loading @@ -1177,7 +1183,7 @@ public class PinStorage extends Handler { } catch (Exception e) { loge("Decrypt exception", e); TelephonyStatsLog.write(PIN_STORAGE_EVENT, PIN_STORAGE_EVENT__EVENT__PIN_DECRYPTION_ERROR, 1); PIN_STORAGE_EVENT__EVENT__PIN_DECRYPTION_ERROR, 1, /* package_name= */ ""); } return new byte[0]; } Loading
tests/telephonytests/src/com/android/internal/telephony/uicc/PinStorageTest.java +21 −17 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import static org.mockito.Mockito.when; import android.content.Intent; import android.os.PersistableBundle; import android.os.WorkSource; import android.preference.PreferenceManager; import android.provider.Settings; import android.telephony.CarrierConfigManager; Loading @@ -50,6 +51,9 @@ public class PinStorageTest extends TelephonyTest { private static final String ICCID_1 = "89010003006562472370"; private static final String ICCID_2 = "89010003006562472399"; private static final String ICCID_INVALID = "1234"; private static final String PACKAGE_NAME = "com.package.name"; private static final int UID = -1; private static final WorkSource sWorkSource = new WorkSource(UID, PACKAGE_NAME); private int mBootCount; private int mSimulatedRebootsCount; Loading Loading @@ -138,7 +142,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_unattendedReboot_pinCanBeRetrievedOnce() { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -158,7 +162,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_ERROR); simulateReboot(); Loading @@ -172,7 +176,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_unattendedReboot_pinIsRemovedAfterDelay() { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -184,7 +188,7 @@ public class PinStorageTest extends TelephonyTest { assertThat(mPinStorage.getPin(0, ICCID_1)).isEqualTo(""); // Simulate a second unattended reboot to make sure that PIN was deleted. result = mPinStorage.prepareUnattendedReboot(); result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -197,7 +201,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_unattendedRebootNotDone_pinCannotBeRetrieved() { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); // Move time forward by 60 seconds before simulating reboot Loading @@ -213,7 +217,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_unattendedReboot_iccidChange() { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -235,7 +239,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); mPinStorage.clearPin(0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -249,7 +253,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); mPinStorage.storePin("5678", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -262,7 +266,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_pinTooShort_pinIsNotStored() { mPinStorage.storePin("12", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -275,7 +279,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_pinTooLong_pinIsNotStored() { mPinStorage.storePin("123456789", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -289,7 +293,7 @@ public class PinStorageTest extends TelephonyTest { doReturn(ICCID_INVALID).when(mPhone).getFullIccSerialNumber(); mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); simulateReboot(); Loading @@ -304,7 +308,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -323,7 +327,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED); simulateReboot(); Loading @@ -341,7 +345,7 @@ public class PinStorageTest extends TelephonyTest { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -364,7 +368,7 @@ public class PinStorageTest extends TelephonyTest { mContext.sendBroadcast(intent); processAllMessages(); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -384,7 +388,7 @@ public class PinStorageTest extends TelephonyTest { mContext.sendBroadcast(intent); processAllMessages(); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading @@ -397,7 +401,7 @@ public class PinStorageTest extends TelephonyTest { public void storePin_simReadyAfterUnattendedReboot_pinIsRemoved() { mPinStorage.storePin("1234", 0); int result = mPinStorage.prepareUnattendedReboot(); int result = mPinStorage.prepareUnattendedReboot(sWorkSource); assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS); simulateReboot(); Loading