diff options
| author | 2020-06-30 02:18:37 +0000 | |
|---|---|---|
| committer | 2020-06-30 02:18:37 +0000 | |
| commit | 12c32eb6c97a29ab085201cf2eab40866eba1460 (patch) | |
| tree | 442120913d28854b0d6e832c6820b305db8e906a | |
| parent | 6e7d2b10a9281221532f31d9cd09501cc8d3073b (diff) | |
| parent | 7399ecfec74525397910a840233c17bf2d9ad447 (diff) | |
Merge "Sharesheet - Fix crash when suspended app is selected" into rvc-dev am: 47f3249ce1 am: 7399ecfec7
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12037672
Change-Id: I8db5e12fca3e3c4d10c490e5cdb57d66bb81f53f
| -rw-r--r-- | core/java/com/android/internal/app/ResolverActivity.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java index fba4675a8c9f..233231cfcfdf 100644 --- a/core/java/com/android/internal/app/ResolverActivity.java +++ b/core/java/com/android/internal/app/ResolverActivity.java @@ -1279,13 +1279,17 @@ public class ResolverActivity extends Activity implements } private void safelyStartActivityInternal(TargetInfo cti) { - if (mPersonalPackageMonitor != null) { - mPersonalPackageMonitor.unregister(); - } - if (mWorkPackageMonitor != null) { - mWorkPackageMonitor.unregister(); + // If the target is suspended, the activity will not be successfully launched. + // Do not unregister from package manager updates in this case + if (!cti.isSuspended()) { + if (mPersonalPackageMonitor != null) { + mPersonalPackageMonitor.unregister(); + } + if (mWorkPackageMonitor != null) { + mWorkPackageMonitor.unregister(); + } + mRegistered = false; } - mRegistered = false; // If needed, show that intent is forwarded // from managed profile to owner or other way around. if (mProfileSwitchMessageId != -1) { |