diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index 81bcf214d1d..b397e184431 100644 --- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java @@ -29,7 +29,6 @@ import android.os.UserHandle; import android.text.TextUtils; import android.text.format.DateUtils; import android.util.Log; -import android.util.Pair; import android.view.View; import androidx.annotation.VisibleForTesting; @@ -88,6 +87,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements private static final String KEY_PREF_OPTIMIZED = "optimized_pref"; private static final String KEY_PREF_RESTRICTED = "restricted_pref"; private static final String KEY_FOOTER_PREFERENCE = "app_usage_footer_preference"; + private static final String PACKAGE_NAME_NONE = "none"; private static final int REQUEST_UNINSTALL = 0; private static final int REQUEST_REMOVE_DEVICE_ADMIN = 1; @@ -485,14 +485,14 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements } if (metricCategory != 0) { + final String packageName = mBatteryOptimizeUtils.getPackageName(); FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider() .action( - getContext(), - metricCategory, - new Pair(ConvertUtils.METRIC_KEY_PACKAGE, - mBatteryOptimizeUtils.getPackageName()), - new Pair(ConvertUtils.METRIC_KEY_BATTERY_USAGE, - getArguments().getString(EXTRA_POWER_USAGE_PERCENT))); + /* attribution */ SettingsEnums.OPEN_APP_BATTERY_USAGE, + /* action */ metricCategory, + /* pageId */ SettingsEnums.OPEN_APP_BATTERY_USAGE, + TextUtils.isEmpty(packageName) ? PACKAGE_NAME_NONE : packageName, + getArguments().getInt(EXTRA_POWER_USAGE_AMOUNT)); } } diff --git a/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java index 4249c44493f..90a86f165c4 100644 --- a/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java @@ -28,7 +28,6 @@ import android.text.TextUtils; import android.text.format.DateFormat; import android.text.format.DateUtils; import android.util.Log; -import android.util.Pair; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; @@ -65,6 +64,7 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll ExpandDividerPreference.OnExpandListener { private static final String TAG = "BatteryChartPreferenceController"; private static final String KEY_FOOTER_PREF = "battery_graph_footer"; + private static final String PACKAGE_NAME_NONE = "none"; /** Desired battery history size for timestamp slots. */ public static final int DESIRED_HISTORY_SIZE = 25; @@ -223,13 +223,13 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll final String packageName = histEntry.mPackageName; final boolean isAppEntry = histEntry.isAppEntry(); mMetricsFeatureProvider.action( - mPrefContext, - isAppEntry - ? SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM - : SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM, - new Pair(ConvertUtils.METRIC_KEY_PACKAGE, packageName), - new Pair(ConvertUtils.METRIC_KEY_BATTERY_LEVEL, histEntry.mBatteryLevel), - new Pair(ConvertUtils.METRIC_KEY_BATTERY_USAGE, powerPref.getPercent())); + /* attribution */ SettingsEnums.OPEN_BATTERY_USAGE, + /* action */ isAppEntry + ? SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM + : SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM, + /* pageId */ SettingsEnums.OPEN_BATTERY_USAGE, + TextUtils.isEmpty(packageName) ? PACKAGE_NAME_NONE : packageName, + (int) Math.round(diffEntry.getPercentOfTotal())); Log.d(TAG, String.format("handleClick() label=%s key=%s package=%s", diffEntry.getAppLabel(), histEntry.getKey(), histEntry.mPackageName)); AdvancedPowerUsageDetail.startBatteryDetailPage( diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java index 70dd3af6426..a10d32306b3 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java @@ -806,12 +806,11 @@ public class AdvancedPowerUsageDetailTest { verify(mMetricsFeatureProvider) .action( - mContext, + SettingsEnums.OPEN_APP_BATTERY_USAGE, SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED, - (Pair[]) new Pair[] { - new Pair(ConvertUtils.METRIC_KEY_PACKAGE, null), - new Pair(ConvertUtils.METRIC_KEY_BATTERY_USAGE, "app label") - }); + SettingsEnums.OPEN_APP_BATTERY_USAGE, + /* package name*/ "none", + /* consumed battery */ 0); } @Test diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java index a9a743b2af2..1d74491a0e1 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java @@ -343,14 +343,12 @@ public final class BatteryChartPreferenceControllerTest { assertThat(mBatteryChartPreferenceController.handlePreferenceTreeClick( mPowerGaugePreference)).isTrue(); verify(mMetricsFeatureProvider) - .action( - mContext, - SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM, - (Pair[]) new Pair[] { - new Pair(ConvertUtils.METRIC_KEY_PACKAGE, null), - new Pair(ConvertUtils.METRIC_KEY_BATTERY_LEVEL, 0), - new Pair(ConvertUtils.METRIC_KEY_BATTERY_USAGE, null) - }); + .action( + SettingsEnums.OPEN_BATTERY_USAGE, + SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM, + SettingsEnums.OPEN_BATTERY_USAGE, + /* package name */ "none", + /* percentage of total */ 0); } @Test @@ -362,14 +360,12 @@ public final class BatteryChartPreferenceControllerTest { assertThat(mBatteryChartPreferenceController.handlePreferenceTreeClick( mPowerGaugePreference)).isTrue(); verify(mMetricsFeatureProvider) - .action( - mContext, - SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM, - (Pair[]) new Pair[] { - new Pair(ConvertUtils.METRIC_KEY_PACKAGE, null), - new Pair(ConvertUtils.METRIC_KEY_BATTERY_LEVEL, 0), - new Pair(ConvertUtils.METRIC_KEY_BATTERY_USAGE, null) - }); + .action( + SettingsEnums.OPEN_BATTERY_USAGE, + SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM, + SettingsEnums.OPEN_BATTERY_USAGE, + /* package name */ "none", + /* percentage of total */ 0); } @Test