diff options
14 files changed, 38 insertions, 134 deletions
diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java index c1515fc30b60..8bbdb599a608 100644 --- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java +++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java @@ -58,18 +58,15 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.systemui.BatteryMeterView; import com.android.systemui.CarSystemUIFactory; import com.android.systemui.Dependency; -import com.android.systemui.ForegroundServiceController; import com.android.systemui.Prefs; import com.android.systemui.R; import com.android.systemui.SystemUIFactory; 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.classifier.FalsingLog; import com.android.systemui.colorextraction.SysuiColorExtractor; -import com.android.systemui.doze.DozeLog; import com.android.systemui.fragments.FragmentHostManager; import com.android.systemui.keyguard.KeyguardViewMediator; import com.android.systemui.keyguard.ScreenLifecycle; @@ -104,7 +101,6 @@ 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; @@ -133,7 +129,6 @@ 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 java.io.FileDescriptor; import java.io.PrintWriter; @@ -246,7 +241,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt AutoHideController autoHideController, KeyguardUpdateMonitor keyguardUpdateMonitor, StatusBarIconController statusBarIconController, - DozeLog dozeLog, PulseExpansionHandler pulseExpansionHandler, NotificationWakeUpCoordinator notificationWakeUpCoordinator, KeyguardBypassController keyguardBypassController, @@ -264,10 +258,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt NotificationEntryManager notificationEntryManager, NotificationInterruptionStateProvider notificationInterruptionStateProvider, NotificationViewHierarchyManager notificationViewHierarchyManager, - ForegroundServiceController foregroundServiceController, - AppOpsController appOpsController, KeyguardViewMediator keyguardViewMediator, - ZenModeController zenModeController, NotificationAlertingManager notificationAlertingManager, DisplayMetrics displayMetrics, MetricsLogger metricsLogger, @@ -294,7 +285,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt ConfigurationController configurationController, StatusBarWindowController statusBarWindowController, StatusBarWindowViewController.Builder statusBarWindowViewControllerBuild, - NotifLog notifLog, DozeParameters dozeParameters, ScrimController scrimController, Lazy<LockscreenWallpaper> lockscreenWallpaperLazy, @@ -317,7 +307,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt autoHideController, keyguardUpdateMonitor, statusBarIconController, - dozeLog, pulseExpansionHandler, notificationWakeUpCoordinator, keyguardBypassController, @@ -335,10 +324,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt notificationEntryManager, notificationInterruptionStateProvider, notificationViewHierarchyManager, - foregroundServiceController, - appOpsController, keyguardViewMediator, - zenModeController, notificationAlertingManager, displayMetrics, metricsLogger, @@ -365,7 +351,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt configurationController, statusBarWindowController, statusBarWindowViewControllerBuild, - notifLog, dozeParameters, scrimController, null /* keyguardLiftController */, diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java index 9b91843576ce..fd3f2d33ff00 100644 --- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java +++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java @@ -24,14 +24,11 @@ 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; @@ -60,7 +57,6 @@ 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; @@ -87,7 +83,6 @@ 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 java.util.Optional; @@ -115,7 +110,6 @@ public class CarStatusBarModule { AutoHideController autoHideController, KeyguardUpdateMonitor keyguardUpdateMonitor, StatusBarIconController statusBarIconController, - DozeLog dozeLog, PulseExpansionHandler pulseExpansionHandler, NotificationWakeUpCoordinator notificationWakeUpCoordinator, KeyguardBypassController keyguardBypassController, @@ -133,10 +127,7 @@ public class CarStatusBarModule { NotificationEntryManager notificationEntryManager, NotificationInterruptionStateProvider notificationInterruptionStateProvider, NotificationViewHierarchyManager notificationViewHierarchyManager, - ForegroundServiceController foregroundServiceController, - AppOpsController appOpsController, KeyguardViewMediator keyguardViewMediator, - ZenModeController zenModeController, NotificationAlertingManager notificationAlertingManager, DisplayMetrics displayMetrics, MetricsLogger metricsLogger, @@ -163,7 +154,6 @@ public class CarStatusBarModule { ConfigurationController configurationController, StatusBarWindowController statusBarWindowController, StatusBarWindowViewController.Builder statusBarWindowViewControllerBuilder, - NotifLog notifLog, DozeParameters dozeParameters, ScrimController scrimController, Lazy<LockscreenWallpaper> lockscreenWallpaperLazy, @@ -185,7 +175,6 @@ public class CarStatusBarModule { autoHideController, keyguardUpdateMonitor, statusBarIconController, - dozeLog, pulseExpansionHandler, notificationWakeUpCoordinator, keyguardBypassController, @@ -203,10 +192,7 @@ public class CarStatusBarModule { notificationEntryManager, notificationInterruptionStateProvider, notificationViewHierarchyManager, - foregroundServiceController, - appOpsController, keyguardViewMediator, - zenModeController, notificationAlertingManager, displayMetrics, metricsLogger, @@ -233,7 +219,6 @@ public class CarStatusBarModule { configurationController, statusBarWindowController, statusBarWindowViewControllerBuilder, - notifLog, dozeParameters, scrimController, lockscreenWallpaperLazy, diff --git a/packages/SystemUI/src/com/android/systemui/ForegroundServiceController.java b/packages/SystemUI/src/com/android/systemui/ForegroundServiceController.java index 795a8ce3604f..c2d090e00715 100644 --- a/packages/SystemUI/src/com/android/systemui/ForegroundServiceController.java +++ b/packages/SystemUI/src/com/android/systemui/ForegroundServiceController.java @@ -15,12 +15,14 @@ package com.android.systemui; import android.annotation.Nullable; +import android.app.AppOpsManager; import android.os.UserHandle; import android.service.notification.StatusBarNotification; import android.util.ArraySet; import android.util.SparseArray; import com.android.internal.messages.nano.SystemMessageProto; +import com.android.systemui.appops.AppOpsController; import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.notification.collection.NotificationEntry; @@ -33,14 +35,21 @@ import javax.inject.Singleton; */ @Singleton public class ForegroundServiceController { + private static final int[] APP_OPS = new int[] {AppOpsManager.OP_CAMERA, + AppOpsManager.OP_SYSTEM_ALERT_WINDOW, + AppOpsManager.OP_RECORD_AUDIO, + AppOpsManager.OP_COARSE_LOCATION, + AppOpsManager.OP_FINE_LOCATION}; private final SparseArray<ForegroundServicesUserState> mUserServices = new SparseArray<>(); private final Object mMutex = new Object(); private final NotificationEntryManager mEntryManager; @Inject - public ForegroundServiceController(NotificationEntryManager entryManager) { + public ForegroundServiceController(NotificationEntryManager entryManager, + AppOpsController appOpsController) { mEntryManager = entryManager; + appOpsController.addCallback(APP_OPS, this::onAppOpChanged); } /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java index 404087d9b973..13d90ffdfca2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java @@ -261,6 +261,7 @@ public class NotificationEntryManager implements boolean isNew = mNotificationData.get(entry.getKey()) == null; if (isNew) { for (NotificationEntryListener listener : mNotificationEntryListeners) { + mNotifLog.log(NotifEvent.INFLATED, entry); listener.onEntryInflated(entry, inflatedFlags); } mNotificationData.add(entry); @@ -270,6 +271,7 @@ public class NotificationEntryManager implements } } else { for (NotificationEntryListener listener : mNotificationEntryListeners) { + mNotifLog.log(NotifEvent.INFLATED, entry); listener.onEntryReinflated(entry); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationListController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationListController.java index 2eefe29cfbba..3f7fd1a4868c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationListController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationListController.java @@ -19,7 +19,6 @@ package com.android.systemui.statusbar.notification; import static com.android.internal.util.Preconditions.checkNotNull; import com.android.internal.statusbar.NotificationVisibility; -import com.android.systemui.ForegroundServiceController; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.stack.NotificationListContainer; import com.android.systemui.statusbar.policy.DeviceProvisionedController; @@ -34,17 +33,14 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceP public class NotificationListController { private final NotificationEntryManager mEntryManager; private final NotificationListContainer mListContainer; - private final ForegroundServiceController mForegroundServiceController; private final DeviceProvisionedController mDeviceProvisionedController; public NotificationListController( NotificationEntryManager entryManager, NotificationListContainer listContainer, - ForegroundServiceController foregroundServiceController, DeviceProvisionedController deviceProvisionedController) { mEntryManager = checkNotNull(entryManager); mListContainer = checkNotNull(listContainer); - mForegroundServiceController = checkNotNull(foregroundServiceController); mDeviceProvisionedController = checkNotNull(deviceProvisionedController); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationRowBinderImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationRowBinderImpl.java index 0ef75165f54f..52fd07937546 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationRowBinderImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationRowBinderImpl.java @@ -41,8 +41,6 @@ import com.android.systemui.statusbar.NotificationUiAdjustment; import com.android.systemui.statusbar.notification.InflationException; import com.android.systemui.statusbar.notification.NotificationClicker; import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider; -import com.android.systemui.statusbar.notification.logging.NotifEvent; -import com.android.systemui.statusbar.notification.logging.NotifLog; import com.android.systemui.statusbar.notification.logging.NotificationLogger; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.NotificationContentInflater; @@ -74,7 +72,6 @@ public class NotificationRowBinderImpl implements NotificationRowBinder { private final boolean mAllowLongPress; private final KeyguardBypassController mKeyguardBypassController; private final StatusBarStateController mStatusBarStateController; - private final NotifLog mNotifLog; private NotificationRemoteInputManager mRemoteInputManager; private NotificationPresenter mPresenter; @@ -88,14 +85,12 @@ public class NotificationRowBinderImpl implements NotificationRowBinder { public NotificationRowBinderImpl(Context context, boolean allowLongPress, KeyguardBypassController keyguardBypassController, - StatusBarStateController statusBarStateController, - NotifLog notifLog) { + StatusBarStateController statusBarStateController) { mContext = context; mMessagingUtil = new NotificationMessagingUtil(context); mAllowLongPress = allowLongPress; mKeyguardBypassController = keyguardBypassController; mStatusBarStateController = statusBarStateController; - mNotifLog = notifLog; } private NotificationRemoteInputManager getRemoteInputManager() { @@ -149,7 +144,6 @@ public class NotificationRowBinderImpl implements NotificationRowBinder { row -> { bindRow(entry, pmUser, sbn, row, onDismissRunnable); updateNotification(entry, pmUser, sbn, row); - mNotifLog.log(NotifEvent.INFLATED, sbn); }); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java index 2b9912ce055d..8d50f584d88f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java @@ -142,6 +142,7 @@ import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener; import com.android.systemui.statusbar.policy.HeadsUpUtil; import com.android.systemui.statusbar.policy.ScrollAdapter; +import com.android.systemui.statusbar.policy.ZenModeController; import com.android.systemui.tuner.TunerService; import com.android.systemui.util.Assert; @@ -344,6 +345,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd private boolean mForceNoOverlappingRendering; private final ArrayList<Pair<ExpandableNotificationRow, Boolean>> mTmpList = new ArrayList<>(); private FalsingManager mFalsingManager; + private final ZenModeController mZenController; private boolean mAnimationRunning; private ViewTreeObserver.OnPreDrawListener mRunningAnimationUpdater = new ViewTreeObserver.OnPreDrawListener() { @@ -520,7 +522,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd NotificationLockscreenUserManager notificationLockscreenUserManager, NotificationGutsManager notificationGutsManager, NotificationSectionsFeatureManager sectionsFeatureManager, - PeopleHubSectionFooterViewAdapter peopleHubViewAdapter) { + PeopleHubSectionFooterViewAdapter peopleHubViewAdapter, + ZenModeController zenController) { super(context, attrs, 0, 0); Resources res = getResources(); @@ -535,6 +538,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd mHeadsUpManager.setAnimationStateHandler(this::setHeadsUpGoingAwayAnimationsAllowed); mKeyguardBypassController = keyguardBypassController; mFalsingManager = falsingManager; + mZenController = zenController; int[] buckets = sectionsFeatureManager.getNotificationBuckets(); mSectionsManager = @@ -4882,7 +4886,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd mEmptyShadeView.setVisible(visible, mIsExpanded && mAnimationsEnabled); int oldTextRes = mEmptyShadeView.getTextResource(); - int newTextRes = mStatusBar.areNotificationsHidden() + int newTextRes = mZenController.areNotificationsHiddenInShade() ? R.string.dnd_suppressing_shade_text : R.string.empty_shade_text; if (oldTextRes != newTextRes) { mEmptyShadeView.setText(newTextRes); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 6be881669146..bcde8ffd4679 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -51,7 +51,6 @@ import android.annotation.Nullable; import android.app.ActivityManager; import android.app.ActivityOptions; import android.app.ActivityTaskManager; -import android.app.AppOpsManager; import android.app.IWallpaperManager; import android.app.KeyguardManager; import android.app.Notification; @@ -136,7 +135,6 @@ import com.android.systemui.DemoMode; import com.android.systemui.Dependency; import com.android.systemui.Dumpable; import com.android.systemui.EventLogTags; -import com.android.systemui.ForegroundServiceController; import com.android.systemui.InitController; import com.android.systemui.Interpolators; import com.android.systemui.Prefs; @@ -144,7 +142,6 @@ import com.android.systemui.R; import com.android.systemui.SystemUI; import com.android.systemui.SystemUIFactory; 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; @@ -152,7 +149,6 @@ import com.android.systemui.charging.WirelessChargingAnimation; import com.android.systemui.classifier.FalsingLog; import com.android.systemui.colorextraction.SysuiColorExtractor; import com.android.systemui.doze.DozeHost; -import com.android.systemui.doze.DozeLog; import com.android.systemui.fragments.ExtensionFragmentListener; import com.android.systemui.fragments.FragmentHostManager; import com.android.systemui.keyguard.KeyguardSliceProvider; @@ -213,7 +209,6 @@ import com.android.systemui.statusbar.notification.ViewGroupFadeHelper; import com.android.systemui.statusbar.notification.VisualStabilityManager; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationRowBinderImpl; -import com.android.systemui.statusbar.notification.logging.NotifLog; import com.android.systemui.statusbar.notification.logging.NotificationLogger; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.NotificationGutsManager; @@ -236,7 +231,6 @@ import com.android.systemui.statusbar.policy.RemoteInputUriController; import com.android.systemui.statusbar.policy.UserInfoController; import com.android.systemui.statusbar.policy.UserInfoControllerImpl; import com.android.systemui.statusbar.policy.UserSwitcherController; -import com.android.systemui.statusbar.policy.ZenModeController; import com.android.systemui.volume.VolumeComponent; import java.io.FileDescriptor; @@ -253,10 +247,10 @@ import dagger.Subcomponent; public class StatusBar extends SystemUI implements DemoMode, ActivityStarter, KeyguardStateController.Callback, - OnHeadsUpChangedListener, CommandQueue.Callbacks, ZenModeController.Callback, + OnHeadsUpChangedListener, CommandQueue.Callbacks, ColorExtractor.OnColorsChangedListener, ConfigurationListener, StatusBarStateController.StateListener, ShadeController, - ActivityLaunchAnimator.Callback, AppOpsController.Callback { + ActivityLaunchAnimator.Callback { public static final boolean MULTIUSER_DEBUG = false; public static final boolean ENABLE_CHILD_NOTIFICATIONS @@ -375,7 +369,6 @@ public class StatusBar extends SystemUI implements DemoMode, private final FeatureFlags mFeatureFlags; private final StatusBarIconController mIconController; - private final DozeLog mDozeLog; private final PulseExpansionHandler mPulseExpansionHandler; private final NotificationWakeUpCoordinator mWakeUpCoordinator; private final KeyguardBypassController mKeyguardBypassController; @@ -389,7 +382,6 @@ public class StatusBar extends SystemUI implements DemoMode, private final BroadcastDispatcher mBroadcastDispatcher; private final ConfigurationController mConfigurationController; private final StatusBarWindowViewController.Builder mStatusBarWindowViewControllerBuilder; - private final NotifLog mNotifLog; private final DozeParameters mDozeParameters; private final Lazy<BiometricUnlockController> mBiometricUnlockControllerLazy; private final PluginManager mPluginManager; @@ -424,10 +416,7 @@ public class StatusBar extends SystemUI implements DemoMode, private NotificationListController mNotificationListController; private final NotificationInterruptionStateProvider mNotificationInterruptionStateProvider; private final NotificationViewHierarchyManager mViewHierarchyManager; - private final ForegroundServiceController mForegroundServiceController; - private final AppOpsController mAppOpsController; private final KeyguardViewMediator mKeyguardViewMediator; - private final ZenModeController mZenController; private final NotificationAlertingManager mNotificationAlertingManager; // for disabling the status bar @@ -614,19 +603,6 @@ public class StatusBar extends SystemUI implements DemoMode, private ActivityIntentHelper mActivityIntentHelper; - @Override - public void onActiveStateChanged(int code, int uid, String packageName, boolean active) { - Dependency.get(MAIN_HANDLER).post(() -> { - mForegroundServiceController.onAppOpChanged(code, uid, packageName, active); - }); - } - - protected static final int[] APP_OPS = new int[] {AppOpsManager.OP_CAMERA, - AppOpsManager.OP_SYSTEM_ALERT_WINDOW, - AppOpsManager.OP_RECORD_AUDIO, - AppOpsManager.OP_COARSE_LOCATION, - AppOpsManager.OP_FINE_LOCATION}; - /** * Public constructor for StatusBar. * @@ -641,7 +617,6 @@ public class StatusBar extends SystemUI implements DemoMode, AutoHideController autoHideController, KeyguardUpdateMonitor keyguardUpdateMonitor, StatusBarIconController statusBarIconController, - DozeLog dozeLog, PulseExpansionHandler pulseExpansionHandler, NotificationWakeUpCoordinator notificationWakeUpCoordinator, KeyguardBypassController keyguardBypassController, @@ -659,10 +634,7 @@ public class StatusBar extends SystemUI implements DemoMode, NotificationEntryManager notificationEntryManager, NotificationInterruptionStateProvider notificationInterruptionStateProvider, NotificationViewHierarchyManager notificationViewHierarchyManager, - ForegroundServiceController foregroundServiceController, - AppOpsController appOpsController, KeyguardViewMediator keyguardViewMediator, - ZenModeController zenModeController, NotificationAlertingManager notificationAlertingManager, DisplayMetrics displayMetrics, MetricsLogger metricsLogger, @@ -689,7 +661,6 @@ public class StatusBar extends SystemUI implements DemoMode, ConfigurationController configurationController, StatusBarWindowController statusBarWindowController, StatusBarWindowViewController.Builder statusBarWindowViewControllerBuilder, - NotifLog notifLog, DozeParameters dozeParameters, ScrimController scrimController, @Nullable KeyguardLiftController keyguardLiftController, @@ -710,7 +681,6 @@ public class StatusBar extends SystemUI implements DemoMode, mAutoHideController = autoHideController; mKeyguardUpdateMonitor = keyguardUpdateMonitor; mIconController = statusBarIconController; - mDozeLog = dozeLog; mPulseExpansionHandler = pulseExpansionHandler; mWakeUpCoordinator = notificationWakeUpCoordinator; mKeyguardBypassController = keyguardBypassController; @@ -728,10 +698,7 @@ public class StatusBar extends SystemUI implements DemoMode, mEntryManager = notificationEntryManager; mNotificationInterruptionStateProvider = notificationInterruptionStateProvider; mViewHierarchyManager = notificationViewHierarchyManager; - mForegroundServiceController = foregroundServiceController; - mAppOpsController = appOpsController; mKeyguardViewMediator = keyguardViewMediator; - mZenController = zenModeController; mNotificationAlertingManager = notificationAlertingManager; mDisplayMetrics = displayMetrics; mMetricsLogger = metricsLogger; @@ -758,7 +725,6 @@ public class StatusBar extends SystemUI implements DemoMode, mConfigurationController = configurationController; mStatusBarWindowController = statusBarWindowController; mStatusBarWindowViewControllerBuilder = statusBarWindowViewControllerBuilder; - mNotifLog = notifLog; mDozeServiceHost = dozeServiceHost; mPowerManager = powerManager; mDozeParameters = dozeParameters; @@ -995,7 +961,6 @@ public class StatusBar extends SystemUI implements DemoMode, mNotificationPanel = mStatusBarWindow.findViewById(R.id.notification_panel); mStackScroller = mStatusBarWindow.findViewById(R.id.notification_stack_scroller); - mZenController.addCallback(this); NotificationListContainer notifListContainer = (NotificationListContainer) mStackScroller; mNotificationLogger.setUpWithContainer(notifListContainer); @@ -1255,8 +1220,7 @@ public class StatusBar extends SystemUI implements DemoMode, mContext, mAllowNotificationLongPress, mKeyguardBypassController, - mStatusBarStateController, - mNotifLog); + mStatusBarStateController); mPresenter = new StatusBarNotificationPresenter(mContext, mNotificationPanel, mHeadsUpManager, mStatusBarWindow, mStackScroller, mDozeScrimController, @@ -1267,10 +1231,8 @@ public class StatusBar extends SystemUI implements DemoMode, new NotificationListController( mEntryManager, (NotificationListContainer) mStackScroller, - mForegroundServiceController, mDeviceProvisionedController); - mAppOpsController.addCallback(APP_OPS, this); mNotificationShelf.setOnActivatedListener(mPresenter); mRemoteInputManager.getController().addCallback(mStatusBarWindowController); @@ -1525,10 +1487,6 @@ public class StatusBar extends SystemUI implements DemoMode, mQSPanel.clickTile(tile); } - public boolean areNotificationsHidden() { - return mZenController.areNotificationsHiddenInShade(); - } - /** * Request a notification update * @param reason why we're requesting a notification update @@ -2479,10 +2437,6 @@ public class StatusBar extends SystemUI implements DemoMode, pw.print(" mStatusBarMode="); pw.println(BarTransitions.modeToString(mStatusBarMode)); pw.print(" mDozing="); pw.println(mDozing); - pw.print(" mZenMode="); - pw.println(Settings.Global.zenModeToString(Settings.Global.getInt( - mContext.getContentResolver(), Settings.Global.ZEN_MODE, - Settings.Global.ZEN_MODE_OFF))); pw.print(" mWallpaperSupported= "); pw.println(mWallpaperSupported); if (mStatusBarView != null) { @@ -2519,8 +2473,6 @@ public class StatusBar extends SystemUI implements DemoMode, final boolean lightWpTheme = mContext.getThemeResId() == R.style.Theme_SystemUI_Light; pw.println(" light wallpaper theme: " + lightWpTheme); - mDozeLog.dump(pw); - if (mKeyguardIndicationController != null) { mKeyguardIndicationController.dump(fd, pw, args); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarModule.java index 2364c336b7b1..e272cf89b918 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarModule.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarModule.java @@ -26,14 +26,11 @@ 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; @@ -61,7 +58,6 @@ 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; @@ -72,7 +68,6 @@ 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 java.util.Optional; @@ -100,7 +95,6 @@ public class StatusBarModule { AutoHideController autoHideController, KeyguardUpdateMonitor keyguardUpdateMonitor, StatusBarIconController statusBarIconController, - DozeLog dozeLog, PulseExpansionHandler pulseExpansionHandler, NotificationWakeUpCoordinator notificationWakeUpCoordinator, KeyguardBypassController keyguardBypassController, @@ -118,10 +112,7 @@ public class StatusBarModule { NotificationEntryManager notificationEntryManager, NotificationInterruptionStateProvider notificationInterruptionStateProvider, NotificationViewHierarchyManager notificationViewHierarchyManager, - ForegroundServiceController foregroundServiceController, - AppOpsController appOpsController, KeyguardViewMediator keyguardViewMediator, - ZenModeController zenModeController, NotificationAlertingManager notificationAlertingManager, DisplayMetrics displayMetrics, MetricsLogger metricsLogger, @@ -148,7 +139,6 @@ public class StatusBarModule { ConfigurationController configurationController, StatusBarWindowController statusBarWindowController, StatusBarWindowViewController.Builder statusBarWindowViewControllerBuilder, - NotifLog notifLog, DozeParameters dozeParameters, ScrimController scrimController, @Nullable KeyguardLiftController keyguardLiftController, @@ -170,7 +160,6 @@ public class StatusBarModule { autoHideController, keyguardUpdateMonitor, statusBarIconController, - dozeLog, pulseExpansionHandler, notificationWakeUpCoordinator, keyguardBypassController, @@ -188,10 +177,7 @@ public class StatusBarModule { notificationEntryManager, notificationInterruptionStateProvider, notificationViewHierarchyManager, - foregroundServiceController, - appOpsController, keyguardViewMediator, - zenModeController, notificationAlertingManager, displayMetrics, metricsLogger, @@ -218,7 +204,6 @@ public class StatusBarModule { configurationController, statusBarWindowController, statusBarWindowViewControllerBuilder, - notifLog, dozeParameters, scrimController, keyguardLiftController, diff --git a/packages/SystemUI/tests/src/com/android/systemui/ForegroundServiceControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/ForegroundServiceControllerTest.java index 768bd138fd64..bb4387eb4a2d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/ForegroundServiceControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/ForegroundServiceControllerTest.java @@ -41,6 +41,7 @@ import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.internal.messages.nano.SystemMessageProto; +import com.android.systemui.appops.AppOpsController; import com.android.systemui.statusbar.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.NotificationEntryListener; import com.android.systemui.statusbar.notification.NotificationEntryManager; @@ -52,6 +53,8 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; @SmallTest @RunWith(AndroidJUnit4.class) @@ -59,12 +62,13 @@ public class ForegroundServiceControllerTest extends SysuiTestCase { private ForegroundServiceController mFsc; private ForegroundServiceNotificationListener mListener; private NotificationEntryListener mEntryListener; - private NotificationEntryManager mEntryManager; + @Mock private NotificationEntryManager mEntryManager; + @Mock private AppOpsController mAppOpsController; @Before public void setUp() throws Exception { - mEntryManager = mock(NotificationEntryManager.class); - mFsc = new ForegroundServiceController(mEntryManager); + MockitoAnnotations.initMocks(this); + mFsc = new ForegroundServiceController(mEntryManager, mAppOpsController); mListener = new ForegroundServiceNotificationListener( mContext, mFsc, mEntryManager); ArgumentCaptor<NotificationEntryListener> entryListenerCaptor = diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java index b2a5109749e4..86ef6e8593fc 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java @@ -258,8 +258,7 @@ public class NotificationEntryManagerTest extends SysuiTestCase { NotificationRowBinderImpl notificationRowBinder = new NotificationRowBinderImpl(mContext, true, /* allowLongPress */ mock(KeyguardBypassController.class), - mock(StatusBarStateController.class), - mock(NotifLog.class)); + mock(StatusBarStateController.class)); notificationRowBinder.setUpWithPresenter( mPresenter, mListContainer, mHeadsUpManager, mEntryManager, mBindCallback); notificationRowBinder.setNotificationClicker(mock(NotificationClicker.class)); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationListControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationListControllerTest.java index c2d2e3158f54..cc56949d67f7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationListControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationListControllerTest.java @@ -30,7 +30,6 @@ import android.testing.TestableLooper; import androidx.test.filters.SmallTest; import com.android.internal.statusbar.NotificationVisibility; -import com.android.systemui.ForegroundServiceController; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; import com.android.systemui.statusbar.NotificationEntryBuilder; @@ -60,7 +59,6 @@ public class NotificationListControllerTest extends SysuiTestCase { @Mock private NotificationEntryManager mEntryManager; @Mock private NotificationListContainer mListContainer; - @Mock private ForegroundServiceController mForegroundServiceController; @Mock private DeviceProvisionedController mDeviceProvisionedController; @Captor private ArgumentCaptor<NotificationEntryListener> mEntryListenerCaptor; @@ -88,7 +86,6 @@ public class NotificationListControllerTest extends SysuiTestCase { mController = new NotificationListController( mEntryManager, mListContainer, - mForegroundServiceController, mDeviceProvisionedController); mController.bind(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java index 012ebf728c50..6f52e4a6686b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java @@ -82,6 +82,7 @@ import com.android.systemui.statusbar.phone.ShadeController; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarTest.TestableNotificationEntryManager; import com.android.systemui.statusbar.policy.ConfigurationController; +import com.android.systemui.statusbar.policy.ZenModeController; import com.android.systemui.util.DeviceConfigProxyFake; import org.junit.After; @@ -123,6 +124,7 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase { @Mock private MetricsLogger mMetricsLogger; @Mock private NotificationRoundnessManager mNotificationRoundnessManager; @Mock private KeyguardBypassController mKeyguardBypassController; + @Mock private ZenModeController mZenModeController; private TestableNotificationEntryManager mEntryManager; private int mOriginalInterruptionModelSetting; @@ -173,7 +175,8 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase { mock(NotificationLockscreenUserManager.class), mock(NotificationGutsManager.class), new NotificationSectionsFeatureManager(new DeviceConfigProxyFake(), mContext), - mock(PeopleHubSectionFooterViewAdapter.class)); + mock(PeopleHubSectionFooterViewAdapter.class), + mZenModeController); mStackScroller = spy(mStackScrollerInternal); mStackScroller.setShelf(notificationShelf); mStackScroller.setStatusBar(mBar); @@ -211,7 +214,7 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase { @Test public void updateEmptyView_dndSuppressing() { when(mEmptyShadeView.willBeGone()).thenReturn(true); - when(mBar.areNotificationsHidden()).thenReturn(true); + when(mZenModeController.areNotificationsHiddenInShade()).thenReturn(true); mStackScroller.updateEmptyShadeView(true); @@ -222,7 +225,7 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase { public void updateEmptyView_dndNotSuppressing() { mStackScroller.setEmptyShadeView(mEmptyShadeView); when(mEmptyShadeView.willBeGone()).thenReturn(true); - when(mBar.areNotificationsHidden()).thenReturn(false); + when(mZenModeController.areNotificationsHiddenInShade()).thenReturn(false); mStackScroller.updateEmptyShadeView(true); @@ -233,11 +236,11 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase { public void updateEmptyView_noNotificationsToDndSuppressing() { mStackScroller.setEmptyShadeView(mEmptyShadeView); when(mEmptyShadeView.willBeGone()).thenReturn(true); - when(mBar.areNotificationsHidden()).thenReturn(false); + when(mZenModeController.areNotificationsHiddenInShade()).thenReturn(false); mStackScroller.updateEmptyShadeView(true); verify(mEmptyShadeView).setText(R.string.empty_shade_text); - when(mBar.areNotificationsHidden()).thenReturn(true); + when(mZenModeController.areNotificationsHiddenInShade()).thenReturn(true); mStackScroller.updateEmptyShadeView(true); verify(mEmptyShadeView).setText(R.string.dnd_suppressing_shade_text); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java index 7d6f006eb833..782004997a0e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java @@ -74,18 +74,15 @@ import com.android.internal.statusbar.IStatusBarService; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.Dependency; -import com.android.systemui.ForegroundServiceController; import com.android.systemui.InitController; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; 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.classifier.FalsingManagerFake; 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; @@ -200,13 +197,10 @@ public class StatusBarTest extends SysuiTestCase { @Mock private AssistManager mAssistManager; @Mock private NotificationGutsManager mNotificationGutsManager; @Mock private NotificationMediaManager mNotificationMediaManager; - @Mock private ForegroundServiceController mForegroundServiceController; - @Mock private AppOpsController mAppOpsController; @Mock private NavigationBarController mNavigationBarController; @Mock private BypassHeadsUpNotifier mBypassHeadsUpNotifier; @Mock private SysuiColorExtractor mColorExtractor; @Mock private ColorExtractor.GradientColors mGradientColors; - @Mock private DozeLog mDozeLog; @Mock private PulseExpansionHandler mPulseExpansionHandler; @Mock private NotificationWakeUpCoordinator mNotificationWakeUpCoordinator; @Mock private KeyguardBypassController mKeyguardBypassController; @@ -312,7 +306,6 @@ public class StatusBarTest extends SysuiTestCase { mAutoHideController, mKeyguardUpdateMonitor, mStatusBarIconController, - mDozeLog, mPulseExpansionHandler, mNotificationWakeUpCoordinator, mKeyguardBypassController, @@ -334,10 +327,7 @@ public class StatusBarTest extends SysuiTestCase { entryManager, mNotificationInterruptionStateProvider, mNotificationViewHierarchyManager, - mForegroundServiceController, - mAppOpsController, mKeyguardViewMediator, - mZenModeController, mNotificationAlertingManager, new DisplayMetrics(), mMetricsLogger, @@ -364,7 +354,6 @@ public class StatusBarTest extends SysuiTestCase { configurationController, mStatusBarWindowController, mStatusBarWindowViewControllerBuilder, - mNotifLog, mDozeParameters, mScrimController, mKeyguardLiftController, |