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

Commit 793cbdde authored by Fan Zhang's avatar Fan Zhang
Browse files

Remove unused APIs from MetricsFeatureProvider

Bug: 117860032
Test: rebuild
Change-Id: Ifdb9829d0205be8ac0b5920c0758d789b45dcba8
parent 845a41cb
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -102,8 +102,4 @@ public class EventLogWriter implements LogWriter {
    public void count(Context context, String name, int value) {
        MetricsLogger.count(context, name, value);
    }

    public void histogram(Context context, String name, int bucket) {
        MetricsLogger.histogram(context, name, bucket);
    }
}
+0 −5
Original line number Diff line number Diff line
@@ -76,9 +76,4 @@ public interface LogWriter {
     * Logs a count.
     */
    void count(Context context, String name, int value);

    /**
     * Logs a histogram event.
     */
    void histogram(Context context, String name, int bucket);
}
+0 −35
Original line number Diff line number Diff line
@@ -59,44 +59,18 @@ public class MetricsFeatureProvider {
        }
    }

    /**
     * Logs a user action. Includes the elapsed time since the containing
     * fragment has been visible.
     */
    public void action(VisibilityLoggerMixin visibilityLogger, int category, int value) {
        for (LogWriter writer : mLoggerWriters) {
            writer.action(category, value,
                    sinceVisibleTaggedData(visibilityLogger.elapsedTimeSinceVisible()));
        }
    }

    /**
     * Logs a user action. Includes the elapsed time since the containing
     * fragment has been visible.
     */
    public void action(VisibilityLoggerMixin visibilityLogger, int category, boolean value) {
        for (LogWriter writer : mLoggerWriters) {
            writer.action(category, value,
                    sinceVisibleTaggedData(visibilityLogger.elapsedTimeSinceVisible()));
        }
    }

    public void action(Context context, int category, Pair<Integer, Object>... taggedData) {
        for (LogWriter writer : mLoggerWriters) {
            writer.action(context, category, taggedData);
        }
    }

    /** @deprecated use {@link #action(VisibilityLoggerMixin, int, int)} */
    @Deprecated
    public void action(Context context, int category, int value) {
        for (LogWriter writer : mLoggerWriters) {
            writer.action(context, category, value);
        }
    }

    /** @deprecated use {@link #action(VisibilityLoggerMixin, int, boolean)} */
    @Deprecated
    public void action(Context context, int category, boolean value) {
        for (LogWriter writer : mLoggerWriters) {
            writer.action(context, category, value);
@@ -116,12 +90,6 @@ public class MetricsFeatureProvider {
        }
    }

    public void histogram(Context context, String name, int bucket) {
        for (LogWriter writer : mLoggerWriters) {
            writer.histogram(context, name, bucket);
        }
    }

    public int getMetricsCategory(Object object) {
        if (object == null || !(object instanceof Instrumentable)) {
            return MetricsEvent.VIEW_UNKNOWN;
@@ -153,7 +121,4 @@ public class MetricsFeatureProvider {
                Pair.create(MetricsEvent.FIELD_CONTEXT, sourceMetricsCategory));
    }

    private Pair<Integer, Object> sinceVisibleTaggedData(long timestamp) {
        return Pair.create(MetricsEvent.NOTIFICATION_SINCE_VISIBLE_MILLIS, timestamp);
    }
}
+6 −43
Original line number Diff line number Diff line
@@ -15,13 +15,10 @@
 */
package com.android.settingslib.core.instrumentation;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;

import android.content.ComponentName;
import android.content.Context;
@@ -34,8 +31,6 @@ import com.android.settingslib.SettingsLibRobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
@@ -46,30 +41,20 @@ import java.util.List;

@RunWith(SettingsLibRobolectricTestRunner.class)
public class MetricsFeatureProviderTest {
    private static int CATEGORY = 10;
    private static boolean SUBTYPE_BOOLEAN = true;
    private static int SUBTYPE_INTEGER = 1;
    private static long ELAPSED_TIME = 1000;

    @Mock private LogWriter mockLogWriter;
    @Mock private VisibilityLoggerMixin mockVisibilityLogger;
    @Mock
    private LogWriter mLogWriter;

    private Context mContext;
    private MetricsFeatureProvider mProvider;

    @Captor
    private ArgumentCaptor<Pair> mPairCaptor;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mContext = RuntimeEnvironment.application;
        mProvider = new MetricsFeatureProvider();
        List<LogWriter> writers = new ArrayList<>();
        writers.add(mockLogWriter);
        writers.add(mLogWriter);
        ReflectionHelpers.setField(mProvider, "mLoggerWriters", writers);

        when(mockVisibilityLogger.elapsedTimeSinceVisible()).thenReturn(ELAPSED_TIME);
    }

    @Test
@@ -77,7 +62,7 @@ public class MetricsFeatureProviderTest {
        mProvider.logDashboardStartIntent(mContext, null /* intent */,
                MetricsEvent.SETTINGS_GESTURES);

        verifyNoMoreInteractions(mockLogWriter);
        verifyNoMoreInteractions(mLogWriter);
    }

    @Test
@@ -86,7 +71,7 @@ public class MetricsFeatureProviderTest {

        mProvider.logDashboardStartIntent(mContext, intent, MetricsEvent.SETTINGS_GESTURES);

        verify(mockLogWriter).action(
        verify(mLogWriter).action(
                eq(mContext),
                eq(MetricsEvent.ACTION_SETTINGS_TILE_CLICK),
                anyString(),
@@ -99,32 +84,10 @@ public class MetricsFeatureProviderTest {

        mProvider.logDashboardStartIntent(mContext, intent, MetricsEvent.SETTINGS_GESTURES);

        verify(mockLogWriter).action(
        verify(mLogWriter).action(
                eq(mContext),
                eq(MetricsEvent.ACTION_SETTINGS_TILE_CLICK),
                anyString(),
                eq(Pair.create(MetricsEvent.FIELD_CONTEXT, MetricsEvent.SETTINGS_GESTURES)));
    }

    @Test
    public void action_BooleanLogsElapsedTime() {
        mProvider.action(mockVisibilityLogger, CATEGORY, SUBTYPE_BOOLEAN);
        verify(mockLogWriter).action(eq(CATEGORY), eq(SUBTYPE_BOOLEAN), mPairCaptor.capture());

        Pair value = mPairCaptor.getValue();
        assertThat(value.first instanceof Integer).isTrue();
        assertThat((int) value.first).isEqualTo(MetricsEvent.NOTIFICATION_SINCE_VISIBLE_MILLIS);
        assertThat(value.second).isEqualTo(ELAPSED_TIME);
    }

    @Test
    public void action_IntegerLogsElapsedTime() {
        mProvider.action(mockVisibilityLogger, CATEGORY, SUBTYPE_INTEGER);
        verify(mockLogWriter).action(eq(CATEGORY), eq(SUBTYPE_INTEGER), mPairCaptor.capture());

        Pair value = mPairCaptor.getValue();
        assertThat(value.first instanceof Integer).isTrue();
        assertThat((int) value.first).isEqualTo(MetricsEvent.NOTIFICATION_SINCE_VISIBLE_MILLIS);
        assertThat(value.second).isEqualTo(ELAPSED_TIME);
    }
}