Merge "Remove unused APIs from MetricsFeatureProvider"

This commit is contained in:
Fan Zhang
2018-10-23 23:08:39 +00:00
committed by Android (Google) Code Review
4 changed files with 6 additions and 87 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}