Add tests for MetricsLogger events.
This makes the MetricsLogger a local, mockable instance, and adds unit test
coverage for GestureLauncherService's interaction with it.
Test: ran tests.
Change-Id: I581c100be7eee4ef6e5d8218d65e694d9bf8e0a5
diff --git a/services/core/java/com/android/server/GestureLauncherService.java b/services/core/java/com/android/server/GestureLauncherService.java
index 5727cd8..13ab7c8 100644
--- a/services/core/java/com/android/server/GestureLauncherService.java
+++ b/services/core/java/com/android/server/GestureLauncherService.java
@@ -66,6 +66,7 @@
private Sensor mCameraLaunchSensor;
private Context mContext;
+ private final MetricsLogger mMetricsLogger;
/** The wake lock held when a gesture is detected. */
private WakeLock mWakeLock;
@@ -109,8 +110,14 @@
private long mLastPowerDown;
public GestureLauncherService(Context context) {
+ this(context, new MetricsLogger());
+ }
+
+ @VisibleForTesting
+ GestureLauncherService(Context context, MetricsLogger metricsLogger) {
super(context);
mContext = context;
+ mMetricsLogger = metricsLogger;
}
public void onStart() {
@@ -274,11 +281,11 @@
launched = handleCameraLaunchGesture(false /* useWakelock */,
StatusBarManager.CAMERA_LAUNCH_SOURCE_POWER_DOUBLE_TAP);
if (launched) {
- MetricsLogger.action(mContext, MetricsEvent.ACTION_DOUBLE_TAP_POWER_CAMERA_GESTURE,
+ mMetricsLogger.action(MetricsEvent.ACTION_DOUBLE_TAP_POWER_CAMERA_GESTURE,
(int) doubleTapInterval);
}
}
- MetricsLogger.histogram(mContext, "power_double_tap_interval", (int) doubleTapInterval);
+ mMetricsLogger.histogram("power_double_tap_interval", (int) doubleTapInterval);
outLaunched.value = launched;
return intercept && launched;
}
@@ -347,7 +354,7 @@
}
if (handleCameraLaunchGesture(true /* useWakelock */,
StatusBarManager.CAMERA_LAUNCH_SOURCE_WIGGLE)) {
- MetricsLogger.action(mContext, MetricsEvent.ACTION_WIGGLE_CAMERA_GESTURE);
+ mMetricsLogger.action(MetricsEvent.ACTION_WIGGLE_CAMERA_GESTURE);
trackCameraLaunchEvent(event);
}
return;