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
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index cd518a6..3741bfe 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -29,7 +29,6 @@
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 @@
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 @@
}
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 4249c44..90a86f1 100644
--- a/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java
@@ -28,7 +28,6 @@
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 @@
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 @@
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 db002cb..0a48cd1 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 @@
verify(mMetricsFeatureProvider)
.action(
- mContext,
+ SettingsEnums.OPEN_APP_BATTERY_USAGE,
SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED,
- (Pair<Integer, Object>[]) 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 a9a743b..1d74491 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 @@
assertThat(mBatteryChartPreferenceController.handlePreferenceTreeClick(
mPowerGaugePreference)).isTrue();
verify(mMetricsFeatureProvider)
- .action(
- mContext,
- SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM,
- (Pair<Integer, Object>[]) 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 @@
assertThat(mBatteryChartPreferenceController.handlePreferenceTreeClick(
mPowerGaugePreference)).isTrue();
verify(mMetricsFeatureProvider)
- .action(
- mContext,
- SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM,
- (Pair<Integer, Object>[]) 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