DO NOT MERGE Add unused StatusBar to prevent crashes
Bug: 165390412 Test: manual (ensure UnusedStatusBar is used instead of StatusBar) Change-Id: I3c9f48f86a599f950fb4e1268dd4a15468aa5839
This commit is contained in:
@@ -21,6 +21,8 @@ import com.android.systemui.bubbles.dagger.BubbleModule;
|
||||
import com.android.systemui.car.navigationbar.CarNavigationBar;
|
||||
import com.android.systemui.car.notification.CarNotificationModule;
|
||||
import com.android.systemui.car.sideloaded.SideLoadedAppController;
|
||||
import com.android.systemui.car.statusbar.UnusedStatusBar;
|
||||
import com.android.systemui.car.statusbar.UnusedStatusBarModule;
|
||||
import com.android.systemui.car.voicerecognition.ConnectedDeviceVoiceRecognitionNotifier;
|
||||
import com.android.systemui.car.volume.VolumeUI;
|
||||
import com.android.systemui.car.window.OverlayWindowModule;
|
||||
@@ -34,7 +36,6 @@ import com.android.systemui.recents.Recents;
|
||||
import com.android.systemui.recents.RecentsModule;
|
||||
import com.android.systemui.shortcut.ShortcutKeyDispatcher;
|
||||
import com.android.systemui.stackdivider.Divider;
|
||||
import com.android.systemui.statusbar.dagger.StatusBarModule;
|
||||
import com.android.systemui.statusbar.notification.InstantAppNotifier;
|
||||
import com.android.systemui.statusbar.notification.dagger.NotificationsModule;
|
||||
import com.android.systemui.statusbar.phone.StatusBar;
|
||||
@@ -48,9 +49,9 @@ import dagger.multibindings.ClassKey;
|
||||
import dagger.multibindings.IntoMap;
|
||||
|
||||
/** Binder for car specific {@link SystemUI} modules. */
|
||||
@Module(includes = {RecentsModule.class, StatusBarModule.class, NotificationsModule.class,
|
||||
@Module(includes = {RecentsModule.class, NotificationsModule.class,
|
||||
BubbleModule.class, KeyguardModule.class, OverlayWindowModule.class,
|
||||
CarNotificationModule.class})
|
||||
CarNotificationModule.class, UnusedStatusBarModule.class})
|
||||
public abstract class CarSystemUIBinder {
|
||||
/** Inject into AuthController. */
|
||||
@Binds
|
||||
@@ -153,7 +154,7 @@ public abstract class CarSystemUIBinder {
|
||||
@Binds
|
||||
@IntoMap
|
||||
@ClassKey(StatusBar.class)
|
||||
public abstract SystemUI bindsStatusBar(StatusBar sysui);
|
||||
public abstract SystemUI bindsStatusBar(UnusedStatusBar sysui);
|
||||
|
||||
/** Inject into VolumeUI. */
|
||||
@Binds
|
||||
|
||||
@@ -30,6 +30,7 @@ import com.android.systemui.car.CarDeviceProvisionedControllerImpl;
|
||||
import com.android.systemui.car.keyguard.CarKeyguardViewController;
|
||||
import com.android.systemui.car.statusbar.DozeServiceHost;
|
||||
import com.android.systemui.car.statusbar.DummyNotificationShadeWindowController;
|
||||
import com.android.systemui.car.statusbar.UnusedStatusBar;
|
||||
import com.android.systemui.car.volume.CarVolumeDialogComponent;
|
||||
import com.android.systemui.dagger.SystemUIRootComponent;
|
||||
import com.android.systemui.dagger.qualifiers.Background;
|
||||
@@ -57,6 +58,7 @@ 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;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
import com.android.systemui.statusbar.policy.BatteryControllerImpl;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
@@ -175,4 +177,7 @@ public abstract class CarSystemUIModule {
|
||||
|
||||
@Binds
|
||||
abstract DozeHost bindDozeHost(DozeServiceHost dozeServiceHost);
|
||||
|
||||
@Binds
|
||||
abstract StatusBar bindStatusBar(UnusedStatusBar statusBar);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,224 @@
|
||||
/*
|
||||
* 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.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.os.PowerManager;
|
||||
import android.util.DisplayMetrics;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.keyguard.ViewMediatorCallback;
|
||||
import com.android.systemui.InitController;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.bubbles.BubbleController;
|
||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
||||
import com.android.systemui.keyguard.DismissCallbackRegistry;
|
||||
import com.android.systemui.keyguard.KeyguardViewMediator;
|
||||
import com.android.systemui.keyguard.ScreenLifecycle;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.PluginDependencyProvider;
|
||||
import com.android.systemui.recents.Recents;
|
||||
import com.android.systemui.recents.ScreenPinningRequest;
|
||||
import com.android.systemui.shared.plugins.PluginManager;
|
||||
import com.android.systemui.stackdivider.Divider;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.KeyguardIndicationController;
|
||||
import com.android.systemui.statusbar.NavigationBarController;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.NotificationMediaManager;
|
||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationShadeDepthController;
|
||||
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
|
||||
import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.SuperStatusBarViewFactory;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.VibratorHelper;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
|
||||
import com.android.systemui.statusbar.notification.VisualStabilityManager;
|
||||
import com.android.systemui.statusbar.notification.init.NotificationsController;
|
||||
import com.android.systemui.statusbar.notification.interruption.BypassHeadsUpNotifier;
|
||||
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
|
||||
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
|
||||
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
|
||||
import com.android.systemui.statusbar.phone.AutoHideController;
|
||||
import com.android.systemui.statusbar.phone.BiometricUnlockController;
|
||||
import com.android.systemui.statusbar.phone.DozeParameters;
|
||||
import com.android.systemui.statusbar.phone.DozeScrimController;
|
||||
import com.android.systemui.statusbar.phone.DozeServiceHost;
|
||||
import com.android.systemui.statusbar.phone.HeadsUpManagerPhone;
|
||||
import com.android.systemui.statusbar.phone.KeyguardBypassController;
|
||||
import com.android.systemui.statusbar.phone.KeyguardDismissUtil;
|
||||
import com.android.systemui.statusbar.phone.KeyguardLiftController;
|
||||
import com.android.systemui.statusbar.phone.LightBarController;
|
||||
import com.android.systemui.statusbar.phone.LightsOutNotifController;
|
||||
import com.android.systemui.statusbar.phone.LockscreenLockIconController;
|
||||
import com.android.systemui.statusbar.phone.LockscreenWallpaper;
|
||||
import com.android.systemui.statusbar.phone.NavigationBarView;
|
||||
import com.android.systemui.statusbar.phone.NotificationGroupManager;
|
||||
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
|
||||
import com.android.systemui.statusbar.phone.PhoneStatusBarPolicy;
|
||||
import com.android.systemui.statusbar.phone.ScrimController;
|
||||
import com.android.systemui.statusbar.phone.ShadeController;
|
||||
import com.android.systemui.statusbar.phone.StatusBar;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
|
||||
import com.android.systemui.statusbar.phone.StatusBarNotificationActivityStarter;
|
||||
import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager;
|
||||
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
|
||||
import com.android.systemui.statusbar.policy.ExtensionController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.NetworkController;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
|
||||
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
import com.android.systemui.volume.VolumeComponent;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import javax.inject.Provider;
|
||||
|
||||
import dagger.Lazy;
|
||||
|
||||
/** Unused variant of {@link StatusBar} specifically used in the automotive context. */
|
||||
public class UnusedStatusBar extends StatusBar {
|
||||
|
||||
public UnusedStatusBar(Context context,
|
||||
NotificationsController notificationsController,
|
||||
LightBarController lightBarController,
|
||||
AutoHideController autoHideController,
|
||||
KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||
StatusBarIconController statusBarIconController,
|
||||
PulseExpansionHandler pulseExpansionHandler,
|
||||
NotificationWakeUpCoordinator notificationWakeUpCoordinator,
|
||||
KeyguardBypassController keyguardBypassController,
|
||||
KeyguardStateController keyguardStateController,
|
||||
HeadsUpManagerPhone headsUpManagerPhone,
|
||||
DynamicPrivacyController dynamicPrivacyController,
|
||||
BypassHeadsUpNotifier bypassHeadsUpNotifier,
|
||||
FalsingManager falsingManager,
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
|
||||
NotificationGutsManager notificationGutsManager,
|
||||
NotificationLogger notificationLogger,
|
||||
NotificationInterruptStateProvider notificationInterruptStateProvider,
|
||||
NotificationViewHierarchyManager notificationViewHierarchyManager,
|
||||
KeyguardViewMediator keyguardViewMediator,
|
||||
DisplayMetrics displayMetrics,
|
||||
MetricsLogger metricsLogger,
|
||||
Executor uiBgExecutor,
|
||||
NotificationMediaManager notificationMediaManager,
|
||||
NotificationLockscreenUserManager lockScreenUserManager,
|
||||
NotificationRemoteInputManager remoteInputManager,
|
||||
UserSwitcherController userSwitcherController,
|
||||
NetworkController networkController,
|
||||
BatteryController batteryController,
|
||||
SysuiColorExtractor colorExtractor,
|
||||
ScreenLifecycle screenLifecycle,
|
||||
WakefulnessLifecycle wakefulnessLifecycle,
|
||||
SysuiStatusBarStateController statusBarStateController,
|
||||
VibratorHelper vibratorHelper,
|
||||
BubbleController bubbleController,
|
||||
NotificationGroupManager groupManager,
|
||||
VisualStabilityManager visualStabilityManager,
|
||||
DeviceProvisionedController deviceProvisionedController,
|
||||
NavigationBarController navigationBarController,
|
||||
Lazy<AssistManager> assistManagerLazy,
|
||||
ConfigurationController configurationController,
|
||||
NotificationShadeWindowController notificationShadeWindowController,
|
||||
LockscreenLockIconController lockscreenLockIconController,
|
||||
DozeParameters dozeParameters,
|
||||
ScrimController scrimController,
|
||||
KeyguardLiftController keyguardLiftController,
|
||||
Lazy<LockscreenWallpaper> lockscreenWallpaperLazy,
|
||||
Lazy<BiometricUnlockController> biometricUnlockControllerLazy,
|
||||
DozeServiceHost dozeServiceHost,
|
||||
PowerManager powerManager,
|
||||
ScreenPinningRequest screenPinningRequest,
|
||||
DozeScrimController dozeScrimController,
|
||||
VolumeComponent volumeComponent,
|
||||
CommandQueue commandQueue,
|
||||
Optional<Recents> recentsOptional,
|
||||
Provider<StatusBarComponent.Builder> statusBarComponentBuilder,
|
||||
PluginManager pluginManager,
|
||||
Optional<Divider> dividerOptional,
|
||||
LightsOutNotifController lightsOutNotifController,
|
||||
StatusBarNotificationActivityStarter.Builder statusBarNotifActivityStarterBuilder,
|
||||
ShadeController shadeController,
|
||||
SuperStatusBarViewFactory superStatusBarViewFactory,
|
||||
StatusBarKeyguardViewManager statusBarKeyguardViewManager,
|
||||
ViewMediatorCallback viewMediatorCallback,
|
||||
InitController initController,
|
||||
DarkIconDispatcher darkIconDispatcher,
|
||||
Handler timeTickHandler,
|
||||
PluginDependencyProvider pluginDependencyProvider,
|
||||
KeyguardDismissUtil keyguardDismissUtil,
|
||||
ExtensionController extensionController,
|
||||
UserInfoControllerImpl userInfoControllerImpl,
|
||||
PhoneStatusBarPolicy phoneStatusBarPolicy,
|
||||
KeyguardIndicationController keyguardIndicationController,
|
||||
DismissCallbackRegistry dismissCallbackRegistry,
|
||||
Lazy<NotificationShadeDepthController> notificationShadeDepthControllerLazy,
|
||||
StatusBarTouchableRegionManager statusBarTouchableRegionManager) {
|
||||
super(context, notificationsController, lightBarController, autoHideController,
|
||||
keyguardUpdateMonitor, statusBarIconController, pulseExpansionHandler,
|
||||
notificationWakeUpCoordinator, keyguardBypassController, keyguardStateController,
|
||||
headsUpManagerPhone, dynamicPrivacyController, bypassHeadsUpNotifier,
|
||||
falsingManager,
|
||||
broadcastDispatcher, remoteInputQuickSettingsDisabler, notificationGutsManager,
|
||||
notificationLogger, notificationInterruptStateProvider,
|
||||
notificationViewHierarchyManager, keyguardViewMediator, displayMetrics,
|
||||
metricsLogger,
|
||||
uiBgExecutor, notificationMediaManager, lockScreenUserManager, remoteInputManager,
|
||||
userSwitcherController, networkController, batteryController, colorExtractor,
|
||||
screenLifecycle, wakefulnessLifecycle, statusBarStateController, vibratorHelper,
|
||||
bubbleController, groupManager, visualStabilityManager, deviceProvisionedController,
|
||||
navigationBarController, assistManagerLazy, configurationController,
|
||||
notificationShadeWindowController, lockscreenLockIconController, dozeParameters,
|
||||
scrimController, keyguardLiftController, lockscreenWallpaperLazy,
|
||||
biometricUnlockControllerLazy, dozeServiceHost, powerManager, screenPinningRequest,
|
||||
dozeScrimController, volumeComponent, commandQueue, recentsOptional,
|
||||
statusBarComponentBuilder, pluginManager, dividerOptional, lightsOutNotifController,
|
||||
statusBarNotifActivityStarterBuilder, shadeController, superStatusBarViewFactory,
|
||||
statusBarKeyguardViewManager, viewMediatorCallback, initController,
|
||||
darkIconDispatcher,
|
||||
timeTickHandler, pluginDependencyProvider, keyguardDismissUtil, extensionController,
|
||||
userInfoControllerImpl, phoneStatusBarPolicy, keyguardIndicationController,
|
||||
dismissCallbackRegistry, notificationShadeDepthControllerLazy,
|
||||
statusBarTouchableRegionManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyBiometricAuthModeChanged() {
|
||||
// No-op for Automotive devices.
|
||||
}
|
||||
|
||||
@Override
|
||||
public NavigationBarView getNavigationBarView() {
|
||||
// Return null for Automotive devices.
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,285 @@
|
||||
/*
|
||||
* 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 static com.android.systemui.Dependency.TIME_TICK_HANDLER_NAME;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.os.PowerManager;
|
||||
import android.util.DisplayMetrics;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.keyguard.ViewMediatorCallback;
|
||||
import com.android.systemui.InitController;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.bubbles.BubbleController;
|
||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
||||
import com.android.systemui.dagger.qualifiers.UiBackground;
|
||||
import com.android.systemui.keyguard.DismissCallbackRegistry;
|
||||
import com.android.systemui.keyguard.KeyguardViewMediator;
|
||||
import com.android.systemui.keyguard.ScreenLifecycle;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.PluginDependencyProvider;
|
||||
import com.android.systemui.recents.Recents;
|
||||
import com.android.systemui.recents.ScreenPinningRequest;
|
||||
import com.android.systemui.shared.plugins.PluginManager;
|
||||
import com.android.systemui.stackdivider.Divider;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.KeyguardIndicationController;
|
||||
import com.android.systemui.statusbar.NavigationBarController;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.NotificationMediaManager;
|
||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationShadeDepthController;
|
||||
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
|
||||
import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.SuperStatusBarViewFactory;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.VibratorHelper;
|
||||
import com.android.systemui.statusbar.dagger.StatusBarDependenciesModule;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
|
||||
import com.android.systemui.statusbar.notification.VisualStabilityManager;
|
||||
import com.android.systemui.statusbar.notification.init.NotificationsController;
|
||||
import com.android.systemui.statusbar.notification.interruption.BypassHeadsUpNotifier;
|
||||
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
|
||||
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
|
||||
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
|
||||
import com.android.systemui.statusbar.notification.row.NotificationRowModule;
|
||||
import com.android.systemui.statusbar.phone.AutoHideController;
|
||||
import com.android.systemui.statusbar.phone.BiometricUnlockController;
|
||||
import com.android.systemui.statusbar.phone.DozeParameters;
|
||||
import com.android.systemui.statusbar.phone.DozeScrimController;
|
||||
import com.android.systemui.statusbar.phone.DozeServiceHost;
|
||||
import com.android.systemui.statusbar.phone.HeadsUpManagerPhone;
|
||||
import com.android.systemui.statusbar.phone.KeyguardBypassController;
|
||||
import com.android.systemui.statusbar.phone.KeyguardDismissUtil;
|
||||
import com.android.systemui.statusbar.phone.KeyguardLiftController;
|
||||
import com.android.systemui.statusbar.phone.LightBarController;
|
||||
import com.android.systemui.statusbar.phone.LightsOutNotifController;
|
||||
import com.android.systemui.statusbar.phone.LockscreenLockIconController;
|
||||
import com.android.systemui.statusbar.phone.LockscreenWallpaper;
|
||||
import com.android.systemui.statusbar.phone.NotificationGroupManager;
|
||||
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
|
||||
import com.android.systemui.statusbar.phone.PhoneStatusBarPolicy;
|
||||
import com.android.systemui.statusbar.phone.ScrimController;
|
||||
import com.android.systemui.statusbar.phone.ShadeController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
|
||||
import com.android.systemui.statusbar.phone.StatusBarNotificationActivityStarter;
|
||||
import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager;
|
||||
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent;
|
||||
import com.android.systemui.statusbar.phone.dagger.StatusBarPhoneDependenciesModule;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
|
||||
import com.android.systemui.statusbar.policy.ExtensionController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.NetworkController;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
|
||||
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
import com.android.systemui.volume.VolumeComponent;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Provider;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Lazy;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
/**
|
||||
* Dagger Module providing {@link UnusedStatusBar}.
|
||||
*/
|
||||
@Module(includes = {StatusBarDependenciesModule.class, StatusBarPhoneDependenciesModule.class,
|
||||
NotificationRowModule.class})
|
||||
public interface UnusedStatusBarModule {
|
||||
/**
|
||||
* Provides our instance of StatusBar which is considered optional.
|
||||
*/
|
||||
@Provides
|
||||
@Singleton
|
||||
static UnusedStatusBar provideStatusBar(
|
||||
Context context,
|
||||
NotificationsController notificationsController,
|
||||
LightBarController lightBarController,
|
||||
AutoHideController autoHideController,
|
||||
KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||
StatusBarIconController statusBarIconController,
|
||||
PulseExpansionHandler pulseExpansionHandler,
|
||||
NotificationWakeUpCoordinator notificationWakeUpCoordinator,
|
||||
KeyguardBypassController keyguardBypassController,
|
||||
KeyguardStateController keyguardStateController,
|
||||
HeadsUpManagerPhone headsUpManagerPhone,
|
||||
DynamicPrivacyController dynamicPrivacyController,
|
||||
BypassHeadsUpNotifier bypassHeadsUpNotifier,
|
||||
FalsingManager falsingManager,
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
|
||||
NotificationGutsManager notificationGutsManager,
|
||||
NotificationLogger notificationLogger,
|
||||
NotificationInterruptStateProvider notificationInterruptStateProvider,
|
||||
NotificationViewHierarchyManager notificationViewHierarchyManager,
|
||||
KeyguardViewMediator keyguardViewMediator,
|
||||
DisplayMetrics displayMetrics,
|
||||
MetricsLogger metricsLogger,
|
||||
@UiBackground Executor uiBgExecutor,
|
||||
NotificationMediaManager notificationMediaManager,
|
||||
NotificationLockscreenUserManager lockScreenUserManager,
|
||||
NotificationRemoteInputManager remoteInputManager,
|
||||
UserSwitcherController userSwitcherController,
|
||||
NetworkController networkController,
|
||||
BatteryController batteryController,
|
||||
SysuiColorExtractor colorExtractor,
|
||||
ScreenLifecycle screenLifecycle,
|
||||
WakefulnessLifecycle wakefulnessLifecycle,
|
||||
SysuiStatusBarStateController statusBarStateController,
|
||||
VibratorHelper vibratorHelper,
|
||||
BubbleController bubbleController,
|
||||
NotificationGroupManager groupManager,
|
||||
VisualStabilityManager visualStabilityManager,
|
||||
DeviceProvisionedController deviceProvisionedController,
|
||||
NavigationBarController navigationBarController,
|
||||
Lazy<AssistManager> assistManagerLazy,
|
||||
ConfigurationController configurationController,
|
||||
NotificationShadeWindowController notificationShadeWindowController,
|
||||
LockscreenLockIconController lockscreenLockIconController,
|
||||
DozeParameters dozeParameters,
|
||||
ScrimController scrimController,
|
||||
@Nullable KeyguardLiftController keyguardLiftController,
|
||||
Lazy<LockscreenWallpaper> lockscreenWallpaperLazy,
|
||||
Lazy<BiometricUnlockController> biometricUnlockControllerLazy,
|
||||
DozeServiceHost dozeServiceHost,
|
||||
PowerManager powerManager,
|
||||
ScreenPinningRequest screenPinningRequest,
|
||||
DozeScrimController dozeScrimController,
|
||||
VolumeComponent volumeComponent,
|
||||
CommandQueue commandQueue,
|
||||
Optional<Recents> recentsOptional,
|
||||
Provider<StatusBarComponent.Builder> statusBarComponentBuilder,
|
||||
PluginManager pluginManager,
|
||||
Optional<Divider> dividerOptional,
|
||||
LightsOutNotifController lightsOutNotifController,
|
||||
StatusBarNotificationActivityStarter.Builder
|
||||
statusBarNotificationActivityStarterBuilder,
|
||||
ShadeController shadeController,
|
||||
SuperStatusBarViewFactory superStatusBarViewFactory,
|
||||
StatusBarKeyguardViewManager statusBarKeyguardViewManager,
|
||||
ViewMediatorCallback viewMediatorCallback,
|
||||
InitController initController,
|
||||
DarkIconDispatcher darkIconDispatcher,
|
||||
@Named(TIME_TICK_HANDLER_NAME) Handler timeTickHandler,
|
||||
PluginDependencyProvider pluginDependencyProvider,
|
||||
KeyguardDismissUtil keyguardDismissUtil,
|
||||
ExtensionController extensionController,
|
||||
UserInfoControllerImpl userInfoControllerImpl,
|
||||
PhoneStatusBarPolicy phoneStatusBarPolicy,
|
||||
KeyguardIndicationController keyguardIndicationController,
|
||||
Lazy<NotificationShadeDepthController> notificationShadeDepthController,
|
||||
DismissCallbackRegistry dismissCallbackRegistry,
|
||||
StatusBarTouchableRegionManager statusBarTouchableRegionManager) {
|
||||
return new UnusedStatusBar(
|
||||
context,
|
||||
notificationsController,
|
||||
lightBarController,
|
||||
autoHideController,
|
||||
keyguardUpdateMonitor,
|
||||
statusBarIconController,
|
||||
pulseExpansionHandler,
|
||||
notificationWakeUpCoordinator,
|
||||
keyguardBypassController,
|
||||
keyguardStateController,
|
||||
headsUpManagerPhone,
|
||||
dynamicPrivacyController,
|
||||
bypassHeadsUpNotifier,
|
||||
falsingManager,
|
||||
broadcastDispatcher,
|
||||
remoteInputQuickSettingsDisabler,
|
||||
notificationGutsManager,
|
||||
notificationLogger,
|
||||
notificationInterruptStateProvider,
|
||||
notificationViewHierarchyManager,
|
||||
keyguardViewMediator,
|
||||
displayMetrics,
|
||||
metricsLogger,
|
||||
uiBgExecutor,
|
||||
notificationMediaManager,
|
||||
lockScreenUserManager,
|
||||
remoteInputManager,
|
||||
userSwitcherController,
|
||||
networkController,
|
||||
batteryController,
|
||||
colorExtractor,
|
||||
screenLifecycle,
|
||||
wakefulnessLifecycle,
|
||||
statusBarStateController,
|
||||
vibratorHelper,
|
||||
bubbleController,
|
||||
groupManager,
|
||||
visualStabilityManager,
|
||||
deviceProvisionedController,
|
||||
navigationBarController,
|
||||
assistManagerLazy,
|
||||
configurationController,
|
||||
notificationShadeWindowController,
|
||||
lockscreenLockIconController,
|
||||
dozeParameters,
|
||||
scrimController,
|
||||
keyguardLiftController,
|
||||
lockscreenWallpaperLazy,
|
||||
biometricUnlockControllerLazy,
|
||||
dozeServiceHost,
|
||||
powerManager,
|
||||
screenPinningRequest,
|
||||
dozeScrimController,
|
||||
volumeComponent,
|
||||
commandQueue,
|
||||
recentsOptional,
|
||||
statusBarComponentBuilder,
|
||||
pluginManager,
|
||||
dividerOptional,
|
||||
lightsOutNotifController,
|
||||
statusBarNotificationActivityStarterBuilder,
|
||||
shadeController,
|
||||
superStatusBarViewFactory,
|
||||
statusBarKeyguardViewManager,
|
||||
viewMediatorCallback,
|
||||
initController,
|
||||
darkIconDispatcher,
|
||||
timeTickHandler,
|
||||
pluginDependencyProvider,
|
||||
keyguardDismissUtil,
|
||||
extensionController,
|
||||
userInfoControllerImpl,
|
||||
phoneStatusBarPolicy,
|
||||
keyguardIndicationController,
|
||||
dismissCallbackRegistry,
|
||||
notificationShadeDepthController,
|
||||
statusBarTouchableRegionManager);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user