Merge "Only show the thermal shutdown warning when thermal reboot" into qt-r1-dev

am: 553b8bf2c1

Change-Id: Ia950aa0a8e9f577b6f97ffff60f16b1ac1be73a7
This commit is contained in:
Sherry Huang
2019-08-05 19:27:54 -07:00
committed by android-build-merger

View File

@@ -64,6 +64,8 @@ public class PowerUI extends SystemUI {
private static final int CHARGE_CYCLE_PERCENT_RESET = 45; private static final int CHARGE_CYCLE_PERCENT_RESET = 45;
private static final long SIX_HOURS_MILLIS = Duration.ofHours(6).toMillis(); private static final long SIX_HOURS_MILLIS = Duration.ofHours(6).toMillis();
public static final int NO_ESTIMATE_AVAILABLE = -1; 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(); private final Handler mHandler = new Handler();
@VisibleForTesting @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 // Check to see if we need to let the user know that the phone previously shut down due
// to the temperature being too high. // to the temperature being too high.
showThermalShutdownDialog(); showWarnOnThermalShutdown();
// Register an observer to configure mEnableSkinTemperatureWarning and perform the // Register an observer to configure mEnableSkinTemperatureWarning and perform the
// registration of skin thermal event listener upon Settings change. // registration of skin thermal event listener upon Settings change.
@@ -542,10 +544,23 @@ public class PowerUI extends SystemUI {
} }
} }
private void showThermalShutdownDialog() { private void showWarnOnThermalShutdown() {
if (mPowerManager.getLastShutdownReason() int bootCount = -1;
== PowerManager.SHUTDOWN_REASON_THERMAL_SHUTDOWN) { int lastReboot = mContext.getSharedPreferences(PREFS, 0).getInt(BOOT_COUNT_KEY, -1);
mWarnings.showThermalShutdownWarning(); 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();
}
} }
} }