Merge "Re-enable mirror for brightness slider" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
5225e0eafe
@@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2020 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.systemui.settings.brightness;
|
||||
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
import com.android.systemui.statusbar.FeatureFlags;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
* Settings for prototyping thick brightness slider
|
||||
*/
|
||||
@SysUISingleton
|
||||
public class BrightnessControllerSettings {
|
||||
|
||||
private static final String THICK_BRIGHTNESS_SLIDER = "sysui_thick_brightness";
|
||||
private final FeatureFlags mFeatureFlags;
|
||||
|
||||
@Inject
|
||||
public BrightnessControllerSettings(FeatureFlags featureFlags) {
|
||||
mFeatureFlags = featureFlags;
|
||||
}
|
||||
|
||||
// Changing this setting between zero and non-zero may crash systemui down the line. Better to
|
||||
// restart systemui after changing it.
|
||||
/** */
|
||||
boolean useThickSlider() {
|
||||
return mFeatureFlags.useNewBrightnessSlider();
|
||||
}
|
||||
|
||||
/** */
|
||||
boolean useMirrorOnThickSlider() {
|
||||
return !useThickSlider();
|
||||
}
|
||||
}
|
||||
@@ -31,6 +31,7 @@ import com.android.systemui.Gefingerpoken;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.classifier.Classifier;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.statusbar.FeatureFlags;
|
||||
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
|
||||
import com.android.systemui.util.ViewController;
|
||||
|
||||
@@ -52,7 +53,6 @@ public class BrightnessSlider extends ViewController<View> implements ToggleSlid
|
||||
private final BrightnessSliderView mBrightnessSliderView;
|
||||
private BrightnessMirrorController mMirrorController;
|
||||
private boolean mTracking;
|
||||
private final boolean mUseMirror;
|
||||
private final FalsingManager mFalsingManager;
|
||||
|
||||
private final Gefingerpoken mOnInterceptListener = new Gefingerpoken() {
|
||||
@@ -75,11 +75,9 @@ public class BrightnessSlider extends ViewController<View> implements ToggleSlid
|
||||
BrightnessSlider(
|
||||
View rootView,
|
||||
BrightnessSliderView brightnessSliderView,
|
||||
boolean useMirror,
|
||||
FalsingManager falsingManager) {
|
||||
super(rootView);
|
||||
mBrightnessSliderView = brightnessSliderView;
|
||||
mUseMirror = useMirror;
|
||||
mFalsingManager = falsingManager;
|
||||
}
|
||||
|
||||
@@ -152,7 +150,6 @@ public class BrightnessSlider extends ViewController<View> implements ToggleSlid
|
||||
*/
|
||||
@Override
|
||||
public void setMirrorControllerAndMirror(BrightnessMirrorController c) {
|
||||
if (!mUseMirror) return;
|
||||
mMirrorController = c;
|
||||
if (c != null) {
|
||||
setMirror(c.getToggleSlider());
|
||||
@@ -264,16 +261,16 @@ public class BrightnessSlider extends ViewController<View> implements ToggleSlid
|
||||
/**
|
||||
* Creates a {@link BrightnessSlider} with its associated view.
|
||||
*
|
||||
* The views inflated are determined by {@link BrightnessControllerSettings#useThickSlider()}.
|
||||
* The views inflated are determined by {@link FeatureFlags#useNewBrightnessSlider()}.
|
||||
*/
|
||||
public static class Factory {
|
||||
|
||||
BrightnessControllerSettings mSettings;
|
||||
final FeatureFlags mFeatureFlags;
|
||||
private final FalsingManager mFalsingManager;
|
||||
|
||||
@Inject
|
||||
public Factory(BrightnessControllerSettings settings, FalsingManager falsingManager) {
|
||||
mSettings = settings;
|
||||
public Factory(FeatureFlags featureFlags, FalsingManager falsingManager) {
|
||||
mFeatureFlags = featureFlags;
|
||||
mFalsingManager = falsingManager;
|
||||
}
|
||||
|
||||
@@ -288,18 +285,18 @@ public class BrightnessSlider extends ViewController<View> implements ToggleSlid
|
||||
int layout = getLayout();
|
||||
ViewGroup root = (ViewGroup) LayoutInflater.from(context)
|
||||
.inflate(layout, viewRoot, false);
|
||||
return fromTree(root, mSettings.useMirrorOnThickSlider());
|
||||
return fromTree(root);
|
||||
}
|
||||
|
||||
private BrightnessSlider fromTree(ViewGroup root, boolean useMirror) {
|
||||
private BrightnessSlider fromTree(ViewGroup root) {
|
||||
BrightnessSliderView v = root.requireViewById(R.id.brightness_slider);
|
||||
|
||||
return new BrightnessSlider(root, v, useMirror, mFalsingManager);
|
||||
return new BrightnessSlider(root, v, mFalsingManager);
|
||||
}
|
||||
|
||||
/** Get the layout to inflate based on what slider to use */
|
||||
private int getLayout() {
|
||||
return mSettings.useThickSlider()
|
||||
return mFeatureFlags.useNewBrightnessSlider()
|
||||
? R.layout.quick_settings_brightness_dialog_thick
|
||||
: R.layout.quick_settings_brightness_dialog;
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ class BrightnessSliderTest : SysuiTestCase() {
|
||||
whenever(mirrorController.toggleSlider).thenReturn(mirror)
|
||||
whenever(motionEvent.copy()).thenReturn(motionEvent)
|
||||
|
||||
mController = BrightnessSlider(rootView, brightnessSliderView, true, mFalsingManager)
|
||||
mController = BrightnessSlider(rootView, brightnessSliderView, mFalsingManager)
|
||||
mController.init()
|
||||
mController.setOnChangedListener(listener)
|
||||
}
|
||||
@@ -160,21 +160,6 @@ class BrightnessSliderTest : SysuiTestCase() {
|
||||
verify(brightnessSliderView).setOnDispatchTouchEventListener(notNull())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testSettingMirrorWhenNotUseMirrorIsNoOp() {
|
||||
val otherController = BrightnessSlider(
|
||||
rootView, brightnessSliderView, false, mFalsingManager)
|
||||
otherController.init()
|
||||
|
||||
otherController.setMirrorControllerAndMirror(mirrorController)
|
||||
|
||||
verify(brightnessSliderView, never()).max
|
||||
verify(brightnessSliderView, never()).value
|
||||
verify(brightnessSliderView, never()).isChecked
|
||||
verify(brightnessSliderView, never()).setOnDispatchTouchEventListener(
|
||||
any(BrightnessSliderView.DispatchTouchEventListener::class.java))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testSetCheckedRelayed_true() {
|
||||
mController.isChecked = true
|
||||
|
||||
Reference in New Issue
Block a user