Update low battery notification logging timing

- Move LOW_BATTERY_NOTIFICATION to showLowBatteryWarning() instead of
   notification creating to avoid double logging when updating
   notification
 - Add delete intent to log notification dismiss event

Bug: 218405244
Test: atest SystemUITests
Change-Id: I1a2bbbe4166db9cba122914c8024a2389d6cd9cc
This commit is contained in:
Wesley Wang
2022-05-25 14:13:08 +08:00
parent 248de47fe1
commit 6586cf6dd4

View File

@@ -307,6 +307,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI {
.setContentText(contentText)
.setContentTitle(title)
.setOnlyAlertOnce(true)
.setDeleteIntent(pendingBroadcast(ACTION_DISMISSED_WARNING))
.setStyle(new Notification.BigTextStyle().bigText(contentText))
.setVisibility(Notification.VISIBILITY_PUBLIC);
if (hasBatterySettings()) {
@@ -333,7 +334,6 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI {
final Notification n = nb.build();
mNoMan.cancelAsUser(TAG_BATTERY, SystemMessage.NOTE_BAD_CHARGER, UserHandle.ALL);
mNoMan.notifyAsUser(TAG_BATTERY, SystemMessage.NOTE_POWER_LOW, n, UserHandle.ALL);
logEvent(BatteryWarningEvents.LowBatteryWarningEvent.LOW_BATTERY_NOTIFICATION);
}
private boolean showSevereLowBatteryDialog() {
@@ -615,6 +615,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI {
Slog.i(TAG,
"show low battery warning: level=" + mBatteryLevel
+ " [" + mBucket + "] playSound=" + playSound);
logEvent(BatteryWarningEvents.LowBatteryWarningEvent.LOW_BATTERY_NOTIFICATION);
mPlaySound = playSound;
mWarning = true;
updateNotification();