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/com | |
| parent | 5c69324432495571e7fcf52cee7180a088e55ed1 (diff) | |
| parent | 98120650d1177cb17e42cd8209d2a26f5f24473f (diff) | |
Merge "Fix infinite loop in edit/copy callbacks" into main
Diffstat (limited to 'java/src/com')
| -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);      }      /*  |