From bc2908162816b319faa82cd40bcb17c64edf59bf Mon Sep 17 00:00:00 2001 From: Alison Cichowlas Date: Tue, 17 Dec 2019 19:42:29 -0500 Subject: [PATCH] Do not restart activity when pinned set changes - just re-sort. Bug: 145703939 Test: Share dialog via screenshot, long press for pin, observe behavior. Change-Id: I6e9e03b77e1486093097ea1488fa589e3c7bd482 --- .../com/android/internal/app/ChooserActivity.java | 15 +++++++++++---- .../app/ResolverTargetActionsDialogFragment.java | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index f361784e81d73..48853bfe116a3 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -859,14 +859,21 @@ public class ChooserActivity extends ResolverActivity implements return new PackageMonitor() { @Override public void onSomePackagesChanged() { - // TODO(arangelov): Dispatch this to all adapters when we have the helper methods - // in a follow-up CL - mChooserMultiProfilePagerAdapter.getActiveListAdapter().handlePackagesChanged(); - updateProfileViewButton(); + handlePackagesChanged(); } }; } + /** + * Update UI to reflect changes in data. + */ + public void handlePackagesChanged() { + // TODO(arangelov): Dispatch this to all adapters when we have the helper methods + // in a follow-up CL + mChooserMultiProfilePagerAdapter.getActiveListAdapter().handlePackagesChanged(); + updateProfileViewButton(); + } + private void onCopyButtonClicked(View v) { Intent targetIntent = getTargetIntent(); if (targetIntent == null) { diff --git a/core/java/com/android/internal/app/ResolverTargetActionsDialogFragment.java b/core/java/com/android/internal/app/ResolverTargetActionsDialogFragment.java index bdbe2109cf05f..21efc78bddf80 100644 --- a/core/java/com/android/internal/app/ResolverTargetActionsDialogFragment.java +++ b/core/java/com/android/internal/app/ResolverTargetActionsDialogFragment.java @@ -116,7 +116,7 @@ public class ResolverTargetActionsDialogFragment extends DialogFragment pinComponent(mTargetInfos.get(which).getResolvedComponentName()); } // Force the chooser to requery and resort things - getActivity().recreate(); + ((ChooserActivity) getActivity()).handlePackagesChanged(); } else { // Last item in dialog is App Info Intent in = new Intent().setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)