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

Commit 26308cd4 authored by Lucas Dupin's avatar Lucas Dupin Committed by Android (Google) Code Review
Browse files

Merge "Disable blurs when in battery saver" into sc-dev

parents b70b810a b5a14556
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