Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36ecb3de authored by Edgar Wang's avatar Edgar Wang
Browse files

Public logSettingsTileClick for log some widget in Settings

Bug: 137559984
Test: robotest
Change-Id: I0b3d425556df0d1a717e7a156d05d0157653fc01
parent 62a2b602
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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;
+25 −0
Original line number Diff line number Diff line
@@ -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);
    }
}