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

Commit 173013bb authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Android (Google) Code Review
Browse files

Merge "Reinflate QS brightness on density change" into main

parents 667d4cf9 c1923a26
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -189,6 +189,7 @@ public class QSPanel extends LinearLayout implements Tunable {
    public void setBrightnessView(@NonNull View view) {
        if (mBrightnessView != null) {
            removeView(mBrightnessView);
            mChildrenLayoutTop.remove(mBrightnessView);
            mMovableContentStartIndex--;
        }
        addView(view, 0);
+30 −3
Original line number Diff line number Diff line
@@ -56,14 +56,18 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    private final QSCustomizerController mQsCustomizerController;
    private final QSTileRevealController.Factory mQsTileRevealControllerFactory;
    private final FalsingManager mFalsingManager;
    private final BrightnessController mBrightnessController;
    private final BrightnessSliderController mBrightnessSliderController;
    private final BrightnessMirrorHandler mBrightnessMirrorHandler;
    private BrightnessController mBrightnessController;
    private BrightnessSliderController mBrightnessSliderController;
    private BrightnessMirrorHandler mBrightnessMirrorHandler;
    private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
    private boolean mListening;

    private final boolean mSceneContainerEnabled;

    private int mLastDensity;
    private final BrightnessSliderController.Factory mBrightnessSliderControllerFactory;
    private final BrightnessController.Factory mBrightnessControllerFactory;

    private View.OnTouchListener mTileLayoutTouchListener = new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
@@ -93,6 +97,8 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        mQsCustomizerController = qsCustomizerController;
        mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
        mFalsingManager = falsingManager;
        mBrightnessSliderControllerFactory = brightnessSliderFactory;
        mBrightnessControllerFactory = brightnessControllerFactory;

        mBrightnessSliderController = brightnessSliderFactory.create(getContext(), mView);
        mView.setBrightnessView(mBrightnessSliderController.getRootView());
@@ -100,6 +106,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        mBrightnessController = brightnessControllerFactory.create(mBrightnessSliderController);
        mBrightnessMirrorHandler = new BrightnessMirrorHandler(mBrightnessController);
        mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
        mLastDensity = view.getResources().getConfiguration().densityDpi;
        mSceneContainerEnabled = sceneContainerFlags.isEnabled();
    }

@@ -147,11 +154,31 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    @Override
    protected void onConfigurationChanged() {
        mView.updateResources();
        int newDensity = mView.getResources().getConfiguration().densityDpi;
        if (newDensity != mLastDensity) {
            mLastDensity = newDensity;
            reinflateBrightnessSlider();
        }

        if (mView.isListening()) {
            refreshAllTiles();
        }
    }

    private void reinflateBrightnessSlider() {
        mBrightnessController.unregisterCallbacks();
        mBrightnessSliderController =
                mBrightnessSliderControllerFactory.create(getContext(), mView);
        mView.setBrightnessView(mBrightnessSliderController.getRootView());
        mBrightnessController = mBrightnessControllerFactory.create(mBrightnessSliderController);
        mBrightnessMirrorHandler.setBrightnessController(mBrightnessController);
        mBrightnessSliderController.init();
        if (mListening) {
            mBrightnessController.registerCallbacks();
        }
    }


    @Override
    protected void onSplitShadeChanged(boolean shouldUseSplitNotificationShade) {
        ((PagedTileLayout) mView.getOrCreateTileLayout())
+10 −3
Original line number Diff line number Diff line
@@ -19,9 +19,16 @@ package com.android.systemui.settings.brightness
import com.android.systemui.statusbar.policy.BrightnessMirrorController
import com.android.systemui.statusbar.policy.BrightnessMirrorController.BrightnessMirrorListener

class BrightnessMirrorHandler(private val brightnessController: MirroredBrightnessController) {
class BrightnessMirrorHandler(brightnessController: MirroredBrightnessController) {

    private var mirrorController: BrightnessMirrorController? = null
    var mirrorController: BrightnessMirrorController? = null
        private set

    var brightnessController: MirroredBrightnessController = brightnessController
        set(value) {
            field = value
            updateBrightnessMirror()
        }

    private val brightnessMirrorListener = BrightnessMirrorListener { updateBrightnessMirror() }

@@ -33,7 +40,7 @@ class BrightnessMirrorHandler(private val brightnessController: MirroredBrightne
        mirrorController?.removeCallback(brightnessMirrorListener)
    }

    fun setController(controller: BrightnessMirrorController) {
    fun setController(controller: BrightnessMirrorController?) {
        mirrorController?.removeCallback(brightnessMirrorListener)
        mirrorController = controller
        mirrorController?.addCallback(brightnessMirrorListener)