Merge "Move mNotificationActivityStarter + logic to Controller" into sc-v2-dev am: c7b72b49ae
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15273770 Change-Id: Ife3b645a58bc1c695eebd031bd060af0bf9e3dd5
This commit is contained in:
@@ -89,7 +89,6 @@ import com.android.systemui.statusbar.RemoteInputController;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.notification.ExpandAnimationParameters;
|
||||
import com.android.systemui.statusbar.notification.FakeShadowView;
|
||||
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
|
||||
import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorController;
|
||||
import com.android.systemui.statusbar.notification.NotificationUtils;
|
||||
import com.android.systemui.statusbar.notification.ShadeViewRefactor;
|
||||
@@ -212,7 +211,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
||||
|
||||
private GroupMembershipManager mGroupMembershipManager;
|
||||
private GroupExpansionManager mGroupExpansionManager;
|
||||
private NotificationActivityStarter mNotificationActivityStarter;
|
||||
private HashSet<ExpandableView> mChildrenToAddAnimated = new HashSet<>();
|
||||
private ArrayList<View> mAddedHeadsUpChildren = new ArrayList<>();
|
||||
private ArrayList<ExpandableView> mChildrenToRemoveAnimated = new ArrayList<>();
|
||||
@@ -564,6 +562,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
||||
}
|
||||
};
|
||||
|
||||
@Nullable
|
||||
private OnClickListener mManageButtonClickListener;
|
||||
|
||||
@Inject
|
||||
public NotificationStackScrollLayout(
|
||||
@Named(VIEW_CONTEXT) Context context,
|
||||
@@ -4361,6 +4362,14 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether or not a History button is shown in the footer. If there is no footer, then
|
||||
* this will return false.
|
||||
**/
|
||||
public boolean isHistoryShown() {
|
||||
return mFooterView != null && mFooterView.isHistoryShown();
|
||||
}
|
||||
|
||||
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
|
||||
void setFooterView(@NonNull FooterView footerView) {
|
||||
int index = -1;
|
||||
@@ -4370,6 +4379,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
||||
}
|
||||
mFooterView = footerView;
|
||||
addView(mFooterView, index);
|
||||
if (mManageButtonClickListener != null) {
|
||||
mFooterView.setManageButtonClickListener(mManageButtonClickListener);
|
||||
}
|
||||
}
|
||||
|
||||
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
|
||||
@@ -5073,9 +5085,12 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
||||
}
|
||||
}
|
||||
|
||||
public void setNotificationActivityStarter(
|
||||
NotificationActivityStarter notificationActivityStarter) {
|
||||
mNotificationActivityStarter = notificationActivityStarter;
|
||||
/** Register a {@link View.OnClickListener} to be invoked when the Manage button is clicked. */
|
||||
public void setManageButtonClickListener(@Nullable OnClickListener listener) {
|
||||
mManageButtonClickListener = listener;
|
||||
if (mFooterView != null) {
|
||||
mFooterView.setManageButtonClickListener(mManageButtonClickListener);
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -5089,9 +5104,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
||||
}
|
||||
clearNotifications(ROWS_ALL, true /* closeShade */);
|
||||
});
|
||||
footerView.setManageButtonClickListener(v -> {
|
||||
mNotificationActivityStarter.startHistoryIntent(v, mFooterView.isHistoryShown());
|
||||
});
|
||||
setFooterView(footerView);
|
||||
}
|
||||
|
||||
|
||||
@@ -48,6 +48,8 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowInsets;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.colorextraction.ColorExtractor;
|
||||
import com.android.internal.jank.InteractionJankMonitor;
|
||||
@@ -184,6 +186,9 @@ public class NotificationStackScrollLayoutController {
|
||||
private final NotificationListContainerImpl mNotificationListContainer =
|
||||
new NotificationListContainerImpl();
|
||||
|
||||
@Nullable
|
||||
private NotificationActivityStarter mNotificationActivityStarter;
|
||||
|
||||
private ColorExtractor.OnColorsChangedListener mOnColorsChangedListener;
|
||||
|
||||
/**
|
||||
@@ -712,6 +717,11 @@ public class NotificationStackScrollLayoutController {
|
||||
mView.setKeyguardBypassEnabled(mKeyguardBypassController.getBypassEnabled());
|
||||
mKeyguardBypassController
|
||||
.registerOnBypassStateChangedListener(mView::setKeyguardBypassEnabled);
|
||||
mView.setManageButtonClickListener(v -> {
|
||||
if (mNotificationActivityStarter != null) {
|
||||
mNotificationActivityStarter.startHistoryIntent(v, mView.isHistoryShown());
|
||||
}
|
||||
});
|
||||
|
||||
mHeadsUpManager.addListener(mOnHeadsUpChangedListener);
|
||||
mHeadsUpManager.setAnimationStateHandler(mView::setHeadsUpGoingAwayAnimationsAllowed);
|
||||
@@ -1472,6 +1482,10 @@ public class NotificationStackScrollLayoutController {
|
||||
mView.animateNextTopPaddingChange();
|
||||
}
|
||||
|
||||
public void setNotificationActivityStarter(NotificationActivityStarter activityStarter) {
|
||||
mNotificationActivityStarter = activityStarter;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enum for UiEvent logged from this class
|
||||
*/
|
||||
@@ -1543,7 +1557,8 @@ public class NotificationStackScrollLayoutController {
|
||||
@Override
|
||||
public void setNotificationActivityStarter(
|
||||
NotificationActivityStarter notificationActivityStarter) {
|
||||
mView.setNotificationActivityStarter(notificationActivityStarter);
|
||||
NotificationStackScrollLayoutController.this
|
||||
.setNotificationActivityStarter(notificationActivityStarter);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1447,7 +1447,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
.setNotificationPresenter(mPresenter)
|
||||
.setNotificationPanelViewController(mNotificationPanelViewController)
|
||||
.build();
|
||||
mStackScroller.setNotificationActivityStarter(mNotificationActivityStarter);
|
||||
mStackScrollerController.setNotificationActivityStarter(mNotificationActivityStarter);
|
||||
mGutsManager.setNotificationActivityStarter(mNotificationActivityStarter);
|
||||
|
||||
mNotificationsController.initialize(
|
||||
|
||||
Reference in New Issue
Block a user