diff options
| author | 2017-06-13 00:46:27 +0000 | |
|---|---|---|
| committer | 2017-06-13 00:46:27 +0000 | |
| commit | 40b3f29341b72f83ced0c96d662967d6ebf1f622 (patch) | |
| tree | 80f1817ff89dd0a885a85d2bb1ff3da514c9c3d2 | |
| parent | cb6196277f7f9fb10fe57d416e66434e90ca94ce (diff) | |
| parent | d04d501ce733f02a08951ca5d019773ea429074f (diff) | |
Merge "Fix the issue that uncrypt isn't called under quiescent mode" into oc-dev am: f40f297546
am: d04d501ce7
Change-Id: Ide407c6ccc5a42c9a57acb1652b19db99bee42a8
| -rw-r--r-- | services/core/java/com/android/server/power/ShutdownThread.java | 8 | ||||
| -rw-r--r-- | services/java/com/android/server/SystemServer.java | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/power/ShutdownThread.java b/services/core/java/com/android/server/power/ShutdownThread.java index 864e83ef1f86..28ffc9491160 100644 --- a/services/core/java/com/android/server/power/ShutdownThread.java +++ b/services/core/java/com/android/server/power/ShutdownThread.java @@ -256,7 +256,7 @@ public final class ShutdownThread extends Thread { ProgressDialog pd = new ProgressDialog(context); // Path 1: Reboot to recovery for update - // Condition: mReason == REBOOT_RECOVERY_UPDATE + // Condition: mReason startswith REBOOT_RECOVERY_UPDATE // // Path 1a: uncrypt needed // Condition: if /cache/recovery/uncrypt_file exists but @@ -276,7 +276,9 @@ public final class ShutdownThread extends Thread { // Path 3: Regular reboot / shutdown // Condition: Otherwise // UI: spinning circle only (no progress bar) - if (PowerManager.REBOOT_RECOVERY_UPDATE.equals(mReason)) { + + // mReason could be "recovery-update" or "recovery-update,quiescent". + if (mReason != null && mReason.startsWith(PowerManager.REBOOT_RECOVERY_UPDATE)) { // We need the progress bar if uncrypt will be invoked during the // reboot, which might be time-consuming. mRebootHasProgressBar = RecoverySystem.UNCRYPT_PACKAGE_FILE.exists() @@ -295,7 +297,7 @@ public final class ShutdownThread extends Thread { pd.setMessage(context.getText( com.android.internal.R.string.reboot_to_update_reboot)); } - } else if (PowerManager.REBOOT_RECOVERY.equals(mReason)) { + } else if (mReason != null && mReason.equals(PowerManager.REBOOT_RECOVERY)) { // Factory reset path. Set the dialog message accordingly. pd.setTitle(context.getText(com.android.internal.R.string.reboot_to_reset_title)); pd.setMessage(context.getText( diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 9a756b18c4db..d5e19931460b 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -441,7 +441,7 @@ public final class SystemServer { // If '/cache/recovery/block.map' hasn't been created, stop the // reboot which will fail for sure, and get a chance to capture a // bugreport when that's still feasible. (Bug: 26444951) - if (PowerManager.REBOOT_RECOVERY_UPDATE.equals(reason)) { + if (reason != null && reason.startsWith(PowerManager.REBOOT_RECOVERY_UPDATE)) { File packageFile = new File(UNCRYPT_PACKAGE_FILE); if (packageFile.exists()) { String filename = null; |