Loading packages/SystemUI/src/com/android/systemui/Dependency.java +7 −3 Original line number Diff line number Diff line Loading @@ -44,14 +44,15 @@ import com.android.systemui.keyguard.WakefulnessLifecycle; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.PluginDependencyProvider; import com.android.systemui.plugins.PluginInitializerImpl; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.shared.plugins.PluginManagerImpl; import com.android.systemui.plugins.VolumeDialogController; import com.android.systemui.power.EnhancedEstimates; import com.android.systemui.power.EnhancedEstimatesImpl; import com.android.systemui.power.PowerNotificationWarnings; import com.android.systemui.power.PowerUI; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.shared.plugins.PluginManagerImpl; import com.android.systemui.statusbar.DisplayNavigationBarController; import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.VibratorHelper; import com.android.systemui.statusbar.notification.NotificationData.KeyguardEnvironment; Loading Loading @@ -362,6 +363,9 @@ public class Dependency extends SystemUI { mProviders.put(AppOpsController.class, () -> new AppOpsControllerImpl(mContext, getDependency(BG_LOOPER))); mProviders.put(DisplayNavigationBarController.class, () -> new DisplayNavigationBarController(mContext, getDependency(MAIN_HANDLER))); // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); Loading packages/SystemUI/src/com/android/systemui/statusbar/DisplayNavigationBarController.java 0 → 100644 +125 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 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.statusbar; import static android.view.Display.DEFAULT_DISPLAY; import android.content.Context; import android.hardware.display.DisplayManager; import android.hardware.display.DisplayManager.DisplayListener; import android.os.Handler; import android.util.SparseArray; import android.view.Display; import android.view.View; import android.view.WindowManagerGlobal; import com.android.systemui.statusbar.phone.NavigationBarFragment; /** * A controller to handle external navigation bars */ public class DisplayNavigationBarController implements DisplayListener { private final Context mContext; private final Handler mHandler; private final DisplayManager mDisplayManager; /** A displayId - nav bar mapping */ private SparseArray<NavigationBarFragment> mExternalNavigationBarMap = new SparseArray<>(); public DisplayNavigationBarController(Context context, Handler handler) { mContext = context; mHandler = handler; mDisplayManager = (DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE); registerListener(); } @Override public void onDisplayAdded(int displayId) { final Display display = mDisplayManager.getDisplay(displayId); addExternalNavigationBar(display); } @Override public void onDisplayRemoved(int displayId) { final NavigationBarFragment navBar = mExternalNavigationBarMap.get(displayId); if (navBar != null) { final View navigationView = navBar.getView().getRootView(); WindowManagerGlobal.getInstance().removeView(navigationView, true); mExternalNavigationBarMap.remove(displayId); } } @Override public void onDisplayChanged(int displayId) { } /** Create external navigation bars when car/status bar initializes */ public void createNavigationBars() { // Add external navigation bars if more than one displays exist. final Display[] displays = mDisplayManager.getDisplays(); for (Display display : displays) { addExternalNavigationBar(display); } } /** remove external navigation bars and unset everything related to external navigation bars */ public void destroy() { unregisterListener(); if (mExternalNavigationBarMap.size() > 0) { for (int i = 0; i < mExternalNavigationBarMap.size(); i++) { final View navigationWindow = mExternalNavigationBarMap.valueAt(i) .getView().getRootView(); WindowManagerGlobal.getInstance() .removeView(navigationWindow, true /* immediate */); } mExternalNavigationBarMap.clear(); } } private void registerListener() { mDisplayManager.registerDisplayListener(this, mHandler); } private void unregisterListener() { mDisplayManager.unregisterDisplayListener(this); } /** * Add a phone navigation bar on an external display if the display supports system decorations. * * @param display the display to add navigation bar on */ private void addExternalNavigationBar(Display display) { if (display == null || display.getDisplayId() == DEFAULT_DISPLAY || !display.supportsSystemDecorations()) { return; } final int displayId = display.getDisplayId(); final Context externalDisplayContext = mContext.createDisplayContext(display); NavigationBarFragment.create(externalDisplayContext, (tag, fragment) -> { final NavigationBarFragment navBar = (NavigationBarFragment) fragment; // TODO(b/115978725): handle external nav bars sysuiVisibility navBar.setCurrentSysuiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); mExternalNavigationBarMap.append(displayId, navBar); } ); } } packages/SystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +1 −8 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import android.car.drivingstate.CarDrivingStateEvent; import android.graphics.PixelFormat; import android.graphics.drawable.Drawable; import android.util.Log; import android.view.Display; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; Loading Loading @@ -269,13 +268,7 @@ public class CarStatusBar extends StatusBar implements buildNavBarContent(); attachNavBarWindows(); // Add external navigation bars if more than one displays exist. final Display[] displays = mDisplayManager.getDisplays(); for (Display display : displays) { // TODO(115978725): Add phone navigationBar for now addExternalNavigationBar(display); } mNavigationBarController.createNavigationBars(); } private void buildNavBarContent() { Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +5 −70 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ import static android.app.StatusBarManager.WINDOW_STATE_HIDDEN; import static android.app.StatusBarManager.WINDOW_STATE_SHOWING; import static android.app.StatusBarManager.windowStateToString; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN_OR_SPLIT_SCREEN_SECONDARY; import static android.view.Display.DEFAULT_DISPLAY; import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_ASLEEP; import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_AWAKE; Loading Loading @@ -72,7 +71,6 @@ import android.graphics.Point; import android.graphics.PointF; import android.graphics.Rect; import android.hardware.display.DisplayManager; import android.hardware.display.DisplayManager.DisplayListener; import android.media.AudioAttributes; import android.metrics.LogMaker; import android.net.Uri; Loading @@ -99,7 +97,6 @@ import android.util.DisplayMetrics; import android.util.EventLog; import android.util.Log; import android.util.Slog; import android.util.SparseArray; import android.view.Display; import android.view.IWindowManager; import android.view.KeyEvent; Loading Loading @@ -172,6 +169,7 @@ import com.android.systemui.statusbar.AmbientPulseManager; import com.android.systemui.statusbar.BackDropView; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.statusbar.DisplayNavigationBarController; import com.android.systemui.statusbar.EmptyShadeView; import com.android.systemui.statusbar.GestureRecorder; import com.android.systemui.statusbar.KeyboardShortcuts; Loading Loading @@ -567,32 +565,6 @@ public class StatusBar extends SystemUI implements DemoMode, private NavigationBarFragment mNavigationBar; private View mNavigationBarView; /** A displayId - nav bar mapping */ private SparseArray<NavigationBarFragment> mExternalNavigationBarMap = new SparseArray<>(); // TODO(b/115978725): Move it to DisplayNavigationBarController private final DisplayListener mDisplayListener = new DisplayListener() { @Override public void onDisplayAdded(int displayId) { final Display display = mDisplayManager.getDisplay(displayId); addExternalNavigationBar(display); } @Override public void onDisplayRemoved(int displayId) { final NavigationBarFragment navBar = mExternalNavigationBarMap.get(displayId); if (navBar != null) { final View navigationView = navBar.getView().getRootView(); WindowManagerGlobal.getInstance().removeView(navigationView, true); mExternalNavigationBarMap.remove(displayId); } } @Override public void onDisplayChanged(int displayId) { } }; private HeadsUpAppearanceController mHeadsUpAppearanceController; private boolean mVibrateOnOpening; private VibratorHelper mVibratorHelper; Loading Loading @@ -639,6 +611,7 @@ public class StatusBar extends SystemUI implements DemoMode, mKeyguardViewMediator = getComponent(KeyguardViewMediator.class); mColorExtractor = Dependency.get(SysuiColorExtractor.class); mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class); mNavigationBarController = Dependency.get(DisplayNavigationBarController.class); mColorExtractor.addOnColorsChangedListener(this); mStatusBarStateController.addListener(this, StatusBarStateController.RANK_STATUS_BAR); Loading @@ -650,9 +623,6 @@ public class StatusBar extends SystemUI implements DemoMode, mDisplay = mWindowManager.getDefaultDisplay(); updateDisplaySize(); // get display service to detect display status mDisplayManager = (DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE); Resources res = mContext.getResources(); mVibrateOnOpening = mContext.getResources().getBoolean( R.bool.config_vibrateOnIconAnimation); Loading Loading @@ -695,7 +665,6 @@ public class StatusBar extends SystemUI implements DemoMode, // If the system process isn't there we're doomed anyway. } mDisplayManager.registerDisplayListener(mDisplayListener, mHandler); createAndAddWindows(); // Make sure we always have the most current wallpaper info. Loading Loading @@ -1084,33 +1053,6 @@ public class StatusBar extends SystemUI implements DemoMode, } mNavigationBar.setCurrentSysuiVisibility(mSystemUiVisibility); }); // Add external navigation bars if more than one displays exist. final Display[] displays = mDisplayManager.getDisplays(); for (Display display : displays) { addExternalNavigationBar(display); } } /** * Add a phone navigation bar on an external display if the display supports system decorations. * * @param display the display to add navigation bar on */ protected void addExternalNavigationBar(Display display) { if (display == null || display.getDisplayId() == DEFAULT_DISPLAY || !display.supportsSystemDecorations()) { return; } final int displayId = display.getDisplayId(); final Context externalDisplayContext = mContext.createDisplayContext(display); NavigationBarFragment.create(externalDisplayContext, (tag, fragment) -> { final NavigationBarFragment navBar = (NavigationBarFragment) fragment; navBar.setCurrentSysuiVisibility(mSystemUiVisibility); mExternalNavigationBarMap.append(displayId, navBar); }); } /** Loading Loading @@ -2925,16 +2867,7 @@ public class StatusBar extends SystemUI implements DemoMode, mWindowManager.removeViewImmediate(mNavigationBarView); mNavigationBarView = null; } mDisplayManager.unregisterDisplayListener(mDisplayListener); if (mExternalNavigationBarMap.size() > 0) { for (int i = 0; i < mExternalNavigationBarMap.size(); i++) { final View navigationWindow = mExternalNavigationBarMap.valueAt(i) .getView().getRootView(); WindowManagerGlobal.getInstance() .removeView(navigationWindow, true /* immediate */); } mExternalNavigationBarMap.clear(); } mNavigationBarController.destroy(); mContext.unregisterReceiver(mBroadcastReceiver); mContext.unregisterReceiver(mDemoReceiver); mAssistManager.destroy(); Loading Loading @@ -4179,6 +4112,8 @@ public class StatusBar extends SystemUI implements DemoMode, private DeviceProvisionedController mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class); protected DisplayNavigationBarController mNavigationBarController; // UI-specific methods protected WindowManager mWindowManager; Loading Loading
packages/SystemUI/src/com/android/systemui/Dependency.java +7 −3 Original line number Diff line number Diff line Loading @@ -44,14 +44,15 @@ import com.android.systemui.keyguard.WakefulnessLifecycle; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.PluginDependencyProvider; import com.android.systemui.plugins.PluginInitializerImpl; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.shared.plugins.PluginManagerImpl; import com.android.systemui.plugins.VolumeDialogController; import com.android.systemui.power.EnhancedEstimates; import com.android.systemui.power.EnhancedEstimatesImpl; import com.android.systemui.power.PowerNotificationWarnings; import com.android.systemui.power.PowerUI; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.shared.plugins.PluginManagerImpl; import com.android.systemui.statusbar.DisplayNavigationBarController; import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.VibratorHelper; import com.android.systemui.statusbar.notification.NotificationData.KeyguardEnvironment; Loading Loading @@ -362,6 +363,9 @@ public class Dependency extends SystemUI { mProviders.put(AppOpsController.class, () -> new AppOpsControllerImpl(mContext, getDependency(BG_LOOPER))); mProviders.put(DisplayNavigationBarController.class, () -> new DisplayNavigationBarController(mContext, getDependency(MAIN_HANDLER))); // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); Loading
packages/SystemUI/src/com/android/systemui/statusbar/DisplayNavigationBarController.java 0 → 100644 +125 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 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.statusbar; import static android.view.Display.DEFAULT_DISPLAY; import android.content.Context; import android.hardware.display.DisplayManager; import android.hardware.display.DisplayManager.DisplayListener; import android.os.Handler; import android.util.SparseArray; import android.view.Display; import android.view.View; import android.view.WindowManagerGlobal; import com.android.systemui.statusbar.phone.NavigationBarFragment; /** * A controller to handle external navigation bars */ public class DisplayNavigationBarController implements DisplayListener { private final Context mContext; private final Handler mHandler; private final DisplayManager mDisplayManager; /** A displayId - nav bar mapping */ private SparseArray<NavigationBarFragment> mExternalNavigationBarMap = new SparseArray<>(); public DisplayNavigationBarController(Context context, Handler handler) { mContext = context; mHandler = handler; mDisplayManager = (DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE); registerListener(); } @Override public void onDisplayAdded(int displayId) { final Display display = mDisplayManager.getDisplay(displayId); addExternalNavigationBar(display); } @Override public void onDisplayRemoved(int displayId) { final NavigationBarFragment navBar = mExternalNavigationBarMap.get(displayId); if (navBar != null) { final View navigationView = navBar.getView().getRootView(); WindowManagerGlobal.getInstance().removeView(navigationView, true); mExternalNavigationBarMap.remove(displayId); } } @Override public void onDisplayChanged(int displayId) { } /** Create external navigation bars when car/status bar initializes */ public void createNavigationBars() { // Add external navigation bars if more than one displays exist. final Display[] displays = mDisplayManager.getDisplays(); for (Display display : displays) { addExternalNavigationBar(display); } } /** remove external navigation bars and unset everything related to external navigation bars */ public void destroy() { unregisterListener(); if (mExternalNavigationBarMap.size() > 0) { for (int i = 0; i < mExternalNavigationBarMap.size(); i++) { final View navigationWindow = mExternalNavigationBarMap.valueAt(i) .getView().getRootView(); WindowManagerGlobal.getInstance() .removeView(navigationWindow, true /* immediate */); } mExternalNavigationBarMap.clear(); } } private void registerListener() { mDisplayManager.registerDisplayListener(this, mHandler); } private void unregisterListener() { mDisplayManager.unregisterDisplayListener(this); } /** * Add a phone navigation bar on an external display if the display supports system decorations. * * @param display the display to add navigation bar on */ private void addExternalNavigationBar(Display display) { if (display == null || display.getDisplayId() == DEFAULT_DISPLAY || !display.supportsSystemDecorations()) { return; } final int displayId = display.getDisplayId(); final Context externalDisplayContext = mContext.createDisplayContext(display); NavigationBarFragment.create(externalDisplayContext, (tag, fragment) -> { final NavigationBarFragment navBar = (NavigationBarFragment) fragment; // TODO(b/115978725): handle external nav bars sysuiVisibility navBar.setCurrentSysuiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); mExternalNavigationBarMap.append(displayId, navBar); } ); } }
packages/SystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +1 −8 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import android.car.drivingstate.CarDrivingStateEvent; import android.graphics.PixelFormat; import android.graphics.drawable.Drawable; import android.util.Log; import android.view.Display; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; Loading Loading @@ -269,13 +268,7 @@ public class CarStatusBar extends StatusBar implements buildNavBarContent(); attachNavBarWindows(); // Add external navigation bars if more than one displays exist. final Display[] displays = mDisplayManager.getDisplays(); for (Display display : displays) { // TODO(115978725): Add phone navigationBar for now addExternalNavigationBar(display); } mNavigationBarController.createNavigationBars(); } private void buildNavBarContent() { Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +5 −70 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ import static android.app.StatusBarManager.WINDOW_STATE_HIDDEN; import static android.app.StatusBarManager.WINDOW_STATE_SHOWING; import static android.app.StatusBarManager.windowStateToString; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN_OR_SPLIT_SCREEN_SECONDARY; import static android.view.Display.DEFAULT_DISPLAY; import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_ASLEEP; import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_AWAKE; Loading Loading @@ -72,7 +71,6 @@ import android.graphics.Point; import android.graphics.PointF; import android.graphics.Rect; import android.hardware.display.DisplayManager; import android.hardware.display.DisplayManager.DisplayListener; import android.media.AudioAttributes; import android.metrics.LogMaker; import android.net.Uri; Loading @@ -99,7 +97,6 @@ import android.util.DisplayMetrics; import android.util.EventLog; import android.util.Log; import android.util.Slog; import android.util.SparseArray; import android.view.Display; import android.view.IWindowManager; import android.view.KeyEvent; Loading Loading @@ -172,6 +169,7 @@ import com.android.systemui.statusbar.AmbientPulseManager; import com.android.systemui.statusbar.BackDropView; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.statusbar.DisplayNavigationBarController; import com.android.systemui.statusbar.EmptyShadeView; import com.android.systemui.statusbar.GestureRecorder; import com.android.systemui.statusbar.KeyboardShortcuts; Loading Loading @@ -567,32 +565,6 @@ public class StatusBar extends SystemUI implements DemoMode, private NavigationBarFragment mNavigationBar; private View mNavigationBarView; /** A displayId - nav bar mapping */ private SparseArray<NavigationBarFragment> mExternalNavigationBarMap = new SparseArray<>(); // TODO(b/115978725): Move it to DisplayNavigationBarController private final DisplayListener mDisplayListener = new DisplayListener() { @Override public void onDisplayAdded(int displayId) { final Display display = mDisplayManager.getDisplay(displayId); addExternalNavigationBar(display); } @Override public void onDisplayRemoved(int displayId) { final NavigationBarFragment navBar = mExternalNavigationBarMap.get(displayId); if (navBar != null) { final View navigationView = navBar.getView().getRootView(); WindowManagerGlobal.getInstance().removeView(navigationView, true); mExternalNavigationBarMap.remove(displayId); } } @Override public void onDisplayChanged(int displayId) { } }; private HeadsUpAppearanceController mHeadsUpAppearanceController; private boolean mVibrateOnOpening; private VibratorHelper mVibratorHelper; Loading Loading @@ -639,6 +611,7 @@ public class StatusBar extends SystemUI implements DemoMode, mKeyguardViewMediator = getComponent(KeyguardViewMediator.class); mColorExtractor = Dependency.get(SysuiColorExtractor.class); mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class); mNavigationBarController = Dependency.get(DisplayNavigationBarController.class); mColorExtractor.addOnColorsChangedListener(this); mStatusBarStateController.addListener(this, StatusBarStateController.RANK_STATUS_BAR); Loading @@ -650,9 +623,6 @@ public class StatusBar extends SystemUI implements DemoMode, mDisplay = mWindowManager.getDefaultDisplay(); updateDisplaySize(); // get display service to detect display status mDisplayManager = (DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE); Resources res = mContext.getResources(); mVibrateOnOpening = mContext.getResources().getBoolean( R.bool.config_vibrateOnIconAnimation); Loading Loading @@ -695,7 +665,6 @@ public class StatusBar extends SystemUI implements DemoMode, // If the system process isn't there we're doomed anyway. } mDisplayManager.registerDisplayListener(mDisplayListener, mHandler); createAndAddWindows(); // Make sure we always have the most current wallpaper info. Loading Loading @@ -1084,33 +1053,6 @@ public class StatusBar extends SystemUI implements DemoMode, } mNavigationBar.setCurrentSysuiVisibility(mSystemUiVisibility); }); // Add external navigation bars if more than one displays exist. final Display[] displays = mDisplayManager.getDisplays(); for (Display display : displays) { addExternalNavigationBar(display); } } /** * Add a phone navigation bar on an external display if the display supports system decorations. * * @param display the display to add navigation bar on */ protected void addExternalNavigationBar(Display display) { if (display == null || display.getDisplayId() == DEFAULT_DISPLAY || !display.supportsSystemDecorations()) { return; } final int displayId = display.getDisplayId(); final Context externalDisplayContext = mContext.createDisplayContext(display); NavigationBarFragment.create(externalDisplayContext, (tag, fragment) -> { final NavigationBarFragment navBar = (NavigationBarFragment) fragment; navBar.setCurrentSysuiVisibility(mSystemUiVisibility); mExternalNavigationBarMap.append(displayId, navBar); }); } /** Loading Loading @@ -2925,16 +2867,7 @@ public class StatusBar extends SystemUI implements DemoMode, mWindowManager.removeViewImmediate(mNavigationBarView); mNavigationBarView = null; } mDisplayManager.unregisterDisplayListener(mDisplayListener); if (mExternalNavigationBarMap.size() > 0) { for (int i = 0; i < mExternalNavigationBarMap.size(); i++) { final View navigationWindow = mExternalNavigationBarMap.valueAt(i) .getView().getRootView(); WindowManagerGlobal.getInstance() .removeView(navigationWindow, true /* immediate */); } mExternalNavigationBarMap.clear(); } mNavigationBarController.destroy(); mContext.unregisterReceiver(mBroadcastReceiver); mContext.unregisterReceiver(mDemoReceiver); mAssistManager.destroy(); Loading Loading @@ -4179,6 +4112,8 @@ public class StatusBar extends SystemUI implements DemoMode, private DeviceProvisionedController mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class); protected DisplayNavigationBarController mNavigationBarController; // UI-specific methods protected WindowManager mWindowManager; Loading