Add clip source to clipboard UI logging

Bug: 246808749
Test: atest ClipboardOverlayControllerTest
Change-Id: I596e25cbab36f445a31def9dd6111681f3b6f2c1
This commit is contained in:
Miranda Kephart
2022-11-16 11:11:51 -05:00
parent 712b0bcd0a
commit 4b77d80772
2 changed files with 24 additions and 4 deletions

View File

@@ -266,6 +266,7 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv
mExitAnimator.cancel();
}
reset();
mClipboardLogger.setClipSource(clipSource);
String accessibilityAnnouncement = mContext.getString(R.string.clipboard_content_copied);
boolean isSensitive = clipData != null && clipData.getDescription().getExtras() != null
@@ -525,21 +526,27 @@ public class ClipboardOverlayController implements ClipboardListener.ClipboardOv
static class ClipboardLogger {
private final UiEventLogger mUiEventLogger;
private String mClipSource;
private boolean mGuarded = false;
ClipboardLogger(UiEventLogger uiEventLogger) {
mUiEventLogger = uiEventLogger;
}
void setClipSource(String clipSource) {
mClipSource = clipSource;
}
void logSessionComplete(@NonNull UiEventLogger.UiEventEnum event) {
if (!mGuarded) {
mGuarded = true;
mUiEventLogger.log(event);
mUiEventLogger.log(event, 0, mClipSource);
}
}
void reset() {
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.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import android.animation.Animator;
@@ -171,7 +172,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase {
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();
}
@@ -181,7 +182,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase {
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();
}
@@ -192,7 +193,7 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase {
mCallbacks.onSwipeDismissInitiated(mAnimator);
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);
}
@@ -224,4 +225,16 @@ public class ClipboardOverlayControllerTest extends SysuiTestCase {
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);
}
}