Fix anomalyEventId metrices action.
Bug: 302251479
Fix: 302251479
Test: manual
Change-Id: Ia1a17f8c69dfe6673a122aa4f1c662d4617dc78f
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
index 4db4d3b..ea4fa3a 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
@@ -146,10 +146,15 @@
return false;
}
- private String getActionKey(String packageName) {
- final String actionKey = TextUtils.isEmpty(packageName)
- ? PACKAGE_NAME_NONE : packageName;
- return mAnomalyEventId == null ? actionKey : actionKey + "|" + mAnomalyEventId;
+ private boolean isAnomalyBatteryDiffEntry(BatteryDiffEntry entry) {
+ return mIsHighlightSlot && mAnomalyEntryKey != null
+ && mAnomalyEntryKey.equals(entry.getKey());
+ }
+
+ private String getActionKey(BatteryDiffEntry entry) {
+ final String actionKey = TextUtils.isEmpty(entry.getPackageName())
+ ? PACKAGE_NAME_NONE : entry.getPackageName();
+ return !isAnomalyBatteryDiffEntry(entry) ? actionKey : actionKey + "|" + mAnomalyEventId;
}
@Override
@@ -159,17 +164,16 @@
}
final PowerGaugePreference powerPref = (PowerGaugePreference) preference;
final BatteryDiffEntry diffEntry = powerPref.getBatteryDiffEntry();
- final String packageName = diffEntry.getPackageName();
mMetricsFeatureProvider.action(
/* attribution */ SettingsEnums.OPEN_BATTERY_USAGE,
/* action */ diffEntry.isSystemEntry()
? SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM
: SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM,
/* pageId */ SettingsEnums.OPEN_BATTERY_USAGE,
- getActionKey(packageName),
+ getActionKey(diffEntry),
(int) Math.round(diffEntry.getPercentage()));
Log.d(TAG, String.format("handleClick() label=%s key=%s package=%s",
- diffEntry.getAppLabel(), diffEntry.getKey(), packageName));
+ diffEntry.getAppLabel(), diffEntry.getKey(), diffEntry.getPackageName()));
AdvancedPowerUsageDetail.startBatteryDetailPage(
mActivity, mFragment, diffEntry, powerPref.getPercentage(), mSlotTimestamp);
return true;
@@ -324,9 +328,7 @@
pref.setOrder(prefIndex);
pref.setSingleLineTitle(true);
// Updates App item preference style
- pref.setAnomalyHint(mIsHighlightSlot && mAnomalyEntryKey != null
- && mAnomalyEntryKey.equals(entry.getKey())
- ? mAnomalyHintString : null);
+ pref.setAnomalyHint(isAnomalyBatteryDiffEntry(entry) ? mAnomalyHintString : null);
// Sets the BatteryDiffEntry to preference for launching detailed page.
pref.setBatteryDiffEntry(entry);
pref.setSelectable(entry.validForRestriction());