Move status bar initialization into its own class
This CL attempts to extract the creation of the CollapsedStatusBarFragment to its own StatusBarInitializer Test: atest SystemUITests Bug: 205609837 Change-Id: If39008a5e2d9de704b8bd8c6675b9bb2ecca8da8
This commit is contained in:
@@ -108,7 +108,18 @@ public class FragmentHostManager {
|
||||
return p;
|
||||
}
|
||||
|
||||
public FragmentHostManager addTagListener(String tag, FragmentListener listener) {
|
||||
/**
|
||||
* Add a {@link FragmentListener} for a given tag
|
||||
*
|
||||
* @param tag string identifier for the fragment
|
||||
* @param listener the listener to register
|
||||
*
|
||||
* @return this
|
||||
*/
|
||||
public FragmentHostManager addTagListener(
|
||||
@NonNull String tag,
|
||||
@NonNull FragmentListener listener
|
||||
) {
|
||||
ArrayList<FragmentListener> listeners = mListeners.get(tag);
|
||||
if (listeners == null) {
|
||||
listeners = new ArrayList<>();
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Copyright (C) 2021 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.core
|
||||
|
||||
import android.app.Fragment
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.fragments.FragmentHostManager
|
||||
import com.android.systemui.statusbar.phone.PhoneStatusBarView
|
||||
import com.android.systemui.statusbar.phone.PhoneStatusBarViewController
|
||||
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent
|
||||
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent.StatusBarScope
|
||||
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment
|
||||
import com.android.systemui.statusbar.window.StatusBarWindowController
|
||||
import java.lang.IllegalStateException
|
||||
import javax.inject.Inject
|
||||
|
||||
/**
|
||||
* Responsible for creating the StatusBar window and initializing the root components of that window
|
||||
* (see [CollapsedStatusBarFragment])
|
||||
*/
|
||||
@StatusBarScope
|
||||
class StatusBarInitializer @Inject constructor(
|
||||
private val windowController: StatusBarWindowController
|
||||
) {
|
||||
|
||||
var statusBarViewUpdatedListener: OnStatusBarViewUpdatedListener? = null
|
||||
|
||||
/**
|
||||
* Creates the status bar window and root views, and initializes the component
|
||||
*/
|
||||
fun initializeStatusBar(
|
||||
sbComponent: StatusBarComponent
|
||||
) {
|
||||
windowController.fragmentHostManager.addTagListener(
|
||||
CollapsedStatusBarFragment.TAG,
|
||||
object : FragmentHostManager.FragmentListener {
|
||||
override fun onFragmentViewCreated(tag: String, fragment: Fragment) {
|
||||
val statusBarFragmentComponent = (fragment as CollapsedStatusBarFragment)
|
||||
.statusBarFragmentComponent ?: throw IllegalStateException()
|
||||
val statusBarView = statusBarFragmentComponent.phoneStatusBarView
|
||||
val sbViewController =
|
||||
statusBarFragmentComponent.phoneStatusBarViewController
|
||||
|
||||
statusBarViewUpdatedListener
|
||||
?.onStatusBarViewUpdated(statusBarView, sbViewController)
|
||||
}
|
||||
|
||||
override fun onFragmentViewDestroyed(tag: String?, fragment: Fragment?) {
|
||||
// nop
|
||||
}
|
||||
}).fragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.status_bar_container,
|
||||
sbComponent.createCollapsedStatusBarFragment(),
|
||||
CollapsedStatusBarFragment.TAG)
|
||||
.commit()
|
||||
}
|
||||
|
||||
interface OnStatusBarViewUpdatedListener {
|
||||
fun onStatusBarViewUpdated(
|
||||
statusBarView: PhoneStatusBarView,
|
||||
statusBarViewController: PhoneStatusBarViewController
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.systemui.statusbar.phone;
|
||||
|
||||
import android.graphics.Point;
|
||||
import android.graphics.Rect;
|
||||
import android.view.View;
|
||||
|
||||
@@ -59,9 +58,7 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar
|
||||
private final NotificationIconAreaController mNotificationIconAreaController;
|
||||
private final HeadsUpManagerPhone mHeadsUpManager;
|
||||
private final NotificationStackScrollLayoutController mStackScrollerController;
|
||||
private final View mCenteredIconView;
|
||||
private final View mClockView;
|
||||
private final View mOperatorNameView;
|
||||
|
||||
private final DarkIconDispatcher mDarkIconDispatcher;
|
||||
private final NotificationPanelViewController mNotificationPanelViewController;
|
||||
private final Consumer<ExpandableNotificationRow>
|
||||
@@ -71,6 +68,11 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar
|
||||
private final StatusBarStateController mStatusBarStateController;
|
||||
private final CommandQueue mCommandQueue;
|
||||
private final NotificationWakeUpCoordinator mWakeUpCoordinator;
|
||||
|
||||
private View mCenteredIconView;
|
||||
private View mClockView;
|
||||
private View mOperatorNameView;
|
||||
|
||||
@VisibleForTesting
|
||||
float mExpandedHeight;
|
||||
@VisibleForTesting
|
||||
@@ -85,7 +87,6 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar
|
||||
}
|
||||
};
|
||||
private boolean mAnimationsEnabled = true;
|
||||
Point mPoint;
|
||||
private KeyguardStateController mKeyguardStateController;
|
||||
|
||||
@Inject
|
||||
|
||||
@@ -148,7 +148,6 @@ import com.android.systemui.dagger.qualifiers.Main;
|
||||
import com.android.systemui.dagger.qualifiers.UiBackground;
|
||||
import com.android.systemui.demomode.DemoMode;
|
||||
import com.android.systemui.demomode.DemoModeController;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.emergency.EmergencyGesture;
|
||||
import com.android.systemui.flags.FeatureFlags;
|
||||
import com.android.systemui.flags.Flags;
|
||||
@@ -195,13 +194,12 @@ import com.android.systemui.statusbar.NotificationShadeDepthController;
|
||||
import com.android.systemui.statusbar.NotificationShadeWindowController;
|
||||
import com.android.systemui.statusbar.NotificationShelfController;
|
||||
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
|
||||
import com.android.systemui.statusbar.OperatorNameViewController;
|
||||
import com.android.systemui.statusbar.PowerButtonReveal;
|
||||
import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.connectivity.NetworkController;
|
||||
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
|
||||
import com.android.systemui.statusbar.core.StatusBarInitializer;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
|
||||
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
|
||||
@@ -221,9 +219,6 @@ import com.android.systemui.statusbar.notification.stack.NotificationStackScroll
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
|
||||
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent;
|
||||
import com.android.systemui.statusbar.phone.dagger.StatusBarPhoneModule;
|
||||
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment;
|
||||
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragmentLogger;
|
||||
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentComponent;
|
||||
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
|
||||
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
@@ -237,7 +232,6 @@ import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
import com.android.systemui.statusbar.window.StatusBarWindowController;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.util.DumpUtilsKt;
|
||||
import com.android.systemui.util.WallpaperController;
|
||||
import com.android.systemui.util.concurrency.DelayableExecutor;
|
||||
@@ -458,7 +452,6 @@ public class StatusBar extends CoreStartable implements
|
||||
@Nullable
|
||||
protected LockscreenWallpaper mLockscreenWallpaper;
|
||||
private final AutoHideController mAutoHideController;
|
||||
private final CollapsedStatusBarFragmentLogger mCollapsedStatusBarFragmentLogger;
|
||||
|
||||
private final Point mCurrentDisplaySize = new Point();
|
||||
|
||||
@@ -509,10 +502,7 @@ public class StatusBar extends CoreStartable implements
|
||||
private final DemoModeController mDemoModeController;
|
||||
private final NotificationsController mNotificationsController;
|
||||
private final OngoingCallController mOngoingCallController;
|
||||
private final SystemStatusAnimationScheduler mAnimationScheduler;
|
||||
private final StatusBarSignalPolicy mStatusBarSignalPolicy;
|
||||
private final StatusBarLocationPublisher mStatusBarLocationPublisher;
|
||||
private final StatusBarIconController mStatusBarIconController;
|
||||
private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;
|
||||
|
||||
// expanded notifications
|
||||
@@ -522,7 +512,6 @@ public class StatusBar extends CoreStartable implements
|
||||
// settings
|
||||
private QSPanelController mQSPanelController;
|
||||
|
||||
private final OperatorNameViewController.Factory mOperatorNameViewControllerFactory;
|
||||
KeyguardIndicationController mKeyguardIndicationController;
|
||||
|
||||
private View mReportRejectedTouch;
|
||||
@@ -547,7 +536,6 @@ public class StatusBar extends CoreStartable implements
|
||||
private final KeyguardUnlockAnimationController mKeyguardUnlockAnimationController;
|
||||
private final MessageRouter mMessageRouter;
|
||||
private final WallpaperManager mWallpaperManager;
|
||||
private final TunerService mTunerService;
|
||||
|
||||
private StatusBarComponent mStatusBarComponent;
|
||||
|
||||
@@ -752,7 +740,6 @@ public class StatusBar extends CoreStartable implements
|
||||
DozeScrimController dozeScrimController,
|
||||
VolumeComponent volumeComponent,
|
||||
CommandQueue commandQueue,
|
||||
CollapsedStatusBarFragmentLogger collapsedStatusBarFragmentLogger,
|
||||
StatusBarComponent.Factory statusBarComponentFactory,
|
||||
PluginManager pluginManager,
|
||||
Optional<LegacySplitScreen> splitScreenOptional,
|
||||
@@ -767,7 +754,6 @@ public class StatusBar extends CoreStartable implements
|
||||
KeyguardDismissUtil keyguardDismissUtil,
|
||||
ExtensionController extensionController,
|
||||
UserInfoControllerImpl userInfoControllerImpl,
|
||||
OperatorNameViewController.Factory operatorNameViewControllerFactory,
|
||||
PhoneStatusBarPolicy phoneStatusBarPolicy,
|
||||
KeyguardIndicationController keyguardIndicationController,
|
||||
DemoModeController demoModeController,
|
||||
@@ -778,9 +764,6 @@ public class StatusBar extends CoreStartable implements
|
||||
ScreenOffAnimationController screenOffAnimationController,
|
||||
WallpaperController wallpaperController,
|
||||
OngoingCallController ongoingCallController,
|
||||
SystemStatusAnimationScheduler animationScheduler,
|
||||
StatusBarLocationPublisher locationPublisher,
|
||||
StatusBarIconController statusBarIconController,
|
||||
StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager,
|
||||
LockscreenShadeTransitionController lockscreenShadeTransitionController,
|
||||
FeatureFlags featureFlags,
|
||||
@@ -790,8 +773,6 @@ public class StatusBar extends CoreStartable implements
|
||||
@Main MessageRouter messageRouter,
|
||||
WallpaperManager wallpaperManager,
|
||||
Optional<StartingSurface> startingSurfaceOptional,
|
||||
TunerService tunerService,
|
||||
DumpManager dumpManager,
|
||||
ActivityLaunchAnimator activityLaunchAnimator,
|
||||
NotifPipelineFlags notifPipelineFlags) {
|
||||
super(context);
|
||||
@@ -806,7 +787,6 @@ public class StatusBar extends CoreStartable implements
|
||||
mKeyguardBypassController = keyguardBypassController;
|
||||
mKeyguardStateController = keyguardStateController;
|
||||
mHeadsUpManager = headsUpManagerPhone;
|
||||
mOperatorNameViewControllerFactory = operatorNameViewControllerFactory;
|
||||
mKeyguardIndicationController = keyguardIndicationController;
|
||||
mStatusBarTouchableRegionManager = statusBarTouchableRegionManager;
|
||||
mDynamicPrivacyController = dynamicPrivacyController;
|
||||
@@ -856,7 +836,6 @@ public class StatusBar extends CoreStartable implements
|
||||
mNotificationShadeDepthControllerLazy = notificationShadeDepthControllerLazy;
|
||||
mVolumeComponent = volumeComponent;
|
||||
mCommandQueue = commandQueue;
|
||||
mCollapsedStatusBarFragmentLogger = collapsedStatusBarFragmentLogger;
|
||||
mStatusBarComponentFactory = statusBarComponentFactory;
|
||||
mPluginManager = pluginManager;
|
||||
mSplitScreenOptional = splitScreenOptional;
|
||||
@@ -875,10 +854,7 @@ public class StatusBar extends CoreStartable implements
|
||||
mBrightnessSliderFactory = brightnessSliderFactory;
|
||||
mWallpaperController = wallpaperController;
|
||||
mOngoingCallController = ongoingCallController;
|
||||
mAnimationScheduler = animationScheduler;
|
||||
mStatusBarSignalPolicy = statusBarSignalPolicy;
|
||||
mStatusBarLocationPublisher = locationPublisher;
|
||||
mStatusBarIconController = statusBarIconController;
|
||||
mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager;
|
||||
mFeatureFlags = featureFlags;
|
||||
mKeyguardUnlockAnimationController = keyguardUnlockAnimationController;
|
||||
@@ -886,7 +862,6 @@ public class StatusBar extends CoreStartable implements
|
||||
mMainExecutor = delayableExecutor;
|
||||
mMessageRouter = messageRouter;
|
||||
mWallpaperManager = wallpaperManager;
|
||||
mTunerService = tunerService;
|
||||
|
||||
mLockscreenShadeTransitionController = lockscreenShadeTransitionController;
|
||||
mStartingSurfaceOptional = startingSurfaceOptional;
|
||||
@@ -1145,34 +1120,29 @@ public class StatusBar extends CoreStartable implements
|
||||
// Allow plugins to reference DarkIconDispatcher and StatusBarStateController
|
||||
mPluginDependencyProvider.allowPluginDependency(DarkIconDispatcher.class);
|
||||
mPluginDependencyProvider.allowPluginDependency(StatusBarStateController.class);
|
||||
mStatusBarWindowController.getFragmentHostManager()
|
||||
.addTagListener(CollapsedStatusBarFragment.TAG, (tag, fragment) -> {
|
||||
StatusBarFragmentComponent statusBarFragmentComponent =
|
||||
((CollapsedStatusBarFragment) fragment).getStatusBarFragmentComponent();
|
||||
if (statusBarFragmentComponent == null) {
|
||||
throw new IllegalStateException(
|
||||
"CollapsedStatusBarFragment should have a valid component");
|
||||
|
||||
// Set up CollapsedStatusBarFragment and PhoneStatusBarView
|
||||
StatusBarInitializer initializer = mStatusBarComponent.getStatusBarInitializer();
|
||||
initializer.setStatusBarViewUpdatedListener(
|
||||
new StatusBarInitializer.OnStatusBarViewUpdatedListener() {
|
||||
@Override
|
||||
public void onStatusBarViewUpdated(
|
||||
@NonNull PhoneStatusBarView statusBarView,
|
||||
@NonNull PhoneStatusBarViewController statusBarViewController) {
|
||||
mStatusBarView = statusBarView;
|
||||
mPhoneStatusBarViewController = statusBarViewController;
|
||||
mNotificationShadeWindowViewController.setStatusBarView(mStatusBarView);
|
||||
// Ensure we re-propagate panel expansion values to the panel controller and
|
||||
// any listeners it may have, such as PanelBar. This will also ensure we
|
||||
// re-display the notification panel if necessary (for example, if
|
||||
// a heads-up notification was being displayed and should continue being
|
||||
// displayed).
|
||||
mNotificationPanelViewController.updatePanelExpansionAndVisibility();
|
||||
setBouncerShowingForStatusBarComponents(mBouncerShowing);
|
||||
checkBarModes();
|
||||
}
|
||||
|
||||
mStatusBarView = statusBarFragmentComponent.getPhoneStatusBarView();
|
||||
mPhoneStatusBarViewController =
|
||||
statusBarFragmentComponent.getPhoneStatusBarViewController();
|
||||
|
||||
// Ensure we re-propagate panel expansion values to the panel controller and
|
||||
// any listeners it may have, such as PanelBar. This will also ensure we
|
||||
// re-display the notification panel if necessary (for example, if
|
||||
// a heads-up notification was being displayed and should continue being
|
||||
// displayed).
|
||||
mNotificationPanelViewController.updatePanelExpansionAndVisibility();
|
||||
setBouncerShowingForStatusBarComponents(mBouncerShowing);
|
||||
mNotificationShadeWindowViewController.setStatusBarView(mStatusBarView);
|
||||
checkBarModes();
|
||||
}).getFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.status_bar_container,
|
||||
mStatusBarComponent.createCollapsedStatusBarFragment(),
|
||||
CollapsedStatusBarFragment.TAG)
|
||||
.commit();
|
||||
});
|
||||
initializer.initializeStatusBar(mStatusBarComponent);
|
||||
|
||||
mHeadsUpManager.setup(mVisualStabilityManager);
|
||||
mStatusBarTouchableRegionManager.setup(this, mNotificationShadeWindowView);
|
||||
@@ -1547,8 +1517,6 @@ public class StatusBar extends CoreStartable implements
|
||||
|
||||
mHeadsUpManager.addListener(mStatusBarComponent.getStatusBarHeadsUpChangeListener());
|
||||
|
||||
mHeadsUpManager.addListener(mStatusBarComponent.getStatusBarHeadsUpChangeListener());
|
||||
|
||||
// Listen for demo mode changes
|
||||
mDemoModeController.addCallback(mDemoModeCallback);
|
||||
|
||||
|
||||
@@ -532,7 +532,7 @@ public class StatusBarCommandQueueCallbacks implements CommandQueue.Callbacks {
|
||||
if (mStatusBar.getStatusBarView() != null
|
||||
&& !showing
|
||||
&& mStatusBarStateController.getState() == StatusBarState.SHADE) {
|
||||
mNotificationPanelViewController.collapsePanel(
|
||||
mNotificationPanelViewController.collapsePanel(
|
||||
false /* animate */, false /* delayed */, 1.0f /* speedUpFactor */);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
||||
import com.android.keyguard.LockIconViewController;
|
||||
import com.android.systemui.biometrics.AuthRippleController;
|
||||
import com.android.systemui.statusbar.NotificationShelfController;
|
||||
import com.android.systemui.statusbar.core.StatusBarInitializer;
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
|
||||
import com.android.systemui.statusbar.phone.NotificationPanelViewController;
|
||||
import com.android.systemui.statusbar.phone.NotificationShadeWindowView;
|
||||
@@ -131,4 +132,10 @@ public interface StatusBarComponent {
|
||||
*/
|
||||
@Named(STATUS_BAR_FRAGMENT)
|
||||
CollapsedStatusBarFragment createCollapsedStatusBarFragment();
|
||||
|
||||
/**
|
||||
* Creates a StatusBarInitializer
|
||||
*/
|
||||
@StatusBarScope
|
||||
StatusBarInitializer getStatusBarInitializer();
|
||||
}
|
||||
|
||||
@@ -38,7 +38,6 @@ import com.android.systemui.dagger.SysUISingleton;
|
||||
import com.android.systemui.dagger.qualifiers.Main;
|
||||
import com.android.systemui.dagger.qualifiers.UiBackground;
|
||||
import com.android.systemui.demomode.DemoModeController;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.flags.FeatureFlags;
|
||||
import com.android.systemui.fragments.FragmentService;
|
||||
import com.android.systemui.keyguard.KeyguardUnlockAnimationController;
|
||||
@@ -60,11 +59,9 @@ import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationShadeDepthController;
|
||||
import com.android.systemui.statusbar.NotificationShadeWindowController;
|
||||
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
|
||||
import com.android.systemui.statusbar.OperatorNameViewController;
|
||||
import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.connectivity.NetworkController;
|
||||
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||
@@ -89,19 +86,15 @@ import com.android.systemui.statusbar.phone.LockscreenGestureLogger;
|
||||
import com.android.systemui.statusbar.phone.LockscreenWallpaper;
|
||||
import com.android.systemui.statusbar.phone.NotificationIconAreaController;
|
||||
import com.android.systemui.statusbar.phone.PhoneStatusBarPolicy;
|
||||
import com.android.systemui.statusbar.phone.PhoneStatusBarViewController;
|
||||
import com.android.systemui.statusbar.phone.ScreenOffAnimationController;
|
||||
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.StatusBarHideIconsForBouncerManager;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
|
||||
import com.android.systemui.statusbar.phone.StatusBarLocationPublisher;
|
||||
import com.android.systemui.statusbar.phone.StatusBarNotificationActivityStarter;
|
||||
import com.android.systemui.statusbar.phone.StatusBarSignalPolicy;
|
||||
import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager;
|
||||
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragmentLogger;
|
||||
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
|
||||
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
@@ -112,7 +105,6 @@ import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
import com.android.systemui.statusbar.window.StatusBarWindowController;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.util.WallpaperController;
|
||||
import com.android.systemui.util.concurrency.DelayableExecutor;
|
||||
import com.android.systemui.util.concurrency.MessageRouter;
|
||||
@@ -201,7 +193,6 @@ public interface StatusBarPhoneModule {
|
||||
DozeScrimController dozeScrimController,
|
||||
VolumeComponent volumeComponent,
|
||||
CommandQueue commandQueue,
|
||||
CollapsedStatusBarFragmentLogger collapsedStatusBarFragmentLogger,
|
||||
StatusBarComponent.Factory statusBarComponentFactory,
|
||||
PluginManager pluginManager,
|
||||
Optional<LegacySplitScreen> splitScreenOptional,
|
||||
@@ -216,7 +207,6 @@ public interface StatusBarPhoneModule {
|
||||
KeyguardDismissUtil keyguardDismissUtil,
|
||||
ExtensionController extensionController,
|
||||
UserInfoControllerImpl userInfoControllerImpl,
|
||||
OperatorNameViewController.Factory operatorNameViewControllerFactory,
|
||||
PhoneStatusBarPolicy phoneStatusBarPolicy,
|
||||
KeyguardIndicationController keyguardIndicationController,
|
||||
DemoModeController demoModeController,
|
||||
@@ -227,9 +217,6 @@ public interface StatusBarPhoneModule {
|
||||
ScreenOffAnimationController screenOffAnimationController,
|
||||
WallpaperController wallpaperController,
|
||||
OngoingCallController ongoingCallController,
|
||||
SystemStatusAnimationScheduler animationScheduler,
|
||||
StatusBarLocationPublisher locationPublisher,
|
||||
StatusBarIconController statusBarIconController,
|
||||
StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager,
|
||||
LockscreenShadeTransitionController transitionController,
|
||||
FeatureFlags featureFlags,
|
||||
@@ -239,8 +226,6 @@ public interface StatusBarPhoneModule {
|
||||
@Main MessageRouter messageRouter,
|
||||
WallpaperManager wallpaperManager,
|
||||
Optional<StartingSurface> startingSurfaceOptional,
|
||||
TunerService tunerService,
|
||||
DumpManager dumpManager,
|
||||
ActivityLaunchAnimator activityLaunchAnimator,
|
||||
NotifPipelineFlags notifPipelineFlags) {
|
||||
return new StatusBar(
|
||||
@@ -303,7 +288,6 @@ public interface StatusBarPhoneModule {
|
||||
dozeScrimController,
|
||||
volumeComponent,
|
||||
commandQueue,
|
||||
collapsedStatusBarFragmentLogger,
|
||||
statusBarComponentFactory,
|
||||
pluginManager,
|
||||
splitScreenOptional,
|
||||
@@ -317,7 +301,6 @@ public interface StatusBarPhoneModule {
|
||||
keyguardDismissUtil,
|
||||
extensionController,
|
||||
userInfoControllerImpl,
|
||||
operatorNameViewControllerFactory,
|
||||
phoneStatusBarPolicy,
|
||||
keyguardIndicationController,
|
||||
demoModeController,
|
||||
@@ -328,9 +311,6 @@ public interface StatusBarPhoneModule {
|
||||
screenOffAnimationController,
|
||||
wallpaperController,
|
||||
ongoingCallController,
|
||||
animationScheduler,
|
||||
locationPublisher,
|
||||
statusBarIconController,
|
||||
statusBarHideIconsForBouncerManager,
|
||||
transitionController,
|
||||
featureFlags,
|
||||
@@ -340,8 +320,6 @@ public interface StatusBarPhoneModule {
|
||||
messageRouter,
|
||||
wallpaperManager,
|
||||
startingSurfaceOptional,
|
||||
tunerService,
|
||||
dumpManager,
|
||||
activityLaunchAnimator,
|
||||
notifPipelineFlags
|
||||
);
|
||||
|
||||
@@ -28,6 +28,7 @@ import static com.android.systemui.statusbar.events.SystemStatusAnimationSchedul
|
||||
import android.animation.ValueAnimator;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Fragment;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcelable;
|
||||
@@ -74,6 +75,7 @@ import java.util.List;
|
||||
* and keyguard state. Also manages lifecycle to make sure the views it contains are being
|
||||
* updated by the StatusBarIconController and DarkIconManager while it is attached.
|
||||
*/
|
||||
@SuppressLint("ValidFragment")
|
||||
public class CollapsedStatusBarFragment extends Fragment implements CommandQueue.Callbacks,
|
||||
StatusBarStateController.StateListener,
|
||||
SystemStatusAnimationCallback {
|
||||
@@ -127,6 +129,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
|
||||
};
|
||||
private OperatorNameViewController mOperatorNameViewController;
|
||||
|
||||
@SuppressLint("ValidFragment")
|
||||
public CollapsedStatusBarFragment(
|
||||
StatusBarFragmentComponent.Factory statusBarFragmentComponentFactory,
|
||||
OngoingCallController ongoingCallController,
|
||||
|
||||
@@ -64,7 +64,6 @@ public class StatusBarWindowController {
|
||||
private final WindowManager mWindowManager;
|
||||
private final IWindowManager mIWindowManager;
|
||||
private final StatusBarContentInsetsProvider mContentInsetsProvider;
|
||||
private final Resources mResources;
|
||||
private int mBarHeight = -1;
|
||||
private final State mCurrentState = new State();
|
||||
|
||||
@@ -91,7 +90,6 @@ public class StatusBarWindowController {
|
||||
mLaunchAnimationContainer = mStatusBarWindowView.findViewById(
|
||||
R.id.status_bar_launch_animation_container);
|
||||
mLpChanged = new WindowManager.LayoutParams();
|
||||
mResources = resources;
|
||||
|
||||
if (mBarHeight < 0) {
|
||||
mBarHeight = SystemBarUtils.getStatusBarHeight(mContext);
|
||||
|
||||
@@ -18,9 +18,11 @@ package com.android.systemui.statusbar.phone;
|
||||
|
||||
import static android.app.NotificationManager.IMPORTANCE_HIGH;
|
||||
import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
|
||||
|
||||
import static junit.framework.Assert.assertFalse;
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
import static junit.framework.TestCase.fail;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
@@ -112,7 +114,6 @@ import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.StatusBarStateControllerImpl;
|
||||
import com.android.systemui.statusbar.connectivity.NetworkController;
|
||||
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||
@@ -134,7 +135,6 @@ import com.android.systemui.statusbar.notification.stack.NotificationListContain
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
|
||||
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent;
|
||||
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragmentLogger;
|
||||
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
|
||||
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
@@ -146,7 +146,6 @@ import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
import com.android.systemui.statusbar.window.StatusBarWindowController;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.util.WallpaperController;
|
||||
import com.android.systemui.util.concurrency.FakeExecutor;
|
||||
import com.android.systemui.util.concurrency.MessageRouterImpl;
|
||||
@@ -244,7 +243,6 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
@Mock private ViewMediatorCallback mKeyguardVieMediatorCallback;
|
||||
@Mock private VolumeComponent mVolumeComponent;
|
||||
@Mock private CommandQueue mCommandQueue;
|
||||
@Mock private CollapsedStatusBarFragmentLogger mCollapsedStatusBarFragmentLogger;
|
||||
@Mock private StatusBarComponent.Factory mStatusBarComponentFactory;
|
||||
@Mock private StatusBarComponent mStatusBarComponent;
|
||||
@Mock private PluginManager mPluginManager;
|
||||
@@ -264,9 +262,6 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
@Mock private BrightnessSliderController.Factory mBrightnessSliderFactory;
|
||||
@Mock private WallpaperController mWallpaperController;
|
||||
@Mock private OngoingCallController mOngoingCallController;
|
||||
@Mock private SystemStatusAnimationScheduler mAnimationScheduler;
|
||||
@Mock private StatusBarLocationPublisher mLocationPublisher;
|
||||
@Mock private StatusBarIconController mIconController;
|
||||
@Mock private LockscreenShadeTransitionController mLockscreenTransitionController;
|
||||
@Mock private FeatureFlags mFeatureFlags;
|
||||
@Mock private NotificationVisibilityProvider mVisibilityProvider;
|
||||
@@ -274,7 +269,6 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
@Mock private IWallpaperManager mIWallpaperManager;
|
||||
@Mock private KeyguardUnlockAnimationController mKeyguardUnlockAnimationController;
|
||||
@Mock private ScreenOffAnimationController mScreenOffAnimationController;
|
||||
@Mock private TunerService mTunerService;
|
||||
@Mock private StartingSurface mStartingSurface;
|
||||
@Mock private OperatorNameViewController mOperatorNameViewController;
|
||||
@Mock private OperatorNameViewController.Factory mOperatorNameViewControllerFactory;
|
||||
@@ -429,7 +423,6 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
mDozeScrimController,
|
||||
mVolumeComponent,
|
||||
mCommandQueue,
|
||||
mCollapsedStatusBarFragmentLogger,
|
||||
mStatusBarComponentFactory,
|
||||
mPluginManager,
|
||||
Optional.of(mLegacySplitScreen),
|
||||
@@ -443,7 +436,6 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
mKeyguardDismissUtil,
|
||||
mExtensionController,
|
||||
mUserInfoControllerImpl,
|
||||
mOperatorNameViewControllerFactory,
|
||||
mPhoneStatusBarPolicy,
|
||||
mKeyguardIndicationController,
|
||||
mDemoModeController,
|
||||
@@ -454,9 +446,6 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
mScreenOffAnimationController,
|
||||
mWallpaperController,
|
||||
mOngoingCallController,
|
||||
mAnimationScheduler,
|
||||
mLocationPublisher,
|
||||
mIconController,
|
||||
new StatusBarHideIconsForBouncerManager(mCommandQueue, mMainExecutor, mDumpManager),
|
||||
mLockscreenTransitionController,
|
||||
mFeatureFlags,
|
||||
@@ -466,8 +455,6 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
new MessageRouterImpl(mMainExecutor),
|
||||
mWallpaperManager,
|
||||
Optional.of(mStartingSurface),
|
||||
mTunerService,
|
||||
mDumpManager,
|
||||
mActivityLaunchAnimator,
|
||||
mNotifPipelineFlags);
|
||||
when(mKeyguardViewMediator.registerStatusBar(
|
||||
|
||||
Reference in New Issue
Block a user