Merge "Inline notif pipeline flag into NSSLController" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
bd911d18a3
@@ -28,7 +28,6 @@ import static com.android.systemui.statusbar.notification.stack.NotificationStac
|
|||||||
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_GENTLE;
|
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_GENTLE;
|
||||||
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_HIGH_PRIORITY;
|
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_HIGH_PRIORITY;
|
||||||
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.SelectedRows;
|
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.SelectedRows;
|
||||||
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.canChildBeCleared;
|
|
||||||
import static com.android.systemui.statusbar.phone.NotificationIconAreaController.HIGH_PRIORITY;
|
import static com.android.systemui.statusbar.phone.NotificationIconAreaController.HIGH_PRIORITY;
|
||||||
|
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
@@ -38,12 +37,10 @@ import android.graphics.PointF;
|
|||||||
import android.os.Trace;
|
import android.os.Trace;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.service.notification.NotificationListenerService;
|
|
||||||
import android.service.notification.StatusBarNotification;
|
import android.service.notification.StatusBarNotification;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
import android.view.Display;
|
import android.view.Display;
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@@ -53,20 +50,17 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.Nullable;
|
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.jank.InteractionJankMonitor;
|
import com.android.internal.jank.InteractionJankMonitor;
|
||||||
import com.android.internal.logging.MetricsLogger;
|
import com.android.internal.logging.MetricsLogger;
|
||||||
import com.android.internal.logging.UiEvent;
|
import com.android.internal.logging.UiEvent;
|
||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.internal.statusbar.IStatusBarService;
|
|
||||||
import com.android.systemui.ExpandHelper;
|
import com.android.systemui.ExpandHelper;
|
||||||
import com.android.systemui.Gefingerpoken;
|
import com.android.systemui.Gefingerpoken;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.SwipeHelper;
|
import com.android.systemui.SwipeHelper;
|
||||||
import com.android.systemui.classifier.Classifier;
|
import com.android.systemui.classifier.Classifier;
|
||||||
import com.android.systemui.classifier.FalsingCollector;
|
import com.android.systemui.classifier.FalsingCollector;
|
||||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
|
||||||
import com.android.systemui.dagger.qualifiers.Main;
|
import com.android.systemui.dagger.qualifiers.Main;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.media.KeyguardMediaController;
|
import com.android.systemui.media.KeyguardMediaController;
|
||||||
@@ -85,9 +79,7 @@ import com.android.systemui.statusbar.StatusBarState;
|
|||||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||||
import com.android.systemui.statusbar.notification.LaunchAnimationParameters;
|
import com.android.systemui.statusbar.notification.LaunchAnimationParameters;
|
||||||
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
|
|
||||||
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
|
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
|
||||||
import com.android.systemui.statusbar.notification.NotificationEntryListener;
|
|
||||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||||
import com.android.systemui.statusbar.notification.collection.NotifCollection;
|
import com.android.systemui.statusbar.notification.collection.NotifCollection;
|
||||||
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
|
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
|
||||||
@@ -163,13 +155,10 @@ public class NotificationStackScrollLayoutController {
|
|||||||
private final Resources mResources;
|
private final Resources mResources;
|
||||||
private final NotificationSwipeHelper.Builder mNotificationSwipeHelperBuilder;
|
private final NotificationSwipeHelper.Builder mNotificationSwipeHelperBuilder;
|
||||||
private final ScrimController mScrimController;
|
private final ScrimController mScrimController;
|
||||||
private final NotifPipelineFlags mNotifPipelineFlags;
|
|
||||||
private final NotifPipeline mNotifPipeline;
|
private final NotifPipeline mNotifPipeline;
|
||||||
private final NotifCollection mNotifCollection;
|
private final NotifCollection mNotifCollection;
|
||||||
private final NotificationEntryManager mNotificationEntryManager;
|
private final NotificationEntryManager mNotificationEntryManager;
|
||||||
private final IStatusBarService mIStatusBarService;
|
|
||||||
private final UiEventLogger mUiEventLogger;
|
private final UiEventLogger mUiEventLogger;
|
||||||
private final LayoutInflater mLayoutInflater;
|
|
||||||
private final NotificationRemoteInputManager mRemoteInputManager;
|
private final NotificationRemoteInputManager mRemoteInputManager;
|
||||||
private final VisualStabilityManager mVisualStabilityManager;
|
private final VisualStabilityManager mVisualStabilityManager;
|
||||||
private final ShadeController mShadeController;
|
private final ShadeController mShadeController;
|
||||||
@@ -206,8 +195,6 @@ public class NotificationStackScrollLayoutController {
|
|||||||
@Nullable
|
@Nullable
|
||||||
private NotificationActivityStarter mNotificationActivityStarter;
|
private NotificationActivityStarter mNotificationActivityStarter;
|
||||||
|
|
||||||
private ColorExtractor.OnColorsChangedListener mOnColorsChangedListener;
|
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
final View.OnAttachStateChangeListener mOnAttachStateChangeListener =
|
final View.OnAttachStateChangeListener mOnAttachStateChangeListener =
|
||||||
new View.OnAttachStateChangeListener() {
|
new View.OnAttachStateChangeListener() {
|
||||||
@@ -256,10 +243,7 @@ public class NotificationStackScrollLayoutController {
|
|||||||
mView.setAnimateBottomOnLayout(true);
|
mView.setAnimateBottomOnLayout(true);
|
||||||
}
|
}
|
||||||
// Let's update the footer once the notifications have been updated (in the next frame)
|
// Let's update the footer once the notifications have been updated (in the next frame)
|
||||||
mView.post(() -> {
|
mView.post(this::updateFooter);
|
||||||
updateFooter();
|
|
||||||
updateSectionBoundaries("dynamic privacy changed");
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -634,7 +618,6 @@ public class NotificationStackScrollLayoutController {
|
|||||||
KeyguardMediaController keyguardMediaController,
|
KeyguardMediaController keyguardMediaController,
|
||||||
KeyguardBypassController keyguardBypassController,
|
KeyguardBypassController keyguardBypassController,
|
||||||
ZenModeController zenModeController,
|
ZenModeController zenModeController,
|
||||||
SysuiColorExtractor colorExtractor,
|
|
||||||
NotificationLockscreenUserManager lockscreenUserManager,
|
NotificationLockscreenUserManager lockscreenUserManager,
|
||||||
MetricsLogger metricsLogger,
|
MetricsLogger metricsLogger,
|
||||||
DumpManager dumpManager,
|
DumpManager dumpManager,
|
||||||
@@ -647,15 +630,12 @@ public class NotificationStackScrollLayoutController {
|
|||||||
NotificationGroupManagerLegacy legacyGroupManager,
|
NotificationGroupManagerLegacy legacyGroupManager,
|
||||||
GroupExpansionManager groupManager,
|
GroupExpansionManager groupManager,
|
||||||
@SilentHeader SectionHeaderController silentHeaderController,
|
@SilentHeader SectionHeaderController silentHeaderController,
|
||||||
NotifPipelineFlags notifPipelineFlags,
|
|
||||||
NotifPipeline notifPipeline,
|
NotifPipeline notifPipeline,
|
||||||
NotifCollection notifCollection,
|
NotifCollection notifCollection,
|
||||||
NotificationEntryManager notificationEntryManager,
|
NotificationEntryManager notificationEntryManager,
|
||||||
LockscreenShadeTransitionController lockscreenShadeTransitionController,
|
LockscreenShadeTransitionController lockscreenShadeTransitionController,
|
||||||
ShadeTransitionController shadeTransitionController,
|
ShadeTransitionController shadeTransitionController,
|
||||||
IStatusBarService iStatusBarService,
|
|
||||||
UiEventLogger uiEventLogger,
|
UiEventLogger uiEventLogger,
|
||||||
LayoutInflater layoutInflater,
|
|
||||||
NotificationRemoteInputManager remoteInputManager,
|
NotificationRemoteInputManager remoteInputManager,
|
||||||
VisualStabilityManager visualStabilityManager,
|
VisualStabilityManager visualStabilityManager,
|
||||||
ShadeController shadeController,
|
ShadeController shadeController,
|
||||||
@@ -698,14 +678,11 @@ public class NotificationStackScrollLayoutController {
|
|||||||
mCentralSurfaces.requestNotificationUpdate("onGroupsChanged");
|
mCentralSurfaces.requestNotificationUpdate("onGroupsChanged");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mNotifPipelineFlags = notifPipelineFlags;
|
|
||||||
mSilentHeaderController = silentHeaderController;
|
mSilentHeaderController = silentHeaderController;
|
||||||
mNotifPipeline = notifPipeline;
|
mNotifPipeline = notifPipeline;
|
||||||
mNotifCollection = notifCollection;
|
mNotifCollection = notifCollection;
|
||||||
mNotificationEntryManager = notificationEntryManager;
|
mNotificationEntryManager = notificationEntryManager;
|
||||||
mIStatusBarService = iStatusBarService;
|
|
||||||
mUiEventLogger = uiEventLogger;
|
mUiEventLogger = uiEventLogger;
|
||||||
mLayoutInflater = layoutInflater;
|
|
||||||
mRemoteInputManager = remoteInputManager;
|
mRemoteInputManager = remoteInputManager;
|
||||||
mVisualStabilityManager = visualStabilityManager;
|
mVisualStabilityManager = visualStabilityManager;
|
||||||
mShadeController = shadeController;
|
mShadeController = shadeController;
|
||||||
@@ -745,21 +722,12 @@ public class NotificationStackScrollLayoutController {
|
|||||||
.setOnMenuEventListener(mMenuEventListener)
|
.setOnMenuEventListener(mMenuEventListener)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
if (mNotifPipelineFlags.isNewPipelineEnabled()) {
|
|
||||||
mNotifPipeline.addCollectionListener(new NotifCollectionListener() {
|
mNotifPipeline.addCollectionListener(new NotifCollectionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onEntryUpdated(NotificationEntry entry) {
|
public void onEntryUpdated(NotificationEntry entry) {
|
||||||
mView.onEntryUpdated(entry);
|
mView.onEntryUpdated(entry);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
mNotificationEntryManager.addNotificationEntryListener(new NotificationEntryListener() {
|
|
||||||
@Override
|
|
||||||
public void onPreEntryUpdated(NotificationEntry entry) {
|
|
||||||
mView.onEntryUpdated(entry);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
mView.initView(mView.getContext(), mSwipeHelper, mNotificationStackSizeCalculator);
|
mView.initView(mView.getContext(), mSwipeHelper, mNotificationStackSizeCalculator);
|
||||||
mView.setKeyguardBypassEnabled(mKeyguardBypassController.getBypassEnabled());
|
mView.setKeyguardBypassEnabled(mKeyguardBypassController.getBypassEnabled());
|
||||||
@@ -1231,10 +1199,6 @@ public class NotificationStackScrollLayoutController {
|
|||||||
Trace.endSection();
|
Trace.endSection();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean areNotificationsHiddenInShade() {
|
|
||||||
return mZenModeController.areNotificationsHiddenInShade();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isShowingEmptyShadeView() {
|
public boolean isShowingEmptyShadeView() {
|
||||||
return mShowEmptyShadeView;
|
return mShowEmptyShadeView;
|
||||||
}
|
}
|
||||||
@@ -1339,15 +1303,6 @@ public class NotificationStackScrollLayoutController {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateSectionBoundaries(String reason) {
|
|
||||||
if (mNotifPipelineFlags.isNewPipelineEnabled()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Trace.beginSection("NSSLC.updateSectionBoundaries");
|
|
||||||
mView.updateSectionBoundaries(reason);
|
|
||||||
Trace.endSection();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateFooter() {
|
public void updateFooter() {
|
||||||
Trace.beginSection("NSSLC.updateFooter");
|
Trace.beginSection("NSSLC.updateFooter");
|
||||||
mView.updateFooter();
|
mView.updateFooter();
|
||||||
@@ -1463,7 +1418,6 @@ public class NotificationStackScrollLayoutController {
|
|||||||
|
|
||||||
private void onAnimationEnd(List<ExpandableNotificationRow> viewsToRemove,
|
private void onAnimationEnd(List<ExpandableNotificationRow> viewsToRemove,
|
||||||
@SelectedRows int selectedRows) {
|
@SelectedRows int selectedRows) {
|
||||||
if (mNotifPipelineFlags.isNewPipelineEnabled()) {
|
|
||||||
if (selectedRows == ROWS_ALL) {
|
if (selectedRows == ROWS_ALL) {
|
||||||
mNotifCollection.dismissAllNotifications(
|
mNotifCollection.dismissAllNotifications(
|
||||||
mLockscreenUserManager.getCurrentUserId());
|
mLockscreenUserManager.getCurrentUserId());
|
||||||
@@ -1477,26 +1431,6 @@ public class NotificationStackScrollLayoutController {
|
|||||||
}
|
}
|
||||||
mNotifCollection.dismissNotifications(entriesWithRowsDismissedFromShade);
|
mNotifCollection.dismissNotifications(entriesWithRowsDismissedFromShade);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
for (ExpandableNotificationRow rowToRemove : viewsToRemove) {
|
|
||||||
if (canChildBeCleared(rowToRemove)) {
|
|
||||||
mNotificationEntryManager.performRemoveNotification(
|
|
||||||
rowToRemove.getEntry().getSbn(),
|
|
||||||
getDismissedByUserStats(rowToRemove.getEntry()),
|
|
||||||
NotificationListenerService.REASON_CANCEL_ALL);
|
|
||||||
} else {
|
|
||||||
rowToRemove.resetTranslation();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (selectedRows == ROWS_ALL) {
|
|
||||||
try {
|
|
||||||
// TODO(b/169585328): Do not clear media player notifications
|
|
||||||
mIStatusBarService.onClearAllNotifications(
|
|
||||||
mLockscreenUserManager.getCurrentUserId());
|
|
||||||
} catch (Exception ignored) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3918,7 +3918,6 @@ public final class NotificationPanelViewController extends PanelViewController {
|
|||||||
* {@link ShadeViewManager}.
|
* {@link ShadeViewManager}.
|
||||||
*/
|
*/
|
||||||
public void updateNotificationViews(String reason) {
|
public void updateNotificationViews(String reason) {
|
||||||
mNotificationStackScrollLayoutController.updateSectionBoundaries(reason);
|
|
||||||
mNotificationStackScrollLayoutController.updateFooter();
|
mNotificationStackScrollLayoutController.updateFooter();
|
||||||
|
|
||||||
mNotificationIconAreaController.updateNotificationIcons(createVisibleEntriesList());
|
mNotificationIconAreaController.updateNotificationIcons(createVisibleEntriesList());
|
||||||
|
|||||||
@@ -150,7 +150,6 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
|
|||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
when(mNotificationSwipeHelperBuilder.build()).thenReturn(mNotificationSwipeHelper);
|
when(mNotificationSwipeHelperBuilder.build()).thenReturn(mNotificationSwipeHelper);
|
||||||
when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(false);
|
|
||||||
|
|
||||||
mController = new NotificationStackScrollLayoutController(
|
mController = new NotificationStackScrollLayoutController(
|
||||||
true,
|
true,
|
||||||
@@ -166,7 +165,6 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
|
|||||||
mKeyguardMediaController,
|
mKeyguardMediaController,
|
||||||
mKeyguardBypassController,
|
mKeyguardBypassController,
|
||||||
mZenModeController,
|
mZenModeController,
|
||||||
mColorExtractor,
|
|
||||||
mNotificationLockscreenUserManager,
|
mNotificationLockscreenUserManager,
|
||||||
mMetricsLogger,
|
mMetricsLogger,
|
||||||
mDumpManager,
|
mDumpManager,
|
||||||
@@ -179,15 +177,12 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
|
|||||||
mLegacyGroupManager,
|
mLegacyGroupManager,
|
||||||
mLegacyGroupManager,
|
mLegacyGroupManager,
|
||||||
mSilentHeaderController,
|
mSilentHeaderController,
|
||||||
mNotifPipelineFlags,
|
|
||||||
mNotifPipeline,
|
mNotifPipeline,
|
||||||
mNotifCollection,
|
mNotifCollection,
|
||||||
mEntryManager,
|
mEntryManager,
|
||||||
mLockscreenShadeTransitionController,
|
mLockscreenShadeTransitionController,
|
||||||
mShadeTransitionController,
|
mShadeTransitionController,
|
||||||
mIStatusBarService,
|
|
||||||
mUiEventLogger,
|
mUiEventLogger,
|
||||||
mLayoutInflater,
|
|
||||||
mRemoteInputManager,
|
mRemoteInputManager,
|
||||||
mVisualStabilityManager,
|
mVisualStabilityManager,
|
||||||
mShadeController,
|
mShadeController,
|
||||||
|
|||||||
Reference in New Issue
Block a user