From 101dc6878af72ae991044648272cc48bead81d47 Mon Sep 17 00:00:00 2001 From: ykhung Date: Wed, 10 Nov 2021 10:28:26 +0800 Subject: [PATCH] Fix incorrect usage for the logging method to cause no data in WW Fix incorrect usage for the logging method to cause the schedule type and percentage data is not logged into the WW, since MetricsFeatureProvider doesn't support log Pair.of() data into the WestWorld or Clearcut directly, it is used for EventLogWriter only Bug: 202906853 Test: make SettingsRoboTests Change-Id: I9f1d157c77df9bd74f441105318790a2505a9c01 --- .../fuelgauge/AdvancedPowerUsageDetail.java | 14 +++++----- .../BatteryChartPreferenceController.java | 16 +++++------ .../AdvancedPowerUsageDetailTest.java | 9 +++--- .../BatteryChartPreferenceControllerTest.java | 28 ++++++++----------- 4 files changed, 31 insertions(+), 36 deletions(-) diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index cd518a6018f..3741bfe8045 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; @@ -87,6 +86,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; @@ -484,14 +484,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 db002cb047f..0a48cd1b12f 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