Merge "Fixing brightness slider jank in split shade" into sc-v2-dev am: 327615d629

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

Change-Id: I2e7eaa620caa98f4138fb0134fbe61a3f9f2e570
This commit is contained in:
TreeHugger Robot
2021-10-29 13:18:27 +00:00
committed by Automerger Merge Worker
13 changed files with 59 additions and 73 deletions

View File

@@ -41,7 +41,7 @@ import com.android.internal.widget.RemeasuringLinearLayout;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.settings.brightness.BrightnessSlider; import com.android.systemui.settings.brightness.BrightnessSliderController;
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;
import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.tuner.TunerService.Tunable;
@@ -69,7 +69,7 @@ public class QSPanel extends LinearLayout implements Tunable {
@Nullable @Nullable
protected View mBrightnessView; protected View mBrightnessView;
@Nullable @Nullable
protected BrightnessSlider mToggleSliderController; protected BrightnessSliderController mToggleSliderController;
private final H mHandler = new H(); private final H mHandler = new H();
/** Whether or not the QS media player feature is enabled. */ /** Whether or not the QS media player feature is enabled. */

View File

@@ -41,7 +41,7 @@ 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.BrightnessMirrorHandler;
import com.android.systemui.settings.brightness.BrightnessSlider; import com.android.systemui.settings.brightness.BrightnessSliderController;
import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue;
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;
@@ -63,7 +63,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
private final FalsingManager mFalsingManager; private final FalsingManager mFalsingManager;
private final CommandQueue mCommandQueue; private final CommandQueue mCommandQueue;
private final BrightnessController mBrightnessController; private final BrightnessController mBrightnessController;
private final BrightnessSlider mBrightnessSlider; private final BrightnessSliderController mBrightnessSliderController;
private final BrightnessMirrorHandler mBrightnessMirrorHandler; private final BrightnessMirrorHandler mBrightnessMirrorHandler;
private boolean mGridContentVisible = true; private boolean mGridContentVisible = true;
@@ -99,8 +99,8 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
QSTileRevealController.Factory qsTileRevealControllerFactory, QSTileRevealController.Factory qsTileRevealControllerFactory,
DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger, DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory, QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
BrightnessSlider.Factory brightnessSliderFactory, FalsingManager falsingManager, BrightnessSliderController.Factory brightnessSliderFactory,
CommandQueue commandQueue) { FalsingManager falsingManager, CommandQueue commandQueue) {
super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost, super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
metricsLogger, uiEventLogger, qsLogger, dumpManager); metricsLogger, uiEventLogger, qsLogger, dumpManager);
mQsSecurityFooter = qsSecurityFooter; mQsSecurityFooter = qsSecurityFooter;
@@ -111,10 +111,10 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
mCommandQueue = commandQueue; mCommandQueue = commandQueue;
mQsSecurityFooter.setHostEnvironment(qstileHost); mQsSecurityFooter.setHostEnvironment(qstileHost);
mBrightnessSlider = brightnessSliderFactory.create(getContext(), mView); mBrightnessSliderController = brightnessSliderFactory.create(getContext(), mView);
mView.setBrightnessView(mBrightnessSlider.getRootView()); mView.setBrightnessView(mBrightnessSliderController.getRootView());
mBrightnessController = brightnessControllerFactory.create(mBrightnessSlider); mBrightnessController = brightnessControllerFactory.create(mBrightnessSliderController);
mBrightnessMirrorHandler = new BrightnessMirrorHandler(mBrightnessController); mBrightnessMirrorHandler = new BrightnessMirrorHandler(mBrightnessController);
} }
@@ -125,7 +125,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
mMediaHost.setShowsOnlyActiveMedia(false); mMediaHost.setShowsOnlyActiveMedia(false);
mMediaHost.init(MediaHierarchyManager.LOCATION_QS); mMediaHost.init(MediaHierarchyManager.LOCATION_QS);
mQsCustomizerController.init(); mQsCustomizerController.init();
mBrightnessSlider.init(); mBrightnessSliderController.init();
} }
@Override @Override

View File

@@ -18,7 +18,7 @@ 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.BrightnessSliderController
import com.android.systemui.settings.brightness.MirroredBrightnessController import com.android.systemui.settings.brightness.MirroredBrightnessController
import com.android.systemui.statusbar.policy.BrightnessMirrorController import com.android.systemui.statusbar.policy.BrightnessMirrorController
import javax.inject.Inject import javax.inject.Inject
@@ -33,10 +33,11 @@ class QuickQSBrightnessController @VisibleForTesting constructor(
@Inject constructor( @Inject constructor(
brightnessControllerFactory: BrightnessController.Factory, brightnessControllerFactory: BrightnessController.Factory,
brightnessSliderFactory: BrightnessSlider.Factory, brightnessSliderControllerFactory: BrightnessSliderController.Factory,
quickQSPanel: QuickQSPanel quickQSPanel: QuickQSPanel
) : this(brightnessControllerFactory = { ) : this(brightnessControllerFactory = {
val slider = brightnessSliderFactory.create(quickQSPanel.context, quickQSPanel) val slider = brightnessSliderControllerFactory.create(quickQSPanel.context,
quickQSPanel)
slider.init() slider.init()
quickQSPanel.setBrightnessView(slider.rootView) quickQSPanel.setBrightnessView(slider.rootView)
brightnessControllerFactory.create(slider) brightnessControllerFactory.create(slider)

View File

@@ -51,8 +51,6 @@ import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.settings.CurrentUserTracker; import com.android.systemui.settings.CurrentUserTracker;
import com.android.systemui.statusbar.policy.BrightnessMirrorController; import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import java.util.ArrayList;
import javax.inject.Inject; import javax.inject.Inject;
public class BrightnessController implements ToggleSlider.Listener, MirroredBrightnessController { public class BrightnessController implements ToggleSlider.Listener, MirroredBrightnessController {
@@ -92,13 +90,9 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
@Override @Override
public void onDisplayChanged(int displayId) { public void onDisplayChanged(int displayId) {
mBackgroundHandler.post(mUpdateSliderRunnable); mBackgroundHandler.post(mUpdateSliderRunnable);
notifyCallbacks();
} }
}; };
private ArrayList<BrightnessStateChangeCallback> mChangeCallbacks =
new ArrayList<BrightnessStateChangeCallback>();
private volatile boolean mAutomatic; // Brightness adjusted automatically using ambient light. private volatile boolean mAutomatic; // Brightness adjusted automatically using ambient light.
private volatile boolean mIsVrModeEnabled; private volatile boolean mIsVrModeEnabled;
private boolean mListening; private boolean mListening;
@@ -114,11 +108,6 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
mControl.setMirrorControllerAndMirror(controller); mControl.setMirrorControllerAndMirror(controller);
} }
public interface BrightnessStateChangeCallback {
/** Indicates that some of the brightness settings have changed */
void onBrightnessLevelChanged();
}
/** ContentObserver to watch brightness */ /** ContentObserver to watch brightness */
private class BrightnessObserver extends ContentObserver { private class BrightnessObserver extends ContentObserver {
@@ -139,7 +128,6 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
mBackgroundHandler.post(mUpdateModeRunnable); mBackgroundHandler.post(mUpdateModeRunnable);
mBackgroundHandler.post(mUpdateSliderRunnable); mBackgroundHandler.post(mUpdateSliderRunnable);
} }
notifyCallbacks();
} }
public void startObserving() { public void startObserving() {
@@ -317,14 +305,6 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
Context.VR_SERVICE)); Context.VR_SERVICE));
} }
public void addStateChangedCallback(BrightnessStateChangeCallback cb) {
mChangeCallbacks.add(cb);
}
public boolean removeStateChangedCallback(BrightnessStateChangeCallback cb) {
return mChangeCallbacks.remove(cb);
}
public void registerCallbacks() { public void registerCallbacks() {
mBackgroundHandler.post(mStartListeningRunnable); mBackgroundHandler.post(mStartListeningRunnable);
} }
@@ -375,10 +355,6 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
} }
}); });
} }
for (BrightnessStateChangeCallback cb : mChangeCallbacks) {
cb.onBrightnessLevelChanged();
}
} }
public void checkRestrictionAndSetEnabled() { public void checkRestrictionAndSetEnabled() {
@@ -435,8 +411,12 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
} }
private void animateSliderTo(int target) { private void animateSliderTo(int target) {
if (!mControlValueInitialized) { if (!mControlValueInitialized || !mControl.isVisible()) {
// Don't animate the first value since its default state isn't meaningful to users. // Don't animate the first value since its default state isn't meaningful to users.
// We also don't want to animate slider if it's not visible - especially important when
// two sliders are active at the same time in split shade (one in QS and one in QQS),
// as this negatively affects transition between them and they share mirror slider -
// animating it from two different sources causes janky motion
mControl.setValue(target); mControl.setValue(target);
mControlValueInitialized = true; mControlValueInitialized = true;
} }
@@ -455,13 +435,6 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
mSliderAnimator.start(); mSliderAnimator.start();
} }
private void notifyCallbacks() {
final int size = mChangeCallbacks.size();
for (int i = 0; i < size; i++) {
mChangeCallbacks.get(i).onBrightnessLevelChanged();
}
}
/** Factory for creating a {@link BrightnessController}. */ /** Factory for creating a {@link BrightnessController}. */
public static class Factory { public static class Factory {
private final Context mContext; private final Context mContext;

View File

@@ -41,14 +41,14 @@ import javax.inject.Inject;
public class BrightnessDialog extends Activity { public class BrightnessDialog extends Activity {
private BrightnessController mBrightnessController; private BrightnessController mBrightnessController;
private final BrightnessSlider.Factory mToggleSliderFactory; private final BrightnessSliderController.Factory mToggleSliderFactory;
private final BroadcastDispatcher mBroadcastDispatcher; private final BroadcastDispatcher mBroadcastDispatcher;
private final Handler mBackgroundHandler; private final Handler mBackgroundHandler;
@Inject @Inject
public BrightnessDialog( public BrightnessDialog(
BroadcastDispatcher broadcastDispatcher, BroadcastDispatcher broadcastDispatcher,
BrightnessSlider.Factory factory, BrightnessSliderController.Factory factory,
@Background Handler bgHandler) { @Background Handler bgHandler) {
mBroadcastDispatcher = broadcastDispatcher; mBroadcastDispatcher = broadcastDispatcher;
mToggleSliderFactory = factory; mToggleSliderFactory = factory;
@@ -77,7 +77,7 @@ public class BrightnessDialog extends Activity {
// The brightness mirror container is INVISIBLE by default. // The brightness mirror container is INVISIBLE by default.
frame.setVisibility(View.VISIBLE); frame.setVisibility(View.VISIBLE);
BrightnessSlider controller = mToggleSliderFactory.create(this, frame); BrightnessSliderController controller = mToggleSliderFactory.create(this, frame);
controller.init(); controller.init();
frame.addView(controller.getRootView(), MATCH_PARENT, WRAP_CONTENT); frame.addView(controller.getRootView(), MATCH_PARENT, WRAP_CONTENT);

View File

@@ -44,7 +44,8 @@ import javax.inject.Inject;
* *
* @see BrightnessMirrorController * @see BrightnessMirrorController
*/ */
public class BrightnessSlider extends ViewController<BrightnessSliderView> implements ToggleSlider { public class BrightnessSliderController extends ViewController<BrightnessSliderView> implements
ToggleSlider {
private Listener mListener; private Listener mListener;
private ToggleSlider mMirror; private ToggleSlider mMirror;
@@ -69,7 +70,7 @@ public class BrightnessSlider extends ViewController<BrightnessSliderView> imple
} }
}; };
BrightnessSlider( BrightnessSliderController(
BrightnessSliderView brightnessSliderView, BrightnessSliderView brightnessSliderView,
FalsingManager falsingManager) { FalsingManager falsingManager) {
super(brightnessSliderView); super(brightnessSliderView);
@@ -184,6 +185,15 @@ public class BrightnessSlider extends ViewController<BrightnessSliderView> imple
mView.setVisibility(View.VISIBLE); mView.setVisibility(View.VISIBLE);
} }
@Override
public boolean isVisible() {
// this should be called rarely - once or twice per slider's value change, but not for
// every value change when user slides finger - only the final one.
// If view is not visible this call is quick (around 50 µs) as it sees parent is not visible
// otherwise it's slightly longer (70 µs) because there are more checks to be done
return mView.isVisibleToUser();
}
private final SeekBar.OnSeekBarChangeListener mSeekListener = private final SeekBar.OnSeekBarChangeListener mSeekListener =
new SeekBar.OnSeekBarChangeListener() { new SeekBar.OnSeekBarChangeListener() {
@Override @Override
@@ -222,7 +232,7 @@ public class BrightnessSlider extends ViewController<BrightnessSliderView> imple
}; };
/** /**
* Creates a {@link BrightnessSlider} with its associated view. * Creates a {@link BrightnessSliderController} with its associated view.
*/ */
public static class Factory { public static class Factory {
@@ -240,11 +250,11 @@ public class BrightnessSlider extends ViewController<BrightnessSliderView> imple
* @param viewRoot the {@link ViewGroup} that will contain the hierarchy. The inflated * @param viewRoot the {@link ViewGroup} that will contain the hierarchy. The inflated
* hierarchy will not be attached * hierarchy will not be attached
*/ */
public BrightnessSlider create(Context context, @Nullable ViewGroup viewRoot) { public BrightnessSliderController create(Context context, @Nullable ViewGroup viewRoot) {
int layout = getLayout(); int layout = getLayout();
BrightnessSliderView root = (BrightnessSliderView) LayoutInflater.from(context) BrightnessSliderView root = (BrightnessSliderView) LayoutInflater.from(context)
.inflate(layout, viewRoot, false); .inflate(layout, viewRoot, false);
return new BrightnessSlider(root, mFalsingManager); return new BrightnessSliderController(root, mFalsingManager);
} }
/** Get the layout to inflate based on what slider to use */ /** Get the layout to inflate based on what slider to use */

View File

@@ -38,4 +38,5 @@ public interface ToggleSlider {
void showView(); void showView();
void hideView(); void hideView();
boolean isVisible();
} }

View File

@@ -174,7 +174,7 @@ import com.android.systemui.qs.QSFragment;
import com.android.systemui.qs.QSPanelController; import com.android.systemui.qs.QSPanelController;
import com.android.systemui.recents.ScreenPinningRequest; import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.scrim.ScrimView; import com.android.systemui.scrim.ScrimView;
import com.android.systemui.settings.brightness.BrightnessSlider; import com.android.systemui.settings.brightness.BrightnessSliderController;
import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.AutoHideUiElement; import com.android.systemui.statusbar.AutoHideUiElement;
import com.android.systemui.statusbar.BackDropView; import com.android.systemui.statusbar.BackDropView;
@@ -541,7 +541,7 @@ public class StatusBar extends SystemUI implements
private final NotificationViewHierarchyManager mViewHierarchyManager; private final NotificationViewHierarchyManager mViewHierarchyManager;
private final KeyguardViewMediator mKeyguardViewMediator; private final KeyguardViewMediator mKeyguardViewMediator;
protected final NotificationInterruptStateProvider mNotificationInterruptStateProvider; protected final NotificationInterruptStateProvider mNotificationInterruptStateProvider;
private final BrightnessSlider.Factory mBrightnessSliderFactory; private final BrightnessSliderController.Factory mBrightnessSliderFactory;
private final FeatureFlags mFeatureFlags; private final FeatureFlags mFeatureFlags;
private final UnfoldTransitionConfig mUnfoldTransitionConfig; private final UnfoldTransitionConfig mUnfoldTransitionConfig;
private final Lazy<UnfoldLightRevealOverlayAnimation> mUnfoldLightRevealOverlayAnimation; private final Lazy<UnfoldLightRevealOverlayAnimation> mUnfoldLightRevealOverlayAnimation;
@@ -781,7 +781,7 @@ public class StatusBar extends SystemUI implements
Lazy<NotificationShadeDepthController> notificationShadeDepthControllerLazy, Lazy<NotificationShadeDepthController> notificationShadeDepthControllerLazy,
StatusBarTouchableRegionManager statusBarTouchableRegionManager, StatusBarTouchableRegionManager statusBarTouchableRegionManager,
NotificationIconAreaController notificationIconAreaController, NotificationIconAreaController notificationIconAreaController,
BrightnessSlider.Factory brightnessSliderFactory, BrightnessSliderController.Factory brightnessSliderFactory,
UnfoldTransitionConfig unfoldTransitionConfig, UnfoldTransitionConfig unfoldTransitionConfig,
Lazy<UnfoldLightRevealOverlayAnimation> unfoldLightRevealOverlayAnimation, Lazy<UnfoldLightRevealOverlayAnimation> unfoldLightRevealOverlayAnimation,
Lazy<UnfoldTransitionWallpaperController> unfoldTransitionWallpaperController, Lazy<UnfoldTransitionWallpaperController> unfoldTransitionWallpaperController,

View File

@@ -48,7 +48,7 @@ import com.android.systemui.navigationbar.NavigationBarController;
import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.PluginDependencyProvider; import com.android.systemui.plugins.PluginDependencyProvider;
import com.android.systemui.recents.ScreenPinningRequest; import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.settings.brightness.BrightnessSlider; import com.android.systemui.settings.brightness.BrightnessSliderController;
import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.KeyguardIndicationController; import com.android.systemui.statusbar.KeyguardIndicationController;
@@ -220,7 +220,7 @@ public interface StatusBarPhoneModule {
Lazy<NotificationShadeDepthController> notificationShadeDepthController, Lazy<NotificationShadeDepthController> notificationShadeDepthController,
StatusBarTouchableRegionManager statusBarTouchableRegionManager, StatusBarTouchableRegionManager statusBarTouchableRegionManager,
NotificationIconAreaController notificationIconAreaController, NotificationIconAreaController notificationIconAreaController,
BrightnessSlider.Factory brightnessSliderFactory, BrightnessSliderController.Factory brightnessSliderFactory,
UnfoldTransitionConfig unfoldTransitionConfig, UnfoldTransitionConfig unfoldTransitionConfig,
Lazy<UnfoldLightRevealOverlayAnimation> unfoldLightRevealOverlayAnimation, Lazy<UnfoldLightRevealOverlayAnimation> unfoldLightRevealOverlayAnimation,
Lazy<NaturalRotationUnfoldProgressProvider> naturalRotationUnfoldProgressProvider, Lazy<NaturalRotationUnfoldProgressProvider> naturalRotationUnfoldProgressProvider,

View File

@@ -26,7 +26,7 @@ import android.view.ViewGroup;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.settings.brightness.BrightnessSlider; import com.android.systemui.settings.brightness.BrightnessSliderController;
import com.android.systemui.settings.brightness.ToggleSlider; import com.android.systemui.settings.brightness.ToggleSlider;
import com.android.systemui.statusbar.NotificationShadeDepthController; import com.android.systemui.statusbar.NotificationShadeDepthController;
import com.android.systemui.statusbar.phone.NotificationPanelViewController; import com.android.systemui.statusbar.phone.NotificationPanelViewController;
@@ -46,8 +46,8 @@ public class BrightnessMirrorController
private final NotificationPanelViewController mNotificationPanel; private final NotificationPanelViewController mNotificationPanel;
private final NotificationShadeDepthController mDepthController; private final NotificationShadeDepthController mDepthController;
private final ArraySet<BrightnessMirrorListener> mBrightnessMirrorListeners = new ArraySet<>(); private final ArraySet<BrightnessMirrorListener> mBrightnessMirrorListeners = new ArraySet<>();
private final BrightnessSlider.Factory mToggleSliderFactory; private final BrightnessSliderController.Factory mToggleSliderFactory;
private BrightnessSlider mToggleSliderController; private BrightnessSliderController mToggleSliderController;
private final int[] mInt2Cache = new int[2]; private final int[] mInt2Cache = new int[2];
private FrameLayout mBrightnessMirror; private FrameLayout mBrightnessMirror;
private int mBrightnessMirrorBackgroundPadding; private int mBrightnessMirrorBackgroundPadding;
@@ -56,7 +56,7 @@ public class BrightnessMirrorController
public BrightnessMirrorController(NotificationShadeWindowView statusBarWindow, public BrightnessMirrorController(NotificationShadeWindowView statusBarWindow,
NotificationPanelViewController notificationPanelViewController, NotificationPanelViewController notificationPanelViewController,
NotificationShadeDepthController notificationShadeDepthController, NotificationShadeDepthController notificationShadeDepthController,
BrightnessSlider.Factory factory, BrightnessSliderController.Factory factory,
@NonNull Consumer<Boolean> visibilityCallback) { @NonNull Consumer<Boolean> visibilityCallback) {
mStatusBarWindow = statusBarWindow; mStatusBarWindow = statusBarWindow;
mToggleSliderFactory = factory; mToggleSliderFactory = factory;
@@ -135,9 +135,10 @@ public class BrightnessMirrorController
reinflate(); reinflate();
} }
private BrightnessSlider setMirrorLayout() { private BrightnessSliderController setMirrorLayout() {
Context context = mBrightnessMirror.getContext(); Context context = mBrightnessMirror.getContext();
BrightnessSlider controller = mToggleSliderFactory.create(context, mBrightnessMirror); BrightnessSliderController controller = mToggleSliderFactory.create(context,
mBrightnessMirror);
controller.init(); controller.init();
mBrightnessMirror.addView(controller.getRootView(), ViewGroup.LayoutParams.MATCH_PARENT, mBrightnessMirror.addView(controller.getRootView(), ViewGroup.LayoutParams.MATCH_PARENT,

View File

@@ -42,7 +42,7 @@ import com.android.systemui.qs.customize.QSCustomizerController;
import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tileimpl.QSTileImpl;
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.BrightnessSliderController;
import com.android.systemui.settings.brightness.ToggleSlider; import com.android.systemui.settings.brightness.ToggleSlider;
import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService;
@@ -88,9 +88,9 @@ public class QSPanelControllerTest extends SysuiTestCase {
@Mock @Mock
private BrightnessController mBrightnessController; private BrightnessController mBrightnessController;
@Mock @Mock
private BrightnessSlider.Factory mToggleSliderViewControllerFactory; private BrightnessSliderController.Factory mToggleSliderViewControllerFactory;
@Mock @Mock
private BrightnessSlider mBrightnessSlider; private BrightnessSliderController mBrightnessSliderController;
@Mock @Mock
QSTileImpl mQSTile; QSTileImpl mQSTile;
@Mock @Mock
@@ -120,7 +120,7 @@ public class QSPanelControllerTest extends SysuiTestCase {
when(mQSTileHost.getTiles()).thenReturn(Collections.singleton(mQSTile)); when(mQSTileHost.getTiles()).thenReturn(Collections.singleton(mQSTile));
when(mQSTileHost.createTileView(any(), eq(mQSTile), anyBoolean())).thenReturn(mQSTileView); when(mQSTileHost.createTileView(any(), eq(mQSTile), anyBoolean())).thenReturn(mQSTileView);
when(mToggleSliderViewControllerFactory.create(any(), any())) when(mToggleSliderViewControllerFactory.create(any(), any()))
.thenReturn(mBrightnessSlider); .thenReturn(mBrightnessSliderController);
when(mBrightnessControllerFactory.create(any(ToggleSlider.class))) when(mBrightnessControllerFactory.create(any(ToggleSlider.class)))
.thenReturn(mBrightnessController); .thenReturn(mBrightnessController);
when(mQSTileRevealControllerFactory.create(any(), any())) when(mQSTileRevealControllerFactory.create(any(), any()))

View File

@@ -45,7 +45,7 @@ import org.mockito.Mockito.`when` as whenever
@SmallTest @SmallTest
@RunWith(AndroidTestingRunner::class) @RunWith(AndroidTestingRunner::class)
class BrightnessSliderTest : SysuiTestCase() { class BrightnessSliderControllerTest : SysuiTestCase() {
@Mock @Mock
private lateinit var brightnessSliderView: BrightnessSliderView private lateinit var brightnessSliderView: BrightnessSliderView
@@ -66,7 +66,7 @@ class BrightnessSliderTest : SysuiTestCase() {
private lateinit var seekBar: SeekBar private lateinit var seekBar: SeekBar
private var mFalsingManager: FalsingManagerFake = FalsingManagerFake() private var mFalsingManager: FalsingManagerFake = FalsingManagerFake()
private lateinit var mController: BrightnessSlider private lateinit var mController: BrightnessSliderController
@Before @Before
fun setUp() { fun setUp() {
@@ -75,7 +75,7 @@ class BrightnessSliderTest : SysuiTestCase() {
whenever(mirrorController.toggleSlider).thenReturn(mirror) whenever(mirrorController.toggleSlider).thenReturn(mirror)
whenever(motionEvent.copy()).thenReturn(motionEvent) whenever(motionEvent.copy()).thenReturn(motionEvent)
mController = BrightnessSlider(brightnessSliderView, mFalsingManager) mController = BrightnessSliderController(brightnessSliderView, mFalsingManager)
mController.init() mController.init()
mController.setOnChangedListener(listener) mController.setOnChangedListener(listener)
} }

View File

@@ -96,7 +96,7 @@ import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
import com.android.systemui.plugins.PluginDependencyProvider; import com.android.systemui.plugins.PluginDependencyProvider;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.recents.ScreenPinningRequest; import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.settings.brightness.BrightnessSlider; import com.android.systemui.settings.brightness.BrightnessSliderController;
import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.KeyguardIndicationController; import com.android.systemui.statusbar.KeyguardIndicationController;
@@ -257,7 +257,7 @@ public class StatusBarTest extends SysuiTestCase {
@Mock private PhoneStatusBarPolicy mPhoneStatusBarPolicy; @Mock private PhoneStatusBarPolicy mPhoneStatusBarPolicy;
@Mock private DemoModeController mDemoModeController; @Mock private DemoModeController mDemoModeController;
@Mock private Lazy<NotificationShadeDepthController> mNotificationShadeDepthControllerLazy; @Mock private Lazy<NotificationShadeDepthController> mNotificationShadeDepthControllerLazy;
@Mock private BrightnessSlider.Factory mBrightnessSliderFactory; @Mock private BrightnessSliderController.Factory mBrightnessSliderFactory;
@Mock private UnfoldTransitionConfig mUnfoldTransitionConfig; @Mock private UnfoldTransitionConfig mUnfoldTransitionConfig;
@Mock private Lazy<UnfoldLightRevealOverlayAnimation> mUnfoldLightRevealOverlayAnimationLazy; @Mock private Lazy<UnfoldLightRevealOverlayAnimation> mUnfoldLightRevealOverlayAnimationLazy;
@Mock private Lazy<NaturalRotationUnfoldProgressProvider> mNaturalRotationProgressProvider; @Mock private Lazy<NaturalRotationUnfoldProgressProvider> mNaturalRotationProgressProvider;