On negative user action, cancel the install
Send an aborted message to the caller and set appropriate activity result code.
Bug: 182205982
Test: builds successfully
Test: No CTS Tests. Flag to use new app is turned off by default
Change-Id: Ib92caadd2ffb7d13b282c355db45b06f67796a77
diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/v2/model/UninstallRepository.java b/packages/PackageInstaller/src/com/android/packageinstaller/v2/model/UninstallRepository.java
index 628d111..2e43b75 100644
--- a/packages/PackageInstaller/src/com/android/packageinstaller/v2/model/UninstallRepository.java
+++ b/packages/PackageInstaller/src/com/android/packageinstaller/v2/model/UninstallRepository.java
@@ -682,6 +682,13 @@
}
}
+ public void cancelInstall() {
+ if (mCallback != null) {
+ mCallback.onUninstallComplete(mTargetPackageName,
+ PackageManager.DELETE_FAILED_ABORTED, "Cancelled by user");
+ }
+ }
+
public MutableLiveData<UninstallStage> getUninstallResult() {
return mUninstallResult;
}
diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/v2/ui/UninstallLaunch.java b/packages/PackageInstaller/src/com/android/packageinstaller/v2/ui/UninstallLaunch.java
index 0886d77..7638e91 100644
--- a/packages/PackageInstaller/src/com/android/packageinstaller/v2/ui/UninstallLaunch.java
+++ b/packages/PackageInstaller/src/com/android/packageinstaller/v2/ui/UninstallLaunch.java
@@ -161,6 +161,7 @@
@Override
public void onNegativeResponse() {
+ mUninstallViewModel.cancelInstall();
setResult(Activity.RESULT_FIRST_USER, null, true);
}
}
diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/v2/viewmodel/UninstallViewModel.java b/packages/PackageInstaller/src/com/android/packageinstaller/v2/viewmodel/UninstallViewModel.java
index 690f779..3f7bce8 100644
--- a/packages/PackageInstaller/src/com/android/packageinstaller/v2/viewmodel/UninstallViewModel.java
+++ b/packages/PackageInstaller/src/com/android/packageinstaller/v2/viewmodel/UninstallViewModel.java
@@ -62,4 +62,8 @@
}
});
}
+
+ public void cancelInstall() {
+ mRepository.cancelInstall();
+ }
}