summaryrefslogtreecommitdiff
path: root/packages/DynamicSystemInstallationService/src
diff options
context:
space:
mode:
authorYo Chiang <yochiang@google.com>2020-10-22 19:02:45 +0800
committerYo Chiang <yochiang@google.com>2020-10-29 16:03:38 +0800
commit68e2d6b36049bdff1825ac86b36e8e46fc5ed0b1 (patch)
tree8cb3bffd104f73e13bcba1d7d3bc1d147a2420e0 /packages/DynamicSystemInstallationService/src
parentc5d02da0f6553a00da6b0d833b67d3bbe87341e0 (diff)
Disable DSU in executeRebootToNormalCommand()
executeRebootToNormalCommand() reboots the device only if DSU is successfully disabled, else show a toast describing the failure. Bug: 171380622 Test: 1. Install and boot into a DSU 2. adb shell gsi_tool enable 3. Press "Restart" in DSU notification 4. Observe the device reboots back to the original system Change-Id: I19b3d09a64282a28ca7b99b441ca93dea45fcce0
Diffstat (limited to 'packages/DynamicSystemInstallationService/src')
-rw-r--r--packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java b/packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java
index f7f3cbb7d332..256d2cd23dec 100644
--- a/packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java
+++ b/packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java
@@ -375,8 +375,17 @@ public class DynamicSystemInstallationService extends Service
return;
}
- // Per current design, we don't have disable() API. AOT is disabled on next reboot.
- // TODO: Use better status query when b/125079548 is done.
+ if (!mDynSystem.setEnable(/* enable = */ false, /* oneShot = */ false)) {
+ Log.e(TAG, "Failed to disable DynamicSystem.");
+
+ // Dismiss status bar and show a toast.
+ sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
+ Toast.makeText(this,
+ getString(R.string.toast_failed_to_disable_dynsystem),
+ Toast.LENGTH_LONG).show();
+ return;
+ }
+
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
if (powerManager != null) {