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

Commit a861cce8 authored by Josh's avatar Josh
Browse files

Disabled brightness dialog when shade is open

We don't want brightness dialog showing up under notification shade
when brightness is controlled using keyboard shortcut. So now if
notification shade is open when the brightness dialog activity is
created, the activity will finish and the brightness dialog will go
away.

Test: open notification shade -> control screen brightness using
keyboard shortcut -> close notification shade immediately after ->
ensure that brightness slider did not appear on the home screen.
Fixes: 303231981
Flag: NA

Change-Id: I31ed8bd1dc73a1170e6cfc4f61cbd6b9bfe54965
parent 4848b856
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.res.R;
import com.android.systemui.shade.domain.interactor.ShadeInteractor;
import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper;
import com.android.systemui.util.concurrency.DelayableExecutor;

@@ -58,18 +59,21 @@ public class BrightnessDialog extends Activity {
    private final DelayableExecutor mMainExecutor;
    private final AccessibilityManagerWrapper mAccessibilityMgr;
    private Runnable mCancelTimeoutRunnable;
    private final ShadeInteractor mShadeInteractor;

    @Inject
    public BrightnessDialog(
            BrightnessSliderController.Factory brightnessSliderfactory,
            BrightnessController.Factory brightnessControllerFactory,
            @Main DelayableExecutor mainExecutor,
            AccessibilityManagerWrapper accessibilityMgr
            AccessibilityManagerWrapper accessibilityMgr,
            ShadeInteractor shadeInteractor
    ) {
        mToggleSliderFactory = brightnessSliderfactory;
        mBrightnessControllerFactory = brightnessControllerFactory;
        mMainExecutor = mainExecutor;
        mAccessibilityMgr = accessibilityMgr;
        mShadeInteractor = shadeInteractor;
    }


@@ -79,6 +83,10 @@ public class BrightnessDialog extends Activity {
        setWindowAttributes();
        setContentView(R.layout.brightness_mirror_container);
        setBrightnessDialogViewAttributes();

        if (mShadeInteractor.isQsExpanded().getValue()) {
            finish();
        }
    }

    private void setWindowAttributes() {
+14 −3
Original line number Diff line number Diff line
@@ -28,12 +28,16 @@ import androidx.test.rule.ActivityTestRule
import com.android.systemui.SysuiTestCase
import com.android.systemui.activity.SingleActivityFactory
import com.android.systemui.res.R
import com.android.systemui.shade.domain.interactor.ShadeInteractor
import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper
import com.android.systemui.util.concurrency.DelayableExecutor
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.whenever
import com.android.systemui.util.time.FakeSystemClock
import com.google.common.truth.Truth.assertThat
import dagger.Lazy
import kotlinx.coroutines.flow.MutableStateFlow
import org.junit.After
import org.junit.Before
import org.junit.Rule
@@ -55,6 +59,8 @@ class BrightnessDialogTest : SysuiTestCase() {
    @Mock private lateinit var brightnessControllerFactory: BrightnessController.Factory
    @Mock private lateinit var brightnessController: BrightnessController
    @Mock private lateinit var accessibilityMgr: AccessibilityManagerWrapper
    @Mock private lateinit var shadeInteractorLazy: Lazy<ShadeInteractor>
    @Mock private lateinit var shadeInteractor: ShadeInteractor

    private val clock = FakeSystemClock()
    private val mainExecutor = FakeExecutor(clock)
@@ -68,7 +74,8 @@ class BrightnessDialogTest : SysuiTestCase() {
                    brightnessSliderControllerFactory,
                    brightnessControllerFactory,
                    mainExecutor,
                    accessibilityMgr
                    accessibilityMgr,
                    shadeInteractor
                )
            },
            /* initialTouchMode= */ false,
@@ -82,6 +89,8 @@ class BrightnessDialogTest : SysuiTestCase() {
            .thenReturn(brightnessSliderController)
        `when`(brightnessSliderController.rootView).thenReturn(View(context))
        `when`(brightnessControllerFactory.create(any())).thenReturn(brightnessController)
        whenever(shadeInteractorLazy.get()).thenReturn(shadeInteractor)
        whenever(shadeInteractor.isQsExpanded).thenReturn(MutableStateFlow(false))
    }

    @After
@@ -175,13 +184,15 @@ class BrightnessDialogTest : SysuiTestCase() {
        brightnessSliderControllerFactory: BrightnessSliderController.Factory,
        brightnessControllerFactory: BrightnessController.Factory,
        mainExecutor: DelayableExecutor,
        accessibilityMgr: AccessibilityManagerWrapper
        accessibilityMgr: AccessibilityManagerWrapper,
        shadeInteractor: ShadeInteractor
    ) :
        BrightnessDialog(
            brightnessSliderControllerFactory,
            brightnessControllerFactory,
            mainExecutor,
            accessibilityMgr
            accessibilityMgr,
            shadeInteractor
        ) {
        private var finishing = false