diff --git a/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java b/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java index 8658fba772c..8924a0b15e3 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java +++ b/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java @@ -91,6 +91,10 @@ final class AnomalyEventWrapper { mRelatedBatteryDiffEntry = batteryDiffEntry; } + int getAnomalyKeyNumber() { + return mPowerAnomalyEvent.getKey().getNumber(); + } + String getEventId() { return mPowerAnomalyEvent.hasEventId() ? mPowerAnomalyEvent.getEventId() : null; } diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java index 5a1fb2614dd..8fa7b903fe8 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java +++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java @@ -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( @@ -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)) { @@ -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( @@ -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); } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java index bdf81e46013..b0bf2415334 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java @@ -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 @@ -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") @@ -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") @@ -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()); } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java index e7c8e81f422..879a5c1cc63 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java @@ -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 @@ -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 @@ -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 @@ -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()); } }