Loading packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java +6 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.systemui.car.CarDeviceProvisionedControllerImpl; import com.android.systemui.car.keyguard.CarKeyguardViewController; import com.android.systemui.car.statusbar.CarStatusBar; import com.android.systemui.car.statusbar.CarStatusBarKeyguardViewManager; import com.android.systemui.car.statusbar.DummyNotificationShadeWindowController; import com.android.systemui.car.volume.CarVolumeDialogComponent; import com.android.systemui.dagger.SystemUIRootComponent; import com.android.systemui.dock.DockManager; Loading @@ -47,6 +48,7 @@ import com.android.systemui.statusbar.phone.HeadsUpManagerPhone; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl; import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.NotificationShadeWindowController; import com.android.systemui.statusbar.phone.ShadeController; import com.android.systemui.statusbar.phone.ShadeControllerImpl; import com.android.systemui.statusbar.phone.StatusBar; Loading Loading @@ -155,4 +157,8 @@ public abstract class CarSystemUIModule { @Binds abstract CarDeviceProvisionedController bindCarDeviceProvisionedController( CarDeviceProvisionedControllerImpl deviceProvisionedController); @Binds abstract NotificationShadeWindowController bindNotificationShadeWindowController( DummyNotificationShadeWindowController notificationShadeWindowController); } packages/CarSystemUI/src/com/android/systemui/car/statusbar/DummyNotificationShadeWindowController.java 0 → 100644 +71 −0 Original line number Diff line number Diff line /* * 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.car.statusbar; import android.app.IActivityManager; import android.content.Context; import android.view.WindowManager; import com.android.systemui.car.window.SystemUIOverlayWindowController; import com.android.systemui.colorextraction.SysuiColorExtractor; import com.android.systemui.dump.DumpManager; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.phone.BiometricUnlockController; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.NotificationShadeWindowController; import com.android.systemui.statusbar.policy.ConfigurationController; import javax.inject.Inject; import javax.inject.Singleton; /** * A dummy implementation of {@link NotificationShadeWindowController}. * * TODO(b/155711562): This should be replaced with a longer term solution (i.e. separating * {@link BiometricUnlockController} from the views it depends on). */ @Singleton public class DummyNotificationShadeWindowController extends NotificationShadeWindowController { private final SystemUIOverlayWindowController mOverlayWindowController; @Inject public DummyNotificationShadeWindowController(Context context, WindowManager windowManager, IActivityManager activityManager, DozeParameters dozeParameters, StatusBarStateController statusBarStateController, ConfigurationController configurationController, KeyguardBypassController keyguardBypassController, SysuiColorExtractor colorExtractor, DumpManager dumpManager, SystemUIOverlayWindowController overlayWindowController) { super(context, windowManager, activityManager, dozeParameters, statusBarStateController, configurationController, keyguardBypassController, colorExtractor, dumpManager); mOverlayWindowController = overlayWindowController; } @Override public void setForceDozeBrightness(boolean forceDozeBrightness) { // No op. } @Override public void setNotificationShadeFocusable(boolean focusable) { // The overlay window is the car sysui equivalent of the notification shade. mOverlayWindowController.setWindowFocusable(focusable); } } Loading
packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java +6 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.systemui.car.CarDeviceProvisionedControllerImpl; import com.android.systemui.car.keyguard.CarKeyguardViewController; import com.android.systemui.car.statusbar.CarStatusBar; import com.android.systemui.car.statusbar.CarStatusBarKeyguardViewManager; import com.android.systemui.car.statusbar.DummyNotificationShadeWindowController; import com.android.systemui.car.volume.CarVolumeDialogComponent; import com.android.systemui.dagger.SystemUIRootComponent; import com.android.systemui.dock.DockManager; Loading @@ -47,6 +48,7 @@ import com.android.systemui.statusbar.phone.HeadsUpManagerPhone; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl; import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.NotificationShadeWindowController; import com.android.systemui.statusbar.phone.ShadeController; import com.android.systemui.statusbar.phone.ShadeControllerImpl; import com.android.systemui.statusbar.phone.StatusBar; Loading Loading @@ -155,4 +157,8 @@ public abstract class CarSystemUIModule { @Binds abstract CarDeviceProvisionedController bindCarDeviceProvisionedController( CarDeviceProvisionedControllerImpl deviceProvisionedController); @Binds abstract NotificationShadeWindowController bindNotificationShadeWindowController( DummyNotificationShadeWindowController notificationShadeWindowController); }
packages/CarSystemUI/src/com/android/systemui/car/statusbar/DummyNotificationShadeWindowController.java 0 → 100644 +71 −0 Original line number Diff line number Diff line /* * 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.car.statusbar; import android.app.IActivityManager; import android.content.Context; import android.view.WindowManager; import com.android.systemui.car.window.SystemUIOverlayWindowController; import com.android.systemui.colorextraction.SysuiColorExtractor; import com.android.systemui.dump.DumpManager; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.phone.BiometricUnlockController; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.NotificationShadeWindowController; import com.android.systemui.statusbar.policy.ConfigurationController; import javax.inject.Inject; import javax.inject.Singleton; /** * A dummy implementation of {@link NotificationShadeWindowController}. * * TODO(b/155711562): This should be replaced with a longer term solution (i.e. separating * {@link BiometricUnlockController} from the views it depends on). */ @Singleton public class DummyNotificationShadeWindowController extends NotificationShadeWindowController { private final SystemUIOverlayWindowController mOverlayWindowController; @Inject public DummyNotificationShadeWindowController(Context context, WindowManager windowManager, IActivityManager activityManager, DozeParameters dozeParameters, StatusBarStateController statusBarStateController, ConfigurationController configurationController, KeyguardBypassController keyguardBypassController, SysuiColorExtractor colorExtractor, DumpManager dumpManager, SystemUIOverlayWindowController overlayWindowController) { super(context, windowManager, activityManager, dozeParameters, statusBarStateController, configurationController, keyguardBypassController, colorExtractor, dumpManager); mOverlayWindowController = overlayWindowController; } @Override public void setForceDozeBrightness(boolean forceDozeBrightness) { // No op. } @Override public void setNotificationShadeFocusable(boolean focusable) { // The overlay window is the car sysui equivalent of the notification shade. mOverlayWindowController.setWindowFocusable(focusable); } }