summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/intentresolver/ChooserActivity.java6
-rw-r--r--java/src/com/android/intentresolver/ChooserListAdapter.java24
-rw-r--r--java/src/com/android/intentresolver/ResolverListAdapter.java5
-rw-r--r--java/src/com/android/intentresolver/v2/ChooserActionFactory.java17
-rw-r--r--java/src/com/android/intentresolver/v2/ChooserActivity.java13
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,