From a42d7cfc6a8be6682b5221a72b063418646d4c7d Mon Sep 17 00:00:00 2001 From: Miranda Kephart Date: Fri, 20 May 2022 09:15:11 -0400 Subject: [PATCH] Add logs for clipboard and screenshots Bug: 227744473 Test: make statsd_testdrive && $ANDROID_HOST_OUT/bin/statsd_testdrive 90 Change-Id: I4937237acad74b281610f9dc256a83ad0baee8b2 --- .../ClipboardOverlayController.java | 22 ++++++++++++++----- .../ClipboardOverlayEvent.java | 8 +++++-- .../screenshot/ScreenshotController.java | 2 ++ .../systemui/screenshot/ScreenshotEvent.java | 2 ++ .../screenshot/TakeScreenshotService.java | 2 ++ 5 files changed, 29 insertions(+), 7 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java b/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java index 1203d1a1ec97d..1b63c253a361a 100644 --- a/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java +++ b/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java @@ -24,10 +24,13 @@ import static android.view.WindowManager.LayoutParams.TYPE_SCREENSHOT; import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.CLIPBOARD_OVERLAY_SHOW_ACTIONS; import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.CLIPBOARD_OVERLAY_SHOW_EDIT_BUTTON; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_ACTION_TAPPED; +import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISSED_OTHER; +import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_DISMISS_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_EDIT_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_REMOTE_COPY_TAPPED; import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBOARD_OVERLAY_SHARE_TAPPED; 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 java.util.Objects.requireNonNull; @@ -208,6 +211,9 @@ public class ClipboardOverlayController { mEditChip = requireNonNull(mView.findViewById(R.id.edit_chip)); mShareChip = requireNonNull(mView.findViewById(R.id.share_chip)); mRemoteCopyChip = requireNonNull(mView.findViewById(R.id.remote_copy_chip)); + mEditChip.setAlpha(1); + mShareChip.setAlpha(1); + mRemoteCopyChip.setAlpha(1); mDismissButton = requireNonNull(mView.findViewById(R.id.dismiss_button)); mView.setCallbacks(new DraggableConstraintLayout.SwipeDismissCallbacks() { @@ -235,7 +241,10 @@ public class ClipboardOverlayController { return true; }); - mDismissButton.setOnClickListener(view -> animateOut()); + mDismissButton.setOnClickListener(view -> { + mUiEventLogger.log(CLIPBOARD_OVERLAY_DISMISS_TAPPED); + animateOut(); + }); mEditChip.setIcon(Icon.createWithResource(mContext, R.drawable.ic_screenshot_edit), true); mRemoteCopyChip.setIcon( @@ -276,6 +285,7 @@ public class ClipboardOverlayController { @Override public void onReceive(Context context, Intent intent) { if (ACTION_CLOSE_SYSTEM_DIALOGS.equals(intent.getAction())) { + mUiEventLogger.log(CLIPBOARD_OVERLAY_DISMISSED_OTHER); animateOut(); } } @@ -287,6 +297,7 @@ public class ClipboardOverlayController { @Override public void onReceive(Context context, Intent intent) { if (SCREENSHOT_ACTION.equals(intent.getAction())) { + mUiEventLogger.log(CLIPBOARD_OVERLAY_DISMISSED_OTHER); animateOut(); } } @@ -352,12 +363,12 @@ public class ClipboardOverlayController { PackageManager packageManager = mContext.getPackageManager(); if (remoteCopyIntent != null && packageManager.resolveActivity( remoteCopyIntent, PackageManager.ResolveInfoFlags.of(0)) != null) { + mRemoteCopyChip.setVisibility(View.VISIBLE); mRemoteCopyChip.setOnClickListener((v) -> { mUiEventLogger.log(CLIPBOARD_OVERLAY_REMOTE_COPY_TAPPED); mContext.startActivity(remoteCopyIntent); animateOut(); }); - mRemoteCopyChip.setAlpha(1f); mActionContainerBackground.setVisibility(View.VISIBLE); } else { mRemoteCopyChip.setVisibility(View.GONE); @@ -403,7 +414,7 @@ public class ClipboardOverlayController { private void showShareChip(ClipData clip) { mShareChip.setVisibility(View.VISIBLE); - mShareChip.setAlpha(1f); + mActionContainerBackground.setVisibility(View.VISIBLE); mShareChip.setOnClickListener((v) -> shareContent(clip)); } @@ -450,6 +461,7 @@ public class ClipboardOverlayController { touchRegion.op(tmpRect, Region.Op.UNION); if (!touchRegion.contains( (int) motionEvent.getRawX(), (int) motionEvent.getRawY())) { + mUiEventLogger.log(CLIPBOARD_OVERLAY_TAP_OUTSIDE); animateOut(); } } @@ -518,7 +530,6 @@ public class ClipboardOverlayController { CLIPBOARD_OVERLAY_SHOW_EDIT_BUTTON, false)) { mEditChip.setVisibility(View.VISIBLE); mActionContainerBackground.setVisibility(View.VISIBLE); - mEditChip.setAlpha(1f); mEditChip.setContentDescription( mContext.getString(R.string.clipboard_edit_text_description)); mEditChip.setOnClickListener(listener); @@ -560,7 +571,6 @@ public class ClipboardOverlayController { if (isEditableImage && DeviceConfig.getBoolean( DeviceConfig.NAMESPACE_SYSTEMUI, CLIPBOARD_OVERLAY_SHOW_EDIT_BUTTON, false)) { mEditChip.setVisibility(View.VISIBLE); - mEditChip.setAlpha(1f); mActionContainerBackground.setVisibility(View.VISIBLE); mEditChip.setOnClickListener(listener); mEditChip.setContentDescription( @@ -764,6 +774,8 @@ public class ClipboardOverlayController { mView.setAlpha(0); mActionContainerBackground.setVisibility(View.GONE); mShareChip.setVisibility(View.GONE); + mEditChip.setVisibility(View.GONE); + mRemoteCopyChip.setVisibility(View.GONE); resetActionChips(); mTimeoutHandler.cancelTimeout(); } diff --git a/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayEvent.java b/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayEvent.java index 90739790b1c1a..a0b2ab99e2401 100644 --- a/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayEvent.java +++ b/packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayEvent.java @@ -27,7 +27,7 @@ public enum ClipboardOverlayEvent implements UiEventLogger.UiEventEnum { @UiEvent(doc = "clipboard edit tapped") CLIPBOARD_OVERLAY_EDIT_TAPPED(951), @UiEvent(doc = "clipboard share tapped") - CLIPBOARD_OVERLAY_SHARE_TAPPED(RESERVE_NEW_UI_EVENT_ID), + CLIPBOARD_OVERLAY_SHARE_TAPPED(1067), @UiEvent(doc = "clipboard action tapped") CLIPBOARD_OVERLAY_ACTION_TAPPED(952), @UiEvent(doc = "clipboard remote copy tapped") @@ -37,7 +37,11 @@ public enum ClipboardOverlayEvent implements UiEventLogger.UiEventEnum { @UiEvent(doc = "clipboard overlay dismiss tapped") CLIPBOARD_OVERLAY_DISMISS_TAPPED(955), @UiEvent(doc = "clipboard overlay swipe dismissed") - CLIPBOARD_OVERLAY_SWIPE_DISMISSED(956); + CLIPBOARD_OVERLAY_SWIPE_DISMISSED(956), + @UiEvent(doc = "clipboard overlay tapped outside") + CLIPBOARD_OVERLAY_TAP_OUTSIDE(1077), + @UiEvent(doc = "clipboard overlay dismissed, miscellaneous reason") + CLIPBOARD_OVERLAY_DISMISSED_OTHER(1078); private final int mId; diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java index 489f881c36cfd..8ce422ac93f80 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java @@ -27,6 +27,7 @@ import static com.android.systemui.screenshot.LogConfig.DEBUG_INPUT; import static com.android.systemui.screenshot.LogConfig.DEBUG_UI; import static com.android.systemui.screenshot.LogConfig.DEBUG_WINDOW; import static com.android.systemui.screenshot.LogConfig.logTag; +import static com.android.systemui.screenshot.ScreenshotEvent.SCREENSHOT_DISMISSED_OTHER; import static java.util.Objects.requireNonNull; @@ -349,6 +350,7 @@ public class ScreenshotController { @Override public void onReceive(Context context, Intent intent) { if (ClipboardOverlayController.COPY_OVERLAY_ACTION.equals(intent.getAction())) { + mUiEventLogger.log(SCREENSHOT_DISMISSED_OTHER); dismissScreenshot(false); } } diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotEvent.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotEvent.java index d49ff9311718a..8b5a24c0e2ff6 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotEvent.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotEvent.java @@ -62,6 +62,8 @@ public enum ScreenshotEvent implements UiEventLogger.UiEventEnum { SCREENSHOT_EXPLICIT_DISMISSAL(311), @UiEvent(doc = "screenshot swiped to dismiss") SCREENSHOT_SWIPE_DISMISSED(656), + @UiEvent(doc = "screenshot dismissed, miscellaneous reason") + SCREENSHOT_DISMISSED_OTHER(1076), @UiEvent(doc = "screenshot reentered for new screenshot") SCREENSHOT_REENTERED(640), @UiEvent(doc = "Long screenshot button was shown to the user") diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java index 2621f6da7afae..90e7631b4b03a 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java @@ -25,6 +25,7 @@ import static com.android.systemui.screenshot.LogConfig.DEBUG_CALLBACK; import static com.android.systemui.screenshot.LogConfig.DEBUG_DISMISS; import static com.android.systemui.screenshot.LogConfig.DEBUG_SERVICE; import static com.android.systemui.screenshot.LogConfig.logTag; +import static com.android.systemui.screenshot.ScreenshotEvent.SCREENSHOT_DISMISSED_OTHER; import android.annotation.MainThread; import android.app.Service; @@ -83,6 +84,7 @@ public class TakeScreenshotService extends Service { Log.d(TAG, "Received ACTION_CLOSE_SYSTEM_DIALOGS"); } if (!mScreenshot.isPendingSharedTransition()) { + mUiEventLogger.log(SCREENSHOT_DISMISSED_OTHER); mScreenshot.dismissScreenshot(false); } }