summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sherry Huang <huangsherry@google.com> 2019-08-05 19:28:00 -0700
committer android-build-merger <android-build-merger@google.com> 2019-08-05 19:28:00 -0700
commit4c42353fca5c98e15f03ebc20a5f29f9fd8f09ce (patch)
tree6028663b6128d7aff34bb5f29293ba26afc793a0
parent82d58c4aae145530147b6ffc0efb88e0463ddad1 (diff)
parent553b8bf2c1d81e36a1556556e1ee380dfd9ac598 (diff)
Merge "Only show the thermal shutdown warning when thermal reboot" into qt-r1-dev
am: 553b8bf2c1 Change-Id: Idf5c69a6f861f1712fdc82b855e83bef46bac062
-rw-r--r--packages/SystemUI/src/com/android/systemui/power/PowerUI.java25
1 files changed, 20 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerUI.java b/packages/SystemUI/src/com/android/systemui/power/PowerUI.java
index fb8b6c76a35f..75dc39722bcf 100644
--- a/packages/SystemUI/src/com/android/systemui/power/PowerUI.java
+++ b/packages/SystemUI/src/com/android/systemui/power/PowerUI.java
@@ -64,6 +64,8 @@ public class PowerUI extends SystemUI {
private static final int CHARGE_CYCLE_PERCENT_RESET = 45;
private static final long SIX_HOURS_MILLIS = Duration.ofHours(6).toMillis();
public static final int NO_ESTIMATE_AVAILABLE = -1;
+ private static final String BOOT_COUNT_KEY = "boot_count";
+ private static final String PREFS = "powerui_prefs";
private final Handler mHandler = new Handler();
@VisibleForTesting
@@ -118,7 +120,7 @@ public class PowerUI extends SystemUI {
// Check to see if we need to let the user know that the phone previously shut down due
// to the temperature being too high.
- showThermalShutdownDialog();
+ showWarnOnThermalShutdown();
// Register an observer to configure mEnableSkinTemperatureWarning and perform the
// registration of skin thermal event listener upon Settings change.
@@ -542,10 +544,23 @@ public class PowerUI extends SystemUI {
}
}
- private void showThermalShutdownDialog() {
- if (mPowerManager.getLastShutdownReason()
- == PowerManager.SHUTDOWN_REASON_THERMAL_SHUTDOWN) {
- mWarnings.showThermalShutdownWarning();
+ private void showWarnOnThermalShutdown() {
+ int bootCount = -1;
+ int lastReboot = mContext.getSharedPreferences(PREFS, 0).getInt(BOOT_COUNT_KEY, -1);
+ try {
+ bootCount = Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.BOOT_COUNT);
+ } catch (Settings.SettingNotFoundException e) {
+ Slog.e(TAG, "Failed to read system boot count from Settings.Global.BOOT_COUNT");
+ }
+ // Only show the thermal shutdown warning when there is a thermal reboot.
+ if (bootCount > lastReboot) {
+ mContext.getSharedPreferences(PREFS, 0).edit().putInt(BOOT_COUNT_KEY,
+ bootCount).apply();
+ if (mPowerManager.getLastShutdownReason()
+ == PowerManager.SHUTDOWN_REASON_THERMAL_SHUTDOWN) {
+ mWarnings.showThermalShutdownWarning();
+ }
}
}