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 628d11194f2f08a3a738b9fd119f434ca478ad29..2e43b75e5123b3ed4454f15a81cb62399529d40f 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 class UninstallRepository { } } + public void cancelInstall() { + if (mCallback != null) { + mCallback.onUninstallComplete(mTargetPackageName, + PackageManager.DELETE_FAILED_ABORTED, "Cancelled by user"); + } + } + public MutableLiveData 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 0886d776782920c8223d3cb08f25572f38c7f15d..7638e917c7d5ebeae9dbb4d2fabd01a0280ecd23 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 @@ public class UninstallLaunch extends FragmentActivity implements UninstallAction @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 690f7793b4fbcfb450f1b91fdf1d630b1c9d11bd..3f7bce8f85d0ade63e6d28f9429f7b5919f643e7 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 class UninstallViewModel extends AndroidViewModel { } }); } + + public void cancelInstall() { + mRepository.cancelInstall(); + } }