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.R;
|
||||||
import com.android.systemui.classifier.Classifier;
|
import com.android.systemui.classifier.Classifier;
|
||||||
import com.android.systemui.plugins.FalsingManager;
|
import com.android.systemui.plugins.FalsingManager;
|
||||||
|
import com.android.systemui.statusbar.FeatureFlags;
|
||||||
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
|
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
|
||||||
import com.android.systemui.util.ViewController;
|
import com.android.systemui.util.ViewController;
|
||||||
|
|
||||||
@@ -52,7 +53,6 @@ public class BrightnessSlider extends ViewController<View> implements ToggleSlid
|
|||||||
private final BrightnessSliderView mBrightnessSliderView;
|
private final BrightnessSliderView mBrightnessSliderView;
|
||||||
private BrightnessMirrorController mMirrorController;
|
private BrightnessMirrorController mMirrorController;
|
||||||
private boolean mTracking;
|
private boolean mTracking;
|
||||||
private final boolean mUseMirror;
|
|
||||||
private final FalsingManager mFalsingManager;
|
private final FalsingManager mFalsingManager;
|
||||||
|
|
||||||
private final Gefingerpoken mOnInterceptListener = new Gefingerpoken() {
|
private final Gefingerpoken mOnInterceptListener = new Gefingerpoken() {
|
||||||
@@ -75,11 +75,9 @@ public class BrightnessSlider extends ViewController<View> implements ToggleSlid
|
|||||||
BrightnessSlider(
|
BrightnessSlider(
|
||||||
View rootView,
|
View rootView,
|
||||||
BrightnessSliderView brightnessSliderView,
|
BrightnessSliderView brightnessSliderView,
|
||||||
boolean useMirror,
|
|
||||||
FalsingManager falsingManager) {
|
FalsingManager falsingManager) {
|
||||||
super(rootView);
|
super(rootView);
|
||||||
mBrightnessSliderView = brightnessSliderView;
|
mBrightnessSliderView = brightnessSliderView;
|
||||||
mUseMirror = useMirror;
|
|
||||||
mFalsingManager = falsingManager;
|
mFalsingManager = falsingManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,7 +150,6 @@ public class BrightnessSlider extends ViewController<View> implements ToggleSlid
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setMirrorControllerAndMirror(BrightnessMirrorController c) {
|
public void setMirrorControllerAndMirror(BrightnessMirrorController c) {
|
||||||
if (!mUseMirror) return;
|
|
||||||
mMirrorController = c;
|
mMirrorController = c;
|
||||||
if (c != null) {
|
if (c != null) {
|
||||||
setMirror(c.getToggleSlider());
|
setMirror(c.getToggleSlider());
|
||||||
@@ -264,16 +261,16 @@ public class BrightnessSlider extends ViewController<View> implements ToggleSlid
|
|||||||
/**
|
/**
|
||||||
* Creates a {@link BrightnessSlider} with its associated view.
|
* 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 {
|
public static class Factory {
|
||||||
|
|
||||||
BrightnessControllerSettings mSettings;
|
final FeatureFlags mFeatureFlags;
|
||||||
private final FalsingManager mFalsingManager;
|
private final FalsingManager mFalsingManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public Factory(BrightnessControllerSettings settings, FalsingManager falsingManager) {
|
public Factory(FeatureFlags featureFlags, FalsingManager falsingManager) {
|
||||||
mSettings = settings;
|
mFeatureFlags = featureFlags;
|
||||||
mFalsingManager = falsingManager;
|
mFalsingManager = falsingManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,18 +285,18 @@ public class BrightnessSlider extends ViewController<View> implements ToggleSlid
|
|||||||
int layout = getLayout();
|
int layout = getLayout();
|
||||||
ViewGroup root = (ViewGroup) LayoutInflater.from(context)
|
ViewGroup root = (ViewGroup) LayoutInflater.from(context)
|
||||||
.inflate(layout, viewRoot, false);
|
.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);
|
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 */
|
/** Get the layout to inflate based on what slider to use */
|
||||||
private int getLayout() {
|
private int getLayout() {
|
||||||
return mSettings.useThickSlider()
|
return mFeatureFlags.useNewBrightnessSlider()
|
||||||
? R.layout.quick_settings_brightness_dialog_thick
|
? R.layout.quick_settings_brightness_dialog_thick
|
||||||
: R.layout.quick_settings_brightness_dialog;
|
: R.layout.quick_settings_brightness_dialog;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,7 +87,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(rootView, brightnessSliderView, true, mFalsingManager)
|
mController = BrightnessSlider(rootView, brightnessSliderView, mFalsingManager)
|
||||||
mController.init()
|
mController.init()
|
||||||
mController.setOnChangedListener(listener)
|
mController.setOnChangedListener(listener)
|
||||||
}
|
}
|
||||||
@@ -160,21 +160,6 @@ class BrightnessSliderTest : SysuiTestCase() {
|
|||||||
verify(brightnessSliderView).setOnDispatchTouchEventListener(notNull())
|
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
|
@Test
|
||||||
fun testSetCheckedRelayed_true() {
|
fun testSetCheckedRelayed_true() {
|
||||||
mController.isChecked = true
|
mController.isChecked = true
|
||||||
|
|||||||
Reference in New Issue
Block a user