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();
+    }
 }