1 /* 2 * Copyright (C) 2019 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.systemui.statusbar.phone.dagger; 18 19 import com.android.keyguard.KeyguardUpdateMonitor; 20 import com.android.systemui.dagger.qualifiers.Main; 21 import com.android.systemui.dump.DumpManager; 22 import com.android.systemui.flags.FeatureFlags; 23 import com.android.systemui.plugins.statusbar.StatusBarStateController; 24 import com.android.systemui.shade.ShadeExpansionStateManager; 25 import com.android.systemui.shade.ShadeViewController; 26 import com.android.systemui.statusbar.CommandQueue; 27 import com.android.systemui.statusbar.OperatorNameViewController; 28 import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler; 29 import com.android.systemui.statusbar.phone.NotificationIconAreaController; 30 import com.android.systemui.statusbar.phone.StatusBarHideIconsForBouncerManager; 31 import com.android.systemui.statusbar.phone.StatusBarIconController; 32 import com.android.systemui.statusbar.phone.StatusBarLocationPublisher; 33 import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment; 34 import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragmentLogger; 35 import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentComponent; 36 import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController; 37 import com.android.systemui.statusbar.pipeline.shared.ui.binder.CollapsedStatusBarViewBinder; 38 import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.CollapsedStatusBarViewModel; 39 import com.android.systemui.statusbar.policy.KeyguardStateController; 40 import com.android.systemui.statusbar.window.StatusBarWindowStateController; 41 import com.android.systemui.util.CarrierConfigTracker; 42 import com.android.systemui.util.settings.SecureSettings; 43 44 import dagger.Module; 45 import dagger.Provides; 46 47 import java.util.concurrent.Executor; 48 49 import javax.inject.Named; 50 51 /** 52 * A module for {@link CentralSurfacesComponent.CentralSurfacesScope} components. 53 * 54 * @deprecated CentralSurfacesScope will be removed shortly (b/277762009). Classes should be 55 * annotated with @SysUISingleton instead. 56 */ 57 @Module(subcomponents = StatusBarFragmentComponent.class) 58 @Deprecated 59 public abstract class StatusBarViewModule { 60 61 public static final String STATUS_BAR_FRAGMENT = "status_bar_fragment"; 62 63 /** 64 * Creates a new {@link CollapsedStatusBarFragment}. 65 * 66 * **IMPORTANT**: This method intentionally does not have 67 * {@link CentralSurfacesComponent.CentralSurfacesScope}, which means a new fragment *will* be 68 * created each time this method is called. This is intentional because we need fragments to 69 * re-created in certain lifecycle scenarios. 70 * 71 * This provider is {@link Named} such that it does not conflict with the provider inside of 72 * {@link StatusBarFragmentComponent}. 73 */ 74 @Provides 75 @Named(STATUS_BAR_FRAGMENT) createCollapsedStatusBarFragment( StatusBarFragmentComponent.Factory statusBarFragmentComponentFactory, OngoingCallController ongoingCallController, SystemStatusAnimationScheduler animationScheduler, StatusBarLocationPublisher locationPublisher, NotificationIconAreaController notificationIconAreaController, ShadeExpansionStateManager shadeExpansionStateManager, FeatureFlags featureFlags, StatusBarIconController statusBarIconController, StatusBarIconController.DarkIconManager.Factory darkIconManagerFactory, CollapsedStatusBarViewModel collapsedStatusBarViewModel, CollapsedStatusBarViewBinder collapsedStatusBarViewBinder, StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager, KeyguardStateController keyguardStateController, ShadeViewController shadeViewController, StatusBarStateController statusBarStateController, CommandQueue commandQueue, CarrierConfigTracker carrierConfigTracker, CollapsedStatusBarFragmentLogger collapsedStatusBarFragmentLogger, OperatorNameViewController.Factory operatorNameViewControllerFactory, SecureSettings secureSettings, @Main Executor mainExecutor, DumpManager dumpManager, StatusBarWindowStateController statusBarWindowStateController, KeyguardUpdateMonitor keyguardUpdateMonitor )76 public static CollapsedStatusBarFragment createCollapsedStatusBarFragment( 77 StatusBarFragmentComponent.Factory statusBarFragmentComponentFactory, 78 OngoingCallController ongoingCallController, 79 SystemStatusAnimationScheduler animationScheduler, 80 StatusBarLocationPublisher locationPublisher, 81 NotificationIconAreaController notificationIconAreaController, 82 ShadeExpansionStateManager shadeExpansionStateManager, 83 FeatureFlags featureFlags, 84 StatusBarIconController statusBarIconController, 85 StatusBarIconController.DarkIconManager.Factory darkIconManagerFactory, 86 CollapsedStatusBarViewModel collapsedStatusBarViewModel, 87 CollapsedStatusBarViewBinder collapsedStatusBarViewBinder, 88 StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager, 89 KeyguardStateController keyguardStateController, 90 ShadeViewController shadeViewController, 91 StatusBarStateController statusBarStateController, 92 CommandQueue commandQueue, 93 CarrierConfigTracker carrierConfigTracker, 94 CollapsedStatusBarFragmentLogger collapsedStatusBarFragmentLogger, 95 OperatorNameViewController.Factory operatorNameViewControllerFactory, 96 SecureSettings secureSettings, 97 @Main Executor mainExecutor, 98 DumpManager dumpManager, 99 StatusBarWindowStateController statusBarWindowStateController, 100 KeyguardUpdateMonitor keyguardUpdateMonitor 101 ) { 102 return new CollapsedStatusBarFragment(statusBarFragmentComponentFactory, 103 ongoingCallController, 104 animationScheduler, 105 locationPublisher, 106 notificationIconAreaController, 107 shadeExpansionStateManager, 108 featureFlags, 109 statusBarIconController, 110 darkIconManagerFactory, 111 collapsedStatusBarViewModel, 112 collapsedStatusBarViewBinder, 113 statusBarHideIconsForBouncerManager, 114 keyguardStateController, 115 shadeViewController, 116 statusBarStateController, 117 commandQueue, 118 carrierConfigTracker, 119 collapsedStatusBarFragmentLogger, 120 operatorNameViewControllerFactory, 121 secureSettings, 122 mainExecutor, 123 dumpManager, 124 statusBarWindowStateController, 125 keyguardUpdateMonitor); 126 } 127 } 128