diff options
Diffstat (limited to 'java')
5 files changed, 42 insertions, 23 deletions
diff --git a/java/src/com/android/intentresolver/ChooserActivity.java b/java/src/com/android/intentresolver/ChooserActivity.java index aa02be37..50ca5d0d 100644 --- a/java/src/com/android/intentresolver/ChooserActivity.java +++ b/java/src/com/android/intentresolver/ChooserActivity.java @@ -1171,7 +1171,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements createListController(userHandle), userHandle, getTargetIntent(), - mChooserRequest, + mChooserRequest.getReferrerFillInIntent(), mMaxTargetsPerRow, targetDataLoader); @@ -1230,7 +1230,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements ResolverListController resolverListController, UserHandle userHandle, Intent targetIntent, - ChooserRequestParameters chooserRequest, + Intent referrerFillInIntent, int maxTargetsPerRow, TargetDataLoader targetDataLoader) { UserHandle initialIntentsUserSpace = isLaunchedAsCloneProfile() @@ -1245,10 +1245,10 @@ public class ChooserActivity extends Hilt_ChooserActivity implements createListController(userHandle), userHandle, targetIntent, + referrerFillInIntent, this, context.getPackageManager(), getEventLog(), - chooserRequest, maxTargetsPerRow, initialIntentsUserSpace, targetDataLoader); diff --git a/java/src/com/android/intentresolver/ChooserListAdapter.java b/java/src/com/android/intentresolver/ChooserListAdapter.java index 823b5e13..3af8a3a7 100644 --- a/java/src/com/android/intentresolver/ChooserListAdapter.java +++ b/java/src/com/android/intentresolver/ChooserListAdapter.java @@ -30,6 +30,7 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ShortcutInfo; import android.graphics.drawable.Drawable; +import android.net.Uri; import android.os.AsyncTask; import android.os.Trace; import android.os.UserHandle; @@ -84,7 +85,8 @@ public class ChooserListAdapter extends ResolverListAdapter { /** {@link #getBaseScore} */ public static final float SHORTCUT_TARGET_SCORE_BOOST = 90.f; - private final ChooserRequestParameters mChooserRequest; + private final Intent mReferrerFillInIntent; + private final int mMaxRankedTargets; private final EventLog mEventLog; @@ -144,10 +146,10 @@ public class ChooserListAdapter extends ResolverListAdapter { ResolverListController resolverListController, UserHandle userHandle, Intent targetIntent, + Intent referrerFillInIntent, ResolverListCommunicator resolverListCommunicator, PackageManager packageManager, EventLog eventLog, - ChooserRequestParameters chooserRequest, int maxRankedTargets, UserHandle initialIntentsUserSpace, TargetDataLoader targetDataLoader) { @@ -160,10 +162,10 @@ public class ChooserListAdapter extends ResolverListAdapter { resolverListController, userHandle, targetIntent, + referrerFillInIntent, resolverListCommunicator, packageManager, eventLog, - chooserRequest, maxRankedTargets, initialIntentsUserSpace, targetDataLoader, @@ -181,10 +183,10 @@ public class ChooserListAdapter extends ResolverListAdapter { ResolverListController resolverListController, UserHandle userHandle, Intent targetIntent, + Intent referrerFillInIntent, ResolverListCommunicator resolverListCommunicator, PackageManager packageManager, EventLog eventLog, - ChooserRequestParameters chooserRequest, int maxRankedTargets, UserHandle initialIntentsUserSpace, TargetDataLoader targetDataLoader, @@ -207,8 +209,8 @@ public class ChooserListAdapter extends ResolverListAdapter { bgExecutor, mainExecutor); - mChooserRequest = chooserRequest; mMaxRankedTargets = maxRankedTargets; + mReferrerFillInIntent = referrerFillInIntent; mPlaceHolderTargetInfo = NotSelectableTargetInfo.newPlaceHolderTargetInfo(context); mTargetDataLoader = targetDataLoader; @@ -497,8 +499,14 @@ public class ChooserListAdapter extends ResolverListAdapter { return count; } + private static boolean hasSendAction(Intent intent) { + String action = intent.getAction(); + return Intent.ACTION_SEND.equals(action) + || Intent.ACTION_SEND_MULTIPLE.equals(action); + } + public int getServiceTargetCount() { - if (mChooserRequest.isSendActionTarget() && !ActivityManager.isLowRamDeviceStatic()) { + if (hasSendAction(getTargetIntent()) && !ActivityManager.isLowRamDeviceStatic()) { return Math.min(mServiceTargets.size(), mMaxRankedTargets); } @@ -653,8 +661,8 @@ public class ChooserListAdapter extends ResolverListAdapter { directShareToShortcutInfos, directShareToAppTargets, mContext.createContextAsUser(getUserHandle(), 0), - mChooserRequest.getTargetIntent(), - mChooserRequest.getReferrerFillInIntent(), + getTargetIntent(), + mReferrerFillInIntent, mMaxRankedTargets, mServiceTargets); if (isUpdated) { diff --git a/java/src/com/android/intentresolver/ResolverListAdapter.java b/java/src/com/android/intentresolver/ResolverListAdapter.java index 8f1f9275..564d8d19 100644 --- a/java/src/com/android/intentresolver/ResolverListAdapter.java +++ b/java/src/com/android/intentresolver/ResolverListAdapter.java @@ -25,6 +25,7 @@ import android.content.pm.ResolveInfo; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.drawable.Drawable; +import android.net.Uri; import android.os.AsyncTask; import android.os.RemoteException; import android.os.Trace; @@ -160,6 +161,10 @@ public class ResolverListAdapter extends BaseAdapter { mCallbackExecutor = callbackExecutor; } + protected Intent getTargetIntent() { + return mTargetIntent; + } + public final DisplayResolveInfo getFirstDisplayResolveInfo() { return mDisplayList.get(0); } diff --git a/java/src/com/android/intentresolver/v2/ChooserActionFactory.java b/java/src/com/android/intentresolver/v2/ChooserActionFactory.java index a4a6d670..db840387 100644 --- a/java/src/com/android/intentresolver/v2/ChooserActionFactory.java +++ b/java/src/com/android/intentresolver/v2/ChooserActionFactory.java @@ -35,7 +35,6 @@ import android.view.View; import androidx.annotation.Nullable; -import com.android.intentresolver.ChooserRequestParameters; import com.android.intentresolver.R; import com.android.intentresolver.chooser.DisplayResolveInfo; import com.android.intentresolver.chooser.TargetInfo; @@ -109,7 +108,6 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio /** * @param context - * @param chooserRequest data about the invocation of the current Sharesheet session. * @param imageEditor an explicit Activity to launch for editing images * @param onUpdateSharedTextIsExcluded a delegate to be invoked when the "exclude shared text" * setting is updated. The argument is whether the shared text is to be excluded. @@ -121,7 +119,10 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio */ public ChooserActionFactory( Context context, - ChooserRequestParameters chooserRequest, + Intent targetIntent, + String referrerPackageName, + List<ChooserAction> chooserActions, + ChooserAction modifyShareAction, Optional<ComponentName> imageEditor, EventLog log, Consumer<Boolean> onUpdateSharedTextIsExcluded, @@ -132,20 +133,20 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio context, makeCopyButtonRunnable( context, - chooserRequest.getTargetIntent(), - chooserRequest.getReferrerPackageName(), + targetIntent, + referrerPackageName, finishCallback, log), makeEditButtonRunnable( getEditSharingTarget( context, - chooserRequest.getTargetIntent(), + targetIntent, imageEditor), firstVisibleImageQuery, activityStarter, log), - chooserRequest.getChooserActions(), - chooserRequest.getModifyShareAction(), + chooserActions, + modifyShareAction, onUpdateSharedTextIsExcluded, log, finishCallback); diff --git a/java/src/com/android/intentresolver/v2/ChooserActivity.java b/java/src/com/android/intentresolver/v2/ChooserActivity.java index c7a8ebab..95eedf47 100644 --- a/java/src/com/android/intentresolver/v2/ChooserActivity.java +++ b/java/src/com/android/intentresolver/v2/ChooserActivity.java @@ -1182,6 +1182,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements boolean filterLastUsed, UserHandle userHandle, TargetDataLoader targetDataLoader) { + ChooserRequestParameters parameters = requireChooserRequest(); ChooserListAdapter chooserListAdapter = createChooserListAdapter( context, payloadIntents, @@ -1191,7 +1192,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements createListController(userHandle), userHandle, mLogic.getTargetIntent(), - requireChooserRequest(), + parameters.getReferrerFillInIntent(), mMaxTargetsPerRow, targetDataLoader); @@ -1250,7 +1251,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements ResolverListController resolverListController, UserHandle userHandle, Intent targetIntent, - ChooserRequestParameters chooserRequest, + Intent referrerFillInIntent, int maxTargetsPerRow, TargetDataLoader targetDataLoader) { UserHandle initialIntentsUserSpace = isLaunchedAsCloneProfile() @@ -1265,10 +1266,10 @@ public class ChooserActivity extends Hilt_ChooserActivity implements createListController(userHandle), userHandle, targetIntent, + referrerFillInIntent, this, context.getPackageManager(), getEventLog(), - chooserRequest, maxTargetsPerRow, initialIntentsUserSpace, targetDataLoader); @@ -1327,9 +1328,13 @@ public class ChooserActivity extends Hilt_ChooserActivity implements } private ChooserActionFactory createChooserActionFactory() { + ChooserRequestParameters request = requireChooserRequest(); return new ChooserActionFactory( this, - requireChooserRequest(), + request.getTargetIntent(), + request.getReferrerPackageName(), + request.getChooserActions(), + request.getModifyShareAction(), mImageEditor, getEventLog(), (isExcluded) -> mExcludeSharedText = isExcluded, |