Merge "Add clip source to clipboard UI logging" into tm-qpr-dev am: 6c6b35d00e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20494648

Change-Id: I39f3ebf2031075f29fa8c06c0d512657eedcffd9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Miranda Kephart
2022-11-17 22:39:12 +00:00
committed by Automerger Merge Worker
2 changed files with 24 additions and 4 deletions

View File

@@ -266,6 +266,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv
mExitAnimator.cancel(); mExitAnimator.cancel();
} }
reset(); reset();
mClipboardLogger.setClipSource(clipSource);
String accessibilityAnnouncement = mContext.getString(R.string.clipboard_content_copied); String accessibilityAnnouncement = mContext.getString(R.string.clipboard_content_copied);
boolean isSensitive = clipData != null && clipData.getDescription().getExtras() != null boolean isSensitive = clipData != null && clipData.getDescription().getExtras() != null
@@ -525,21 +526,27 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv
static class ClipboardLogger { static class ClipboardLogger {
private final UiEventLogger mUiEventLogger; private final UiEventLogger mUiEventLogger;
private String mClipSource;
private boolean mGuarded = false; private boolean mGuarded = false;
ClipboardLogger(UiEventLogger uiEventLogger) { ClipboardLogger(UiEventLogger uiEventLogger) {
mUiEventLogger = uiEventLogger; mUiEventLogger = uiEventLogger;
} }
void setClipSource(String clipSource) {
mClipSource = clipSource;
}
void logSessionComplete(@NonNull UiEventLogger.UiEventEnum event) { void logSessionComplete(@NonNull UiEventLogger.UiEventEnum event) {
if (!mGuarded) { if (!mGuarded) {
mGuarded = true; mGuarded = true;
mUiEventLogger.log(event); mUiEventLogger.log(event, 0, mClipSource);
} }
} }
void reset() { void reset() {
mGuarded = false; mGuarded = false;
mClipSource = null;
} }
} }
} }

View File

@@ -25,6 +25,7 @@ import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.animation.Animator; import android.animation.Animator;
@@ -171,7 +172,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase {
mCallbacks.onShareButtonTapped(); mCallbacks.onShareButtonTapped();
verify(mUiEventLogger, times(1)).log(CLIPBOARD_OVERLAY_SHARE_TAPPED); verify(mUiEventLogger, times(1)).log(CLIPBOARD_OVERLAY_SHARE_TAPPED, 0, "");
verify(mClipboardOverlayView, times(1)).getExitAnimation(); verify(mClipboardOverlayView, times(1)).getExitAnimation();
} }
@@ -181,7 +182,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase {
mCallbacks.onDismissButtonTapped(); mCallbacks.onDismissButtonTapped();
verify(mUiEventLogger, times(1)).log(CLIPBOARD_OVERLAY_DISMISS_TAPPED); verify(mUiEventLogger, times(1)).log(CLIPBOARD_OVERLAY_DISMISS_TAPPED, 0, "");
verify(mClipboardOverlayView, times(1)).getExitAnimation(); verify(mClipboardOverlayView, times(1)).getExitAnimation();
} }
@@ -192,7 +193,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase {
mCallbacks.onSwipeDismissInitiated(mAnimator); mCallbacks.onSwipeDismissInitiated(mAnimator);
mCallbacks.onDismissButtonTapped(); mCallbacks.onDismissButtonTapped();
verify(mUiEventLogger, times(1)).log(CLIPBOARD_OVERLAY_SWIPE_DISMISSED); verify(mUiEventLogger, times(1)).log(CLIPBOARD_OVERLAY_SWIPE_DISMISSED, 0, null);
verify(mUiEventLogger, never()).log(CLIPBOARD_OVERLAY_DISMISS_TAPPED); verify(mUiEventLogger, never()).log(CLIPBOARD_OVERLAY_DISMISS_TAPPED);
} }
@@ -224,4 +225,16 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase {
verify(mTimeoutHandler).resetTimeout(); verify(mTimeoutHandler).resetTimeout();
} }
@Test
public void test_logsUseLastClipSource() {
mOverlayController.setClipData(mSampleClipData, "first.package");
mCallbacks.onDismissButtonTapped();
mOverlayController.setClipData(mSampleClipData, "second.package");
mCallbacks.onDismissButtonTapped();
verify(mUiEventLogger).log(CLIPBOARD_OVERLAY_DISMISS_TAPPED, 0, "first.package");
verify(mUiEventLogger).log(CLIPBOARD_OVERLAY_DISMISS_TAPPED, 0, "second.package");
verifyNoMoreInteractions(mUiEventLogger);
}
} }