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

Commit cb79ffd3 authored by Fan Zhang's avatar Fan Zhang Committed by Android (Google) Code Review
Browse files

Merge "Remove unused APIs from MetricsFeatureProvider"

parents a553f3c6 793cbdde
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);
    }
}