Public logSettingsTileClick for log some widget in Settings

Bug: 137559984
Test: robotest
Change-Id: I0b3d425556df0d1a717e7a156d05d0157653fc01
This commit is contained in:
Edgar Wang
2020-04-30 01:12:18 +08:00
parent 62a2b602da
commit 36ecb3de9d
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);
}
}