Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c4f149e authored by Lucas Dupin's avatar Lucas Dupin Committed by Automerger Merge Worker
Browse files

Merge "Disable blurs when in battery saver" into sc-dev am: 26308cd4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15070038

Change-Id: I80ed8b2a22a5eaff72b551a0e42b51fb277d4c6e
parents f8722754 26308cd4
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -73,14 +73,14 @@ public final class CrossWindowBlurListeners {
        return instance;
    }

    boolean isCrossWindowBlurEnabled() {
    public boolean isCrossWindowBlurEnabled() {
        synchronized (sLock) {
            attachInternalListenerIfNeededLocked();
            return mCrossWindowBlurEnabled;
        }
    }

    void addListener(@NonNull @CallbackExecutor Executor executor,
    public void addListener(@NonNull @CallbackExecutor Executor executor,
            @NonNull Consumer<Boolean> listener) {
        Preconditions.checkNotNull(listener, "listener cannot be null");
        Preconditions.checkNotNull(executor, "executor cannot be null");
@@ -94,7 +94,7 @@ public final class CrossWindowBlurListeners {
    }


    void removeListener(Consumer<Boolean> listener) {
    public void removeListener(Consumer<Boolean> listener) {
        Preconditions.checkNotNull(listener, "listener cannot be null");

        synchronized (sLock) {
+7 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ import android.service.dreams.IDreamManager;
import android.telecom.TelecomManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.view.CrossWindowBlurListeners;
import android.view.IWindowManager;
import android.view.ViewConfiguration;
import android.view.WindowManager;
@@ -138,6 +139,12 @@ public class FrameworkServicesModule {
        return context.getSystemService(DevicePolicyManager.class);
    }

    @Provides
    @Singleton
    static CrossWindowBlurListeners provideCrossWindowBlurListeners() {
        return CrossWindowBlurListeners.getInstance();
    }

    @Provides
    @DisplayId
    static int provideDisplayId(Context context) {
+4 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.app.ActivityManager
import android.content.res.Resources
import android.util.IndentingPrintWriter
import android.util.MathUtils
import android.view.CrossWindowBlurListeners
import android.view.SurfaceControl
import android.view.ViewRootImpl
import androidx.annotation.VisibleForTesting
@@ -37,6 +38,7 @@ import javax.inject.Inject
@SysUISingleton
open class BlurUtils @Inject constructor(
    @Main private val resources: Resources,
    private val crossWindowBlurListeners: CrossWindowBlurListeners,
    dumpManager: DumpManager
) : Dumpable {
    val minBlurRadius = resources.getDimensionPixelSize(R.dimen.min_window_blur_radius)
@@ -97,7 +99,8 @@ open class BlurUtils @Inject constructor(
     * @return {@code true} when supported.
     */
    open fun supportsBlursOnWindows(): Boolean {
        return CROSS_WINDOW_BLUR_SUPPORTED && ActivityManager.isHighEndGfx()
        return CROSS_WINDOW_BLUR_SUPPORTED && ActivityManager.isHighEndGfx() &&
                crossWindowBlurListeners.isCrossWindowBlurEnabled()
    }

    override fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<out String>) {
+1 −1
Original line number Diff line number Diff line
@@ -186,7 +186,7 @@ class NotificationShadeDepthController @Inject constructor(
        var blur = max(shadeRadius.toInt(), globalActionsRadius)

        // Make blur be 0 if it is necessary to stop blur effect.
        if (scrimsVisible) {
        if (scrimsVisible || !blurUtils.supportsBlursOnWindows()) {
            blur = 0
        }

+4 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.statusbar

import android.content.res.Resources
import android.view.CrossWindowBlurListeners
import android.view.SurfaceControl
import android.view.ViewRootImpl
import androidx.test.filters.SmallTest
@@ -37,11 +38,13 @@ class BlurUtilsTest : SysuiTestCase() {
    @Mock lateinit var resources: Resources
    @Mock lateinit var dumpManager: DumpManager
    @Mock lateinit var transaction: SurfaceControl.Transaction
    @Mock lateinit var corssWindowBlurListeners: CrossWindowBlurListeners
    lateinit var blurUtils: BlurUtils

    @Before
    fun setup() {
        MockitoAnnotations.initMocks(this)
        `when`(corssWindowBlurListeners.isCrossWindowBlurEnabled).thenReturn(true)
        blurUtils = TestableBlurUtils()
    }

@@ -71,7 +74,7 @@ class BlurUtilsTest : SysuiTestCase() {
        verify(transaction).apply()
    }

    inner class TestableBlurUtils() : BlurUtils(resources, dumpManager) {
    inner class TestableBlurUtils() : BlurUtils(resources, corssWindowBlurListeners, dumpManager) {
        override fun supportsBlursOnWindows(): Boolean {
            return true
        }
Loading