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