Loading packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -540,6 +540,16 @@ flag { } } flag { name: "clipboard_shared_transitions" namespace: "systemui" description: "Show shared transitions from clipboard" bug: "360843770" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "clipboard_image_timeout" namespace: "systemui" Loading packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java +11 −11 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.content.Intent.ACTION_CLOSE_SYSTEM_DIALOGS; import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.CLIPBOARD_OVERLAY_SHOW_ACTIONS; import static com.android.systemui.Flags.clipboardImageTimeout; import static com.android.systemui.Flags.clipboardSharedTransitions; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_SHOWN; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISSED_OTHER; Loading @@ -33,7 +34,6 @@ import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBO import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SWIPE_DISMISSED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_TAP_OUTSIDE; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_TIMED_OUT; import static com.android.systemui.flags.Flags.CLIPBOARD_SHARED_TRANSITIONS; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; Loading Loading @@ -207,7 +207,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv mClipboardUtils = clipboardUtils; mBgExecutor = bgExecutor; if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { mView.setCallbacks(this); } else { mView.setCallbacks(mClipboardCallbacks); Loading @@ -220,7 +220,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv }); mTimeoutHandler.setOnTimeoutRunnable(() -> { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_TIMED_OUT); } else { mClipboardLogger.logSessionComplete(CLIPBOARD_OVERLAY_TIMED_OUT); Loading @@ -232,7 +232,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv @Override public void onReceive(Context context, Intent intent) { if (ACTION_CLOSE_SYSTEM_DIALOGS.equals(intent.getAction())) { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_DISMISSED_OTHER); } else { mClipboardLogger.logSessionComplete(CLIPBOARD_OVERLAY_DISMISSED_OTHER); Loading @@ -248,7 +248,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv @Override public void onReceive(Context context, Intent intent) { if (SCREENSHOT_ACTION.equals(intent.getAction())) { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_DISMISSED_OTHER); } else { mClipboardLogger.logSessionComplete(CLIPBOARD_OVERLAY_DISMISSED_OTHER); Loading Loading @@ -481,7 +481,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv remoteAction.ifPresent(action -> { mClipboardLogger.logUnguarded(CLIPBOARD_OVERLAY_ACTION_SHOWN); mView.post(() -> mView.setActionChip(action, () -> { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_ACTION_TAPPED); } else { mClipboardLogger.logSessionComplete(CLIPBOARD_OVERLAY_ACTION_TAPPED); Loading Loading @@ -528,7 +528,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv if (motionEvent.getActionMasked() == MotionEvent.ACTION_DOWN) { if (!mView.isInTouchRegion( (int) motionEvent.getRawX(), (int) motionEvent.getRawY())) { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_TAP_OUTSIDE); } else { mClipboardLogger.logSessionComplete(CLIPBOARD_OVERLAY_TAP_OUTSIDE); Loading Loading @@ -690,14 +690,14 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv @Override public void onDismissButtonTapped() { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_DISMISS_TAPPED); } } @Override public void onRemoteCopyButtonTapped() { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_REMOTE_COPY_TAPPED, IntentCreator.getRemoteCopyIntent(mClipboardModel.getClipData(), mContext)); } Loading @@ -705,7 +705,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv @Override public void onShareButtonTapped() { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { if (mClipboardModel.getType() != ClipboardModel.Type.OTHER) { finishWithSharedTransition(CLIPBOARD_OVERLAY_SHARE_TAPPED, IntentCreator.getShareIntent(mClipboardModel.getClipData(), mContext)); Loading @@ -715,7 +715,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv @Override public void onPreviewTapped() { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { switch (mClipboardModel.getType()) { case TEXT: finish(CLIPBOARD_OVERLAY_EDIT_TAPPED, Loading packages/SystemUI/src/com/android/systemui/flags/Flags.kt +0 −4 Original line number Diff line number Diff line Loading @@ -337,10 +337,6 @@ object Flags { // TODO(b/278714186) Tracking Bug @JvmField val CLIPBOARD_IMAGE_TIMEOUT = unreleasedFlag("clipboard_image_timeout", teamfood = true) // TODO(b/279405451): Tracking Bug @JvmField val CLIPBOARD_SHARED_TRANSITIONS = unreleasedFlag("clipboard_shared_transitions", teamfood = true) // 1900 @JvmField val NOTE_TASKS = releasedFlag("keycode_flag") Loading packages/SystemUI/tests/src/com/android/systemui/clipboardoverlay/ClipboardOverlayControllerTest.java +8 −5 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.systemui.clipboardoverlay; import static android.content.res.Configuration.ORIENTATION_PORTRAIT; import static com.android.systemui.Flags.FLAG_CLIPBOARD_SHARED_TRANSITIONS; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_SHOWN; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISS_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_EXPANDED_FROM_MINIMIZED; Loading @@ -26,7 +27,6 @@ import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBO import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SHOWN_MINIMIZED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SWIPE_DISMISSED; import static com.android.systemui.flags.Flags.CLIPBOARD_IMAGE_TIMEOUT; import static com.android.systemui.flags.Flags.CLIPBOARD_SHARED_TRANSITIONS; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; Loading @@ -47,6 +47,8 @@ import android.graphics.Insets; import android.graphics.Rect; import android.net.Uri; import android.os.PersistableBundle; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.view.WindowInsets; import android.view.textclassifier.TextLinks; Loading Loading @@ -130,7 +132,6 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { new ClipData.Item("Test Item")); mFeatureFlags.set(CLIPBOARD_IMAGE_TIMEOUT, true); // turned off for legacy tests mFeatureFlags.set(CLIPBOARD_SHARED_TRANSITIONS, true); // turned off for old tests } /** Loading Loading @@ -299,8 +300,8 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { } @Test @DisableFlags(FLAG_CLIPBOARD_SHARED_TRANSITIONS) public void test_viewCallbacks_onShareTapped_sharedTransitionsOff() { mFeatureFlags.set(CLIPBOARD_SHARED_TRANSITIONS, false); initController(); mOverlayController.setClipData(mSampleClipData, ""); Loading @@ -311,6 +312,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { } @Test @EnableFlags(FLAG_CLIPBOARD_SHARED_TRANSITIONS) public void test_viewCallbacks_onShareTapped() { initController(); mOverlayController.setClipData(mSampleClipData, ""); Loading @@ -324,8 +326,8 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { } @Test @DisableFlags(FLAG_CLIPBOARD_SHARED_TRANSITIONS) public void test_viewCallbacks_onDismissTapped_sharedTransitionsOff() { mFeatureFlags.set(CLIPBOARD_SHARED_TRANSITIONS, false); initController(); mOverlayController.setClipData(mSampleClipData, ""); Loading @@ -336,6 +338,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { } @Test @EnableFlags(FLAG_CLIPBOARD_SHARED_TRANSITIONS) public void test_viewCallbacks_onDismissTapped() { initController(); Loading @@ -350,7 +353,6 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { @Test public void test_multipleDismissals_dismissesOnce_sharedTransitionsOff() { mFeatureFlags.set(CLIPBOARD_SHARED_TRANSITIONS, false); initController(); mCallbacks.onSwipeDismissInitiated(mAnimator); mCallbacks.onDismissButtonTapped(); Loading @@ -362,6 +364,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { } @Test @EnableFlags(FLAG_CLIPBOARD_SHARED_TRANSITIONS) public void test_multipleDismissals_dismissesOnce() { initController(); Loading Loading
packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -540,6 +540,16 @@ flag { } } flag { name: "clipboard_shared_transitions" namespace: "systemui" description: "Show shared transitions from clipboard" bug: "360843770" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "clipboard_image_timeout" namespace: "systemui" Loading
packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java +11 −11 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.content.Intent.ACTION_CLOSE_SYSTEM_DIALOGS; import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.CLIPBOARD_OVERLAY_SHOW_ACTIONS; import static com.android.systemui.Flags.clipboardImageTimeout; import static com.android.systemui.Flags.clipboardSharedTransitions; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_SHOWN; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISSED_OTHER; Loading @@ -33,7 +34,6 @@ import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBO import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SWIPE_DISMISSED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_TAP_OUTSIDE; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_TIMED_OUT; import static com.android.systemui.flags.Flags.CLIPBOARD_SHARED_TRANSITIONS; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; Loading Loading @@ -207,7 +207,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv mClipboardUtils = clipboardUtils; mBgExecutor = bgExecutor; if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { mView.setCallbacks(this); } else { mView.setCallbacks(mClipboardCallbacks); Loading @@ -220,7 +220,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv }); mTimeoutHandler.setOnTimeoutRunnable(() -> { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_TIMED_OUT); } else { mClipboardLogger.logSessionComplete(CLIPBOARD_OVERLAY_TIMED_OUT); Loading @@ -232,7 +232,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv @Override public void onReceive(Context context, Intent intent) { if (ACTION_CLOSE_SYSTEM_DIALOGS.equals(intent.getAction())) { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_DISMISSED_OTHER); } else { mClipboardLogger.logSessionComplete(CLIPBOARD_OVERLAY_DISMISSED_OTHER); Loading @@ -248,7 +248,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv @Override public void onReceive(Context context, Intent intent) { if (SCREENSHOT_ACTION.equals(intent.getAction())) { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_DISMISSED_OTHER); } else { mClipboardLogger.logSessionComplete(CLIPBOARD_OVERLAY_DISMISSED_OTHER); Loading Loading @@ -481,7 +481,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv remoteAction.ifPresent(action -> { mClipboardLogger.logUnguarded(CLIPBOARD_OVERLAY_ACTION_SHOWN); mView.post(() -> mView.setActionChip(action, () -> { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_ACTION_TAPPED); } else { mClipboardLogger.logSessionComplete(CLIPBOARD_OVERLAY_ACTION_TAPPED); Loading Loading @@ -528,7 +528,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv if (motionEvent.getActionMasked() == MotionEvent.ACTION_DOWN) { if (!mView.isInTouchRegion( (int) motionEvent.getRawX(), (int) motionEvent.getRawY())) { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_TAP_OUTSIDE); } else { mClipboardLogger.logSessionComplete(CLIPBOARD_OVERLAY_TAP_OUTSIDE); Loading Loading @@ -690,14 +690,14 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv @Override public void onDismissButtonTapped() { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_DISMISS_TAPPED); } } @Override public void onRemoteCopyButtonTapped() { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { finish(CLIPBOARD_OVERLAY_REMOTE_COPY_TAPPED, IntentCreator.getRemoteCopyIntent(mClipboardModel.getClipData(), mContext)); } Loading @@ -705,7 +705,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv @Override public void onShareButtonTapped() { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { if (mClipboardModel.getType() != ClipboardModel.Type.OTHER) { finishWithSharedTransition(CLIPBOARD_OVERLAY_SHARE_TAPPED, IntentCreator.getShareIntent(mClipboardModel.getClipData(), mContext)); Loading @@ -715,7 +715,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv @Override public void onPreviewTapped() { if (mFeatureFlags.isEnabled(CLIPBOARD_SHARED_TRANSITIONS)) { if (clipboardSharedTransitions()) { switch (mClipboardModel.getType()) { case TEXT: finish(CLIPBOARD_OVERLAY_EDIT_TAPPED, Loading
packages/SystemUI/src/com/android/systemui/flags/Flags.kt +0 −4 Original line number Diff line number Diff line Loading @@ -337,10 +337,6 @@ object Flags { // TODO(b/278714186) Tracking Bug @JvmField val CLIPBOARD_IMAGE_TIMEOUT = unreleasedFlag("clipboard_image_timeout", teamfood = true) // TODO(b/279405451): Tracking Bug @JvmField val CLIPBOARD_SHARED_TRANSITIONS = unreleasedFlag("clipboard_shared_transitions", teamfood = true) // 1900 @JvmField val NOTE_TASKS = releasedFlag("keycode_flag") Loading
packages/SystemUI/tests/src/com/android/systemui/clipboardoverlay/ClipboardOverlayControllerTest.java +8 −5 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.systemui.clipboardoverlay; import static android.content.res.Configuration.ORIENTATION_PORTRAIT; import static com.android.systemui.Flags.FLAG_CLIPBOARD_SHARED_TRANSITIONS; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_SHOWN; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISS_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_EXPANDED_FROM_MINIMIZED; Loading @@ -26,7 +27,6 @@ import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBO import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SHOWN_MINIMIZED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SWIPE_DISMISSED; import static com.android.systemui.flags.Flags.CLIPBOARD_IMAGE_TIMEOUT; import static com.android.systemui.flags.Flags.CLIPBOARD_SHARED_TRANSITIONS; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; Loading @@ -47,6 +47,8 @@ import android.graphics.Insets; import android.graphics.Rect; import android.net.Uri; import android.os.PersistableBundle; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.view.WindowInsets; import android.view.textclassifier.TextLinks; Loading Loading @@ -130,7 +132,6 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { new ClipData.Item("Test Item")); mFeatureFlags.set(CLIPBOARD_IMAGE_TIMEOUT, true); // turned off for legacy tests mFeatureFlags.set(CLIPBOARD_SHARED_TRANSITIONS, true); // turned off for old tests } /** Loading Loading @@ -299,8 +300,8 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { } @Test @DisableFlags(FLAG_CLIPBOARD_SHARED_TRANSITIONS) public void test_viewCallbacks_onShareTapped_sharedTransitionsOff() { mFeatureFlags.set(CLIPBOARD_SHARED_TRANSITIONS, false); initController(); mOverlayController.setClipData(mSampleClipData, ""); Loading @@ -311,6 +312,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { } @Test @EnableFlags(FLAG_CLIPBOARD_SHARED_TRANSITIONS) public void test_viewCallbacks_onShareTapped() { initController(); mOverlayController.setClipData(mSampleClipData, ""); Loading @@ -324,8 +326,8 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { } @Test @DisableFlags(FLAG_CLIPBOARD_SHARED_TRANSITIONS) public void test_viewCallbacks_onDismissTapped_sharedTransitionsOff() { mFeatureFlags.set(CLIPBOARD_SHARED_TRANSITIONS, false); initController(); mOverlayController.setClipData(mSampleClipData, ""); Loading @@ -336,6 +338,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { } @Test @EnableFlags(FLAG_CLIPBOARD_SHARED_TRANSITIONS) public void test_viewCallbacks_onDismissTapped() { initController(); Loading @@ -350,7 +353,6 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { @Test public void test_multipleDismissals_dismissesOnce_sharedTransitionsOff() { mFeatureFlags.set(CLIPBOARD_SHARED_TRANSITIONS, false); initController(); mCallbacks.onSwipeDismissInitiated(mAnimator); mCallbacks.onDismissButtonTapped(); Loading @@ -362,6 +364,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase { } @Test @EnableFlags(FLAG_CLIPBOARD_SHARED_TRANSITIONS) public void test_multipleDismissals_dismissesOnce() { initController(); Loading