Loading packages/CarSystemUI/res/layout/sysui_primary_window.xml +7 −0 Original line number Diff line number Diff line Loading @@ -15,9 +15,16 @@ ~ limitations under the License. --> <!-- Fullscreen views in sysui should be listed here in increasing Z order. --> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@android:color/transparent" android:layout_width="match_parent" android:layout_height="match_parent"> <ViewStub android:id="@+id/fullscreen_user_switcher_stub" android:layout_width="match_parent" android:layout_height="match_parent" android:layout="@layout/car_fullscreen_user_switcher"/> </FrameLayout> No newline at end of file packages/CarSystemUI/src/com/android/systemui/car/SystemUIPrimaryWindowController.java +19 −3 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ public class SystemUIPrimaryWindowController implements private ViewGroup mBaseLayout; private WindowManager.LayoutParams mLp; private WindowManager.LayoutParams mLpChanged; private boolean mIsAttached = false; @Inject public SystemUIPrimaryWindowController( Loading Loading @@ -86,8 +87,17 @@ public class SystemUIPrimaryWindowController implements return mBaseLayout; } /** Returns {@code true} if the window is already attached. */ public boolean isAttached() { return mIsAttached; } /** Attaches the window to the window manager. */ public void attach() { if (mIsAttached) { return; } mIsAttached = true; // Now that the status bar window encompasses the sliding panel and its // translucent backdrop, the entire thing is made TRANSLUCENT and is // hardware-accelerated. Loading @@ -98,13 +108,14 @@ public class SystemUIPrimaryWindowController implements WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, PixelFormat.TRANSLUCENT); mLp.token = new Binder(); mLp.gravity = Gravity.TOP; mLp.setFitWindowInsetsTypes(/* types= */ 0); mLp.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE; mLp.setTitle("NotificationShade"); mLp.setTitle("SystemUIPrimaryWindow"); mLp.packageName = mContext.getPackageName(); mLp.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS; Loading @@ -118,8 +129,11 @@ public class SystemUIPrimaryWindowController implements // TODO: Update this so that the windowing type gets the full height of the display // when we use MATCH_PARENT. mLpChanged.height = mDisplayHeight + mNavBarHeight; mLpChanged.flags &= ~WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE; } else { mLpChanged.height = mStatusBarHeight; // TODO: Allow touches to go through to the status bar to handle notification panel. mLpChanged.flags |= WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE; } updateWindow(); } Loading @@ -131,7 +145,9 @@ public class SystemUIPrimaryWindowController implements private void updateWindow() { if (mLp != null && mLp.copyFrom(mLpChanged) != 0) { if (isAttached()) { mWindowManager.updateViewLayout(mBaseLayout, mLp); } } } } packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +19 −41 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ import com.android.systemui.bubbles.BubbleController; import com.android.systemui.car.CarDeviceProvisionedController; import com.android.systemui.car.CarDeviceProvisionedListener; import com.android.systemui.car.CarServiceProvider; import com.android.systemui.car.SystemUIPrimaryWindowController; import com.android.systemui.classifier.FalsingLog; import com.android.systemui.colorextraction.SysuiColorExtractor; import com.android.systemui.dagger.qualifiers.UiBackground; Loading Loading @@ -168,6 +169,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt // acceleration rate for the fling animation private static final float FLING_SPEED_UP_FACTOR = 0.6f; private final UserSwitcherController mUserSwitcherController; private final ScrimController mScrimController; private final LockscreenLockIconController mLockscreenLockIconController; Loading @@ -177,17 +179,16 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt private float mBackgroundAlphaDiff; private float mInitialBackgroundAlpha; private final Lazy<FullscreenUserSwitcher> mFullscreenUserSwitcherLazy; private FullscreenUserSwitcher mFullscreenUserSwitcher; private CarBatteryController mCarBatteryController; private BatteryMeterView mBatteryMeterView; private Drawable mNotificationPanelBackground; private final Object mQueueLock = new Object(); private final SystemUIPrimaryWindowController mSystemUIPrimaryWindowController; private final CarNavigationBarController mCarNavigationBarController; private final FlingAnimationUtils.Builder mFlingAnimationUtilsBuilder; private final Lazy<PowerManagerHelper> mPowerManagerHelperLazy; private final FullscreenUserSwitcher mFullscreenUserSwitcher; private final ShadeController mShadeController; private final CarServiceProvider mCarServiceProvider; private final CarDeviceProvisionedController mCarDeviceProvisionedController; Loading Loading @@ -338,7 +339,8 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt /* Car Settings injected components. */ CarServiceProvider carServiceProvider, Lazy<PowerManagerHelper> powerManagerHelperLazy, Lazy<FullscreenUserSwitcher> fullscreenUserSwitcherLazy, FullscreenUserSwitcher fullscreenUserSwitcher, SystemUIPrimaryWindowController systemUIPrimaryWindowController, CarNavigationBarController carNavigationBarController, FlingAnimationUtils.Builder flingAnimationUtilsBuilder) { super( Loading Loading @@ -422,6 +424,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt userInfoControllerImpl, notificationRowBinder, dismissCallbackRegistry); mUserSwitcherController = userSwitcherController; mScrimController = scrimController; mLockscreenLockIconController = lockscreenLockIconController; mCarDeviceProvisionedController = Loading @@ -429,7 +432,8 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt mShadeController = shadeController; mCarServiceProvider = carServiceProvider; mPowerManagerHelperLazy = powerManagerHelperLazy; mFullscreenUserSwitcherLazy = fullscreenUserSwitcherLazy; mFullscreenUserSwitcher = fullscreenUserSwitcher; mSystemUIPrimaryWindowController = systemUIPrimaryWindowController; mCarNavigationBarController = carNavigationBarController; mFlingAnimationUtilsBuilder = flingAnimationUtilsBuilder; } Loading @@ -444,6 +448,13 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt mScreenLifecycle = Dependency.get(ScreenLifecycle.class); mScreenLifecycle.addObserver(mScreenObserver); // TODO: Remove the setup of user switcher from Car Status Bar. mSystemUIPrimaryWindowController.attach(); mFullscreenUserSwitcher.setStatusBar(this); mFullscreenUserSwitcher.setContainer( mSystemUIPrimaryWindowController.getBaseLayout().findViewById( R.id.fullscreen_user_switcher_stub)); // Notification bar related setup. mInitialBackgroundAlpha = (float) mContext.getResources().getInteger( R.integer.config_initialNotificationBackgroundAlpha) / 100; Loading Loading @@ -510,16 +521,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt }); } /** * Allows for showing or hiding just the navigation bars. This is indented to be used when * the full screen user selector is shown. */ void setNavBarVisibility(@View.Visibility int visibility) { mCarNavigationBarController.setBottomWindowVisibility(visibility); mCarNavigationBarController.setLeftWindowVisibility(visibility); mCarNavigationBarController.setRightWindowVisibility(visibility); } @Override public boolean hideKeyguard() { boolean result = super.hideKeyguard(); Loading Loading @@ -924,9 +925,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt + " scroll " + mStackScroller.getScrollX() + "," + mStackScroller.getScrollY()); } pw.print(" mFullscreenUserSwitcher="); pw.println(mFullscreenUserSwitcher); pw.print(" mCarBatteryController="); pw.println(mCarBatteryController); pw.print(" mBatteryMeterView="); Loading Loading @@ -972,14 +970,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt @Override protected void createUserSwitcher() { UserSwitcherController userSwitcherController = Dependency.get(UserSwitcherController.class); if (userSwitcherController.useFullscreenUserSwitcher()) { mFullscreenUserSwitcher = mFullscreenUserSwitcherLazy.get(); mFullscreenUserSwitcher.setStatusBar(this); mFullscreenUserSwitcher.setContainer( mStatusBarWindow.findViewById(R.id.fullscreen_user_switcher_stub)); } else { if (!mUserSwitcherController.useFullscreenUserSwitcher()) { super.createUserSwitcher(); } } Loading @@ -996,25 +987,12 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt super.onStateChanged(newState); if (newState != StatusBarState.FULLSCREEN_USER_SWITCHER) { hideUserSwitcher(); mFullscreenUserSwitcher.hide(); } else { dismissKeyguardWhenUserSwitcherNotDisplayed(); } } /** Makes the full screen user switcher visible, if applicable. */ public void showUserSwitcher() { if (mFullscreenUserSwitcher != null && mState == StatusBarState.FULLSCREEN_USER_SWITCHER) { mFullscreenUserSwitcher.show(); // Makes the switcher visible. } } private void hideUserSwitcher() { if (mFullscreenUserSwitcher != null) { mFullscreenUserSwitcher.hide(); } } final ScreenLifecycle.Observer mScreenObserver = new ScreenLifecycle.Observer() { @Override public void onScreenTurnedOn() { Loading @@ -1024,7 +1002,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt // We automatically dismiss keyguard unless user switcher is being shown on the keyguard. private void dismissKeyguardWhenUserSwitcherNotDisplayed() { if (mFullscreenUserSwitcher == null) { if (!mUserSwitcherController.useFullscreenUserSwitcher()) { return; // Not using the full screen user switcher. } Loading packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarKeyguardViewManager.java +13 −5 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.R; import com.android.systemui.dock.DockManager; import com.android.systemui.navigationbar.car.CarNavigationBarController; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.phone.NavigationModeController; Loading @@ -40,6 +41,8 @@ import javax.inject.Singleton; public class CarStatusBarKeyguardViewManager extends StatusBarKeyguardViewManager { protected boolean mShouldHideNavBar; private final CarNavigationBarController mCarNavigationBarController; private final FullscreenUserSwitcher mFullscreenUserSwitcher; @Inject public CarStatusBarKeyguardViewManager(Context context, Loading @@ -52,13 +55,17 @@ public class CarStatusBarKeyguardViewManager extends StatusBarKeyguardViewManage DockManager dockManager, StatusBarWindowController statusBarWindowController, KeyguardStateController keyguardStateController, NotificationMediaManager notificationMediaManager) { NotificationMediaManager notificationMediaManager, CarNavigationBarController carNavigationBarController, FullscreenUserSwitcher fullscreenUserSwitcher) { super(context, callback, lockPatternUtils, sysuiStatusBarStateController, configurationController, keyguardUpdateMonitor, navigationModeController, dockManager, statusBarWindowController, keyguardStateController, notificationMediaManager); mShouldHideNavBar = context.getResources() .getBoolean(R.bool.config_hideNavWhenKeyguardBouncerShown); mCarNavigationBarController = carNavigationBarController; mFullscreenUserSwitcher = fullscreenUserSwitcher; } @Override Loading @@ -66,8 +73,10 @@ public class CarStatusBarKeyguardViewManager extends StatusBarKeyguardViewManage if (!mShouldHideNavBar) { return; } CarStatusBar statusBar = (CarStatusBar) mStatusBar; statusBar.setNavBarVisibility(navBarVisible ? View.VISIBLE : View.GONE); int visibility = navBarVisible ? View.VISIBLE : View.GONE; mCarNavigationBarController.setBottomWindowVisibility(visibility); mCarNavigationBarController.setLeftWindowVisibility(visibility); mCarNavigationBarController.setRightWindowVisibility(visibility); } /** Loading @@ -86,8 +95,7 @@ public class CarStatusBarKeyguardViewManager extends StatusBarKeyguardViewManage */ @Override public void onCancelClicked() { CarStatusBar statusBar = (CarStatusBar) mStatusBar; statusBar.showUserSwitcher(); mFullscreenUserSwitcher.show(); } /** Loading packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java +5 −2 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import com.android.systemui.assist.AssistManager; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.bubbles.BubbleController; import com.android.systemui.car.CarServiceProvider; import com.android.systemui.car.SystemUIPrimaryWindowController; import com.android.systemui.colorextraction.SysuiColorExtractor; import com.android.systemui.dagger.qualifiers.UiBackground; import com.android.systemui.keyguard.DismissCallbackRegistry; Loading Loading @@ -207,7 +208,8 @@ public class CarStatusBarModule { DismissCallbackRegistry dismissCallbackRegistry, CarServiceProvider carServiceProvider, Lazy<PowerManagerHelper> powerManagerHelperLazy, Lazy<FullscreenUserSwitcher> fullscreenUserSwitcherLazy, FullscreenUserSwitcher fullscreenUserSwitcher, SystemUIPrimaryWindowController systemUIPrimaryWindowController, CarNavigationBarController carNavigationBarController, FlingAnimationUtils.Builder flingAnimationUtilsBuilder) { return new CarStatusBar( Loading Loading @@ -292,7 +294,8 @@ public class CarStatusBarModule { dismissCallbackRegistry, carServiceProvider, powerManagerHelperLazy, fullscreenUserSwitcherLazy, fullscreenUserSwitcher, systemUIPrimaryWindowController, carNavigationBarController, flingAnimationUtilsBuilder); } Loading Loading
packages/CarSystemUI/res/layout/sysui_primary_window.xml +7 −0 Original line number Diff line number Diff line Loading @@ -15,9 +15,16 @@ ~ limitations under the License. --> <!-- Fullscreen views in sysui should be listed here in increasing Z order. --> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@android:color/transparent" android:layout_width="match_parent" android:layout_height="match_parent"> <ViewStub android:id="@+id/fullscreen_user_switcher_stub" android:layout_width="match_parent" android:layout_height="match_parent" android:layout="@layout/car_fullscreen_user_switcher"/> </FrameLayout> No newline at end of file
packages/CarSystemUI/src/com/android/systemui/car/SystemUIPrimaryWindowController.java +19 −3 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ public class SystemUIPrimaryWindowController implements private ViewGroup mBaseLayout; private WindowManager.LayoutParams mLp; private WindowManager.LayoutParams mLpChanged; private boolean mIsAttached = false; @Inject public SystemUIPrimaryWindowController( Loading Loading @@ -86,8 +87,17 @@ public class SystemUIPrimaryWindowController implements return mBaseLayout; } /** Returns {@code true} if the window is already attached. */ public boolean isAttached() { return mIsAttached; } /** Attaches the window to the window manager. */ public void attach() { if (mIsAttached) { return; } mIsAttached = true; // Now that the status bar window encompasses the sliding panel and its // translucent backdrop, the entire thing is made TRANSLUCENT and is // hardware-accelerated. Loading @@ -98,13 +108,14 @@ public class SystemUIPrimaryWindowController implements WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, PixelFormat.TRANSLUCENT); mLp.token = new Binder(); mLp.gravity = Gravity.TOP; mLp.setFitWindowInsetsTypes(/* types= */ 0); mLp.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE; mLp.setTitle("NotificationShade"); mLp.setTitle("SystemUIPrimaryWindow"); mLp.packageName = mContext.getPackageName(); mLp.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS; Loading @@ -118,8 +129,11 @@ public class SystemUIPrimaryWindowController implements // TODO: Update this so that the windowing type gets the full height of the display // when we use MATCH_PARENT. mLpChanged.height = mDisplayHeight + mNavBarHeight; mLpChanged.flags &= ~WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE; } else { mLpChanged.height = mStatusBarHeight; // TODO: Allow touches to go through to the status bar to handle notification panel. mLpChanged.flags |= WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE; } updateWindow(); } Loading @@ -131,7 +145,9 @@ public class SystemUIPrimaryWindowController implements private void updateWindow() { if (mLp != null && mLp.copyFrom(mLpChanged) != 0) { if (isAttached()) { mWindowManager.updateViewLayout(mBaseLayout, mLp); } } } }
packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +19 −41 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ import com.android.systemui.bubbles.BubbleController; import com.android.systemui.car.CarDeviceProvisionedController; import com.android.systemui.car.CarDeviceProvisionedListener; import com.android.systemui.car.CarServiceProvider; import com.android.systemui.car.SystemUIPrimaryWindowController; import com.android.systemui.classifier.FalsingLog; import com.android.systemui.colorextraction.SysuiColorExtractor; import com.android.systemui.dagger.qualifiers.UiBackground; Loading Loading @@ -168,6 +169,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt // acceleration rate for the fling animation private static final float FLING_SPEED_UP_FACTOR = 0.6f; private final UserSwitcherController mUserSwitcherController; private final ScrimController mScrimController; private final LockscreenLockIconController mLockscreenLockIconController; Loading @@ -177,17 +179,16 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt private float mBackgroundAlphaDiff; private float mInitialBackgroundAlpha; private final Lazy<FullscreenUserSwitcher> mFullscreenUserSwitcherLazy; private FullscreenUserSwitcher mFullscreenUserSwitcher; private CarBatteryController mCarBatteryController; private BatteryMeterView mBatteryMeterView; private Drawable mNotificationPanelBackground; private final Object mQueueLock = new Object(); private final SystemUIPrimaryWindowController mSystemUIPrimaryWindowController; private final CarNavigationBarController mCarNavigationBarController; private final FlingAnimationUtils.Builder mFlingAnimationUtilsBuilder; private final Lazy<PowerManagerHelper> mPowerManagerHelperLazy; private final FullscreenUserSwitcher mFullscreenUserSwitcher; private final ShadeController mShadeController; private final CarServiceProvider mCarServiceProvider; private final CarDeviceProvisionedController mCarDeviceProvisionedController; Loading Loading @@ -338,7 +339,8 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt /* Car Settings injected components. */ CarServiceProvider carServiceProvider, Lazy<PowerManagerHelper> powerManagerHelperLazy, Lazy<FullscreenUserSwitcher> fullscreenUserSwitcherLazy, FullscreenUserSwitcher fullscreenUserSwitcher, SystemUIPrimaryWindowController systemUIPrimaryWindowController, CarNavigationBarController carNavigationBarController, FlingAnimationUtils.Builder flingAnimationUtilsBuilder) { super( Loading Loading @@ -422,6 +424,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt userInfoControllerImpl, notificationRowBinder, dismissCallbackRegistry); mUserSwitcherController = userSwitcherController; mScrimController = scrimController; mLockscreenLockIconController = lockscreenLockIconController; mCarDeviceProvisionedController = Loading @@ -429,7 +432,8 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt mShadeController = shadeController; mCarServiceProvider = carServiceProvider; mPowerManagerHelperLazy = powerManagerHelperLazy; mFullscreenUserSwitcherLazy = fullscreenUserSwitcherLazy; mFullscreenUserSwitcher = fullscreenUserSwitcher; mSystemUIPrimaryWindowController = systemUIPrimaryWindowController; mCarNavigationBarController = carNavigationBarController; mFlingAnimationUtilsBuilder = flingAnimationUtilsBuilder; } Loading @@ -444,6 +448,13 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt mScreenLifecycle = Dependency.get(ScreenLifecycle.class); mScreenLifecycle.addObserver(mScreenObserver); // TODO: Remove the setup of user switcher from Car Status Bar. mSystemUIPrimaryWindowController.attach(); mFullscreenUserSwitcher.setStatusBar(this); mFullscreenUserSwitcher.setContainer( mSystemUIPrimaryWindowController.getBaseLayout().findViewById( R.id.fullscreen_user_switcher_stub)); // Notification bar related setup. mInitialBackgroundAlpha = (float) mContext.getResources().getInteger( R.integer.config_initialNotificationBackgroundAlpha) / 100; Loading Loading @@ -510,16 +521,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt }); } /** * Allows for showing or hiding just the navigation bars. This is indented to be used when * the full screen user selector is shown. */ void setNavBarVisibility(@View.Visibility int visibility) { mCarNavigationBarController.setBottomWindowVisibility(visibility); mCarNavigationBarController.setLeftWindowVisibility(visibility); mCarNavigationBarController.setRightWindowVisibility(visibility); } @Override public boolean hideKeyguard() { boolean result = super.hideKeyguard(); Loading Loading @@ -924,9 +925,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt + " scroll " + mStackScroller.getScrollX() + "," + mStackScroller.getScrollY()); } pw.print(" mFullscreenUserSwitcher="); pw.println(mFullscreenUserSwitcher); pw.print(" mCarBatteryController="); pw.println(mCarBatteryController); pw.print(" mBatteryMeterView="); Loading Loading @@ -972,14 +970,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt @Override protected void createUserSwitcher() { UserSwitcherController userSwitcherController = Dependency.get(UserSwitcherController.class); if (userSwitcherController.useFullscreenUserSwitcher()) { mFullscreenUserSwitcher = mFullscreenUserSwitcherLazy.get(); mFullscreenUserSwitcher.setStatusBar(this); mFullscreenUserSwitcher.setContainer( mStatusBarWindow.findViewById(R.id.fullscreen_user_switcher_stub)); } else { if (!mUserSwitcherController.useFullscreenUserSwitcher()) { super.createUserSwitcher(); } } Loading @@ -996,25 +987,12 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt super.onStateChanged(newState); if (newState != StatusBarState.FULLSCREEN_USER_SWITCHER) { hideUserSwitcher(); mFullscreenUserSwitcher.hide(); } else { dismissKeyguardWhenUserSwitcherNotDisplayed(); } } /** Makes the full screen user switcher visible, if applicable. */ public void showUserSwitcher() { if (mFullscreenUserSwitcher != null && mState == StatusBarState.FULLSCREEN_USER_SWITCHER) { mFullscreenUserSwitcher.show(); // Makes the switcher visible. } } private void hideUserSwitcher() { if (mFullscreenUserSwitcher != null) { mFullscreenUserSwitcher.hide(); } } final ScreenLifecycle.Observer mScreenObserver = new ScreenLifecycle.Observer() { @Override public void onScreenTurnedOn() { Loading @@ -1024,7 +1002,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt // We automatically dismiss keyguard unless user switcher is being shown on the keyguard. private void dismissKeyguardWhenUserSwitcherNotDisplayed() { if (mFullscreenUserSwitcher == null) { if (!mUserSwitcherController.useFullscreenUserSwitcher()) { return; // Not using the full screen user switcher. } Loading
packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarKeyguardViewManager.java +13 −5 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.R; import com.android.systemui.dock.DockManager; import com.android.systemui.navigationbar.car.CarNavigationBarController; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.phone.NavigationModeController; Loading @@ -40,6 +41,8 @@ import javax.inject.Singleton; public class CarStatusBarKeyguardViewManager extends StatusBarKeyguardViewManager { protected boolean mShouldHideNavBar; private final CarNavigationBarController mCarNavigationBarController; private final FullscreenUserSwitcher mFullscreenUserSwitcher; @Inject public CarStatusBarKeyguardViewManager(Context context, Loading @@ -52,13 +55,17 @@ public class CarStatusBarKeyguardViewManager extends StatusBarKeyguardViewManage DockManager dockManager, StatusBarWindowController statusBarWindowController, KeyguardStateController keyguardStateController, NotificationMediaManager notificationMediaManager) { NotificationMediaManager notificationMediaManager, CarNavigationBarController carNavigationBarController, FullscreenUserSwitcher fullscreenUserSwitcher) { super(context, callback, lockPatternUtils, sysuiStatusBarStateController, configurationController, keyguardUpdateMonitor, navigationModeController, dockManager, statusBarWindowController, keyguardStateController, notificationMediaManager); mShouldHideNavBar = context.getResources() .getBoolean(R.bool.config_hideNavWhenKeyguardBouncerShown); mCarNavigationBarController = carNavigationBarController; mFullscreenUserSwitcher = fullscreenUserSwitcher; } @Override Loading @@ -66,8 +73,10 @@ public class CarStatusBarKeyguardViewManager extends StatusBarKeyguardViewManage if (!mShouldHideNavBar) { return; } CarStatusBar statusBar = (CarStatusBar) mStatusBar; statusBar.setNavBarVisibility(navBarVisible ? View.VISIBLE : View.GONE); int visibility = navBarVisible ? View.VISIBLE : View.GONE; mCarNavigationBarController.setBottomWindowVisibility(visibility); mCarNavigationBarController.setLeftWindowVisibility(visibility); mCarNavigationBarController.setRightWindowVisibility(visibility); } /** Loading @@ -86,8 +95,7 @@ public class CarStatusBarKeyguardViewManager extends StatusBarKeyguardViewManage */ @Override public void onCancelClicked() { CarStatusBar statusBar = (CarStatusBar) mStatusBar; statusBar.showUserSwitcher(); mFullscreenUserSwitcher.show(); } /** Loading
packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java +5 −2 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import com.android.systemui.assist.AssistManager; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.bubbles.BubbleController; import com.android.systemui.car.CarServiceProvider; import com.android.systemui.car.SystemUIPrimaryWindowController; import com.android.systemui.colorextraction.SysuiColorExtractor; import com.android.systemui.dagger.qualifiers.UiBackground; import com.android.systemui.keyguard.DismissCallbackRegistry; Loading Loading @@ -207,7 +208,8 @@ public class CarStatusBarModule { DismissCallbackRegistry dismissCallbackRegistry, CarServiceProvider carServiceProvider, Lazy<PowerManagerHelper> powerManagerHelperLazy, Lazy<FullscreenUserSwitcher> fullscreenUserSwitcherLazy, FullscreenUserSwitcher fullscreenUserSwitcher, SystemUIPrimaryWindowController systemUIPrimaryWindowController, CarNavigationBarController carNavigationBarController, FlingAnimationUtils.Builder flingAnimationUtilsBuilder) { return new CarStatusBar( Loading Loading @@ -292,7 +294,8 @@ public class CarStatusBarModule { dismissCallbackRegistry, carServiceProvider, powerManagerHelperLazy, fullscreenUserSwitcherLazy, fullscreenUserSwitcher, systemUIPrimaryWindowController, carNavigationBarController, flingAnimationUtilsBuilder); } Loading