Remove injected parametser from NSSL
This substitutes in calls to Dependency#get. While this feels like a step backwards, it is the last step necessary before removing acual view injection. Removal of Dependency#get is ongoing and will include cleanup of this class. Bug: 149942757 Test: manual Change-Id: I129f0751f101cdce7ae92554b2a09d2091b7c13b Merged-In: I129f0751f101cdce7ae92554b2a09d2091b7c13b
This commit is contained in:
@@ -89,8 +89,12 @@ import com.android.systemui.statusbar.notification.NotificationEntryManager.Keyg
|
|||||||
import com.android.systemui.statusbar.notification.NotificationFilter;
|
import com.android.systemui.statusbar.notification.NotificationFilter;
|
||||||
import com.android.systemui.statusbar.notification.collection.legacy.NotificationGroupManagerLegacy;
|
import com.android.systemui.statusbar.notification.collection.legacy.NotificationGroupManagerLegacy;
|
||||||
import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager;
|
import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager;
|
||||||
|
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.logging.NotificationLogger;
|
||||||
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
|
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;
|
import com.android.systemui.statusbar.phone.AutoHideController;
|
||||||
import com.android.systemui.statusbar.phone.DozeParameters;
|
import com.android.systemui.statusbar.phone.DozeParameters;
|
||||||
import com.android.systemui.statusbar.phone.KeyguardDismissUtil;
|
import com.android.systemui.statusbar.phone.KeyguardDismissUtil;
|
||||||
@@ -102,6 +106,7 @@ import com.android.systemui.statusbar.phone.ShadeController;
|
|||||||
import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider;
|
import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider;
|
||||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||||
import com.android.systemui.statusbar.phone.StatusBarWindowController;
|
import com.android.systemui.statusbar.phone.StatusBarWindowController;
|
||||||
|
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
|
||||||
import com.android.systemui.statusbar.policy.AccessibilityController;
|
import com.android.systemui.statusbar.policy.AccessibilityController;
|
||||||
import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper;
|
import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper;
|
||||||
import com.android.systemui.statusbar.policy.BatteryController;
|
import com.android.systemui.statusbar.policy.BatteryController;
|
||||||
@@ -360,6 +365,11 @@ public class Dependency {
|
|||||||
@Inject Lazy<FeatureFlags> mFeatureFlagsLazy;
|
@Inject Lazy<FeatureFlags> mFeatureFlagsLazy;
|
||||||
@Inject Lazy<StatusBarContentInsetsProvider> mContentInsetsProviderLazy;
|
@Inject Lazy<StatusBarContentInsetsProvider> mContentInsetsProviderLazy;
|
||||||
@Inject Lazy<InternetDialogFactory> mInternetDialogFactory;
|
@Inject Lazy<InternetDialogFactory> mInternetDialogFactory;
|
||||||
|
@Inject Lazy<NotificationSectionsManager> mNotificationSectionsManagerLazy;
|
||||||
|
@Inject Lazy<UnlockedScreenOffAnimationController> mUnlockedScreenOffAnimationControllerLazy;
|
||||||
|
@Inject Lazy<AmbientState> mAmbientStateLazy;
|
||||||
|
@Inject Lazy<GroupMembershipManager> mGroupMembershipManagerLazy;
|
||||||
|
@Inject Lazy<GroupExpansionManager> mGroupExpansionManagerLazy;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public Dependency() {
|
public Dependency() {
|
||||||
@@ -574,6 +584,12 @@ public class Dependency {
|
|||||||
mProviders.put(UiEventLogger.class, mUiEventLogger::get);
|
mProviders.put(UiEventLogger.class, mUiEventLogger::get);
|
||||||
mProviders.put(FeatureFlags.class, mFeatureFlagsLazy::get);
|
mProviders.put(FeatureFlags.class, mFeatureFlagsLazy::get);
|
||||||
mProviders.put(StatusBarContentInsetsProvider.class, mContentInsetsProviderLazy::get);
|
mProviders.put(StatusBarContentInsetsProvider.class, mContentInsetsProviderLazy::get);
|
||||||
|
mProviders.put(NotificationSectionsManager.class, mNotificationSectionsManagerLazy::get);
|
||||||
|
mProviders.put(UnlockedScreenOffAnimationController.class,
|
||||||
|
mUnlockedScreenOffAnimationControllerLazy::get);
|
||||||
|
mProviders.put(AmbientState.class, mAmbientStateLazy::get);
|
||||||
|
mProviders.put(GroupMembershipManager.class, mGroupMembershipManagerLazy::get);
|
||||||
|
mProviders.put(GroupExpansionManager.class, mGroupExpansionManagerLazy::get);
|
||||||
|
|
||||||
Dependency.setInstance(this);
|
Dependency.setInstance(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ import com.android.internal.graphics.ColorUtils;
|
|||||||
import com.android.internal.jank.InteractionJankMonitor;
|
import com.android.internal.jank.InteractionJankMonitor;
|
||||||
import com.android.keyguard.KeyguardSliceView;
|
import com.android.keyguard.KeyguardSliceView;
|
||||||
import com.android.settingslib.Utils;
|
import com.android.settingslib.Utils;
|
||||||
|
import com.android.systemui.Dependency;
|
||||||
import com.android.systemui.Dumpable;
|
import com.android.systemui.Dumpable;
|
||||||
import com.android.systemui.ExpandHelper;
|
import com.android.systemui.ExpandHelper;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
@@ -566,24 +567,19 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
|||||||
@Nullable
|
@Nullable
|
||||||
private OnClickListener mManageButtonClickListener;
|
private OnClickListener mManageButtonClickListener;
|
||||||
|
|
||||||
|
// TODO(b/149942757): Remove the @Inject
|
||||||
@Inject
|
@Inject
|
||||||
public NotificationStackScrollLayout(
|
public NotificationStackScrollLayout(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs) {
|
||||||
@Named(VIEW_CONTEXT) Context context,
|
|
||||||
AttributeSet attrs,
|
|
||||||
NotificationSectionsManager notificationSectionsManager,
|
|
||||||
GroupMembershipManager groupMembershipManager,
|
|
||||||
GroupExpansionManager groupExpansionManager,
|
|
||||||
AmbientState ambientState,
|
|
||||||
UnlockedScreenOffAnimationController unlockedScreenOffAnimationController) {
|
|
||||||
super(context, attrs, 0, 0);
|
super(context, attrs, 0, 0);
|
||||||
Resources res = getResources();
|
Resources res = getResources();
|
||||||
mSectionsManager = notificationSectionsManager;
|
mSectionsManager = Dependency.get(NotificationSectionsManager.class);
|
||||||
mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController;
|
mUnlockedScreenOffAnimationController =
|
||||||
|
Dependency.get(UnlockedScreenOffAnimationController.class);
|
||||||
updateSplitNotificationShade();
|
updateSplitNotificationShade();
|
||||||
mSectionsManager.initialize(this, LayoutInflater.from(context));
|
mSectionsManager.initialize(this, LayoutInflater.from(context));
|
||||||
mSections = mSectionsManager.createSectionsForBuckets();
|
mSections = mSectionsManager.createSectionsForBuckets();
|
||||||
|
|
||||||
mAmbientState = ambientState;
|
mAmbientState = Dependency.get(AmbientState.class);
|
||||||
mBgColor = Utils.getColorAttr(mContext, android.R.attr.colorBackgroundFloating)
|
mBgColor = Utils.getColorAttr(mContext, android.R.attr.colorBackgroundFloating)
|
||||||
.getDefaultColor();
|
.getDefaultColor();
|
||||||
int minHeight = res.getDimensionPixelSize(R.dimen.notification_min_height);
|
int minHeight = res.getDimensionPixelSize(R.dimen.notification_min_height);
|
||||||
@@ -609,8 +605,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
|||||||
mDebugPaint.setTextSize(25f);
|
mDebugPaint.setTextSize(25f);
|
||||||
}
|
}
|
||||||
mClearAllEnabled = res.getBoolean(R.bool.config_enableNotificationsClearAll);
|
mClearAllEnabled = res.getBoolean(R.bool.config_enableNotificationsClearAll);
|
||||||
mGroupMembershipManager = groupMembershipManager;
|
mGroupMembershipManager = Dependency.get(GroupMembershipManager.class);
|
||||||
mGroupExpansionManager = groupExpansionManager;
|
mGroupExpansionManager = Dependency.get(GroupExpansionManager.class);
|
||||||
setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
|
setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,8 @@ import com.android.systemui.statusbar.StatusBarState;
|
|||||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
||||||
import com.android.systemui.statusbar.notification.collection.legacy.NotificationGroupManagerLegacy;
|
import com.android.systemui.statusbar.notification.collection.legacy.NotificationGroupManagerLegacy;
|
||||||
|
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
|
||||||
|
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
|
||||||
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
|
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
|
||||||
import com.android.systemui.statusbar.notification.row.FooterView;
|
import com.android.systemui.statusbar.notification.row.FooterView;
|
||||||
import com.android.systemui.statusbar.phone.KeyguardBypassController;
|
import com.android.systemui.statusbar.phone.KeyguardBypassController;
|
||||||
@@ -110,9 +112,20 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
|
|||||||
Settings.Secure.putIntForUser(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED,
|
Settings.Secure.putIntForUser(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED,
|
||||||
1, UserHandle.USER_CURRENT);
|
1, UserHandle.USER_CURRENT);
|
||||||
|
|
||||||
|
|
||||||
|
// Interact with real instance of AmbientState.
|
||||||
|
mAmbientState = new AmbientState(mContext, mNotificationSectionsManager, mBypassController);
|
||||||
|
|
||||||
// Inject dependencies before initializing the layout
|
// Inject dependencies before initializing the layout
|
||||||
mDependency.injectTestDependency(SysuiStatusBarStateController.class, mBarState);
|
mDependency.injectTestDependency(SysuiStatusBarStateController.class, mBarState);
|
||||||
mDependency.injectMockDependency(ShadeController.class);
|
mDependency.injectMockDependency(ShadeController.class);
|
||||||
|
mDependency.injectTestDependency(
|
||||||
|
NotificationSectionsManager.class, mNotificationSectionsManager);
|
||||||
|
mDependency.injectTestDependency(GroupMembershipManager.class, mGroupMembershipManger);
|
||||||
|
mDependency.injectTestDependency(GroupExpansionManager.class, mGroupExpansionManager);
|
||||||
|
mDependency.injectTestDependency(AmbientState.class, mAmbientState);
|
||||||
|
mDependency.injectTestDependency(
|
||||||
|
UnlockedScreenOffAnimationController.class, mUnlockedScreenOffAnimationController);
|
||||||
|
|
||||||
NotificationShelfController notificationShelfController =
|
NotificationShelfController notificationShelfController =
|
||||||
mock(NotificationShelfController.class);
|
mock(NotificationShelfController.class);
|
||||||
@@ -123,22 +136,12 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
|
|||||||
mNotificationSection
|
mNotificationSection
|
||||||
});
|
});
|
||||||
|
|
||||||
// Interact with real instance of AmbientState.
|
|
||||||
mAmbientState = new AmbientState(mContext, mNotificationSectionsManager, mBypassController);
|
|
||||||
|
|
||||||
// The actual class under test. You may need to work with this class directly when
|
// The actual class under test. You may need to work with this class directly when
|
||||||
// testing anonymous class members of mStackScroller, like mMenuEventListener,
|
// testing anonymous class members of mStackScroller, like mMenuEventListener,
|
||||||
// which refer to members of NotificationStackScrollLayout. The spy
|
// which refer to members of NotificationStackScrollLayout. The spy
|
||||||
// holds a copy of the CUT's instances of these KeyguardBypassController, so they still
|
// holds a copy of the CUT's instances of these KeyguardBypassController, so they still
|
||||||
// refer to the CUT's member variables, not the spy's member variables.
|
// refer to the CUT's member variables, not the spy's member variables.
|
||||||
mStackScrollerInternal = new NotificationStackScrollLayout(
|
mStackScrollerInternal = new NotificationStackScrollLayout(getContext(), null);
|
||||||
getContext(),
|
|
||||||
null,
|
|
||||||
mNotificationSectionsManager,
|
|
||||||
mGroupMembershipManger,
|
|
||||||
mGroupExpansionManager,
|
|
||||||
mAmbientState,
|
|
||||||
mUnlockedScreenOffAnimationController);
|
|
||||||
mStackScrollerInternal.initView(getContext(), mNotificationSwipeHelper);
|
mStackScrollerInternal.initView(getContext(), mNotificationSwipeHelper);
|
||||||
mStackScroller = spy(mStackScrollerInternal);
|
mStackScroller = spy(mStackScrollerInternal);
|
||||||
mStackScroller.setShelfController(notificationShelfController);
|
mStackScroller.setShelfController(notificationShelfController);
|
||||||
|
|||||||
Reference in New Issue
Block a user