From 591602bf261d2329933ba13e8e603e8f91cd99a6 Mon Sep 17 00:00:00 2001 From: Yo Chiang Date: Wed, 19 Aug 2020 20:04:50 +0800 Subject: [PATCH] Post a notification if reboot to DSU failed Also call resetTaskAndStop() so the lingering Installation task is cleaned up and failed states such as installation progress are cleared. Bug: 165471299 Test: Install a failing DSU package and observe logcat Test: Retry install DSU package and observe notification progress Change-Id: I1ce55ea98256954bb06d46ca948cae6ca48d9679 --- .../DynamicSystemInstallationService.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java b/packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java index f80e934cf37c5..9ff8684675316 100644 --- a/packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java +++ b/packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java @@ -352,16 +352,18 @@ public class DynamicSystemInstallationService extends Service if (powerManager != null) { powerManager.reboot("dynsystem"); } - } else { - Log.e(TAG, "Failed to enable DynamicSystem because of native runtime error."); - mNM.cancel(NOTIFICATION_ID); - - Toast.makeText(this, - getString(R.string.toast_failed_to_reboot_to_dynsystem), - Toast.LENGTH_LONG).show(); - - mDynSystem.remove(); + return; } + + Log.e(TAG, "Failed to enable DynamicSystem because of native runtime error."); + + Toast.makeText(this, + getString(R.string.toast_failed_to_reboot_to_dynsystem), + Toast.LENGTH_LONG).show(); + + postStatus(STATUS_NOT_STARTED, CAUSE_ERROR_EXCEPTION, null); + resetTaskAndStop(); + mDynSystem.remove(); } private void executeRebootToNormalCommand() {