Merge "Add clicked event for metric log writer"
This commit is contained in:
@@ -122,6 +122,11 @@ public class FeatureFlagUtils {
|
||||
*/
|
||||
public static final String SETTINGS_ENABLE_SPA = "settings_enable_spa";
|
||||
|
||||
/** Flag to enable/disable adb log metrics
|
||||
* @hide
|
||||
*/
|
||||
public static final String SETTINGS_ADB_METRICS_WRITER = "settings_adb_metrics_writer";
|
||||
|
||||
private static final Map<String, String> DEFAULT_FLAGS;
|
||||
|
||||
static {
|
||||
@@ -155,6 +160,7 @@ public class FeatureFlagUtils {
|
||||
DEFAULT_FLAGS.put(SETTINGS_ACCESSIBILITY_SIMPLE_CURSOR, "false");
|
||||
DEFAULT_FLAGS.put(SETTINGS_NEW_KEYBOARD_UI, "false");
|
||||
DEFAULT_FLAGS.put(SETTINGS_ENABLE_SPA, "false");
|
||||
DEFAULT_FLAGS.put(SETTINGS_ADB_METRICS_WRITER, "false");
|
||||
}
|
||||
|
||||
private static final Set<String> PERSISTENT_FLAGS;
|
||||
|
||||
@@ -48,6 +48,10 @@ public class EventLogWriter implements LogWriter {
|
||||
MetricsLogger.action(logMaker);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clicked(int sourceCategory, String key) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void action(Context context, int category, Pair<Integer, Object>... taggedData) {
|
||||
final LogMaker logMaker = new LogMaker(category)
|
||||
|
||||
@@ -33,6 +33,11 @@ public interface LogWriter {
|
||||
*/
|
||||
void hidden(Context context, int category, int visibleTime);
|
||||
|
||||
/**
|
||||
* Logs a click event when user click item.
|
||||
*/
|
||||
void clicked(int category, String key);
|
||||
|
||||
/**
|
||||
* Logs an user action.
|
||||
*/
|
||||
|
||||
@@ -95,6 +95,18 @@ public class MetricsFeatureProvider {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs an event when user click item.
|
||||
*
|
||||
* @param category the target page id
|
||||
* @param key the key id that user clicked
|
||||
*/
|
||||
public void clicked(int category, String key) {
|
||||
for (LogWriter writer : mLoggerWriters) {
|
||||
writer.clicked(category, key);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs a simple action without page id or attribution
|
||||
*
|
||||
@@ -138,7 +150,7 @@ public class MetricsFeatureProvider {
|
||||
}
|
||||
|
||||
public int getMetricsCategory(Object object) {
|
||||
if (object == null || !(object instanceof Instrumentable)) {
|
||||
if (!(object instanceof Instrumentable)) {
|
||||
return MetricsEvent.VIEW_UNKNOWN;
|
||||
}
|
||||
return ((Instrumentable) object).getMetricsCategory();
|
||||
@@ -198,11 +210,7 @@ public class MetricsFeatureProvider {
|
||||
// Not loggable
|
||||
return false;
|
||||
}
|
||||
action(sourceMetricsCategory,
|
||||
MetricsEvent.ACTION_SETTINGS_TILE_CLICK,
|
||||
SettingsEnums.PAGE_UNKNOWN,
|
||||
logKey,
|
||||
0);
|
||||
clicked(sourceMetricsCategory, logKey);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,12 +80,7 @@ public class MetricsFeatureProviderTest {
|
||||
MetricsEvent.SETTINGS_GESTURES);
|
||||
|
||||
assertThat(loggable).isTrue();
|
||||
verify(mLogWriter).action(
|
||||
MetricsEvent.SETTINGS_GESTURES,
|
||||
MetricsEvent.ACTION_SETTINGS_TILE_CLICK,
|
||||
SettingsEnums.PAGE_UNKNOWN,
|
||||
key,
|
||||
0);
|
||||
verify(mLogWriter).clicked(MetricsEvent.SETTINGS_GESTURES, key);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -98,12 +93,7 @@ public class MetricsFeatureProviderTest {
|
||||
MetricsEvent.SETTINGS_GESTURES);
|
||||
|
||||
assertThat(loggable).isTrue();
|
||||
verify(mLogWriter).action(
|
||||
MetricsEvent.SETTINGS_GESTURES,
|
||||
MetricsEvent.ACTION_SETTINGS_TILE_CLICK,
|
||||
SettingsEnums.PAGE_UNKNOWN,
|
||||
Intent.ACTION_ASSIST,
|
||||
0);
|
||||
verify(mLogWriter).clicked(MetricsEvent.SETTINGS_GESTURES, Intent.ACTION_ASSIST);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -116,12 +106,7 @@ public class MetricsFeatureProviderTest {
|
||||
MetricsEvent.SETTINGS_GESTURES);
|
||||
|
||||
assertThat(loggable).isTrue();
|
||||
verify(mLogWriter).action(
|
||||
MetricsEvent.SETTINGS_GESTURES,
|
||||
MetricsEvent.ACTION_SETTINGS_TILE_CLICK,
|
||||
SettingsEnums.PAGE_UNKNOWN,
|
||||
fragment,
|
||||
0);
|
||||
verify(mLogWriter).clicked(MetricsEvent.SETTINGS_GESTURES, fragment);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -140,12 +125,7 @@ public class MetricsFeatureProviderTest {
|
||||
final boolean loggable = mProvider.logStartedIntent(intent, MetricsEvent.SETTINGS_GESTURES);
|
||||
|
||||
assertThat(loggable).isTrue();
|
||||
verify(mLogWriter).action(
|
||||
MetricsEvent.SETTINGS_GESTURES,
|
||||
MetricsEvent.ACTION_SETTINGS_TILE_CLICK,
|
||||
SettingsEnums.PAGE_UNKNOWN,
|
||||
Intent.ACTION_ASSIST,
|
||||
0);
|
||||
verify(mLogWriter).clicked(MetricsEvent.SETTINGS_GESTURES, Intent.ACTION_ASSIST);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -155,12 +135,7 @@ public class MetricsFeatureProviderTest {
|
||||
final boolean loggable = mProvider.logStartedIntent(intent, MetricsEvent.SETTINGS_GESTURES);
|
||||
|
||||
assertThat(loggable).isTrue();
|
||||
verify(mLogWriter).action(
|
||||
MetricsEvent.SETTINGS_GESTURES,
|
||||
MetricsEvent.ACTION_SETTINGS_TILE_CLICK,
|
||||
SettingsEnums.PAGE_UNKNOWN,
|
||||
"pkg/cls",
|
||||
0);
|
||||
verify(mLogWriter).clicked(MetricsEvent.SETTINGS_GESTURES, "pkg/cls");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -171,12 +146,7 @@ public class MetricsFeatureProviderTest {
|
||||
MetricsEvent.SETTINGS_GESTURES, false);
|
||||
|
||||
assertThat(loggable).isTrue();
|
||||
verify(mLogWriter).action(
|
||||
MetricsEvent.SETTINGS_GESTURES,
|
||||
MetricsEvent.ACTION_SETTINGS_TILE_CLICK,
|
||||
SettingsEnums.PAGE_UNKNOWN,
|
||||
"pkg/cls/personal",
|
||||
0);
|
||||
verify(mLogWriter).clicked(MetricsEvent.SETTINGS_GESTURES, "pkg/cls/personal");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -187,12 +157,7 @@ public class MetricsFeatureProviderTest {
|
||||
MetricsEvent.SETTINGS_GESTURES, true);
|
||||
|
||||
assertThat(loggable).isTrue();
|
||||
verify(mLogWriter).action(
|
||||
MetricsEvent.SETTINGS_GESTURES,
|
||||
MetricsEvent.ACTION_SETTINGS_TILE_CLICK,
|
||||
SettingsEnums.PAGE_UNKNOWN,
|
||||
"pkg/cls/work",
|
||||
0);
|
||||
verify(mLogWriter).clicked(MetricsEvent.SETTINGS_GESTURES, "pkg/cls/work");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -226,12 +191,7 @@ public class MetricsFeatureProviderTest {
|
||||
MetricsEvent.SETTINGS_GESTURES);
|
||||
|
||||
assertThat(loggable).isTrue();
|
||||
verify(mLogWriter).action(
|
||||
MetricsEvent.SETTINGS_GESTURES,
|
||||
MetricsEvent.ACTION_SETTINGS_TILE_CLICK,
|
||||
SettingsEnums.PAGE_UNKNOWN,
|
||||
key,
|
||||
0);
|
||||
verify(mLogWriter).clicked(MetricsEvent.SETTINGS_GESTURES, key);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user