Loading packages/SystemUI/src/com/android/systemui/flags/Flags.java +4 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,10 @@ public class Flags { public static final BooleanFlag NOTIFICATION_UPDATES = new BooleanFlag(102, true); public static final BooleanFlag NOTIFICATION_PIPELINE_DEVELOPER_LOGGING = new BooleanFlag(103, false); /***************************************/ // 200 - keyguard/lockscreen public static final BooleanFlag KEYGUARD_LAYOUT = Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt +3 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,9 @@ class NotifPipelineFlags @Inject constructor( fun isNewPipelineEnabled(): Boolean = featureFlags.isEnabled(Flags.NEW_NOTIFICATION_PIPELINE_RENDERING) fun isDevLoggingEnabled(): Boolean = featureFlags.isEnabled(Flags.NOTIFICATION_PIPELINE_DEVELOPER_LOGGING) fun isSmartspaceDedupingEnabled(): Boolean = featureFlags.isEnabled(Flags.SMARTSPACE) && featureFlags.isEnabled(Flags.SMARTSPACE_DEDUPING) Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java +5 −1 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import com.android.systemui.Dumpable; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dump.DumpManager; import com.android.systemui.statusbar.NotificationInteractionTracker; import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection; import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeFinalizeFilterListener; import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeRenderListListener; Loading Loading @@ -87,6 +88,7 @@ public class ShadeListBuilder implements Dumpable { private final NotificationInteractionTracker mInteractionTracker; // used exclusivly by ShadeListBuilder#notifySectionEntriesUpdated private final ArrayList<ListEntry> mTempSectionMembers = new ArrayList<>(); private final boolean mAlwaysLogList; private List<ListEntry> mNotifList = new ArrayList<>(); private List<ListEntry> mNewNotifList = new ArrayList<>(); Loading Loading @@ -119,6 +121,7 @@ public class ShadeListBuilder implements Dumpable { @Inject public ShadeListBuilder( SystemClock systemClock, NotifPipelineFlags flags, ShadeListBuilderLogger logger, DumpManager dumpManager, NotificationInteractionTracker interactionTracker Loading @@ -126,6 +129,7 @@ public class ShadeListBuilder implements Dumpable { Assert.isMainThread(); mSystemClock = systemClock; mLogger = logger; mAlwaysLogList = flags.isDevLoggingEnabled(); mInteractionTracker = interactionTracker; dumpManager.registerDumpable(TAG, this); Loading Loading @@ -407,7 +411,7 @@ public class ShadeListBuilder implements Dumpable { mIterationCount, mReadOnlyNotifList.size(), countChildren(mReadOnlyNotifList)); if (mIterationCount % 10 == 0) { if (mAlwaysLogList || mIterationCount % 10 == 0) { mLogger.logFinalList(mNotifList); } mPipelineState.setState(STATE_IDLE); Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java +9 −2 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; Loading @@ -52,6 +51,7 @@ import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.dump.DumpManager; import com.android.systemui.statusbar.NotificationInteractionTracker; import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.collection.ShadeListBuilder.OnRenderListListener; import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection; import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeFinalizeFilterListener; Loading Loading @@ -96,7 +96,9 @@ public class ShadeListBuilderTest extends SysuiTestCase { private ShadeListBuilder mListBuilder; private FakeSystemClock mSystemClock = new FakeSystemClock(); @Mock private NotifPipelineFlags mNotifPipelineFlags; @Mock private ShadeListBuilderLogger mLogger; @Mock private DumpManager mDumpManager; @Mock private NotifCollection mNotifCollection; @Mock private NotificationInteractionTracker mInteractionTracker; @Spy private OnBeforeTransformGroupsListener mOnBeforeTransformGroupsListener; Loading @@ -122,7 +124,12 @@ public class ShadeListBuilderTest extends SysuiTestCase { allowTestableLooperAsMainThread(); mListBuilder = new ShadeListBuilder( mSystemClock, mLogger, mock(DumpManager.class), mInteractionTracker); mSystemClock, mNotifPipelineFlags, mLogger, mDumpManager, mInteractionTracker ); mListBuilder.setOnRenderListListener(mOnRenderListListener); mListBuilder.attach(mNotifCollection); Loading Loading
packages/SystemUI/src/com/android/systemui/flags/Flags.java +4 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,10 @@ public class Flags { public static final BooleanFlag NOTIFICATION_UPDATES = new BooleanFlag(102, true); public static final BooleanFlag NOTIFICATION_PIPELINE_DEVELOPER_LOGGING = new BooleanFlag(103, false); /***************************************/ // 200 - keyguard/lockscreen public static final BooleanFlag KEYGUARD_LAYOUT = Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt +3 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,9 @@ class NotifPipelineFlags @Inject constructor( fun isNewPipelineEnabled(): Boolean = featureFlags.isEnabled(Flags.NEW_NOTIFICATION_PIPELINE_RENDERING) fun isDevLoggingEnabled(): Boolean = featureFlags.isEnabled(Flags.NOTIFICATION_PIPELINE_DEVELOPER_LOGGING) fun isSmartspaceDedupingEnabled(): Boolean = featureFlags.isEnabled(Flags.SMARTSPACE) && featureFlags.isEnabled(Flags.SMARTSPACE_DEDUPING) Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java +5 −1 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import com.android.systemui.Dumpable; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dump.DumpManager; import com.android.systemui.statusbar.NotificationInteractionTracker; import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection; import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeFinalizeFilterListener; import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeRenderListListener; Loading Loading @@ -87,6 +88,7 @@ public class ShadeListBuilder implements Dumpable { private final NotificationInteractionTracker mInteractionTracker; // used exclusivly by ShadeListBuilder#notifySectionEntriesUpdated private final ArrayList<ListEntry> mTempSectionMembers = new ArrayList<>(); private final boolean mAlwaysLogList; private List<ListEntry> mNotifList = new ArrayList<>(); private List<ListEntry> mNewNotifList = new ArrayList<>(); Loading Loading @@ -119,6 +121,7 @@ public class ShadeListBuilder implements Dumpable { @Inject public ShadeListBuilder( SystemClock systemClock, NotifPipelineFlags flags, ShadeListBuilderLogger logger, DumpManager dumpManager, NotificationInteractionTracker interactionTracker Loading @@ -126,6 +129,7 @@ public class ShadeListBuilder implements Dumpable { Assert.isMainThread(); mSystemClock = systemClock; mLogger = logger; mAlwaysLogList = flags.isDevLoggingEnabled(); mInteractionTracker = interactionTracker; dumpManager.registerDumpable(TAG, this); Loading Loading @@ -407,7 +411,7 @@ public class ShadeListBuilder implements Dumpable { mIterationCount, mReadOnlyNotifList.size(), countChildren(mReadOnlyNotifList)); if (mIterationCount % 10 == 0) { if (mAlwaysLogList || mIterationCount % 10 == 0) { mLogger.logFinalList(mNotifList); } mPipelineState.setState(STATE_IDLE); Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java +9 −2 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; Loading @@ -52,6 +51,7 @@ import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.dump.DumpManager; import com.android.systemui.statusbar.NotificationInteractionTracker; import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.collection.ShadeListBuilder.OnRenderListListener; import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection; import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeFinalizeFilterListener; Loading Loading @@ -96,7 +96,9 @@ public class ShadeListBuilderTest extends SysuiTestCase { private ShadeListBuilder mListBuilder; private FakeSystemClock mSystemClock = new FakeSystemClock(); @Mock private NotifPipelineFlags mNotifPipelineFlags; @Mock private ShadeListBuilderLogger mLogger; @Mock private DumpManager mDumpManager; @Mock private NotifCollection mNotifCollection; @Mock private NotificationInteractionTracker mInteractionTracker; @Spy private OnBeforeTransformGroupsListener mOnBeforeTransformGroupsListener; Loading @@ -122,7 +124,12 @@ public class ShadeListBuilderTest extends SysuiTestCase { allowTestableLooperAsMainThread(); mListBuilder = new ShadeListBuilder( mSystemClock, mLogger, mock(DumpManager.class), mInteractionTracker); mSystemClock, mNotifPipelineFlags, mLogger, mDumpManager, mInteractionTracker ); mListBuilder.setOnRenderListListener(mOnRenderListListener); mListBuilder.attach(mNotifCollection); Loading