From 34ec7d2e9baa86b434ca3506c31257887a198c5b Mon Sep 17 00:00:00 2001 From: Andrey Epin Date: Mon, 31 Oct 2022 14:00:37 -0700 Subject: Remove SelectableTargetInfo#SelectableTargetInfoCommunicator interface Both SelectableTargetInfo#SelectableTargetInfoCommunicator and ChooserListAdapter#ChooserListCommunicator are used and implemented by the same classes: ChooserListAdapter and ChooserActivity respectively. Fix: 257483782 Test: manual test Test: atest IntentResolverUnitTests Change-Id: Ia0f5e0637c63cdf3e7b53f9e77c4b94dea81475c --- java/src/com/android/intentresolver/ChooserActivity.java | 16 ++++++++++------ .../com/android/intentresolver/ChooserListAdapter.java | 12 ++++++------ .../intentresolver/chooser/SelectableTargetInfo.java | 13 ------------- 3 files changed, 16 insertions(+), 25 deletions(-) (limited to 'java/src/com') diff --git a/java/src/com/android/intentresolver/ChooserActivity.java b/java/src/com/android/intentresolver/ChooserActivity.java index 938fbb0d..5d9c1c3c 100644 --- a/java/src/com/android/intentresolver/ChooserActivity.java +++ b/java/src/com/android/intentresolver/ChooserActivity.java @@ -118,7 +118,6 @@ import androidx.viewpager.widget.ViewPager; import com.android.intentresolver.ResolverListAdapter.ViewHolder; import com.android.intentresolver.chooser.DisplayResolveInfo; import com.android.intentresolver.chooser.MultiDisplayResolveInfo; -import com.android.intentresolver.chooser.SelectableTargetInfo.SelectableTargetInfoCommunicator; import com.android.intentresolver.chooser.TargetInfo; import com.android.intentresolver.shortcuts.AppPredictorFactory; import com.android.intentresolver.widget.ResolverDrawerLayout; @@ -153,8 +152,7 @@ import java.util.function.Supplier; * */ public class ChooserActivity extends ResolverActivity implements - ChooserListAdapter.ChooserListCommunicator, - SelectableTargetInfoCommunicator { + ChooserListAdapter.ChooserListCommunicator { private static final String TAG = "ChooserActivity"; private boolean mShouldDisplayLandscape; @@ -2222,9 +2220,15 @@ public class ChooserActivity extends ResolverActivity implements public ChooserListAdapter createChooserListAdapter(Context context, List payloadIntents, Intent[] initialIntents, List rList, boolean filterLastUsed, ResolverListController resolverListController) { - return new ChooserListAdapter(context, payloadIntents, initialIntents, rList, - filterLastUsed, resolverListController, this, - this, context.getPackageManager(), + return new ChooserListAdapter( + context, + payloadIntents, + initialIntents, + rList, + filterLastUsed, + resolverListController, + this, + context.getPackageManager(), getChooserActivityLogger()); } diff --git a/java/src/com/android/intentresolver/ChooserListAdapter.java b/java/src/com/android/intentresolver/ChooserListAdapter.java index f20ee38f..e31bf2ab 100644 --- a/java/src/com/android/intentresolver/ChooserListAdapter.java +++ b/java/src/com/android/intentresolver/ChooserListAdapter.java @@ -53,7 +53,6 @@ import com.android.intentresolver.chooser.DisplayResolveInfo; import com.android.intentresolver.chooser.MultiDisplayResolveInfo; import com.android.intentresolver.chooser.NotSelectableTargetInfo; import com.android.intentresolver.chooser.SelectableTargetInfo; -import com.android.intentresolver.chooser.SelectableTargetInfo.SelectableTargetInfoCommunicator; import com.android.intentresolver.chooser.TargetInfo; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.config.sysui.SystemUiDeviceConfigFlags; @@ -85,7 +84,6 @@ public class ChooserListAdapter extends ResolverListAdapter { public static final float SHORTCUT_TARGET_SCORE_BOOST = 90.f; private final ChooserListCommunicator mChooserListCommunicator; - private final SelectableTargetInfoCommunicator mSelectableTargetInfoCommunicator; private final ChooserActivityLogger mChooserActivityLogger; private final Map mIconLoaders = new HashMap<>(); @@ -139,7 +137,6 @@ public class ChooserListAdapter extends ResolverListAdapter { boolean filterLastUsed, ResolverListController resolverListController, ChooserListCommunicator chooserListCommunicator, - SelectableTargetInfoCommunicator selectableTargetInfoCommunicator, PackageManager packageManager, ChooserActivityLogger chooserActivityLogger) { // Don't send the initial intents through the shared ResolverActivity path, @@ -150,7 +147,6 @@ public class ChooserListAdapter extends ResolverListAdapter { mChooserListCommunicator = chooserListCommunicator; mPlaceHolderTargetInfo = NotSelectableTargetInfo.newPlaceHolderTargetInfo(context); createPlaceHolders(); - mSelectableTargetInfoCommunicator = selectableTargetInfoCommunicator; mChooserActivityLogger = chooserActivityLogger; mShortcutSelectionLogic = new ShortcutSelectionLogic( context.getResources().getInteger(R.integer.config_maxShortcutTargetsPerApp), @@ -554,8 +550,8 @@ public class ChooserListAdapter extends ResolverListAdapter { directShareToShortcutInfos, directShareToAppTargets, mContext.createContextAsUser(getUserHandle(), 0), - mSelectableTargetInfoCommunicator.getTargetIntent(), - mSelectableTargetInfoCommunicator.getReferrerFillInIntent(), + mChooserListCommunicator.getTargetIntent(), + mChooserListCommunicator.getReferrerFillInIntent(), mChooserListCommunicator.getMaxRankedTargets(), mServiceTargets); if (isUpdated) { @@ -645,6 +641,10 @@ public class ChooserListAdapter extends ResolverListAdapter { int getMaxRankedTargets(); boolean isSendAction(Intent targetIntent); + + Intent getTargetIntent(); + + Intent getReferrerFillInIntent(); } /** diff --git a/java/src/com/android/intentresolver/chooser/SelectableTargetInfo.java b/java/src/com/android/intentresolver/chooser/SelectableTargetInfo.java index 093020b8..a9a45a53 100644 --- a/java/src/com/android/intentresolver/chooser/SelectableTargetInfo.java +++ b/java/src/com/android/intentresolver/chooser/SelectableTargetInfo.java @@ -34,7 +34,6 @@ import android.text.SpannableStringBuilder; import android.util.HashedStringCache; import android.util.Log; -import com.android.intentresolver.ChooserActivity; import com.android.intentresolver.ResolverActivity; import com.android.internal.config.sysui.SystemUiDeviceConfigFlags; @@ -318,16 +317,4 @@ public final class SelectableTargetInfo extends ChooserTargetInfo { sb.clearSpans(); return sb.toString(); } - - // TODO: merge into ChooserListAdapter.ChooserListCommunicator and delete. - /** - * Necessary methods to communicate between {@link SelectableTargetInfo} - * and {@link ResolverActivity} or {@link ChooserActivity}. - */ - public interface SelectableTargetInfoCommunicator { - - Intent getTargetIntent(); - - Intent getReferrerFillInIntent(); - } } -- cgit v1.2.3-59-g8ed1b