Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a42d7cfc authored by Miranda Kephart's avatar Miranda Kephart
Browse files

Add logs for clipboard and screenshots

Bug: 227744473
Test: make statsd_testdrive && $ANDROID_HOST_OUT/bin/statsd_testdrive 90
Change-Id: I4937237acad74b281610f9dc256a83ad0baee8b2
parent 0fca1ee0
Loading
Loading
Loading
Loading
+17 −5
Original line number Diff line number Diff line
@@ -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();
    }
+6 −2
Original line number Diff line number Diff line
@@ -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;

+2 −0
Original line number Diff line number Diff line
@@ -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);
                }
            }
+2 −0
Original line number Diff line number Diff line
@@ -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")
+2 −0
Original line number Diff line number Diff line
@@ -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);
                }
            }