Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce8c4de8 authored by Steve Elliott's avatar Steve Elliott
Browse files

Enforce Coordinator encapsulation w/ Dagger

This allows for marking Coordinators with @CoordinatorScope.
Attempting to inject a Coordinator marked with this scope elsewhere in
SysUI will result in a build error.

This does *not* prevent marking Coordinators with @SysUISingleton,
which would allow for injection elsewhere.

Bug: 204468557
Test: mp droid
Change-Id: Ie79d632eb150790e6a9580b2c955af861bb2d182
parent 6a9124a0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -23,11 +23,11 @@ import android.service.notification.StatusBarNotification;

import com.android.systemui.ForegroundServiceController;
import com.android.systemui.appops.AppOpsController;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.statusbar.notification.collection.ListEntry;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSectioner;
import com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt;
@@ -48,7 +48,7 @@ import javax.inject.Inject;
 *  frameworks/base/packages/SystemUI/src/com/android/systemui/ForegroundServiceNotificationListener
 *  frameworks/base/packages/SystemUI/src/com/android/systemui/ForegroundServiceLifetimeExtender
 */
@SysUISingleton
@CoordinatorScope
public class AppOpsCoordinator implements Coordinator {
    private static final String TAG = "AppOpsCoordinator";

+2 −2
Original line number Diff line number Diff line
@@ -16,10 +16,10 @@

package com.android.systemui.statusbar.notification.collection.coordinator;

import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
import com.android.systemui.statusbar.notification.collection.notifcollection.DismissedByUserStats;
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifDismissInterceptor;
@@ -53,7 +53,7 @@ import javax.inject.Inject;
 * respond to app-cancellations (ie: remove the bubble if the app cancels the notification).
 *
 */
@SysUISingleton
@CoordinatorScope
public class BubbleCoordinator implements Coordinator {
    private static final String TAG = "BubbleCoordinator";

+2 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;

import javax.inject.Inject;
@@ -31,6 +32,7 @@ import javax.inject.Inject;
 * {@link CommunalCoordinator} prevents notifications from showing on the keyguard when the communal
 * view is present.
 */
@CoordinatorScope
public class CommunalCoordinator implements Coordinator {
    final CommunalStateController mCommunalStateController;
    final NotificationEntryManager mNotificationEntryManager;
+2 −2
Original line number Diff line number Diff line
@@ -16,10 +16,10 @@

package com.android.systemui.statusbar.notification.collection.coordinator

import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.statusbar.notification.collection.ListEntry
import com.android.systemui.statusbar.notification.collection.NotifPipeline
import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifPromoter
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSectioner
import com.android.systemui.statusbar.notification.collection.render.NodeController
@@ -34,7 +34,7 @@ import javax.inject.Inject
 * - Elevates important conversation notifications
 * - Puts conversations into its own people section. @see [NotifCoordinators] for section ordering.
 */
@SysUISingleton
@CoordinatorScope
class ConversationCoordinator @Inject constructor(
    private val peopleNotificationIdentifier: PeopleNotificationIdentifier,
    @PeopleHeader peopleHeaderController: NodeController
+2 −2
Original line number Diff line number Diff line
@@ -23,9 +23,9 @@ import android.content.pm.PackageManager;
import android.os.RemoteException;
import android.service.notification.StatusBarNotification;

import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;

@@ -36,7 +36,7 @@ import javax.inject.Inject;
 * Special notifications with extra permissions and tags won't be filtered out even when the
 * device is unprovisioned.
 */
@SysUISingleton
@CoordinatorScope
public class DeviceProvisionedCoordinator implements Coordinator {
    private static final String TAG = "DeviceProvisionedCoordinator";

Loading