diff options
| author | 2023-12-07 16:22:53 +0000 | |
|---|---|---|
| committer | 2023-12-07 16:22:53 +0000 | |
| commit | e46ad2f30a9177e14d0525e6512ab89e8d2f106b (patch) | |
| tree | 089c9b098bf959966d22e6d1110d52e0ce88691e | |
| parent | a20e3abb31408d97c6d68ccdcbc8dde6656c51ee (diff) | |
| parent | eef74ce4edc2b92942412e8589ffee763d55b919 (diff) | |
Merge "Add a suspension check to SuspendedAppActivity" into main am: eef74ce4ed
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2535480
Change-Id: I679b0ae7552da891144d77c8326503c6603d2dcf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | core/java/com/android/internal/app/SuspendedAppActivity.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/core/java/com/android/internal/app/SuspendedAppActivity.java b/core/java/com/android/internal/app/SuspendedAppActivity.java index a5e775a461a9..389576da86b7 100644 --- a/core/java/com/android/internal/app/SuspendedAppActivity.java +++ b/core/java/com/android/internal/app/SuspendedAppActivity.java @@ -80,7 +80,8 @@ public class SuspendedAppActivity extends AlertActivity // Suspension conditions were modified, dismiss any related visible dialogs. final String[] modified = intent.getStringArrayExtra( Intent.EXTRA_CHANGED_PACKAGE_LIST); - if (ArrayUtils.contains(modified, mSuspendedPackage)) { + if (ArrayUtils.contains(modified, mSuspendedPackage) + && !isPackageSuspended(mSuspendedPackage)) { if (!isFinishing()) { Slog.w(TAG, "Package " + mSuspendedPackage + " has modified" + " suspension conditions while dialog was visible. Finishing."); @@ -92,6 +93,15 @@ public class SuspendedAppActivity extends AlertActivity } }; + private boolean isPackageSuspended(String packageName) { + try { + return mPm.isPackageSuspended(packageName); + } catch (PackageManager.NameNotFoundException ne) { + Slog.e(TAG, "Package " + packageName + " not found", ne); + } + return false; + } + private CharSequence getAppLabel(String packageName) { try { return mPm.getApplicationInfoAsUser(packageName, 0, mUserId).loadLabel(mPm); |