Merge "Disable blurs during critical thermal state" into sc-dev

This commit is contained in:
Galia Peycheva
2021-08-06 20:39:31 +00:00
committed by Android (Google) Code Review

View File

@@ -16,6 +16,7 @@
package com.android.server.wm;
import static android.os.PowerManager.THERMAL_STATUS_CRITICAL;
import static android.view.CrossWindowBlurListeners.CROSS_WINDOW_BLUR_SUPPORTED;
import android.content.BroadcastReceiver;
@@ -45,6 +46,7 @@ final class BlurController {
private final Object mLock = new Object();
private volatile boolean mBlurEnabled;
private boolean mInPowerSaveMode;
private boolean mCriticalThermalStatus;
private boolean mBlurDisabledSetting;
private boolean mTunnelModeEnabled = false;
@@ -89,6 +91,12 @@ final class BlurController {
});
mBlurDisabledSetting = getBlurDisabledSetting();
powerManager.addThermalStatusListener((status) -> {
mCriticalThermalStatus = status >= THERMAL_STATUS_CRITICAL;
updateBlurEnabled();
});
mCriticalThermalStatus = powerManager.getCurrentThermalStatus() >= THERMAL_STATUS_CRITICAL;
TunnelModeEnabledListener.register(mTunnelModeListener);
updateBlurEnabled();
@@ -112,7 +120,7 @@ final class BlurController {
private void updateBlurEnabled() {
synchronized (mLock) {
final boolean newEnabled = CROSS_WINDOW_BLUR_SUPPORTED && !mBlurDisabledSetting
&& !mInPowerSaveMode && !mTunnelModeEnabled;
&& !mInPowerSaveMode && !mTunnelModeEnabled && !mCriticalThermalStatus;
if (mBlurEnabled == newEnabled) {
return;
}