diff options
| author | 2024-02-15 15:26:09 +0000 | |
|---|---|---|
| committer | 2024-02-15 15:26:09 +0000 | |
| commit | e0d0d0658d2547d4edab56e3a6b46c52f5b29fdc (patch) | |
| tree | d38192b03421088b797d7dea6e5235215baf9c0c /java/src | |
| parent | 5c69324432495571e7fcf52cee7180a088e55ed1 (diff) | |
| parent | 98120650d1177cb17e42cd8209d2a26f5f24473f (diff) | |
Merge "Fix infinite loop in edit/copy callbacks" into main
Diffstat (limited to 'java/src')
| -rw-r--r-- | java/src/com/android/intentresolver/v2/ChooserActionFactory.java | 14 | ||||
| -rw-r--r-- | java/src/com/android/intentresolver/v2/ChooserActivity.java | 5 |
2 files changed, 10 insertions, 9 deletions
diff --git a/java/src/com/android/intentresolver/v2/ChooserActionFactory.java b/java/src/com/android/intentresolver/v2/ChooserActionFactory.java index f9de9f4b..9077a18d 100644 --- a/java/src/com/android/intentresolver/v2/ChooserActionFactory.java +++ b/java/src/com/android/intentresolver/v2/ChooserActionFactory.java @@ -131,11 +131,12 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio Callable</* @Nullable */ View> firstVisibleImageQuery, ActionActivityStarter activityStarter, @Nullable ShareResultSender shareResultSender, - Consumer</* @Nullable */ Integer> finishCallback) { + Consumer</* @Nullable */ Integer> finishCallback, + ClipboardManager clipboardManager) { this( context, makeCopyButtonRunnable( - context, + clipboardManager, targetIntent, referrerPackageName, finishCallback, @@ -181,13 +182,12 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio if (mShareResultSender != null) { mEditButtonRunnable = () -> { mShareResultSender.onActionSelected(ShareAction.SYSTEM_EDIT); - mEditButtonRunnable.run(); + editButtonRunnable.run(); }; if (mCopyButtonRunnable != null) { mCopyButtonRunnable = () -> { mShareResultSender.onActionSelected(ShareAction.SYSTEM_COPY); - //noinspection DataFlowIssue - mCopyButtonRunnable.run(); + copyButtonRunnable.run(); }; } } @@ -245,7 +245,7 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio @Nullable private static Runnable makeCopyButtonRunnable( - Context context, + ClipboardManager clipboardManager, Intent targetIntent, String referrerPackageName, Consumer<Integer> finishCallback, @@ -261,8 +261,6 @@ public final class ChooserActionFactory implements ChooserContentPreviewUi.Actio return null; } return () -> { - ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService( - Context.CLIPBOARD_SERVICE); clipboardManager.setPrimaryClipAsPackage(clipData, referrerPackageName); log.logActionSelected(EventLog.SELECTION_TYPE_COPY); diff --git a/java/src/com/android/intentresolver/v2/ChooserActivity.java b/java/src/com/android/intentresolver/v2/ChooserActivity.java index 1a7dd9d6..510d3bc9 100644 --- a/java/src/com/android/intentresolver/v2/ChooserActivity.java +++ b/java/src/com/android/intentresolver/v2/ChooserActivity.java @@ -47,6 +47,7 @@ import android.app.prediction.AppPredictor; import android.app.prediction.AppTarget; import android.app.prediction.AppTargetEvent; import android.app.prediction.AppTargetId; +import android.content.ClipboardManager; import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; @@ -278,6 +279,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements @Inject public TargetDataLoader mTargetDataLoader; @Inject public DevicePolicyResources mDevicePolicyResources; @Inject public PackageManager mPackageManager; + @Inject public ClipboardManager mClipboardManager; @Inject public IntentForwarding mIntentForwarding; @Inject public ShareResultSenderFactory mShareResultSenderFactory; @Nullable @@ -2149,7 +2151,8 @@ public class ChooserActivity extends Hilt_ChooserActivity implements setResult(status); } finish(); - }); + }, + mClipboardManager); } /* |