OSDN Git Service

Revert "DO NOT MERGE Add metric log for anomaly."
authorLei Yu <jackqdyulei@google.com>
Wed, 17 Jan 2018 23:22:47 +0000 (23:22 +0000)
committerLei Yu <jackqdyulei@google.com>
Wed, 17 Jan 2018 23:36:05 +0000 (23:36 +0000)
This reverts commit adf11594d3510cd947e186ce4dec254223f1da10.

Merged-In: I83761e2a9c206ea7a04f7d031a6961fdab7ca9a0
Change-Id: I015d8c0d05c7ae9abfd4939f7a95e1f0daecc1fc

src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
src/com/android/settings/fuelgauge/PowerUsageSummary.java
src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragment.java
src/com/android/settings/fuelgauge/anomaly/AnomalyUtils.java
src/com/android/settings/fuelgauge/anomaly/action/AnomalyAction.java
src/com/android/settings/fuelgauge/anomaly/action/StopAndBackgroundCheckAction.java
tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java
tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyUtilsTest.java

index 160b52f..3b83fa5 100644 (file)
@@ -45,7 +45,6 @@ import com.android.settings.applications.LayoutPreference;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.enterprise.DevicePolicyManagerWrapper;
 import com.android.settings.enterprise.DevicePolicyManagerWrapperImpl;
-import com.android.settings.fuelgauge.anomaly.AnomalyUtils;
 import com.android.settings.fuelgauge.anomaly.Anomaly;
 import com.android.settings.fuelgauge.anomaly.AnomalyDialogFragment;
 import com.android.settings.fuelgauge.anomaly.AnomalyLoader;
@@ -349,9 +348,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
 
     @Override
     public void onLoadFinished(Loader<List<Anomaly>> loader, List<Anomaly> data) {
-        final AnomalyUtils anomalyUtils = AnomalyUtils.getInstance(getContext());
-        anomalyUtils.logAnomalies(mMetricsFeatureProvider, data,
-                MetricsEvent.FUELGAUGE_POWER_USAGE_DETAIL);
         mAnomalySummaryPreferenceController.updateAnomalySummaryPreference(data);
     }
 
index 3ff40ad..ee6ebb2 100644 (file)
@@ -68,7 +68,6 @@ import com.android.settings.fuelgauge.anomaly.AnomalyDetectionPolicy;
 import com.android.settings.fuelgauge.anomaly.AnomalyDialogFragment.AnomalyDialogListener;
 import com.android.settings.fuelgauge.anomaly.AnomalyLoader;
 import com.android.settings.fuelgauge.anomaly.AnomalySummaryPreferenceController;
-import com.android.settings.fuelgauge.anomaly.AnomalyUtils;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -152,10 +151,6 @@ public class PowerUsageSummary extends PowerUsageBase implements
 
                 @Override
                 public void onLoadFinished(Loader<List<Anomaly>> loader, List<Anomaly> data) {
-                    final AnomalyUtils anomalyUtils = AnomalyUtils.getInstance(getContext());
-                    anomalyUtils.logAnomalies(mMetricsFeatureProvider, data,
-                            MetricsEvent.FUELGAUGE_POWER_USAGE_SUMMARY);
-
                     // show high usage preference if possible
                     mAnomalySummaryPreferenceController.updateAnomalySummaryPreference(data);
 
index 538f5b1..8bea04e 100644 (file)
@@ -100,13 +100,9 @@ public class AnomalyDialogFragment extends InstrumentedDialogFragment implements
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         final Bundle bundle = getArguments();
-        final Context context = getContext();
-        final AnomalyUtils anomalyUtils = AnomalyUtils.getInstance(context);
-
         mAnomaly = bundle.getParcelable(ARG_ANOMALY);
-        anomalyUtils.logAnomaly(mMetricsFeatureProvider, mAnomaly,
-                MetricsProto.MetricsEvent.DIALOG_HANDLE_ANOMALY);
 
+        final Context context = getContext();
         final AnomalyAction anomalyAction = mAnomalyUtils.getAnomalyAction(mAnomaly);
         switch (anomalyAction.getActionType()) {
             case Anomaly.AnomalyActionType.FORCE_STOP:
index 39d51dc..491a3b4 100644 (file)
@@ -19,12 +19,8 @@ package com.android.settings.fuelgauge.anomaly;
 import android.content.Context;
 import android.os.Build;
 import android.support.annotation.VisibleForTesting;
-import android.util.Pair;
-import android.util.SparseIntArray;
 
-import com.android.internal.logging.nano.MetricsProto;
 import com.android.internal.os.BatteryStatsHelper;
-import com.android.settings.core.instrumentation.MetricsFeatureProvider;
 import com.android.settings.fuelgauge.anomaly.action.AnomalyAction;
 import com.android.settings.fuelgauge.anomaly.action.ForceStopAction;
 import com.android.settings.fuelgauge.anomaly.action.LocationCheckAction;
@@ -44,17 +40,6 @@ public class AnomalyUtils {
     private Context mContext;
     private static AnomalyUtils sInstance;
 
-    private static final SparseIntArray mMetricArray;
-    static {
-        mMetricArray = new SparseIntArray();
-        mMetricArray.append(Anomaly.AnomalyType.WAKE_LOCK,
-                MetricsProto.MetricsEvent.ANOMALY_TYPE_WAKELOCK);
-        mMetricArray.append(Anomaly.AnomalyType.WAKEUP_ALARM,
-                MetricsProto.MetricsEvent.ANOMALY_TYPE_WAKEUP_ALARM);
-        mMetricArray.append(Anomaly.AnomalyType.BLUETOOTH_SCAN,
-                MetricsProto.MetricsEvent.ANOMALY_TYPE_UNOPTIMIZED_BT);
-    }
-
     @VisibleForTesting
     AnomalyUtils(Context context) {
         mContext = context.getApplicationContext();
@@ -133,39 +118,4 @@ public class AnomalyUtils {
         return anomalies;
     }
 
-    /**
-     * Log the list of {@link Anomaly} using {@link MetricsFeatureProvider}, which contains
-     * anomaly type, package name, field_context, field_action_type
-     *
-     * @param provider  provider to do the logging
-     * @param anomalies contains the data to log
-     * @param contextId which page invoke this logging
-     * @see #logAnomaly(MetricsFeatureProvider, Anomaly, int)
-     */
-    public void logAnomalies(MetricsFeatureProvider provider, List<Anomaly> anomalies,
-            int contextId) {
-        for (int i = 0, size = anomalies.size(); i < size; i++) {
-            logAnomaly(provider, anomalies.get(i), contextId);
-        }
-    }
-
-    /**
-     * Log the {@link Anomaly} using {@link MetricsFeatureProvider}, which contains
-     * anomaly type, package name, field_context, field_action_type
-     *
-     * @param provider  provider to do the logging
-     * @param anomaly   contains the data to log
-     * @param contextId which page invoke this logging
-     * @see #logAnomalies(MetricsFeatureProvider, List, int)
-     */
-    public void logAnomaly(MetricsFeatureProvider provider, Anomaly anomaly, int contextId) {
-        provider.action(
-                mContext,
-                mMetricArray.get(anomaly.type, MetricsProto.MetricsEvent.VIEW_UNKNOWN),
-                anomaly.packageName,
-                Pair.create(MetricsProto.MetricsEvent.FIELD_CONTEXT, contextId),
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ANOMALY_ACTION_TYPE,
-                        getAnomalyAction(anomaly).getActionType()));
-    }
-
 }
index 3ee89d1..87212e7 100644 (file)
@@ -58,6 +58,5 @@ public abstract class AnomalyAction {
      */
     public abstract boolean isActionActive(Anomaly anomaly);
 
-    @Anomaly.AnomalyActionType
     public abstract int getActionType();
 }
index 2c799ee..dba221a 100644 (file)
@@ -19,7 +19,6 @@ package com.android.settings.fuelgauge.anomaly.action;
 import android.content.Context;
 import android.support.annotation.VisibleForTesting;
 
-import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.fuelgauge.anomaly.Anomaly;
 
 /**
@@ -35,7 +34,6 @@ public class StopAndBackgroundCheckAction extends AnomalyAction {
 
     public StopAndBackgroundCheckAction(Context context) {
         this(context, new ForceStopAction(context), new BackgroundCheckAction(context));
-        mActionMetricKey = MetricsProto.MetricsEvent.ACTION_APP_STOP_AND_BACKGROUND_CHECK;
     }
 
     @VisibleForTesting
@@ -48,7 +46,6 @@ public class StopAndBackgroundCheckAction extends AnomalyAction {
 
     @Override
     public void handlePositiveAction(Anomaly anomaly, int metricsKey) {
-        super.handlePositiveAction(anomaly, metricsKey);
         mForceStopAction.handlePositiveAction(anomaly, metricsKey);
         mBackgroundCheckAction.handlePositiveAction(anomaly, metricsKey);
     }
index 51a82c8..1111804 100644 (file)
@@ -32,7 +32,6 @@ import android.os.Build;
 
 import com.android.settings.R;
 import com.android.settings.fuelgauge.anomaly.action.AnomalyAction;
-import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 
@@ -69,7 +68,7 @@ public class AnomalyDialogFragmentTest {
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
         mWakeLockAnomaly = new Anomaly.Builder()
                 .setType(Anomaly.AnomalyType.WAKE_LOCK)
                 .setUid(UID)
@@ -95,7 +94,6 @@ public class AnomalyDialogFragmentTest {
                 .setPackageName(PACKAGE_NAME)
                 .setDisplayName(DISPLAY_NAME)
                 .build();
-        FakeFeatureFactory.setupForTest(mContext);
     }
 
     @Test
@@ -168,4 +166,29 @@ public class AnomalyDialogFragmentTest {
         assertThat(dialog.getButton(DialogInterface.BUTTON_NEGATIVE).getText()).isEqualTo(
                 mContext.getString(R.string.dlg_cancel));
     }
+
+    @Test
+    public void testOnCreateDialog_bluetoothAnomaly_fireLocationCheckDialog() {
+        mAnomalyDialogFragment = spy(AnomalyDialogFragment.newInstance(mBluetoothAnomaly,
+                0 /* metricskey */));
+        mAnomalyDialogFragment.mAnomalyUtils = mAnomalyUtils;
+        doReturn(mAnomalyAction).when(mAnomalyUtils).getAnomalyAction(any());
+        doNothing().when(mAnomalyDialogFragment).initAnomalyUtils();
+        doReturn(Anomaly.AnomalyActionType.LOCATION_CHECK).when(mAnomalyAction).getActionType();
+
+        FragmentTestUtil.startFragment(mAnomalyDialogFragment);
+
+        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
+        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+
+        assertThat(shadowDialog.getMessage()).isEqualTo(
+                mContext.getString(R.string.dialog_location_message,
+                        mWakeLockAnomaly.displayName));
+        assertThat(shadowDialog.getTitle()).isEqualTo(
+                mContext.getString(R.string.dialog_location_title));
+        assertThat(dialog.getButton(DialogInterface.BUTTON_POSITIVE).getText()).isEqualTo(
+                mContext.getString(R.string.dialog_location_ok));
+        assertThat(dialog.getButton(DialogInterface.BUTTON_NEGATIVE).getText()).isEqualTo(
+                mContext.getString(R.string.dlg_cancel));
+    }
 }
index 38391c9..8cd5a06 100644 (file)
@@ -18,13 +18,8 @@ package com.android.settings.fuelgauge.anomaly;
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.verify;
-
 import android.os.Build;
-import android.util.Pair;
 
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.core.instrumentation.MetricsFeatureProvider;
 import com.android.settings.fuelgauge.anomaly.action.StopAndBackgroundCheckAction;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
@@ -36,42 +31,18 @@ import com.android.settings.fuelgauge.anomaly.checker.WakeupAlarmAnomalyDetector
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
-import java.util.ArrayList;
-import java.util.List;
-
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = {
         ShadowKeyValueListParserWrapperImpl.class})
 public class AnomalyUtilsTest {
-    private static final String PACKAGE_NAME_WAKEUP = "com.android.app1";
-    private static final String PACKAGE_NAME_WAKELOCK = "com.android.app2";
-    private static final int CONTEXT_ID = 55;
-
-    @Mock
-    private MetricsFeatureProvider mMetricsFeatureProvider;
     private AnomalyUtils mAnomalyUtils;
-    private Anomaly mWakeupAnomaly;
-    private Anomaly mWakeLockAnomaly;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
         mAnomalyUtils = new AnomalyUtils(RuntimeEnvironment.application);
-
-        mWakeLockAnomaly = new Anomaly.Builder()
-                .setType(Anomaly.AnomalyType.WAKE_LOCK)
-                .setPackageName(PACKAGE_NAME_WAKELOCK)
-                .build();
-        mWakeupAnomaly = new Anomaly.Builder()
-                .setType(Anomaly.AnomalyType.WAKEUP_ALARM)
-                .setPackageName(PACKAGE_NAME_WAKEUP)
-                .build();
     }
 
     @Test
@@ -126,47 +97,4 @@ public class AnomalyUtilsTest {
         assertThat(mAnomalyUtils.getAnomalyDetector(Anomaly.AnomalyType.WAKEUP_ALARM)).isInstanceOf(
                 WakeupAlarmAnomalyDetector.class);
     }
-
-    @Test
-    public void testLogAnomaly() {
-        mAnomalyUtils.logAnomaly(mMetricsFeatureProvider, mWakeLockAnomaly, CONTEXT_ID);
-
-        verify(mMetricsFeatureProvider).action(RuntimeEnvironment.application,
-                MetricsProto.MetricsEvent.ANOMALY_TYPE_WAKELOCK,
-                PACKAGE_NAME_WAKELOCK,
-                Pair.create(
-                        MetricsProto.MetricsEvent.FIELD_CONTEXT,
-                        CONTEXT_ID),
-                Pair.create(
-                        MetricsProto.MetricsEvent.FIELD_ANOMALY_ACTION_TYPE,
-                        Anomaly.AnomalyActionType.FORCE_STOP));
-    }
-
-    @Test
-    public void testLogAnomalies() {
-        final List<Anomaly> anomalies = new ArrayList<>();
-        anomalies.add(mWakeLockAnomaly);
-        anomalies.add(mWakeupAnomaly);
-
-        mAnomalyUtils.logAnomalies(mMetricsFeatureProvider, anomalies, CONTEXT_ID);
-
-        verify(mMetricsFeatureProvider).action(RuntimeEnvironment.application,
-                MetricsProto.MetricsEvent.ANOMALY_TYPE_WAKELOCK,
-                PACKAGE_NAME_WAKELOCK,
-                Pair.create(
-                        MetricsProto.MetricsEvent.FIELD_CONTEXT,
-                        CONTEXT_ID),
-                Pair.create(
-                        MetricsProto.MetricsEvent.FIELD_ANOMALY_ACTION_TYPE,
-                        Anomaly.AnomalyActionType.FORCE_STOP));
-        verify(mMetricsFeatureProvider).action(RuntimeEnvironment.application,
-                MetricsProto.MetricsEvent.ANOMALY_TYPE_WAKEUP_ALARM,
-                PACKAGE_NAME_WAKEUP,
-                Pair.create(
-                        MetricsProto.MetricsEvent.FIELD_CONTEXT,
-                        CONTEXT_ID),
-                Pair.create(
-                        MetricsProto.MetricsEvent.FIELD_ANOMALY_ACTION_TYPE,
-                        Anomaly.AnomalyActionType.STOP_AND_BACKGROUND_CHECK));
-    }
 }