Merge "Re-enable mirror for brightness slider" into sc-dev

This commit is contained in:
Fabian Kozynski
2021-03-31 15:52:41 +00:00
committed by Android (Google) Code Review
3 changed files with 10 additions and 77 deletions

View File

@@ -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();
}
}

View File

@@ -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;
}

View File

@@ -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