Loading packages/SystemUI/src/com/android/systemui/dagger/DefaultServiceBinder.java +8 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.android.systemui.dreams.DreamOverlayService; import com.android.systemui.dump.SystemUIAuxiliaryDumpService; import com.android.systemui.keyguard.KeyguardService; import com.android.systemui.screenrecord.RecordingService; import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins; import dagger.Binds; import dagger.Module; Loading Loading @@ -60,6 +61,13 @@ public abstract class DefaultServiceBinder { @ClassKey(DreamOverlayService.class) public abstract Service bindDreamOverlayService(DreamOverlayService service); /** */ @Binds @IntoMap @ClassKey(NotificationListenerWithPlugins.class) public abstract Service bindNotificationListenerWithPlugins( NotificationListenerWithPlugins service); /** */ @Binds @IntoMap Loading packages/SystemUI/src/com/android/systemui/statusbar/NotificationListener.java +9 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,9 @@ import android.os.UserHandle; import android.service.notification.StatusBarNotification; import android.util.Log; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.statusbar.dagger.StatusBarModule; import com.android.systemui.statusbar.notification.collection.NotifCollection; import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins; Loading @@ -42,10 +44,13 @@ import java.util.List; import java.util.concurrent.ConcurrentLinkedDeque; import java.util.concurrent.Executor; import javax.inject.Inject; /** * This class handles listening to notification updates and passing them along to * NotificationPresenter to be displayed to the user. */ @SysUISingleton @SuppressLint("OverrideAbstract") public class NotificationListener extends NotificationListenerWithPlugins { private static final String TAG = "NotificationListener"; Loading @@ -66,11 +71,14 @@ public class NotificationListener extends NotificationListenerWithPlugins { /** * Injected constructor. See {@link StatusBarModule}. */ @Inject public NotificationListener( Context context, NotificationManager notificationManager, SystemClock systemClock, @Main Executor mainExecutor) { @Main Executor mainExecutor, PluginManager pluginManager) { super(pluginManager); mContext = context; mNotificationManager = notificationManager; mSystemClock = systemClock; Loading packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java +0 −14 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.systemui.statusbar.dagger; import android.app.IActivityManager; import android.app.NotificationManager; import android.content.Context; import android.os.Handler; import android.service.dreams.IDreamManager; Loading @@ -38,7 +37,6 @@ import com.android.systemui.statusbar.ActionClickLogger; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.MediaArtworkProcessor; import com.android.systemui.statusbar.NotificationClickNotifier; import com.android.systemui.statusbar.NotificationListener; import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationRemoteInputManager; Loading Loading @@ -164,18 +162,6 @@ public interface StatusBarDependenciesModule { dumpManager); } /** */ @SysUISingleton @Provides static NotificationListener provideNotificationListener( Context context, NotificationManager notificationManager, SystemClock systemClock, @Main Executor mainExecutor) { return new NotificationListener( context, notificationManager, systemClock, mainExecutor); } /** */ @SysUISingleton @Provides Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java +16 −39 Original line number Diff line number Diff line Loading @@ -16,34 +16,36 @@ package com.android.systemui.statusbar.phone; import static com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentModule.OPERATOR_NAME_FRAME_VIEW; import android.graphics.Rect; import android.view.View; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.widget.ViewClippingUtil; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.RootView; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.statusbar.HeadsUpStatusBarView; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController; import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentScope; import com.android.systemui.statusbar.policy.Clock; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; import com.android.systemui.util.ViewController; import java.util.Optional; import java.util.function.BiConsumer; import java.util.function.Consumer; import javax.inject.Inject; import javax.inject.Named; /** * Controls the appearance of heads up notifications in the icon area and the header itself. Loading @@ -69,8 +71,8 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar private final CommandQueue mCommandQueue; private final NotificationWakeUpCoordinator mWakeUpCoordinator; private View mClockView; private View mOperatorNameView; private final View mClockView; private final Optional<View> mOperatorNameViewOptional; @VisibleForTesting float mExpandedHeight; Loading @@ -86,45 +88,24 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar } }; private boolean mAnimationsEnabled = true; private KeyguardStateController mKeyguardStateController; @Inject public HeadsUpAppearanceController( NotificationIconAreaController notificationIconAreaController, HeadsUpManagerPhone headsUpManager, NotificationStackScrollLayoutController notificationStackScrollLayoutController, SysuiStatusBarStateController statusBarStateController, KeyguardBypassController keyguardBypassController, KeyguardStateController keyguardStateController, NotificationWakeUpCoordinator wakeUpCoordinator, CommandQueue commandQueue, NotificationPanelViewController notificationPanelViewController, @RootView PhoneStatusBarView statusBarView) { this(notificationIconAreaController, headsUpManager, statusBarStateController, keyguardBypassController, wakeUpCoordinator, keyguardStateController, commandQueue, notificationStackScrollLayoutController, notificationPanelViewController, // TODO(b/205609837): We should have the StatusBarFragmentComponent provide these // four views, and then we can delete this constructor and just use the one below // (which also removes the undesirable @VisibleForTesting). statusBarView.findViewById(R.id.heads_up_status_bar_view), statusBarView.findViewById(R.id.clock), statusBarView.findViewById(R.id.operator_name_frame)); } private final KeyguardStateController mKeyguardStateController; @VisibleForTesting @Inject public HeadsUpAppearanceController( NotificationIconAreaController notificationIconAreaController, HeadsUpManagerPhone headsUpManager, StatusBarStateController stateController, KeyguardBypassController bypassController, NotificationWakeUpCoordinator wakeUpCoordinator, DarkIconDispatcher darkIconDispatcher, KeyguardStateController keyguardStateController, CommandQueue commandQueue, NotificationStackScrollLayoutController stackScrollerController, NotificationPanelViewController notificationPanelViewController, HeadsUpStatusBarView headsUpStatusBarView, View clockView, View operatorNameView) { Clock clockView, @Named(OPERATOR_NAME_FRAME_VIEW) Optional<View> operatorNameViewOptional) { super(headsUpStatusBarView); mNotificationIconAreaController = notificationIconAreaController; mHeadsUpManager = headsUpManager; Loading @@ -141,8 +122,8 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar mNotificationPanelViewController = notificationPanelViewController; mStackScrollerController.setHeadsUpAppearanceController(this); mClockView = clockView; mOperatorNameView = operatorNameView; mDarkIconDispatcher = Dependency.get(DarkIconDispatcher.class); mOperatorNameViewOptional = operatorNameViewOptional; mDarkIconDispatcher = darkIconDispatcher; mView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override Loading Loading @@ -232,14 +213,10 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar mView.setVisibility(View.VISIBLE); show(mView); hide(mClockView, View.INVISIBLE); if (mOperatorNameView != null) { hide(mOperatorNameView, View.INVISIBLE); } mOperatorNameViewOptional.ifPresent(view -> hide(view, View.INVISIBLE)); } else { show(mClockView); if (mOperatorNameView != null) { show(mOperatorNameView); } mOperatorNameViewOptional.ifPresent(this::show); hide(mView, View.GONE, () -> { updateParentClipping(true /* shouldClip */); }); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardEnvironmentImpl.java +7 −6 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static com.android.systemui.statusbar.phone.StatusBar.MULTIUSER_DEBUG; import android.service.notification.StatusBarNotification; import android.util.Log; import com.android.systemui.Dependency; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.notification.NotificationEntryManager.KeyguardEnvironment; Loading @@ -33,13 +32,15 @@ public class KeyguardEnvironmentImpl implements KeyguardEnvironment { private static final String TAG = "KeyguardEnvironmentImpl"; private final NotificationLockscreenUserManager mLockscreenUserManager = Dependency.get(NotificationLockscreenUserManager.class); private final DeviceProvisionedController mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class); private final NotificationLockscreenUserManager mLockscreenUserManager; private final DeviceProvisionedController mDeviceProvisionedController; @Inject public KeyguardEnvironmentImpl() { public KeyguardEnvironmentImpl( NotificationLockscreenUserManager notificationLockscreenUserManager, DeviceProvisionedController deviceProvisionedController) { mLockscreenUserManager = notificationLockscreenUserManager; mDeviceProvisionedController = deviceProvisionedController; } @Override // NotificationEntryManager.KeyguardEnvironment Loading Loading
packages/SystemUI/src/com/android/systemui/dagger/DefaultServiceBinder.java +8 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.android.systemui.dreams.DreamOverlayService; import com.android.systemui.dump.SystemUIAuxiliaryDumpService; import com.android.systemui.keyguard.KeyguardService; import com.android.systemui.screenrecord.RecordingService; import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins; import dagger.Binds; import dagger.Module; Loading Loading @@ -60,6 +61,13 @@ public abstract class DefaultServiceBinder { @ClassKey(DreamOverlayService.class) public abstract Service bindDreamOverlayService(DreamOverlayService service); /** */ @Binds @IntoMap @ClassKey(NotificationListenerWithPlugins.class) public abstract Service bindNotificationListenerWithPlugins( NotificationListenerWithPlugins service); /** */ @Binds @IntoMap Loading
packages/SystemUI/src/com/android/systemui/statusbar/NotificationListener.java +9 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,9 @@ import android.os.UserHandle; import android.service.notification.StatusBarNotification; import android.util.Log; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.shared.plugins.PluginManager; import com.android.systemui.statusbar.dagger.StatusBarModule; import com.android.systemui.statusbar.notification.collection.NotifCollection; import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins; Loading @@ -42,10 +44,13 @@ import java.util.List; import java.util.concurrent.ConcurrentLinkedDeque; import java.util.concurrent.Executor; import javax.inject.Inject; /** * This class handles listening to notification updates and passing them along to * NotificationPresenter to be displayed to the user. */ @SysUISingleton @SuppressLint("OverrideAbstract") public class NotificationListener extends NotificationListenerWithPlugins { private static final String TAG = "NotificationListener"; Loading @@ -66,11 +71,14 @@ public class NotificationListener extends NotificationListenerWithPlugins { /** * Injected constructor. See {@link StatusBarModule}. */ @Inject public NotificationListener( Context context, NotificationManager notificationManager, SystemClock systemClock, @Main Executor mainExecutor) { @Main Executor mainExecutor, PluginManager pluginManager) { super(pluginManager); mContext = context; mNotificationManager = notificationManager; mSystemClock = systemClock; Loading
packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java +0 −14 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.systemui.statusbar.dagger; import android.app.IActivityManager; import android.app.NotificationManager; import android.content.Context; import android.os.Handler; import android.service.dreams.IDreamManager; Loading @@ -38,7 +37,6 @@ import com.android.systemui.statusbar.ActionClickLogger; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.MediaArtworkProcessor; import com.android.systemui.statusbar.NotificationClickNotifier; import com.android.systemui.statusbar.NotificationListener; import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationRemoteInputManager; Loading Loading @@ -164,18 +162,6 @@ public interface StatusBarDependenciesModule { dumpManager); } /** */ @SysUISingleton @Provides static NotificationListener provideNotificationListener( Context context, NotificationManager notificationManager, SystemClock systemClock, @Main Executor mainExecutor) { return new NotificationListener( context, notificationManager, systemClock, mainExecutor); } /** */ @SysUISingleton @Provides Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java +16 −39 Original line number Diff line number Diff line Loading @@ -16,34 +16,36 @@ package com.android.systemui.statusbar.phone; import static com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentModule.OPERATOR_NAME_FRAME_VIEW; import android.graphics.Rect; import android.view.View; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.widget.ViewClippingUtil; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.RootView; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CrossFadeHelper; import com.android.systemui.statusbar.HeadsUpStatusBarView; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController; import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentScope; import com.android.systemui.statusbar.policy.Clock; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; import com.android.systemui.util.ViewController; import java.util.Optional; import java.util.function.BiConsumer; import java.util.function.Consumer; import javax.inject.Inject; import javax.inject.Named; /** * Controls the appearance of heads up notifications in the icon area and the header itself. Loading @@ -69,8 +71,8 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar private final CommandQueue mCommandQueue; private final NotificationWakeUpCoordinator mWakeUpCoordinator; private View mClockView; private View mOperatorNameView; private final View mClockView; private final Optional<View> mOperatorNameViewOptional; @VisibleForTesting float mExpandedHeight; Loading @@ -86,45 +88,24 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar } }; private boolean mAnimationsEnabled = true; private KeyguardStateController mKeyguardStateController; @Inject public HeadsUpAppearanceController( NotificationIconAreaController notificationIconAreaController, HeadsUpManagerPhone headsUpManager, NotificationStackScrollLayoutController notificationStackScrollLayoutController, SysuiStatusBarStateController statusBarStateController, KeyguardBypassController keyguardBypassController, KeyguardStateController keyguardStateController, NotificationWakeUpCoordinator wakeUpCoordinator, CommandQueue commandQueue, NotificationPanelViewController notificationPanelViewController, @RootView PhoneStatusBarView statusBarView) { this(notificationIconAreaController, headsUpManager, statusBarStateController, keyguardBypassController, wakeUpCoordinator, keyguardStateController, commandQueue, notificationStackScrollLayoutController, notificationPanelViewController, // TODO(b/205609837): We should have the StatusBarFragmentComponent provide these // four views, and then we can delete this constructor and just use the one below // (which also removes the undesirable @VisibleForTesting). statusBarView.findViewById(R.id.heads_up_status_bar_view), statusBarView.findViewById(R.id.clock), statusBarView.findViewById(R.id.operator_name_frame)); } private final KeyguardStateController mKeyguardStateController; @VisibleForTesting @Inject public HeadsUpAppearanceController( NotificationIconAreaController notificationIconAreaController, HeadsUpManagerPhone headsUpManager, StatusBarStateController stateController, KeyguardBypassController bypassController, NotificationWakeUpCoordinator wakeUpCoordinator, DarkIconDispatcher darkIconDispatcher, KeyguardStateController keyguardStateController, CommandQueue commandQueue, NotificationStackScrollLayoutController stackScrollerController, NotificationPanelViewController notificationPanelViewController, HeadsUpStatusBarView headsUpStatusBarView, View clockView, View operatorNameView) { Clock clockView, @Named(OPERATOR_NAME_FRAME_VIEW) Optional<View> operatorNameViewOptional) { super(headsUpStatusBarView); mNotificationIconAreaController = notificationIconAreaController; mHeadsUpManager = headsUpManager; Loading @@ -141,8 +122,8 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar mNotificationPanelViewController = notificationPanelViewController; mStackScrollerController.setHeadsUpAppearanceController(this); mClockView = clockView; mOperatorNameView = operatorNameView; mDarkIconDispatcher = Dependency.get(DarkIconDispatcher.class); mOperatorNameViewOptional = operatorNameViewOptional; mDarkIconDispatcher = darkIconDispatcher; mView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override Loading Loading @@ -232,14 +213,10 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar mView.setVisibility(View.VISIBLE); show(mView); hide(mClockView, View.INVISIBLE); if (mOperatorNameView != null) { hide(mOperatorNameView, View.INVISIBLE); } mOperatorNameViewOptional.ifPresent(view -> hide(view, View.INVISIBLE)); } else { show(mClockView); if (mOperatorNameView != null) { show(mOperatorNameView); } mOperatorNameViewOptional.ifPresent(this::show); hide(mView, View.GONE, () -> { updateParentClipping(true /* shouldClip */); }); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardEnvironmentImpl.java +7 −6 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static com.android.systemui.statusbar.phone.StatusBar.MULTIUSER_DEBUG; import android.service.notification.StatusBarNotification; import android.util.Log; import com.android.systemui.Dependency; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.notification.NotificationEntryManager.KeyguardEnvironment; Loading @@ -33,13 +32,15 @@ public class KeyguardEnvironmentImpl implements KeyguardEnvironment { private static final String TAG = "KeyguardEnvironmentImpl"; private final NotificationLockscreenUserManager mLockscreenUserManager = Dependency.get(NotificationLockscreenUserManager.class); private final DeviceProvisionedController mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class); private final NotificationLockscreenUserManager mLockscreenUserManager; private final DeviceProvisionedController mDeviceProvisionedController; @Inject public KeyguardEnvironmentImpl() { public KeyguardEnvironmentImpl( NotificationLockscreenUserManager notificationLockscreenUserManager, DeviceProvisionedController deviceProvisionedController) { mLockscreenUserManager = notificationLockscreenUserManager; mDeviceProvisionedController = deviceProvisionedController; } @Override // NotificationEntryManager.KeyguardEnvironment Loading