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

Commit ef3a8edb authored by Justin Weir's avatar Justin Weir
Browse files

Remove NotificationGutsManager from Dependency

Bug: 218352819
Test: presubmits
Change-Id: I6d09657e430f7d4c10a4bcb6e9cfa37cf0d0dc98
parent f74687c7
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -87,7 +87,6 @@ import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.notification.stack.AmbientState;
import com.android.systemui.statusbar.notification.stack.NotificationSectionsManager;
import com.android.systemui.statusbar.phone.AutoHideController;
@@ -130,14 +129,14 @@ import com.android.systemui.util.leak.LeakDetector;
import com.android.systemui.util.leak.LeakReporter;
import com.android.systemui.util.sensors.AsyncSensorManager;

import dagger.Lazy;

import java.util.concurrent.Executor;
import java.util.function.Consumer;

import javax.inject.Inject;
import javax.inject.Named;

import dagger.Lazy;

/**
 * Class to handle ugly dependencies throughout sysui until we determine the
 * long-term dependency injection solution.
@@ -298,7 +297,6 @@ public class Dependency {
    @Inject Lazy<AccessibilityFloatingMenuController> mAccessibilityFloatingMenuController;
    @Inject Lazy<StatusBarStateController> mStatusBarStateController;
    @Inject Lazy<NotificationLockscreenUserManager> mNotificationLockscreenUserManager;
    @Inject Lazy<NotificationGutsManager> mNotificationGutsManager;
    @Inject Lazy<NotificationMediaManager> mNotificationMediaManager;
    @Inject Lazy<NotificationRemoteInputManager> mNotificationRemoteInputManager;
    @Inject Lazy<SmartReplyConstants> mSmartReplyConstants;
@@ -498,7 +496,6 @@ public class Dependency {
        mProviders.put(NotificationLockscreenUserManager.class,
                mNotificationLockscreenUserManager::get);
        mProviders.put(NotificationMediaManager.class, mNotificationMediaManager::get);
        mProviders.put(NotificationGutsManager.class, mNotificationGutsManager::get);
        mProviders.put(NotificationRemoteInputManager.class,
                mNotificationRemoteInputManager::get);
        mProviders.put(SmartReplyConstants.class, mSmartReplyConstants::get);
+6 −5
Original line number Diff line number Diff line
@@ -42,9 +42,8 @@ import android.widget.LinearLayout;
import android.widget.TextView;

import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.Dependency;
import com.android.systemui.res.R;
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
import com.android.systemui.res.R;
import com.android.systemui.statusbar.notification.AssistantFeedbackController;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.util.Compile;
@@ -76,7 +75,9 @@ public class FeedbackInfo extends LinearLayout implements NotificationGuts.GutsC
            final StatusBarNotification sbn,
            final NotificationEntry entry,
            final ExpandableNotificationRow row,
            final AssistantFeedbackController controller) {
            final AssistantFeedbackController controller,
            final IStatusBarService statusBarService,
            final NotificationGutsManager notificationGutsManager) {
        mPkg = sbn.getPackageName();
        mPm = pm;
        mEntry = entry;
@@ -84,8 +85,8 @@ public class FeedbackInfo extends LinearLayout implements NotificationGuts.GutsC
        mRanking = entry.getRanking();
        mFeedbackController = controller;
        mAppName = mPkg;
        mStatusBarService = Dependency.get(IStatusBarService.class);
        mNotificationGutsManager = Dependency.get(NotificationGutsManager.class);
        mStatusBarService = statusBarService;
        mNotificationGutsManager = notificationGutsManager;

        bindHeader();
        bindPrompt();
+6 −1
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.statusbar.IStatusBarService;
import com.android.settingslib.notification.ConversationIconFactory;
import com.android.systemui.CoreStartable;
import com.android.systemui.dagger.SysUISingleton;
@@ -99,6 +100,7 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta
    // Dependencies:
    private final NotificationLockscreenUserManager mLockscreenUserManager;
    private final StatusBarStateController mStatusBarStateController;
    private final IStatusBarService mStatusBarService;
    private final DeviceProvisionedController mDeviceProvisionedController;
    private final AssistantFeedbackController mAssistantFeedbackController;

@@ -152,6 +154,7 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta
            WindowRootViewVisibilityInteractor windowRootViewVisibilityInteractor,
            NotificationLockscreenUserManager notificationLockscreenUserManager,
            StatusBarStateController statusBarStateController,
            IStatusBarService statusBarService,
            DeviceProvisionedController deviceProvisionedController,
            MetricsLogger metricsLogger,
            HeadsUpManager headsUpManager,
@@ -177,6 +180,7 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta
        mWindowRootViewVisibilityInteractor = windowRootViewVisibilityInteractor;
        mLockscreenUserManager = notificationLockscreenUserManager;
        mStatusBarStateController = statusBarStateController;
        mStatusBarService = statusBarService;
        mDeviceProvisionedController = deviceProvisionedController;
        mMetricsLogger = metricsLogger;
        mHeadsUpManager = headsUpManager;
@@ -358,7 +362,8 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta
        PackageManager pmUser = CentralSurfaces.getPackageManagerForUser(mContext,
                userHandle.getIdentifier());

        feedbackInfo.bindGuts(pmUser, sbn, row.getEntry(), row, mAssistantFeedbackController);
        feedbackInfo.bindGuts(pmUser, sbn, row.getEntry(), row, mAssistantFeedbackController,
                mStatusBarService, this);
    }

    /**
+11 −9
Original line number Diff line number Diff line
@@ -54,9 +54,9 @@ import android.widget.ImageView;
import android.widget.TextView;

import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.res.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
import com.android.systemui.res.R;
import com.android.systemui.statusbar.notification.AssistantFeedbackController;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
@@ -132,7 +132,8 @@ public class FeedbackInfoTest extends SysuiTestCase {
    public void testBindNotification_SetsTextApplicationName() {
        when(mMockPackageManager.getApplicationLabel(any())).thenReturn("App Name");
        mFeedbackInfo.bindGuts(mMockPackageManager, mSbn, getEntry(),
                mMockNotificationRow, mAssistantFeedbackController);
                mMockNotificationRow, mAssistantFeedbackController, mStatusBarService,
                mNotificationGutsManager);
        final TextView textView = mFeedbackInfo.findViewById(R.id.pkg_name);
        assertTrue(textView.getText().toString().contains("App Name"));
    }
@@ -143,7 +144,8 @@ public class FeedbackInfoTest extends SysuiTestCase {
        when(mMockPackageManager.getApplicationIcon(any(ApplicationInfo.class)))
                .thenReturn(iconDrawable);
        mFeedbackInfo.bindGuts(mMockPackageManager, mSbn, getEntry(),
                mMockNotificationRow, mAssistantFeedbackController);
                mMockNotificationRow, mAssistantFeedbackController, mStatusBarService,
                mNotificationGutsManager);
        final ImageView iconView = mFeedbackInfo.findViewById(R.id.pkg_icon);
        assertEquals(iconDrawable, iconView.getDrawable());
    }
@@ -153,7 +155,7 @@ public class FeedbackInfoTest extends SysuiTestCase {
        when(mAssistantFeedbackController.getFeedbackStatus(any(NotificationEntry.class)))
                .thenReturn(STATUS_SILENCED);
        mFeedbackInfo.bindGuts(mMockPackageManager, mSbn, getEntry(), mMockNotificationRow,
                mAssistantFeedbackController);
                mAssistantFeedbackController, mStatusBarService, mNotificationGutsManager);
        TextView prompt = mFeedbackInfo.findViewById(R.id.prompt);
        assertEquals("This notification was automatically demoted to Silent by the system. "
                        + "Let the developer know your feedback. Was this correct?",
@@ -165,7 +167,7 @@ public class FeedbackInfoTest extends SysuiTestCase {
        when(mAssistantFeedbackController.getFeedbackStatus(any(NotificationEntry.class)))
                .thenReturn(STATUS_PROMOTED);
        mFeedbackInfo.bindGuts(mMockPackageManager, mSbn, getEntry(), mMockNotificationRow,
                mAssistantFeedbackController);
                mAssistantFeedbackController, mStatusBarService, mNotificationGutsManager);
        TextView prompt = mFeedbackInfo.findViewById(R.id.prompt);
        assertEquals("This notification was automatically ranked higher in your shade. "
                        + "Let the developer know your feedback. Was this correct?",
@@ -177,7 +179,7 @@ public class FeedbackInfoTest extends SysuiTestCase {
        when(mAssistantFeedbackController.getFeedbackStatus(any(NotificationEntry.class)))
                .thenReturn(STATUS_ALERTED);
        mFeedbackInfo.bindGuts(mMockPackageManager, mSbn, getEntry(), mMockNotificationRow,
                mAssistantFeedbackController);
                mAssistantFeedbackController, mStatusBarService, mNotificationGutsManager);
        TextView prompt = mFeedbackInfo.findViewById(R.id.prompt);
        assertEquals("This notification was automatically promoted to Default by the system. "
                        + "Let the developer know your feedback. Was this correct?",
@@ -189,7 +191,7 @@ public class FeedbackInfoTest extends SysuiTestCase {
        when(mAssistantFeedbackController.getFeedbackStatus(any(NotificationEntry.class)))
                .thenReturn(STATUS_DEMOTED);
        mFeedbackInfo.bindGuts(mMockPackageManager, mSbn, getEntry(), mMockNotificationRow,
                mAssistantFeedbackController);
                mAssistantFeedbackController, mStatusBarService, mNotificationGutsManager);
        TextView prompt = mFeedbackInfo.findViewById(R.id.prompt);
        assertEquals("This notification was automatically ranked lower in your shade. "
                        + "Let the developer know your feedback. Was this correct?",
@@ -199,7 +201,7 @@ public class FeedbackInfoTest extends SysuiTestCase {
    @Test
    public void testPositiveFeedback() {
        mFeedbackInfo.bindGuts(mMockPackageManager, mSbn, getEntry(), mMockNotificationRow,
                mAssistantFeedbackController);
                mAssistantFeedbackController, mStatusBarService, mNotificationGutsManager);

        final View yes = mFeedbackInfo.findViewById(R.id.yes);
        yes.performClick();
@@ -216,7 +218,7 @@ public class FeedbackInfoTest extends SysuiTestCase {
                .thenReturn(true);

        mFeedbackInfo.bindGuts(mMockPackageManager, mSbn, getEntry(), mMockNotificationRow,
                mAssistantFeedbackController);
                mAssistantFeedbackController, mStatusBarService, mNotificationGutsManager);

        final View no = mFeedbackInfo.findViewById(R.id.no);
        no.performClick();
+1 −0
Original line number Diff line number Diff line
@@ -195,6 +195,7 @@ public class NotificationGutsManagerTest extends SysuiTestCase {
                mWindowRootViewVisibilityInteractor,
                mNotificationLockscreenUserManager,
                mStatusBarStateController,
                mBarService,
                mDeviceProvisionedController,
                mMetricsLogger,
                mHeadsUpManager,