Loading packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +29 −8 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ import com.android.systemui.qs.external.CustomTile; import com.android.systemui.settings.BrightnessController; import com.android.systemui.settings.ToggleSliderView; import com.android.systemui.statusbar.policy.BrightnessMirrorController; import com.android.systemui.statusbar.policy.BrightnessMirrorController.BrightnessMirrorListener; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; Loading @@ -53,7 +54,7 @@ import java.util.ArrayList; import java.util.Collection; /** View that represents the quick settings tile panel. **/ public class QSPanel extends LinearLayout implements Tunable, Callback { public class QSPanel extends LinearLayout implements Tunable, Callback, BrightnessMirrorListener { public static final String QS_SHOW_BRIGHTNESS = "qs_show_brightness"; Loading Loading @@ -152,6 +153,9 @@ public class QSPanel extends LinearLayout implements Tunable, Callback { if (mHost != null) { setTiles(mHost.getTiles()); } if (mBrightnessMirrorController != null) { mBrightnessMirrorController.addCallback(this); } } @Override Loading @@ -163,6 +167,9 @@ public class QSPanel extends LinearLayout implements Tunable, Callback { for (TileRecord record : mRecords) { record.tile.removeCallbacks(); } if (mBrightnessMirrorController != null) { mBrightnessMirrorController.removeCallback(this); } super.onDetachedFromWindow(); } Loading Loading @@ -194,12 +201,19 @@ public class QSPanel extends LinearLayout implements Tunable, Callback { } public void setBrightnessMirror(BrightnessMirrorController c) { if (mBrightnessMirrorController != null) { mBrightnessMirrorController.removeCallback(this); } mBrightnessMirrorController = c; ToggleSliderView brightnessSlider = findViewById(R.id.brightness_slider); ToggleSliderView mirror = c.getMirror().findViewById( R.id.brightness_slider); brightnessSlider.setMirror(mirror); brightnessSlider.setMirrorController(c); if (mBrightnessMirrorController != null) { mBrightnessMirrorController.addCallback(this); } updateBrightnessMirror(); } @Override public void onBrightnessMirrorReinflated(View brightnessMirror) { updateBrightnessMirror(); } View getBrightnessView() { Loading Loading @@ -246,9 +260,16 @@ public class QSPanel extends LinearLayout implements Tunable, Callback { super.onConfigurationChanged(newConfig); mFooter.onConfigurationChanged(); updateBrightnessMirror(); } public void updateBrightnessMirror() { if (mBrightnessMirrorController != null) { // Reload the mirror in case it got reinflated but we didn't. setBrightnessMirror(mBrightnessMirrorController); ToggleSliderView brightnessSlider = findViewById(R.id.brightness_slider); ToggleSliderView mirrorSlider = mBrightnessMirrorController.getMirror() .findViewById(R.id.brightness_slider); brightnessSlider.setMirror(mirrorSlider); brightnessSlider.setMirrorController(mBrightnessMirrorController); } } Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java +24 −2 Original line number Diff line number Diff line Loading @@ -16,14 +16,15 @@ package com.android.systemui.statusbar.policy; import android.util.ArraySet; import android.view.LayoutInflater; import android.view.View; import android.view.ViewPropertyAnimator; import android.widget.FrameLayout; import com.android.internal.util.Preconditions; import com.android.systemui.Interpolators; import com.android.systemui.R; import com.android.systemui.statusbar.ScrimView; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBarWindowView; import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; Loading @@ -31,7 +32,8 @@ import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; /** * Controls showing and hiding of the brightness mirror. */ public class BrightnessMirrorController { public class BrightnessMirrorController implements CallbackController<BrightnessMirrorController.BrightnessMirrorListener> { private final NotificationStackScrollLayout mStackScroller; public long TRANSITION_DURATION_OUT = 150; Loading @@ -40,6 +42,7 @@ public class BrightnessMirrorController { private final StatusBarWindowView mStatusBarWindow; private final ScrimController mScrimController; private final View mNotificationPanel; private final ArraySet<BrightnessMirrorListener> mBrightnessMirrorListeners = new ArraySet<>(); private final int[] mInt2Cache = new int[2]; private View mBrightnessMirror; Loading Loading @@ -130,5 +133,24 @@ public class BrightnessMirrorController { mBrightnessMirror = LayoutInflater.from(mBrightnessMirror.getContext()).inflate( R.layout.brightness_mirror, mStatusBarWindow, false); mStatusBarWindow.addView(mBrightnessMirror, index); for (int i = 0; i < mBrightnessMirrorListeners.size(); i++) { mBrightnessMirrorListeners.valueAt(i).onBrightnessMirrorReinflated(mBrightnessMirror); } } @Override public void addCallback(BrightnessMirrorListener listener) { Preconditions.checkNotNull(listener); mBrightnessMirrorListeners.add(listener); } @Override public void removeCallback(BrightnessMirrorListener listener) { mBrightnessMirrorListeners.remove(listener); } public interface BrightnessMirrorListener { void onBrightnessMirrorReinflated(View brightnessMirror); } } Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +29 −8 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ import com.android.systemui.qs.external.CustomTile; import com.android.systemui.settings.BrightnessController; import com.android.systemui.settings.ToggleSliderView; import com.android.systemui.statusbar.policy.BrightnessMirrorController; import com.android.systemui.statusbar.policy.BrightnessMirrorController.BrightnessMirrorListener; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; Loading @@ -53,7 +54,7 @@ import java.util.ArrayList; import java.util.Collection; /** View that represents the quick settings tile panel. **/ public class QSPanel extends LinearLayout implements Tunable, Callback { public class QSPanel extends LinearLayout implements Tunable, Callback, BrightnessMirrorListener { public static final String QS_SHOW_BRIGHTNESS = "qs_show_brightness"; Loading Loading @@ -152,6 +153,9 @@ public class QSPanel extends LinearLayout implements Tunable, Callback { if (mHost != null) { setTiles(mHost.getTiles()); } if (mBrightnessMirrorController != null) { mBrightnessMirrorController.addCallback(this); } } @Override Loading @@ -163,6 +167,9 @@ public class QSPanel extends LinearLayout implements Tunable, Callback { for (TileRecord record : mRecords) { record.tile.removeCallbacks(); } if (mBrightnessMirrorController != null) { mBrightnessMirrorController.removeCallback(this); } super.onDetachedFromWindow(); } Loading Loading @@ -194,12 +201,19 @@ public class QSPanel extends LinearLayout implements Tunable, Callback { } public void setBrightnessMirror(BrightnessMirrorController c) { if (mBrightnessMirrorController != null) { mBrightnessMirrorController.removeCallback(this); } mBrightnessMirrorController = c; ToggleSliderView brightnessSlider = findViewById(R.id.brightness_slider); ToggleSliderView mirror = c.getMirror().findViewById( R.id.brightness_slider); brightnessSlider.setMirror(mirror); brightnessSlider.setMirrorController(c); if (mBrightnessMirrorController != null) { mBrightnessMirrorController.addCallback(this); } updateBrightnessMirror(); } @Override public void onBrightnessMirrorReinflated(View brightnessMirror) { updateBrightnessMirror(); } View getBrightnessView() { Loading Loading @@ -246,9 +260,16 @@ public class QSPanel extends LinearLayout implements Tunable, Callback { super.onConfigurationChanged(newConfig); mFooter.onConfigurationChanged(); updateBrightnessMirror(); } public void updateBrightnessMirror() { if (mBrightnessMirrorController != null) { // Reload the mirror in case it got reinflated but we didn't. setBrightnessMirror(mBrightnessMirrorController); ToggleSliderView brightnessSlider = findViewById(R.id.brightness_slider); ToggleSliderView mirrorSlider = mBrightnessMirrorController.getMirror() .findViewById(R.id.brightness_slider); brightnessSlider.setMirror(mirrorSlider); brightnessSlider.setMirrorController(mBrightnessMirrorController); } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java +24 −2 Original line number Diff line number Diff line Loading @@ -16,14 +16,15 @@ package com.android.systemui.statusbar.policy; import android.util.ArraySet; import android.view.LayoutInflater; import android.view.View; import android.view.ViewPropertyAnimator; import android.widget.FrameLayout; import com.android.internal.util.Preconditions; import com.android.systemui.Interpolators; import com.android.systemui.R; import com.android.systemui.statusbar.ScrimView; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBarWindowView; import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; Loading @@ -31,7 +32,8 @@ import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; /** * Controls showing and hiding of the brightness mirror. */ public class BrightnessMirrorController { public class BrightnessMirrorController implements CallbackController<BrightnessMirrorController.BrightnessMirrorListener> { private final NotificationStackScrollLayout mStackScroller; public long TRANSITION_DURATION_OUT = 150; Loading @@ -40,6 +42,7 @@ public class BrightnessMirrorController { private final StatusBarWindowView mStatusBarWindow; private final ScrimController mScrimController; private final View mNotificationPanel; private final ArraySet<BrightnessMirrorListener> mBrightnessMirrorListeners = new ArraySet<>(); private final int[] mInt2Cache = new int[2]; private View mBrightnessMirror; Loading Loading @@ -130,5 +133,24 @@ public class BrightnessMirrorController { mBrightnessMirror = LayoutInflater.from(mBrightnessMirror.getContext()).inflate( R.layout.brightness_mirror, mStatusBarWindow, false); mStatusBarWindow.addView(mBrightnessMirror, index); for (int i = 0; i < mBrightnessMirrorListeners.size(); i++) { mBrightnessMirrorListeners.valueAt(i).onBrightnessMirrorReinflated(mBrightnessMirror); } } @Override public void addCallback(BrightnessMirrorListener listener) { Preconditions.checkNotNull(listener); mBrightnessMirrorListeners.add(listener); } @Override public void removeCallback(BrightnessMirrorListener listener) { mBrightnessMirrorListeners.remove(listener); } public interface BrightnessMirrorListener { void onBrightnessMirrorReinflated(View brightnessMirror); } }