diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index f713e440a30b2..c4e96811011ff 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -269,7 +269,8 @@ import javax.inject.Provider; import dagger.Lazy; -public class StatusBar extends SystemUI implements DemoMode, +/** */ +public class StatusBar extends SystemUI implements ActivityStarter, KeyguardStateController.Callback, OnHeadsUpChangedListener, CommandQueue.Callbacks, ColorExtractor.OnColorsChangedListener, ConfigurationListener, @@ -719,6 +720,60 @@ public class StatusBar extends SystemUI implements DemoMode, private NotificationStackScrollLayoutController mStackScrollerController; private BatteryMeterViewController mBatteryMeterViewController; + private final DemoMode mDemoMode = new DemoMode() { + + @Override + public List demoCommands() { + List s = new ArrayList<>(); + s.add(DemoMode.COMMAND_BARS); + s.add(DemoMode.COMMAND_CLOCK); + s.add(DemoMode.COMMAND_OPERATOR); + return s; + } + + @Override + public void onDemoModeStarted() { + // Must send this message to any view that we delegate to via dispatchDemoCommandToView + dispatchDemoModeStartedToView(R.id.clock); + dispatchDemoModeStartedToView(R.id.operator_name); + } + + @Override + public void onDemoModeFinished() { + dispatchDemoModeFinishedToView(R.id.clock); + dispatchDemoModeFinishedToView(R.id.operator_name); + checkBarModes(); + } + + @Override + public void dispatchDemoCommand(String command, @NonNull Bundle args) { + if (command.equals(COMMAND_CLOCK)) { + dispatchDemoCommandToView(command, args, R.id.clock); + } + if (command.equals(COMMAND_BARS)) { + String mode = args.getString("mode"); + int barMode = "opaque".equals(mode) ? MODE_OPAQUE : + "translucent".equals(mode) ? MODE_TRANSLUCENT : + "semi-transparent".equals(mode) ? MODE_SEMI_TRANSPARENT : + "transparent".equals(mode) ? MODE_TRANSPARENT : + "warning".equals(mode) ? MODE_WARNING : + -1; + if (barMode != -1) { + boolean animate = true; + if (mNotificationShadeWindowController != null + && mNotificationShadeWindowViewController.getBarTransitions() != null) { + mNotificationShadeWindowViewController.getBarTransitions().transitionTo( + barMode, animate); + } + mNavigationBarController.transitionTo(mDisplayId, barMode, animate); + } + } + if (command.equals(COMMAND_OPERATOR)) { + dispatchDemoCommandToView(command, args, R.id.operator_name); + } + } + }; + /** * Public constructor for StatusBar. * @@ -974,7 +1029,7 @@ public class StatusBar extends SystemUI implements DemoMode, mCommandQueue.addCallback(this); // Listen for demo mode changes - mDemoModeController.addCallback(this); + mDemoModeController.addCallback(mDemoMode); RegisterStatusBarResult result = null; try { @@ -3382,56 +3437,6 @@ public class StatusBar extends SystemUI implements DemoMode, delay); } - @Override - public List demoCommands() { - List s = new ArrayList<>(); - s.add(DemoMode.COMMAND_BARS); - s.add(DemoMode.COMMAND_CLOCK); - s.add(DemoMode.COMMAND_OPERATOR); - return s; - } - - @Override - public void onDemoModeStarted() { - // Must send this message to any view that we delegate to via dispatchDemoCommandToView - dispatchDemoModeStartedToView(R.id.clock); - dispatchDemoModeStartedToView(R.id.operator_name); - } - - @Override - public void onDemoModeFinished() { - dispatchDemoModeFinishedToView(R.id.clock); - dispatchDemoModeFinishedToView(R.id.operator_name); - checkBarModes(); - } - - @Override - public void dispatchDemoCommand(String command, @NonNull Bundle args) { - if (command.equals(COMMAND_CLOCK)) { - dispatchDemoCommandToView(command, args, R.id.clock); - } - if (command.equals(COMMAND_BARS)) { - String mode = args.getString("mode"); - int barMode = "opaque".equals(mode) ? MODE_OPAQUE : - "translucent".equals(mode) ? MODE_TRANSLUCENT : - "semi-transparent".equals(mode) ? MODE_SEMI_TRANSPARENT : - "transparent".equals(mode) ? MODE_TRANSPARENT : - "warning".equals(mode) ? MODE_WARNING : - -1; - if (barMode != -1) { - boolean animate = true; - if (mNotificationShadeWindowController != null - && mNotificationShadeWindowViewController.getBarTransitions() != null) { - mNotificationShadeWindowViewController.getBarTransitions().transitionTo( - barMode, animate); - } - mNavigationBarController.transitionTo(mDisplayId, barMode, animate); - } - } - if (command.equals(COMMAND_OPERATOR)) { - dispatchDemoCommandToView(command, args, R.id.operator_name); - } - } //TODO: these should have controllers, and this method should be removed private void dispatchDemoCommandToView(String command, Bundle args, int id) {