Loading src/com/android/settings/SettingsPreferenceFragment.java +4 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ import android.widget.Button; import com.android.settings.applications.LayoutPreference; import com.android.settings.core.InstrumentedFragment; import com.android.settings.core.instrumentation.Instrumentable; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.HelpUtils; Loading Loading @@ -626,6 +627,9 @@ public abstract class SettingsPreferenceFragment extends InstrumentedFragment @Override public int getMetricsCategory() { if (mDialogCreatable == null) { return Instrumentable.METRICS_CATEGORY_UNKNOWN; } final int metricsCategory = mDialogCreatable.getDialogMetricsCategory(mDialogId); if (metricsCategory <= 0) { throw new IllegalStateException("Dialog must provide a metrics category"); Loading src/com/android/settings/core/instrumentation/Instrumentable.java +2 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.settings.core.instrumentation; public interface Instrumentable { int METRICS_CATEGORY_UNKNOWN = 0; /** * Instrumented name for a view as defined in * {@link com.android.internal.logging.MetricsProto.MetricsEvent}. Loading src/com/android/settings/core/instrumentation/VisibilityLoggerMixin.java +4 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ import com.android.settings.core.lifecycle.events.OnPause; import com.android.settings.core.lifecycle.events.OnResume; import com.android.settings.overlay.FeatureFactory; import static com.android.settings.core.instrumentation.Instrumentable.METRICS_CATEGORY_UNKNOWN; /** * Logs visibility change of a fragment. */ Loading @@ -50,14 +52,14 @@ public class VisibilityLoggerMixin implements LifecycleObserver, OnResume, OnPau @Override public void onResume() { if (mMetricsFeature != null) { if (mMetricsFeature != null && mMetricsCategory != METRICS_CATEGORY_UNKNOWN) { mMetricsFeature.visible(null /* context */, mMetricsCategory); } } @Override public void onPause() { if (mMetricsFeature != null) { if (mMetricsFeature != null && mMetricsCategory != METRICS_CATEGORY_UNKNOWN) { mMetricsFeature.hidden(null /* context */, mMetricsCategory); } } Loading tests/robotests/src/com/android/settings/core/instrumentation/VisibilityLoggerMixinTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import static com.android.settings.core.instrumentation.Instrumentable.METRICS_CATEGORY_UNKNOWN; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.eq; Loading Loading @@ -76,6 +77,17 @@ public class VisibilityLoggerMixinTest { .hidden(any(Context.class), anyInt()); } @Test public void shouldNotLogIfMetricsCategoryIsUnknown() { mMixin = new VisibilityLoggerMixin(METRICS_CATEGORY_UNKNOWN, mMetricsFeature); mMixin.onResume(); mMixin.onPause(); verify(mMetricsFeature, never()) .hidden(any(Context.class), anyInt()); } private final class TestInstrumentable implements Instrumentable { public static final int TEST_METRIC = 12345; Loading Loading
src/com/android/settings/SettingsPreferenceFragment.java +4 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ import android.widget.Button; import com.android.settings.applications.LayoutPreference; import com.android.settings.core.InstrumentedFragment; import com.android.settings.core.instrumentation.Instrumentable; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.HelpUtils; Loading Loading @@ -626,6 +627,9 @@ public abstract class SettingsPreferenceFragment extends InstrumentedFragment @Override public int getMetricsCategory() { if (mDialogCreatable == null) { return Instrumentable.METRICS_CATEGORY_UNKNOWN; } final int metricsCategory = mDialogCreatable.getDialogMetricsCategory(mDialogId); if (metricsCategory <= 0) { throw new IllegalStateException("Dialog must provide a metrics category"); Loading
src/com/android/settings/core/instrumentation/Instrumentable.java +2 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.settings.core.instrumentation; public interface Instrumentable { int METRICS_CATEGORY_UNKNOWN = 0; /** * Instrumented name for a view as defined in * {@link com.android.internal.logging.MetricsProto.MetricsEvent}. Loading
src/com/android/settings/core/instrumentation/VisibilityLoggerMixin.java +4 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ import com.android.settings.core.lifecycle.events.OnPause; import com.android.settings.core.lifecycle.events.OnResume; import com.android.settings.overlay.FeatureFactory; import static com.android.settings.core.instrumentation.Instrumentable.METRICS_CATEGORY_UNKNOWN; /** * Logs visibility change of a fragment. */ Loading @@ -50,14 +52,14 @@ public class VisibilityLoggerMixin implements LifecycleObserver, OnResume, OnPau @Override public void onResume() { if (mMetricsFeature != null) { if (mMetricsFeature != null && mMetricsCategory != METRICS_CATEGORY_UNKNOWN) { mMetricsFeature.visible(null /* context */, mMetricsCategory); } } @Override public void onPause() { if (mMetricsFeature != null) { if (mMetricsFeature != null && mMetricsCategory != METRICS_CATEGORY_UNKNOWN) { mMetricsFeature.hidden(null /* context */, mMetricsCategory); } } Loading
tests/robotests/src/com/android/settings/core/instrumentation/VisibilityLoggerMixinTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import static com.android.settings.core.instrumentation.Instrumentable.METRICS_CATEGORY_UNKNOWN; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.eq; Loading Loading @@ -76,6 +77,17 @@ public class VisibilityLoggerMixinTest { .hidden(any(Context.class), anyInt()); } @Test public void shouldNotLogIfMetricsCategoryIsUnknown() { mMixin = new VisibilityLoggerMixin(METRICS_CATEGORY_UNKNOWN, mMetricsFeature); mMixin.onResume(); mMixin.onPause(); verify(mMetricsFeature, never()) .hidden(any(Context.class), anyInt()); } private final class TestInstrumentable implements Instrumentable { public static final int TEST_METRIC = 12345; Loading