Merge "Public logSettingsTileClick for log some widget in Settings" into rvc-dev am: eb979c4c80

Change-Id: I359b10efbc20088726a9f08697a59a7b93325506
This commit is contained in:
Edgar Wang
2020-04-30 14:37:31 +00:00
committed by Automerger Merge Worker
2 changed files with 31 additions and 1 deletions

View File

@@ -185,7 +185,12 @@ public class MetricsFeatureProvider {
sourceMetricsCategory);
}
private boolean logSettingsTileClick(String logKey, int sourceMetricsCategory) {
/**
* Logs an event when the setting key is clicked.
*
* @return true if the key is loggable, otherwise false
*/
public boolean logSettingsTileClick(String logKey, int sourceMetricsCategory) {
if (TextUtils.isEmpty(logKey)) {
// Not loggable
return false;

View File

@@ -218,4 +218,29 @@ public class MetricsFeatureProviderTest {
assertThat(mProvider.getAttribution(activity)).isEqualTo(100);
}
@Test
public void logSettingsTileClick_hasKey_shouldLog() {
final String key = "abc";
final boolean loggable = mProvider.logSettingsTileClick(key,
MetricsEvent.SETTINGS_GESTURES);
assertThat(loggable).isTrue();
verify(mLogWriter).action(
MetricsEvent.SETTINGS_GESTURES,
MetricsEvent.ACTION_SETTINGS_TILE_CLICK,
SettingsEnums.PAGE_UNKNOWN,
key,
0);
}
@Test
public void logSettingsTileClick_keyEmpty_shouldNotLog() {
final String key = "";
boolean loggable = mProvider.logSettingsTileClick(key,
MetricsEvent.SETTINGS_GESTURES);
assertThat(loggable).isFalse();
verifyNoMoreInteractions(mLogWriter);
}
}