summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
author Alan Chen <alanschen@google.com> 2024-04-17 18:51:48 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-04-17 18:51:48 +0000
commitb5df5dc028aa731a30f673e822aadd9d43c13c27 (patch)
tree182c0e7f7cdebd2ce15fa73f1a233be13f2c5da2 /java/src
parent56bae808e5af2bde54a69f95aa0c9ba19edc051c (diff)
parent6ee42dcf70adbc77d4c923383df627f83a574b1d (diff)
Merge "Fix NPE when edit action is null" into main
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/intentresolver/ChooserActionFactory.java19
1 files changed, 12 insertions, 7 deletions
diff --git a/java/src/com/android/intentresolver/ChooserActionFactory.java b/java/src/com/android/intentresolver/ChooserActionFactory.java
index ffe83fa6..79998fbc 100644
--- a/java/src/com/android/intentresolver/ChooserActionFactory.java
+++ b/java/src/com/android/intentresolver/ChooserActionFactory.java
@@ -99,7 +99,7 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio
private final Context mContext;
@Nullable private Runnable mCopyButtonRunnable;
- private Runnable mEditButtonRunnable;
+ @Nullable private Runnable mEditButtonRunnable;
private final ImmutableList<ChooserAction> mCustomActions;
private final Consumer<Boolean> mExcludeSharedTextAction;
@Nullable private final ShareResultSender mShareResultSender;
@@ -158,7 +158,7 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio
ChooserActionFactory(
Context context,
@Nullable Runnable copyButtonRunnable,
- Runnable editButtonRunnable,
+ @Nullable Runnable editButtonRunnable,
List<ChooserAction> customActions,
Consumer<Boolean> onUpdateSharedTextIsExcluded,
EventLog log,
@@ -174,10 +174,12 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio
mFinishCallback = finishCallback;
if (mShareResultSender != null) {
- mEditButtonRunnable = () -> {
- mShareResultSender.onActionSelected(ShareAction.SYSTEM_EDIT);
- editButtonRunnable.run();
- };
+ if (mEditButtonRunnable != null) {
+ mEditButtonRunnable = () -> {
+ mShareResultSender.onActionSelected(ShareAction.SYSTEM_EDIT);
+ editButtonRunnable.run();
+ };
+ }
if (mCopyButtonRunnable != null) {
mCopyButtonRunnable = () -> {
mShareResultSender.onActionSelected(ShareAction.SYSTEM_COPY);
@@ -281,6 +283,7 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio
return clipData;
}
+ @Nullable
private static TargetInfo getEditSharingTarget(
Context context,
Intent originalIntent,
@@ -325,11 +328,13 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio
return dri;
}
+ @Nullable
private static Runnable makeEditButtonRunnable(
- TargetInfo editSharingTarget,
+ @Nullable TargetInfo editSharingTarget,
Callable</* @Nullable */ View> firstVisibleImageQuery,
ActionActivityStarter activityStarter,
EventLog log) {
+ if (editSharingTarget == null) return null;
return () -> {
// Log share completion via edit.
log.logActionSelected(EventLog.SELECTION_TYPE_EDIT);