diff options
| author | 2021-08-06 20:39:31 +0000 | |
|---|---|---|
| committer | 2021-08-06 20:39:31 +0000 | |
| commit | 12740585edb6a0136d0078ac0ec12db843c6fb0f (patch) | |
| tree | 6fd429996a831403e619f5e6194277fd26900ea9 | |
| parent | 5fac6c75bd65ee1b84c1023535d85c155de399a7 (diff) | |
| parent | 150831e55f7497e7769596f641de302fae3f2a41 (diff) | |
Merge "Disable blurs during critical thermal state" into sc-dev
| -rw-r--r-- | services/core/java/com/android/server/wm/BlurController.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/BlurController.java b/services/core/java/com/android/server/wm/BlurController.java index 03639449c3df..41d9dbf894f4 100644 --- a/services/core/java/com/android/server/wm/BlurController.java +++ b/services/core/java/com/android/server/wm/BlurController.java @@ -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; } |