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

Commit ed4d4329 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Revert "Revert "Making mirror slider appear when brightness slider is...

Merge "Revert "Revert "Making mirror slider appear when brightness slider is used in split shade""" into sc-v2-dev
parents fa8944c1 d057da2c
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -52,6 +52,7 @@ import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer;
import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
import com.android.systemui.util.InjectionInflationController;
import com.android.systemui.util.InjectionInflationController;
import com.android.systemui.util.LifecycleFragment;
import com.android.systemui.util.LifecycleFragment;
@@ -414,6 +415,12 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
        return mQSPanelController;
        return mQSPanelController;
    }
    }


    public void setBrightnessMirrorController(
            BrightnessMirrorController brightnessMirrorController) {
        mQSPanelController.setBrightnessMirror(brightnessMirrorController);
        mQuickQSPanelController.setBrightnessMirror(brightnessMirrorController);
    }

    @Override
    @Override
    public boolean isShowingDetail() {
    public boolean isShowingDetail() {
        return mQSCustomizerController.isCustomizing() || mQSDetail.isShowingDetail();
        return mQSCustomizerController.isCustomizing() || mQSDetail.isShowingDetail();
+7 −30
Original line number Original line Diff line number Diff line
@@ -40,6 +40,7 @@ import com.android.systemui.qs.customize.QSCustomizerController;
import com.android.systemui.qs.dagger.QSScope;
import com.android.systemui.qs.dagger.QSScope;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.settings.brightness.BrightnessController;
import com.android.systemui.settings.brightness.BrightnessController;
import com.android.systemui.settings.brightness.BrightnessMirrorHandler;
import com.android.systemui.settings.brightness.BrightnessSlider;
import com.android.systemui.settings.brightness.BrightnessSlider;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.tuner.TunerService;
@@ -60,10 +61,9 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    private final QSTileRevealController.Factory mQsTileRevealControllerFactory;
    private final QSTileRevealController.Factory mQsTileRevealControllerFactory;
    private final FalsingManager mFalsingManager;
    private final FalsingManager mFalsingManager;
    private final BrightnessController mBrightnessController;
    private final BrightnessController mBrightnessController;
    private final BrightnessSlider.Factory mBrightnessSliderFactory;
    private final BrightnessSlider mBrightnessSlider;
    private final BrightnessSlider mBrightnessSlider;
    private final BrightnessMirrorHandler mBrightnessMirrorHandler;


    private BrightnessMirrorController mBrightnessMirrorController;
    private boolean mGridContentVisible = true;
    private boolean mGridContentVisible = true;


    private final QSPanel.OnConfigurationChangedListener mOnConfigurationChangedListener =
    private final QSPanel.OnConfigurationChangedListener mOnConfigurationChangedListener =
@@ -75,14 +75,10 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
            if (mView.isListening()) {
            if (mView.isListening()) {
                refreshAllTiles();
                refreshAllTiles();
            }
            }
            updateBrightnessMirror();
            mView.switchSecurityFooter(mShouldUseSplitNotificationShade);
            mView.switchSecurityFooter(mShouldUseSplitNotificationShade);
        }
        }
    };
    };


    private final BrightnessMirrorController.BrightnessMirrorListener mBrightnessMirrorListener =
            mirror -> updateBrightnessMirror();

    private View.OnTouchListener mTileLayoutTouchListener = new View.OnTouchListener() {
    private View.OnTouchListener mTileLayoutTouchListener = new View.OnTouchListener() {
        @Override
        @Override
        public boolean onTouch(View v, MotionEvent event) {
        public boolean onTouch(View v, MotionEvent event) {
@@ -110,12 +106,12 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
        mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
        mFalsingManager = falsingManager;
        mFalsingManager = falsingManager;
        mQsSecurityFooter.setHostEnvironment(qstileHost);
        mQsSecurityFooter.setHostEnvironment(qstileHost);
        mBrightnessSliderFactory = brightnessSliderFactory;


        mBrightnessSlider = mBrightnessSliderFactory.create(getContext(), mView);
        mBrightnessSlider = brightnessSliderFactory.create(getContext(), mView);
        mView.setBrightnessView(mBrightnessSlider.getRootView());
        mView.setBrightnessView(mBrightnessSlider.getRootView());


        mBrightnessController = brightnessControllerFactory.create(mBrightnessSlider);
        mBrightnessController = brightnessControllerFactory.create(mBrightnessSlider);
        mBrightnessMirrorHandler = new BrightnessMirrorHandler(mBrightnessController);
    }
    }


    @Override
    @Override
@@ -142,9 +138,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener);
        mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener);
        mView.setSecurityFooter(mQsSecurityFooter.getView(), mShouldUseSplitNotificationShade);
        mView.setSecurityFooter(mQsSecurityFooter.getView(), mShouldUseSplitNotificationShade);
        switchTileLayout(true);
        switchTileLayout(true);
        if (mBrightnessMirrorController != null) {
        mBrightnessMirrorHandler.onQsPanelAttached();
            mBrightnessMirrorController.addCallback(mBrightnessMirrorListener);
        }


        ((PagedTileLayout) mView.getOrCreateTileLayout())
        ((PagedTileLayout) mView.getOrCreateTileLayout())
                .setOnTouchListener(mTileLayoutTouchListener);
                .setOnTouchListener(mTileLayoutTouchListener);
@@ -160,9 +154,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    protected void onViewDetached() {
    protected void onViewDetached() {
        mTunerService.removeTunable(mView);
        mTunerService.removeTunable(mView);
        mView.removeOnConfigurationChangedListener(mOnConfigurationChangedListener);
        mView.removeOnConfigurationChangedListener(mOnConfigurationChangedListener);
        if (mBrightnessMirrorController != null) {
        mBrightnessMirrorHandler.onQsPanelDettached();
            mBrightnessMirrorController.removeCallback(mBrightnessMirrorListener);
        }
        super.onViewDetached();
        super.onViewDetached();
    }
    }


@@ -196,23 +188,8 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        }
        }
    }
    }


    /** */
    public void setBrightnessMirror(BrightnessMirrorController brightnessMirrorController) {
    public void setBrightnessMirror(BrightnessMirrorController brightnessMirrorController) {
        mBrightnessMirrorController = brightnessMirrorController;
        mBrightnessMirrorHandler.setController(brightnessMirrorController);
        if (mBrightnessMirrorController != null) {
            mBrightnessMirrorController.removeCallback(mBrightnessMirrorListener);
        }
        mBrightnessMirrorController = brightnessMirrorController;
        if (mBrightnessMirrorController != null) {
            mBrightnessMirrorController.addCallback(mBrightnessMirrorListener);
        }
        updateBrightnessMirror();
    }

    private void updateBrightnessMirror() {
        if (mBrightnessMirrorController != null) {
            mBrightnessSlider.setMirrorControllerAndMirror(mBrightnessMirrorController);
        }
    }
    }


    /** Get the QSTileHost this panel uses. */
    /** Get the QSTileHost this panel uses. */
+12 −5
Original line number Original line Diff line number Diff line
@@ -19,6 +19,8 @@ package com.android.systemui.qs
import androidx.annotation.VisibleForTesting
import androidx.annotation.VisibleForTesting
import com.android.systemui.settings.brightness.BrightnessController
import com.android.systemui.settings.brightness.BrightnessController
import com.android.systemui.settings.brightness.BrightnessSlider
import com.android.systemui.settings.brightness.BrightnessSlider
import com.android.systemui.settings.brightness.MirroredBrightnessController
import com.android.systemui.statusbar.policy.BrightnessMirrorController
import javax.inject.Inject
import javax.inject.Inject


/**
/**
@@ -27,7 +29,7 @@ import javax.inject.Inject
 */
 */
class QuickQSBrightnessController @VisibleForTesting constructor(
class QuickQSBrightnessController @VisibleForTesting constructor(
    private val brightnessControllerFactory: () -> BrightnessController
    private val brightnessControllerFactory: () -> BrightnessController
) {
) : MirroredBrightnessController {


    @Inject constructor(
    @Inject constructor(
        brightnessControllerFactory: BrightnessController.Factory,
        brightnessControllerFactory: BrightnessController.Factory,
@@ -42,6 +44,7 @@ class QuickQSBrightnessController @VisibleForTesting constructor(


    private var isListening = false
    private var isListening = false
    private var brightnessController: BrightnessController? = null
    private var brightnessController: BrightnessController? = null
    private var mirrorController: BrightnessMirrorController? = null


    fun init(shouldUseSplitNotificationShade: Boolean) {
    fun init(shouldUseSplitNotificationShade: Boolean) {
        refreshVisibility(shouldUseSplitNotificationShade)
        refreshVisibility(shouldUseSplitNotificationShade)
@@ -77,6 +80,11 @@ class QuickQSBrightnessController @VisibleForTesting constructor(
        }
        }
    }
    }


    override fun setMirror(controller: BrightnessMirrorController) {
        mirrorController = controller
        mirrorController?.let { brightnessController?.setMirror(it) }
    }

    private fun hideBrightnessSlider() {
    private fun hideBrightnessSlider() {
        brightnessController?.hideSlider()
        brightnessController?.hideSlider()
    }
    }
@@ -84,11 +92,10 @@ class QuickQSBrightnessController @VisibleForTesting constructor(
    private fun showBrightnessSlider() {
    private fun showBrightnessSlider() {
        if (brightnessController == null) {
        if (brightnessController == null) {
            brightnessController = brightnessControllerFactory()
            brightnessController = brightnessControllerFactory()
        }
            mirrorController?.also { brightnessController?.setMirror(it) }
        brightnessController?.showSlider()
        if (!isListening) {
            brightnessController?.registerCallbacks()
            brightnessController?.registerCallbacks()
            isListening = true
            isListening = true
        }
        }
        brightnessController?.showSlider()
    }
    }
}
}
+10 −0
Original line number Original line Diff line number Diff line
@@ -29,6 +29,8 @@ import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.qs.customize.QSCustomizerController;
import com.android.systemui.qs.customize.QSCustomizerController;
import com.android.systemui.qs.dagger.QSScope;
import com.android.systemui.qs.dagger.QSScope;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.settings.brightness.BrightnessMirrorHandler;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;


import java.util.ArrayList;
import java.util.ArrayList;
import java.util.List;
import java.util.List;
@@ -50,6 +52,7 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>


    // brightness is visible only in split shade
    // brightness is visible only in split shade
    private final QuickQSBrightnessController mBrightnessController;
    private final QuickQSBrightnessController mBrightnessController;
    private final BrightnessMirrorHandler mBrightnessMirrorHandler;


    @Inject
    @Inject
    QuickQSPanelController(QuickQSPanel view, QSTileHost qsTileHost,
    QuickQSPanelController(QuickQSPanel view, QSTileHost qsTileHost,
@@ -63,6 +66,7 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>
        super(view, qsTileHost, qsCustomizerController, usingMediaPlayer, mediaHost, metricsLogger,
        super(view, qsTileHost, qsCustomizerController, usingMediaPlayer, mediaHost, metricsLogger,
                uiEventLogger, qsLogger, dumpManager);
                uiEventLogger, qsLogger, dumpManager);
        mBrightnessController = quickQSBrightnessController;
        mBrightnessController = quickQSBrightnessController;
        mBrightnessMirrorHandler = new BrightnessMirrorHandler(mBrightnessController);
    }
    }


    @Override
    @Override
@@ -78,12 +82,14 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>
    protected void onViewAttached() {
    protected void onViewAttached() {
        super.onViewAttached();
        super.onViewAttached();
        mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener);
        mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener);
        mBrightnessMirrorHandler.onQsPanelAttached();
    }
    }


    @Override
    @Override
    protected void onViewDetached() {
    protected void onViewDetached() {
        super.onViewDetached();
        super.onViewDetached();
        mView.removeOnConfigurationChangedListener(mOnConfigurationChangedListener);
        mView.removeOnConfigurationChangedListener(mOnConfigurationChangedListener);
        mBrightnessMirrorHandler.onQsPanelDettached();
    }
    }


    @Override
    @Override
@@ -132,4 +138,8 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>
    public int getNumQuickTiles() {
    public int getNumQuickTiles() {
        return mView.getNumQuickTiles();
        return mView.getNumQuickTiles();
    }
    }

    public void setBrightnessMirror(BrightnessMirrorController brightnessMirrorController) {
        mBrightnessMirrorHandler.setController(brightnessMirrorController);
    }
}
}
+7 −1
Original line number Original line Diff line number Diff line
@@ -50,12 +50,13 @@ import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.systemui.Dependency;
import com.android.systemui.Dependency;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.settings.CurrentUserTracker;
import com.android.systemui.settings.CurrentUserTracker;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;


import java.util.ArrayList;
import java.util.ArrayList;


import javax.inject.Inject;
import javax.inject.Inject;


public class BrightnessController implements ToggleSlider.Listener {
public class BrightnessController implements ToggleSlider.Listener, MirroredBrightnessController {
    private static final String TAG = "StatusBar.BrightnessController";
    private static final String TAG = "StatusBar.BrightnessController";
    private static final int SLIDER_ANIMATION_DURATION = 3000;
    private static final int SLIDER_ANIMATION_DURATION = 3000;


@@ -109,6 +110,11 @@ public class BrightnessController implements ToggleSlider.Listener {


    private ValueAnimator mSliderAnimator;
    private ValueAnimator mSliderAnimator;


    @Override
    public void setMirror(BrightnessMirrorController controller) {
        mControl.setMirrorControllerAndMirror(controller);
    }

    public interface BrightnessStateChangeCallback {
    public interface BrightnessStateChangeCallback {
        /** Indicates that some of the brightness settings have changed */
        /** Indicates that some of the brightness settings have changed */
        void onBrightnessLevelChanged();
        void onBrightnessLevelChanged();
Loading