Merge "Make CommandQueue optional."
This commit is contained in:
@@ -16,100 +16,30 @@
|
||||
|
||||
package com.android.systemui;
|
||||
|
||||
import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.PowerManager;
|
||||
import android.util.DisplayMetrics;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.systemui.appops.AppOpsController;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
import com.android.systemui.biometrics.AuthController;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.bubbles.BubbleController;
|
||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
||||
import com.android.systemui.doze.DozeLog;
|
||||
import com.android.systemui.globalactions.GlobalActionsComponent;
|
||||
import com.android.systemui.keyguard.KeyguardViewMediator;
|
||||
import com.android.systemui.keyguard.ScreenLifecycle;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.navigationbar.car.CarNavigationBar;
|
||||
import com.android.systemui.navigationbar.car.CarNavigationBarController;
|
||||
import com.android.systemui.pip.PipUI;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.power.PowerUI;
|
||||
import com.android.systemui.recents.Recents;
|
||||
import com.android.systemui.recents.RecentsModule;
|
||||
import com.android.systemui.shared.plugins.PluginManager;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.FeatureFlags;
|
||||
import com.android.systemui.statusbar.NavigationBarController;
|
||||
import com.android.systemui.statusbar.NotificationListener;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.NotificationMediaManager;
|
||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
|
||||
import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.VibratorHelper;
|
||||
import com.android.systemui.statusbar.car.CarStatusBar;
|
||||
import com.android.systemui.statusbar.notification.BypassHeadsUpNotifier;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.car.CarStatusBarModule;
|
||||
import com.android.systemui.statusbar.notification.InstantAppNotifier;
|
||||
import com.android.systemui.statusbar.notification.NewNotifPipeline;
|
||||
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider;
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
|
||||
import com.android.systemui.statusbar.notification.VisualStabilityManager;
|
||||
import com.android.systemui.statusbar.notification.logging.NotifLog;
|
||||
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.LightBarController;
|
||||
import com.android.systemui.statusbar.phone.LockscreenWallpaper;
|
||||
import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper;
|
||||
import com.android.systemui.statusbar.phone.NotificationGroupManager;
|
||||
import com.android.systemui.statusbar.phone.ScrimController;
|
||||
import com.android.systemui.statusbar.phone.StatusBar;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarWindowController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarWindowViewController;
|
||||
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.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.NetworkController;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputUriController;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
import com.android.systemui.statusbar.policy.ZenModeController;
|
||||
import com.android.systemui.statusbar.tv.TvStatusBar;
|
||||
import com.android.systemui.theme.ThemeOverlayController;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
import com.android.systemui.util.leak.GarbageMonitor;
|
||||
import com.android.systemui.volume.VolumeUI;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Binds;
|
||||
import dagger.Lazy;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import dagger.multibindings.ClassKey;
|
||||
import dagger.multibindings.IntoMap;
|
||||
|
||||
/** Binder for car specific {@link SystemUI} modules. */
|
||||
@Module(includes = {RecentsModule.class})
|
||||
@Module(includes = {RecentsModule.class, CarStatusBarModule.class})
|
||||
public abstract class CarSystemUIBinder {
|
||||
/** Inject into AuthController. */
|
||||
@Binds
|
||||
@@ -219,147 +149,4 @@ public abstract class CarSystemUIBinder {
|
||||
@IntoMap
|
||||
@ClassKey(VolumeUI.class)
|
||||
public abstract SystemUI bindVolumeUI(VolumeUI sysui);
|
||||
|
||||
/**
|
||||
* Provides our instance of StatusBar which is considered optional.
|
||||
*/
|
||||
@Provides
|
||||
@Singleton
|
||||
static CarStatusBar provideStatusBar(
|
||||
Context context,
|
||||
FeatureFlags featureFlags,
|
||||
LightBarController lightBarController,
|
||||
AutoHideController autoHideController,
|
||||
KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||
StatusBarIconController statusBarIconController,
|
||||
DozeLog dozeLog,
|
||||
InjectionInflationController injectionInflationController,
|
||||
PulseExpansionHandler pulseExpansionHandler,
|
||||
NotificationWakeUpCoordinator notificationWakeUpCoordinator,
|
||||
KeyguardBypassController keyguardBypassController,
|
||||
KeyguardStateController keyguardStateController,
|
||||
HeadsUpManagerPhone headsUpManagerPhone,
|
||||
DynamicPrivacyController dynamicPrivacyController,
|
||||
BypassHeadsUpNotifier bypassHeadsUpNotifier,
|
||||
@Named(ALLOW_NOTIFICATION_LONG_PRESS_NAME) boolean allowNotificationLongPress,
|
||||
Lazy<NewNotifPipeline> newNotifPipeline,
|
||||
FalsingManager falsingManager,
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
|
||||
NotificationGutsManager notificationGutsManager,
|
||||
NotificationLogger notificationLogger,
|
||||
NotificationEntryManager notificationEntryManager,
|
||||
NotificationInterruptionStateProvider notificationInterruptionStateProvider,
|
||||
NotificationViewHierarchyManager notificationViewHierarchyManager,
|
||||
ForegroundServiceController foregroundServiceController,
|
||||
AppOpsController appOpsController,
|
||||
KeyguardViewMediator keyguardViewMediator,
|
||||
ZenModeController zenModeController,
|
||||
NotificationAlertingManager notificationAlertingManager,
|
||||
DisplayMetrics displayMetrics,
|
||||
MetricsLogger metricsLogger,
|
||||
UiOffloadThread uiOffloadThread,
|
||||
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,
|
||||
NotificationGroupAlertTransferHelper groupAlertTransferHelper,
|
||||
VisualStabilityManager visualStabilityManager,
|
||||
DeviceProvisionedController deviceProvisionedController,
|
||||
NavigationBarController navigationBarController,
|
||||
AssistManager assistManager,
|
||||
NotificationListener notificationListener,
|
||||
ConfigurationController configurationController,
|
||||
StatusBarWindowController statusBarWindowController,
|
||||
StatusBarWindowViewController.Builder statusBarWindowViewControllerBuilder,
|
||||
NotifLog notifLog,
|
||||
DozeParameters dozeParameters,
|
||||
ScrimController scrimController,
|
||||
Lazy<LockscreenWallpaper> lockscreenWallpaperLazy,
|
||||
Lazy<BiometricUnlockController> biometricUnlockControllerLazy,
|
||||
DozeServiceHost dozeServiceHost,
|
||||
PowerManager powerManager,
|
||||
DozeScrimController dozeScrimController,
|
||||
CommandQueue commandQueue,
|
||||
PluginManager pluginManager,
|
||||
CarNavigationBarController carNavigationBarController,
|
||||
RemoteInputUriController remoteInputUriController) {
|
||||
return new CarStatusBar(
|
||||
context,
|
||||
featureFlags,
|
||||
lightBarController,
|
||||
autoHideController,
|
||||
keyguardUpdateMonitor,
|
||||
statusBarIconController,
|
||||
dozeLog,
|
||||
injectionInflationController,
|
||||
pulseExpansionHandler,
|
||||
notificationWakeUpCoordinator,
|
||||
keyguardBypassController,
|
||||
keyguardStateController,
|
||||
headsUpManagerPhone,
|
||||
dynamicPrivacyController,
|
||||
bypassHeadsUpNotifier,
|
||||
allowNotificationLongPress,
|
||||
newNotifPipeline,
|
||||
falsingManager,
|
||||
broadcastDispatcher,
|
||||
remoteInputQuickSettingsDisabler,
|
||||
notificationGutsManager,
|
||||
notificationLogger,
|
||||
notificationEntryManager,
|
||||
notificationInterruptionStateProvider,
|
||||
notificationViewHierarchyManager,
|
||||
foregroundServiceController,
|
||||
appOpsController,
|
||||
keyguardViewMediator,
|
||||
zenModeController,
|
||||
notificationAlertingManager,
|
||||
displayMetrics,
|
||||
metricsLogger,
|
||||
uiOffloadThread,
|
||||
notificationMediaManager,
|
||||
lockScreenUserManager,
|
||||
remoteInputManager,
|
||||
userSwitcherController,
|
||||
networkController,
|
||||
batteryController,
|
||||
colorExtractor,
|
||||
screenLifecycle,
|
||||
wakefulnessLifecycle,
|
||||
statusBarStateController,
|
||||
vibratorHelper,
|
||||
bubbleController,
|
||||
groupManager,
|
||||
groupAlertTransferHelper,
|
||||
visualStabilityManager,
|
||||
deviceProvisionedController,
|
||||
navigationBarController,
|
||||
assistManager,
|
||||
notificationListener,
|
||||
configurationController,
|
||||
statusBarWindowController,
|
||||
statusBarWindowViewControllerBuilder,
|
||||
notifLog,
|
||||
dozeParameters,
|
||||
scrimController,
|
||||
lockscreenWallpaperLazy,
|
||||
biometricUnlockControllerLazy,
|
||||
dozeServiceHost,
|
||||
powerManager,
|
||||
dozeScrimController,
|
||||
commandQueue,
|
||||
pluginManager,
|
||||
remoteInputUriController,
|
||||
carNavigationBarController);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,244 @@
|
||||
/*
|
||||
* Copyright (C) 2019 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.car;
|
||||
|
||||
import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.PowerManager;
|
||||
import android.util.DisplayMetrics;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.systemui.ForegroundServiceController;
|
||||
import com.android.systemui.UiOffloadThread;
|
||||
import com.android.systemui.appops.AppOpsController;
|
||||
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.doze.DozeLog;
|
||||
import com.android.systemui.keyguard.KeyguardViewMediator;
|
||||
import com.android.systemui.keyguard.ScreenLifecycle;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.navigationbar.car.CarNavigationBarController;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.shared.plugins.PluginManager;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.FeatureFlags;
|
||||
import com.android.systemui.statusbar.NavigationBarController;
|
||||
import com.android.systemui.statusbar.NotificationListener;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.NotificationMediaManager;
|
||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
|
||||
import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.StatusBarDependenciesModule;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.VibratorHelper;
|
||||
import com.android.systemui.statusbar.notification.BypassHeadsUpNotifier;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NewNotifPipeline;
|
||||
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider;
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
|
||||
import com.android.systemui.statusbar.notification.VisualStabilityManager;
|
||||
import com.android.systemui.statusbar.notification.logging.NotifLog;
|
||||
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.LightBarController;
|
||||
import com.android.systemui.statusbar.phone.LockscreenWallpaper;
|
||||
import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper;
|
||||
import com.android.systemui.statusbar.phone.NotificationGroupManager;
|
||||
import com.android.systemui.statusbar.phone.ScrimController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarWindowController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarWindowViewController;
|
||||
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.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.NetworkController;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputUriController;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
import com.android.systemui.statusbar.policy.ZenModeController;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Lazy;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
/**
|
||||
* Dagger Module providing {@link CarStatusBar}.
|
||||
*/
|
||||
@Module(includes = {StatusBarDependenciesModule.class})
|
||||
public class CarStatusBarModule {
|
||||
/**
|
||||
* Provides our instance of StatusBar which is considered optional.
|
||||
*/
|
||||
@Provides
|
||||
@Singleton
|
||||
static CarStatusBar provideStatusBar(
|
||||
Context context,
|
||||
FeatureFlags featureFlags,
|
||||
LightBarController lightBarController,
|
||||
AutoHideController autoHideController,
|
||||
KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||
StatusBarIconController statusBarIconController,
|
||||
DozeLog dozeLog,
|
||||
InjectionInflationController injectionInflationController,
|
||||
PulseExpansionHandler pulseExpansionHandler,
|
||||
NotificationWakeUpCoordinator notificationWakeUpCoordinator,
|
||||
KeyguardBypassController keyguardBypassController,
|
||||
KeyguardStateController keyguardStateController,
|
||||
HeadsUpManagerPhone headsUpManagerPhone,
|
||||
DynamicPrivacyController dynamicPrivacyController,
|
||||
BypassHeadsUpNotifier bypassHeadsUpNotifier,
|
||||
@Named(ALLOW_NOTIFICATION_LONG_PRESS_NAME) boolean allowNotificationLongPress,
|
||||
Lazy<NewNotifPipeline> newNotifPipeline,
|
||||
FalsingManager falsingManager,
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
|
||||
NotificationGutsManager notificationGutsManager,
|
||||
NotificationLogger notificationLogger,
|
||||
NotificationEntryManager notificationEntryManager,
|
||||
NotificationInterruptionStateProvider notificationInterruptionStateProvider,
|
||||
NotificationViewHierarchyManager notificationViewHierarchyManager,
|
||||
ForegroundServiceController foregroundServiceController,
|
||||
AppOpsController appOpsController,
|
||||
KeyguardViewMediator keyguardViewMediator,
|
||||
ZenModeController zenModeController,
|
||||
NotificationAlertingManager notificationAlertingManager,
|
||||
DisplayMetrics displayMetrics,
|
||||
MetricsLogger metricsLogger,
|
||||
UiOffloadThread uiOffloadThread,
|
||||
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,
|
||||
NotificationGroupAlertTransferHelper groupAlertTransferHelper,
|
||||
VisualStabilityManager visualStabilityManager,
|
||||
DeviceProvisionedController deviceProvisionedController,
|
||||
NavigationBarController navigationBarController,
|
||||
AssistManager assistManager,
|
||||
NotificationListener notificationListener,
|
||||
ConfigurationController configurationController,
|
||||
StatusBarWindowController statusBarWindowController,
|
||||
StatusBarWindowViewController.Builder statusBarWindowViewControllerBuilder,
|
||||
NotifLog notifLog,
|
||||
DozeParameters dozeParameters,
|
||||
ScrimController scrimController,
|
||||
Lazy<LockscreenWallpaper> lockscreenWallpaperLazy,
|
||||
Lazy<BiometricUnlockController> biometricUnlockControllerLazy,
|
||||
DozeServiceHost dozeServiceHost,
|
||||
PowerManager powerManager,
|
||||
DozeScrimController dozeScrimController,
|
||||
CommandQueue commandQueue,
|
||||
PluginManager pluginManager,
|
||||
RemoteInputUriController remoteInputUriController,
|
||||
CarNavigationBarController carNavigationBarController) {
|
||||
return new CarStatusBar(
|
||||
context,
|
||||
featureFlags,
|
||||
lightBarController,
|
||||
autoHideController,
|
||||
keyguardUpdateMonitor,
|
||||
statusBarIconController,
|
||||
dozeLog,
|
||||
injectionInflationController,
|
||||
pulseExpansionHandler,
|
||||
notificationWakeUpCoordinator,
|
||||
keyguardBypassController,
|
||||
keyguardStateController,
|
||||
headsUpManagerPhone,
|
||||
dynamicPrivacyController,
|
||||
bypassHeadsUpNotifier,
|
||||
allowNotificationLongPress,
|
||||
newNotifPipeline,
|
||||
falsingManager,
|
||||
broadcastDispatcher,
|
||||
remoteInputQuickSettingsDisabler,
|
||||
notificationGutsManager,
|
||||
notificationLogger,
|
||||
notificationEntryManager,
|
||||
notificationInterruptionStateProvider,
|
||||
notificationViewHierarchyManager,
|
||||
foregroundServiceController,
|
||||
appOpsController,
|
||||
keyguardViewMediator,
|
||||
zenModeController,
|
||||
notificationAlertingManager,
|
||||
displayMetrics,
|
||||
metricsLogger,
|
||||
uiOffloadThread,
|
||||
notificationMediaManager,
|
||||
lockScreenUserManager,
|
||||
remoteInputManager,
|
||||
userSwitcherController,
|
||||
networkController,
|
||||
batteryController,
|
||||
colorExtractor,
|
||||
screenLifecycle,
|
||||
wakefulnessLifecycle,
|
||||
statusBarStateController,
|
||||
vibratorHelper,
|
||||
bubbleController,
|
||||
groupManager,
|
||||
groupAlertTransferHelper,
|
||||
visualStabilityManager,
|
||||
deviceProvisionedController,
|
||||
navigationBarController,
|
||||
assistManager,
|
||||
notificationListener,
|
||||
configurationController,
|
||||
statusBarWindowController,
|
||||
statusBarWindowViewControllerBuilder,
|
||||
notifLog,
|
||||
dozeParameters,
|
||||
scrimController,
|
||||
lockscreenWallpaperLazy,
|
||||
biometricUnlockControllerLazy,
|
||||
dozeServiceHost,
|
||||
powerManager,
|
||||
dozeScrimController,
|
||||
commandQueue,
|
||||
pluginManager,
|
||||
remoteInputUriController,
|
||||
carNavigationBarController);
|
||||
}
|
||||
}
|
||||
@@ -16,109 +16,35 @@
|
||||
|
||||
package com.android.systemui.dagger;
|
||||
|
||||
import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME;
|
||||
|
||||
import android.content.Context;
|
||||
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.systemui.ForegroundServiceController;
|
||||
import com.android.systemui.LatencyTester;
|
||||
import com.android.systemui.ScreenDecorations;
|
||||
import com.android.systemui.SizeCompatModeActivityController;
|
||||
import com.android.systemui.SliceBroadcastRelayHandler;
|
||||
import com.android.systemui.SystemUI;
|
||||
import com.android.systemui.UiOffloadThread;
|
||||
import com.android.systemui.appops.AppOpsController;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
import com.android.systemui.biometrics.AuthController;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.bubbles.BubbleController;
|
||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
||||
import com.android.systemui.doze.DozeLog;
|
||||
import com.android.systemui.globalactions.GlobalActionsComponent;
|
||||
import com.android.systemui.keyguard.KeyguardViewMediator;
|
||||
import com.android.systemui.keyguard.ScreenLifecycle;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.pip.PipUI;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.power.PowerUI;
|
||||
import com.android.systemui.recents.Recents;
|
||||
import com.android.systemui.recents.RecentsModule;
|
||||
import com.android.systemui.shared.plugins.PluginManager;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.FeatureFlags;
|
||||
import com.android.systemui.statusbar.NavigationBarController;
|
||||
import com.android.systemui.statusbar.NotificationListener;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.NotificationMediaManager;
|
||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
|
||||
import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.VibratorHelper;
|
||||
import com.android.systemui.statusbar.notification.BypassHeadsUpNotifier;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.InstantAppNotifier;
|
||||
import com.android.systemui.statusbar.notification.NewNotifPipeline;
|
||||
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider;
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
|
||||
import com.android.systemui.statusbar.notification.VisualStabilityManager;
|
||||
import com.android.systemui.statusbar.notification.logging.NotifLog;
|
||||
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.KeyguardLiftController;
|
||||
import com.android.systemui.statusbar.phone.LightBarController;
|
||||
import com.android.systemui.statusbar.phone.LockscreenWallpaper;
|
||||
import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper;
|
||||
import com.android.systemui.statusbar.phone.NotificationGroupManager;
|
||||
import com.android.systemui.statusbar.phone.ScrimController;
|
||||
import com.android.systemui.statusbar.phone.StatusBar;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarWindowController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarWindowViewController;
|
||||
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.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.NetworkController;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputUriController;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
import com.android.systemui.statusbar.policy.ZenModeController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarModule;
|
||||
import com.android.systemui.statusbar.tv.TvStatusBar;
|
||||
import com.android.systemui.theme.ThemeOverlayController;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
import com.android.systemui.util.leak.GarbageMonitor;
|
||||
import com.android.systemui.volume.VolumeUI;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Binds;
|
||||
import dagger.Lazy;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import dagger.multibindings.ClassKey;
|
||||
import dagger.multibindings.IntoMap;
|
||||
|
||||
/**
|
||||
* SystemUI objects that are injectable should go here.
|
||||
*/
|
||||
@Module(includes = {RecentsModule.class})
|
||||
@Module(includes = {RecentsModule.class, StatusBarModule.class})
|
||||
public abstract class SystemUIBinder {
|
||||
/** Inject into AuthController. */
|
||||
@Binds
|
||||
@@ -216,148 +142,4 @@ public abstract class SystemUIBinder {
|
||||
@IntoMap
|
||||
@ClassKey(VolumeUI.class)
|
||||
public abstract SystemUI bindVolumeUI(VolumeUI sysui);
|
||||
|
||||
/**
|
||||
* Provides our instance of StatusBar which is considered optional.
|
||||
*/
|
||||
@Provides
|
||||
@Singleton
|
||||
static StatusBar provideStatusBar(
|
||||
Context context,
|
||||
FeatureFlags featureFlags,
|
||||
LightBarController lightBarController,
|
||||
AutoHideController autoHideController,
|
||||
KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||
StatusBarIconController statusBarIconController,
|
||||
DozeLog dozeLog,
|
||||
InjectionInflationController injectionInflationController,
|
||||
PulseExpansionHandler pulseExpansionHandler,
|
||||
NotificationWakeUpCoordinator notificationWakeUpCoordinator,
|
||||
KeyguardBypassController keyguardBypassController,
|
||||
KeyguardStateController keyguardStateController,
|
||||
HeadsUpManagerPhone headsUpManagerPhone,
|
||||
DynamicPrivacyController dynamicPrivacyController,
|
||||
BypassHeadsUpNotifier bypassHeadsUpNotifier,
|
||||
@Named(ALLOW_NOTIFICATION_LONG_PRESS_NAME) boolean allowNotificationLongPress,
|
||||
Lazy<NewNotifPipeline> newNotifPipeline,
|
||||
FalsingManager falsingManager,
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
|
||||
NotificationGutsManager notificationGutsManager,
|
||||
NotificationLogger notificationLogger,
|
||||
NotificationEntryManager notificationEntryManager,
|
||||
NotificationInterruptionStateProvider notificationInterruptionStateProvider,
|
||||
NotificationViewHierarchyManager notificationViewHierarchyManager,
|
||||
ForegroundServiceController foregroundServiceController,
|
||||
AppOpsController appOpsController,
|
||||
KeyguardViewMediator keyguardViewMediator,
|
||||
ZenModeController zenModeController,
|
||||
NotificationAlertingManager notificationAlertingManager,
|
||||
DisplayMetrics displayMetrics,
|
||||
MetricsLogger metricsLogger,
|
||||
UiOffloadThread uiOffloadThread,
|
||||
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,
|
||||
NotificationGroupAlertTransferHelper groupAlertTransferHelper,
|
||||
VisualStabilityManager visualStabilityManager,
|
||||
DeviceProvisionedController deviceProvisionedController,
|
||||
NavigationBarController navigationBarController,
|
||||
AssistManager assistManager,
|
||||
NotificationListener notificationListener,
|
||||
ConfigurationController configurationController,
|
||||
StatusBarWindowController statusBarWindowController,
|
||||
StatusBarWindowViewController.Builder statusBarWindowViewControllerBuilder,
|
||||
NotifLog notifLog,
|
||||
DozeParameters dozeParameters,
|
||||
ScrimController scrimController,
|
||||
@Nullable KeyguardLiftController keyguardLiftController,
|
||||
Lazy<LockscreenWallpaper> lockscreenWallpaperLazy,
|
||||
Lazy<BiometricUnlockController> biometricUnlockControllerLazy,
|
||||
DozeServiceHost dozeServiceHost,
|
||||
PowerManager powerManager,
|
||||
DozeScrimController dozeScrimController,
|
||||
CommandQueue commandQueue,
|
||||
PluginManager pluginManager,
|
||||
RemoteInputUriController remoteInputUriController) {
|
||||
return new StatusBar(
|
||||
context,
|
||||
featureFlags,
|
||||
lightBarController,
|
||||
autoHideController,
|
||||
keyguardUpdateMonitor,
|
||||
statusBarIconController,
|
||||
dozeLog,
|
||||
injectionInflationController,
|
||||
pulseExpansionHandler,
|
||||
notificationWakeUpCoordinator,
|
||||
keyguardBypassController,
|
||||
keyguardStateController,
|
||||
headsUpManagerPhone,
|
||||
dynamicPrivacyController,
|
||||
bypassHeadsUpNotifier,
|
||||
allowNotificationLongPress,
|
||||
newNotifPipeline,
|
||||
falsingManager,
|
||||
broadcastDispatcher,
|
||||
remoteInputQuickSettingsDisabler,
|
||||
notificationGutsManager,
|
||||
notificationLogger,
|
||||
notificationEntryManager,
|
||||
notificationInterruptionStateProvider,
|
||||
notificationViewHierarchyManager,
|
||||
foregroundServiceController,
|
||||
appOpsController,
|
||||
keyguardViewMediator,
|
||||
zenModeController,
|
||||
notificationAlertingManager,
|
||||
displayMetrics,
|
||||
metricsLogger,
|
||||
uiOffloadThread,
|
||||
notificationMediaManager,
|
||||
lockScreenUserManager,
|
||||
remoteInputManager,
|
||||
userSwitcherController,
|
||||
networkController,
|
||||
batteryController,
|
||||
colorExtractor,
|
||||
screenLifecycle,
|
||||
wakefulnessLifecycle,
|
||||
statusBarStateController,
|
||||
vibratorHelper,
|
||||
bubbleController,
|
||||
groupManager,
|
||||
groupAlertTransferHelper,
|
||||
visualStabilityManager,
|
||||
deviceProvisionedController,
|
||||
navigationBarController,
|
||||
assistManager,
|
||||
notificationListener,
|
||||
configurationController,
|
||||
statusBarWindowController,
|
||||
statusBarWindowViewControllerBuilder,
|
||||
notifLog,
|
||||
dozeParameters,
|
||||
scrimController,
|
||||
keyguardLiftController,
|
||||
lockscreenWallpaperLazy,
|
||||
biometricUnlockControllerLazy,
|
||||
dozeServiceHost,
|
||||
powerManager,
|
||||
dozeScrimController,
|
||||
commandQueue,
|
||||
pluginManager,
|
||||
remoteInputUriController);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.android.systemui.DumpController;
|
||||
import com.android.systemui.assist.AssistModule;
|
||||
import com.android.systemui.model.SysUiState;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.notification.people.PeopleHubModule;
|
||||
import com.android.systemui.statusbar.phone.KeyguardLiftController;
|
||||
import com.android.systemui.statusbar.phone.StatusBar;
|
||||
@@ -70,6 +71,9 @@ public abstract class SystemUIModule {
|
||||
return new SysUiState();
|
||||
}
|
||||
|
||||
@BindsOptionalOf
|
||||
abstract CommandQueue optionalCommandQueue();
|
||||
|
||||
@BindsOptionalOf
|
||||
abstract StatusBar optionalStatusBar();
|
||||
}
|
||||
|
||||
@@ -50,8 +50,6 @@ import android.view.InsetsState.InternalInsetType;
|
||||
import android.view.View;
|
||||
import android.view.WindowInsetsController.Appearance;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.internal.os.SomeArgs;
|
||||
import com.android.internal.statusbar.IStatusBar;
|
||||
import com.android.internal.statusbar.StatusBarIcon;
|
||||
@@ -61,9 +59,6 @@ import com.android.systemui.statusbar.policy.CallbackController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
/**
|
||||
* This class takes the functions from IStatusBar that come in on
|
||||
* binder pool threads and posts messages to get them onto the main
|
||||
@@ -71,7 +66,6 @@ import javax.inject.Singleton;
|
||||
* coalescing these calls so they don't stack up. For the calls
|
||||
* are coalesced, note that they are all idempotent.
|
||||
*/
|
||||
@Singleton
|
||||
public class CommandQueue extends IStatusBar.Stub implements CallbackController<Callbacks>,
|
||||
DisplayManager.DisplayListener {
|
||||
private static final int INDEX_MASK = 0xffff;
|
||||
@@ -307,8 +301,6 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@Inject
|
||||
public CommandQueue(Context context) {
|
||||
context.getSystemService(DisplayManager.class).registerDisplayListener(this, mHandler);
|
||||
// We always have default display.
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright (C) 2019 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 android.content.Context;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
/**
|
||||
* Dagger Module providing common dependencies of StatusBar.
|
||||
*/
|
||||
@Module
|
||||
public class StatusBarDependenciesModule {
|
||||
/**
|
||||
* Provides our instance of CommandQueue which is considered optional.
|
||||
*/
|
||||
@Provides
|
||||
public CommandQueue provideCommandQueue(Context context) {
|
||||
return new CommandQueue(context);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -157,7 +157,6 @@ import com.android.systemui.bubbles.BubbleController;
|
||||
import com.android.systemui.charging.WirelessChargingAnimation;
|
||||
import com.android.systemui.classifier.FalsingLog;
|
||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
||||
import com.android.systemui.dagger.SystemUIBinder;
|
||||
import com.android.systemui.doze.DozeHost;
|
||||
import com.android.systemui.doze.DozeLog;
|
||||
import com.android.systemui.fragments.ExtensionFragmentListener;
|
||||
@@ -637,7 +636,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
* Public constructor for StatusBar.
|
||||
*
|
||||
* StatusBar is considered optional, and therefore can not be marked as @Inject directly.
|
||||
* Instead, an @Provide method is included in {@link SystemUIBinder}.
|
||||
* Instead, an @Provide method is included.
|
||||
*/
|
||||
public StatusBar(
|
||||
Context context,
|
||||
|
||||
@@ -0,0 +1,230 @@
|
||||
/*
|
||||
* Copyright (C) 2019 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.phone;
|
||||
|
||||
import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME;
|
||||
|
||||
import android.content.Context;
|
||||
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.systemui.ForegroundServiceController;
|
||||
import com.android.systemui.UiOffloadThread;
|
||||
import com.android.systemui.appops.AppOpsController;
|
||||
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.doze.DozeLog;
|
||||
import com.android.systemui.keyguard.KeyguardViewMediator;
|
||||
import com.android.systemui.keyguard.ScreenLifecycle;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.shared.plugins.PluginManager;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.FeatureFlags;
|
||||
import com.android.systemui.statusbar.NavigationBarController;
|
||||
import com.android.systemui.statusbar.NotificationListener;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.NotificationMediaManager;
|
||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
|
||||
import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.StatusBarDependenciesModule;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.VibratorHelper;
|
||||
import com.android.systemui.statusbar.notification.BypassHeadsUpNotifier;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NewNotifPipeline;
|
||||
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider;
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
|
||||
import com.android.systemui.statusbar.notification.VisualStabilityManager;
|
||||
import com.android.systemui.statusbar.notification.logging.NotifLog;
|
||||
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
|
||||
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
|
||||
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.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.NetworkController;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputUriController;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
import com.android.systemui.statusbar.policy.ZenModeController;
|
||||
import com.android.systemui.util.InjectionInflationController;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Lazy;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
/**
|
||||
* Dagger Module providing {@link StatusBar}.
|
||||
*/
|
||||
@Module(includes = {StatusBarDependenciesModule.class})
|
||||
public class StatusBarModule {
|
||||
/**
|
||||
* Provides our instance of StatusBar which is considered optional.
|
||||
*/
|
||||
@Provides
|
||||
@Singleton
|
||||
static StatusBar provideStatusBar(
|
||||
Context context,
|
||||
FeatureFlags featureFlags,
|
||||
LightBarController lightBarController,
|
||||
AutoHideController autoHideController,
|
||||
KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||
StatusBarIconController statusBarIconController,
|
||||
DozeLog dozeLog,
|
||||
InjectionInflationController injectionInflationController,
|
||||
PulseExpansionHandler pulseExpansionHandler,
|
||||
NotificationWakeUpCoordinator notificationWakeUpCoordinator,
|
||||
KeyguardBypassController keyguardBypassController,
|
||||
KeyguardStateController keyguardStateController,
|
||||
HeadsUpManagerPhone headsUpManagerPhone,
|
||||
DynamicPrivacyController dynamicPrivacyController,
|
||||
BypassHeadsUpNotifier bypassHeadsUpNotifier,
|
||||
@Named(ALLOW_NOTIFICATION_LONG_PRESS_NAME) boolean allowNotificationLongPress,
|
||||
Lazy<NewNotifPipeline> newNotifPipeline,
|
||||
FalsingManager falsingManager,
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
|
||||
NotificationGutsManager notificationGutsManager,
|
||||
NotificationLogger notificationLogger,
|
||||
NotificationEntryManager notificationEntryManager,
|
||||
NotificationInterruptionStateProvider notificationInterruptionStateProvider,
|
||||
NotificationViewHierarchyManager notificationViewHierarchyManager,
|
||||
ForegroundServiceController foregroundServiceController,
|
||||
AppOpsController appOpsController,
|
||||
KeyguardViewMediator keyguardViewMediator,
|
||||
ZenModeController zenModeController,
|
||||
NotificationAlertingManager notificationAlertingManager,
|
||||
DisplayMetrics displayMetrics,
|
||||
MetricsLogger metricsLogger,
|
||||
UiOffloadThread uiOffloadThread,
|
||||
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,
|
||||
NotificationGroupAlertTransferHelper groupAlertTransferHelper,
|
||||
VisualStabilityManager visualStabilityManager,
|
||||
DeviceProvisionedController deviceProvisionedController,
|
||||
NavigationBarController navigationBarController,
|
||||
AssistManager assistManager,
|
||||
NotificationListener notificationListener,
|
||||
ConfigurationController configurationController,
|
||||
StatusBarWindowController statusBarWindowController,
|
||||
StatusBarWindowViewController.Builder statusBarWindowViewControllerBuilder,
|
||||
NotifLog notifLog,
|
||||
DozeParameters dozeParameters,
|
||||
ScrimController scrimController,
|
||||
@Nullable KeyguardLiftController keyguardLiftController,
|
||||
Lazy<LockscreenWallpaper> lockscreenWallpaperLazy,
|
||||
Lazy<BiometricUnlockController> biometricUnlockControllerLazy,
|
||||
DozeServiceHost dozeServiceHost,
|
||||
PowerManager powerManager,
|
||||
DozeScrimController dozeScrimController,
|
||||
CommandQueue commandQueue,
|
||||
PluginManager pluginManager,
|
||||
RemoteInputUriController remoteInputUriController) {
|
||||
return new StatusBar(
|
||||
context,
|
||||
featureFlags,
|
||||
lightBarController,
|
||||
autoHideController,
|
||||
keyguardUpdateMonitor,
|
||||
statusBarIconController,
|
||||
dozeLog,
|
||||
injectionInflationController,
|
||||
pulseExpansionHandler,
|
||||
notificationWakeUpCoordinator,
|
||||
keyguardBypassController,
|
||||
keyguardStateController,
|
||||
headsUpManagerPhone,
|
||||
dynamicPrivacyController,
|
||||
bypassHeadsUpNotifier,
|
||||
allowNotificationLongPress,
|
||||
newNotifPipeline,
|
||||
falsingManager,
|
||||
broadcastDispatcher,
|
||||
remoteInputQuickSettingsDisabler,
|
||||
notificationGutsManager,
|
||||
notificationLogger,
|
||||
notificationEntryManager,
|
||||
notificationInterruptionStateProvider,
|
||||
notificationViewHierarchyManager,
|
||||
foregroundServiceController,
|
||||
appOpsController,
|
||||
keyguardViewMediator,
|
||||
zenModeController,
|
||||
notificationAlertingManager,
|
||||
displayMetrics,
|
||||
metricsLogger,
|
||||
uiOffloadThread,
|
||||
notificationMediaManager,
|
||||
lockScreenUserManager,
|
||||
remoteInputManager,
|
||||
userSwitcherController,
|
||||
networkController,
|
||||
batteryController,
|
||||
colorExtractor,
|
||||
screenLifecycle,
|
||||
wakefulnessLifecycle,
|
||||
statusBarStateController,
|
||||
vibratorHelper,
|
||||
bubbleController,
|
||||
groupManager,
|
||||
groupAlertTransferHelper,
|
||||
visualStabilityManager,
|
||||
deviceProvisionedController,
|
||||
navigationBarController,
|
||||
assistManager,
|
||||
notificationListener,
|
||||
configurationController,
|
||||
statusBarWindowController,
|
||||
statusBarWindowViewControllerBuilder,
|
||||
notifLog,
|
||||
dozeParameters,
|
||||
scrimController,
|
||||
keyguardLiftController,
|
||||
lockscreenWallpaperLazy,
|
||||
biometricUnlockControllerLazy,
|
||||
dozeServiceHost,
|
||||
powerManager,
|
||||
dozeScrimController,
|
||||
commandQueue,
|
||||
pluginManager,
|
||||
remoteInputUriController);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user