diff options
| author | 2023-06-01 03:43:29 +0000 | |
|---|---|---|
| committer | 2023-06-01 03:43:29 +0000 | |
| commit | d00511b73ef212bd52cfdaa79dafeb5bf9f6c34a (patch) | |
| tree | 5638ef48af07186a25b12cb4ab97386a84ce3708 | |
| parent | 35e9cb58e084267a9cd8fd720ae57dca5fc51b83 (diff) | |
| parent | 791697e5e7db36d557d6559754798cba0309f280 (diff) | |
Merge "Launching updated package after finishing package installer" into udc-qpr-dev
3 files changed, 10 insertions, 8 deletions
diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/DeleteStagedFileOnResult.java b/packages/PackageInstaller/src/com/android/packageinstaller/DeleteStagedFileOnResult.java index 7b17cbdd3a1e..19d74b33e034 100644 --- a/packages/PackageInstaller/src/com/android/packageinstaller/DeleteStagedFileOnResult.java +++ b/packages/PackageInstaller/src/com/android/packageinstaller/DeleteStagedFileOnResult.java @@ -16,6 +16,8 @@ package com.android.packageinstaller; +import static android.content.Intent.CATEGORY_LAUNCHER; + import static com.android.packageinstaller.PackageInstallerActivity.EXTRA_STAGED_SESSION_ID; import android.app.Activity; @@ -45,6 +47,9 @@ public class DeleteStagedFileOnResult extends Activity { protected void onActivityResult(int requestCode, int resultCode, Intent data) { setResult(resultCode, data); finish(); + if (data != null && data.hasCategory(CATEGORY_LAUNCHER)) { + startActivity(data); + } } @Override diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/InstallSuccess.java b/packages/PackageInstaller/src/com/android/packageinstaller/InstallSuccess.java index 73c03a57cade..ff991d2f7ee3 100644 --- a/packages/PackageInstaller/src/com/android/packageinstaller/InstallSuccess.java +++ b/packages/PackageInstaller/src/com/android/packageinstaller/InstallSuccess.java @@ -17,7 +17,6 @@ package com.android.packageinstaller; import android.app.Activity; -import android.content.ActivityNotFoundException; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -123,11 +122,7 @@ public class InstallSuccess extends AlertActivity { Button launchButton = mAlert.getButton(DialogInterface.BUTTON_POSITIVE); if (enabled) { launchButton.setOnClickListener(view -> { - try { - startActivity(mLaunchIntent); - } catch (ActivityNotFoundException | SecurityException e) { - Log.e(LOG_TAG, "Could not start activity", e); - } + setResult(Activity.RESULT_OK, mLaunchIntent); finish(); }); } else { diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java b/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java index d1541569bc55..e071c111d617 100644 --- a/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java +++ b/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java @@ -16,8 +16,9 @@ */ package com.android.packageinstaller; +import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP; import static android.content.Intent.FLAG_ACTIVITY_NO_HISTORY; -import static android.content.Intent.FLAG_ACTIVITY_REORDER_TO_FRONT; +import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP; import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; import android.Manifest; @@ -789,7 +790,8 @@ public class PackageInstallerActivity extends AlertActivity { } new Handler(Looper.getMainLooper()).postDelayed(() -> { if (!isDestroyed()) { - startActivity(getIntent().addFlags(FLAG_ACTIVITY_REORDER_TO_FRONT)); + startActivity(getIntent().addFlags( + FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP)); } }, 500); |