Loading src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java +4 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,10 @@ final class AnomalyEventWrapper { mRelatedBatteryDiffEntry = batteryDiffEntry; } int getAnomalyKeyNumber() { return mPowerAnomalyEvent.getKey().getNumber(); } String getEventId() { return mPowerAnomalyEvent.hasEventId() ? mPowerAnomalyEvent.getEventId() : null; } Loading src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java +21 −7 Original line number Diff line number Diff line Loading @@ -91,9 +91,11 @@ public class BatteryTipsController extends BasePreferenceController { } mCardPreference.setVisible(false); mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, mAnomalyEventWrapper.getEventId()); /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* key= */ mAnomalyEventWrapper.getEventId(), /* value= */ mAnomalyEventWrapper.getAnomalyKeyNumber()); } void handleBatteryTipsCardUpdated( Loading @@ -105,8 +107,8 @@ public class BatteryTipsController extends BasePreferenceController { return; } // Get card preference strings and navigate fragment info final String eventId = mAnomalyEventWrapper.getEventId(); final int anomalyKeyNumber = mAnomalyEventWrapper.getAnomalyKeyNumber(); // Update card & buttons preference if (!mAnomalyEventWrapper.updateTipsCardPreference(mCardPreference)) { Loading @@ -122,7 +124,11 @@ public class BatteryTipsController extends BasePreferenceController { mOnAnomalyConfirmListener.onAnomalyConfirm(); } else if (mAnomalyEventWrapper.launchSubSetting()) { mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, eventId); /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* key= */ eventId, /* value= */ anomalyKeyNumber); } }); mCardPreference.setOnRejectListener( Loading @@ -138,11 +144,19 @@ public class BatteryTipsController extends BasePreferenceController { DatabaseUtils.setDismissedPowerAnomalyKeys(mContext, dismissRecordKey); } mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, eventId); /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* key= */ eventId, /* value= */ anomalyKeyNumber); }); mCardPreference.setVisible(true); mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, eventId); /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* key= */ eventId, /* value= */ anomalyKeyNumber); } } tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java +42 −11 Original line number Diff line number Diff line Loading @@ -120,12 +120,19 @@ public final class BatteryTipsCardPreferenceTest { assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, -1)) .isEqualTo(SettingsEnums.DISPLAY); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "BrightnessAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "BrightnessAnomaly", PowerAnomalyKey.KEY_BRIGHTNESS.getNumber()); verify(mFeatureFactory.metricsFeatureProvider) .action( mContext, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, "BrightnessAnomaly"); SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "BrightnessAnomaly", PowerAnomalyKey.KEY_BRIGHTNESS.getNumber()); } @Test Loading @@ -146,14 +153,18 @@ public final class BatteryTipsCardPreferenceTest { .contains(PowerAnomalyKey.KEY_SCREEN_TIMEOUT.name()); verify(mFeatureFactory.metricsFeatureProvider) .action( mContext, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly"); SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "ScreenTimeoutAnomaly", PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber()); verify(mFeatureFactory.metricsFeatureProvider) .action( mContext, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, "ScreenTimeoutAnomaly"); SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "ScreenTimeoutAnomaly", PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber()); } @Ignore("b/313582999") Loading @@ -173,9 +184,19 @@ public final class BatteryTipsCardPreferenceTest { verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0)); verify(mBatteryChartPreferenceController).selectHighlightSlotIndex(); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "AppAnomaly", PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber()); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, "AppAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "AppAnomaly", PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber()); } @Ignore("b/313582999") Loading @@ -194,8 +215,18 @@ public final class BatteryTipsCardPreferenceTest { verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0)); verify(mBatteryChartPreferenceController, never()).selectHighlightSlotIndex(); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "AppAnomaly", PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber()); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, "AppAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "AppAnomaly", PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber()); } } tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java +20 −6 Original line number Diff line number Diff line Loading @@ -90,7 +90,12 @@ public final class BatteryTipsControllerTest { // Check proto info verify(mBatteryTipsCardPreference).setVisible(true); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "BrightnessAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "BrightnessAnomaly", PowerAnomalyKey.KEY_BRIGHTNESS.getNumber()); } @Test Loading @@ -109,9 +114,11 @@ public final class BatteryTipsControllerTest { verify(mBatteryTipsCardPreference).setVisible(true); verify(mFeatureFactory.metricsFeatureProvider) .action( mContext, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly"); SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "ScreenTimeoutAnomaly", PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber()); } @Test Loading @@ -138,9 +145,11 @@ public final class BatteryTipsControllerTest { verify(mBatteryTipsCardPreference).setVisible(true); verify(mFeatureFactory.metricsFeatureProvider) .action( mContext, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly"); SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "ScreenTimeoutAnomaly", PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber()); } @Test Loading @@ -161,6 +170,11 @@ public final class BatteryTipsControllerTest { verify(mBatteryTipsCardPreference).setDismissButtonLabel("Got it"); verify(mBatteryTipsCardPreference).setVisible(true); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "AppAnomaly", PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber()); } } Loading
src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java +4 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,10 @@ final class AnomalyEventWrapper { mRelatedBatteryDiffEntry = batteryDiffEntry; } int getAnomalyKeyNumber() { return mPowerAnomalyEvent.getKey().getNumber(); } String getEventId() { return mPowerAnomalyEvent.hasEventId() ? mPowerAnomalyEvent.getEventId() : null; } Loading
src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java +21 −7 Original line number Diff line number Diff line Loading @@ -91,9 +91,11 @@ public class BatteryTipsController extends BasePreferenceController { } mCardPreference.setVisible(false); mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, mAnomalyEventWrapper.getEventId()); /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* key= */ mAnomalyEventWrapper.getEventId(), /* value= */ mAnomalyEventWrapper.getAnomalyKeyNumber()); } void handleBatteryTipsCardUpdated( Loading @@ -105,8 +107,8 @@ public class BatteryTipsController extends BasePreferenceController { return; } // Get card preference strings and navigate fragment info final String eventId = mAnomalyEventWrapper.getEventId(); final int anomalyKeyNumber = mAnomalyEventWrapper.getAnomalyKeyNumber(); // Update card & buttons preference if (!mAnomalyEventWrapper.updateTipsCardPreference(mCardPreference)) { Loading @@ -122,7 +124,11 @@ public class BatteryTipsController extends BasePreferenceController { mOnAnomalyConfirmListener.onAnomalyConfirm(); } else if (mAnomalyEventWrapper.launchSubSetting()) { mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, eventId); /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* key= */ eventId, /* value= */ anomalyKeyNumber); } }); mCardPreference.setOnRejectListener( Loading @@ -138,11 +144,19 @@ public class BatteryTipsController extends BasePreferenceController { DatabaseUtils.setDismissedPowerAnomalyKeys(mContext, dismissRecordKey); } mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, eventId); /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* key= */ eventId, /* value= */ anomalyKeyNumber); }); mCardPreference.setVisible(true); mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, eventId); /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, /* key= */ eventId, /* value= */ anomalyKeyNumber); } }
tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java +42 −11 Original line number Diff line number Diff line Loading @@ -120,12 +120,19 @@ public final class BatteryTipsCardPreferenceTest { assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, -1)) .isEqualTo(SettingsEnums.DISPLAY); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "BrightnessAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "BrightnessAnomaly", PowerAnomalyKey.KEY_BRIGHTNESS.getNumber()); verify(mFeatureFactory.metricsFeatureProvider) .action( mContext, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, "BrightnessAnomaly"); SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "BrightnessAnomaly", PowerAnomalyKey.KEY_BRIGHTNESS.getNumber()); } @Test Loading @@ -146,14 +153,18 @@ public final class BatteryTipsCardPreferenceTest { .contains(PowerAnomalyKey.KEY_SCREEN_TIMEOUT.name()); verify(mFeatureFactory.metricsFeatureProvider) .action( mContext, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly"); SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "ScreenTimeoutAnomaly", PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber()); verify(mFeatureFactory.metricsFeatureProvider) .action( mContext, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, "ScreenTimeoutAnomaly"); SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "ScreenTimeoutAnomaly", PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber()); } @Ignore("b/313582999") Loading @@ -173,9 +184,19 @@ public final class BatteryTipsCardPreferenceTest { verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0)); verify(mBatteryChartPreferenceController).selectHighlightSlotIndex(); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "AppAnomaly", PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber()); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, "AppAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "AppAnomaly", PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber()); } @Ignore("b/313582999") Loading @@ -194,8 +215,18 @@ public final class BatteryTipsCardPreferenceTest { verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0)); verify(mBatteryChartPreferenceController, never()).selectHighlightSlotIndex(); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "AppAnomaly", PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber()); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, "AppAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "AppAnomaly", PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber()); } }
tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java +20 −6 Original line number Diff line number Diff line Loading @@ -90,7 +90,12 @@ public final class BatteryTipsControllerTest { // Check proto info verify(mBatteryTipsCardPreference).setVisible(true); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "BrightnessAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "BrightnessAnomaly", PowerAnomalyKey.KEY_BRIGHTNESS.getNumber()); } @Test Loading @@ -109,9 +114,11 @@ public final class BatteryTipsControllerTest { verify(mBatteryTipsCardPreference).setVisible(true); verify(mFeatureFactory.metricsFeatureProvider) .action( mContext, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly"); SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "ScreenTimeoutAnomaly", PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber()); } @Test Loading @@ -138,9 +145,11 @@ public final class BatteryTipsControllerTest { verify(mBatteryTipsCardPreference).setVisible(true); verify(mFeatureFactory.metricsFeatureProvider) .action( mContext, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly"); SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "ScreenTimeoutAnomaly", PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber()); } @Test Loading @@ -161,6 +170,11 @@ public final class BatteryTipsControllerTest { verify(mBatteryTipsCardPreference).setDismissButtonLabel("Got it"); verify(mBatteryTipsCardPreference).setVisible(true); verify(mFeatureFactory.metricsFeatureProvider) .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly"); .action( SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL, "AppAnomaly", PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber()); } }