New Pipeline: Move SectionClassifier to the provider package am: 1c7adc90d4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19015198 Change-Id: Ib540f347bdbce97486a5a15b0954eff53856c3af Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -20,7 +20,6 @@ import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.notification.SectionClassifier;
|
||||
import com.android.systemui.statusbar.notification.collection.ListEntry;
|
||||
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
||||
@@ -28,6 +27,7 @@ import com.android.systemui.statusbar.notification.collection.coordinator.dagger
|
||||
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
|
||||
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSectioner;
|
||||
import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider;
|
||||
import com.android.systemui.statusbar.notification.collection.provider.SectionStyleProvider;
|
||||
import com.android.systemui.statusbar.notification.collection.render.NodeController;
|
||||
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController;
|
||||
import com.android.systemui.statusbar.notification.dagger.AlertingHeader;
|
||||
@@ -51,7 +51,7 @@ public class RankingCoordinator implements Coordinator {
|
||||
public static final boolean SHOW_ALL_SECTIONS = false;
|
||||
private final StatusBarStateController mStatusBarStateController;
|
||||
private final HighPriorityProvider mHighPriorityProvider;
|
||||
private final SectionClassifier mSectionClassifier;
|
||||
private final SectionStyleProvider mSectionStyleProvider;
|
||||
private final NodeController mSilentNodeController;
|
||||
private final SectionHeaderController mSilentHeaderController;
|
||||
private final NodeController mAlertingHeaderController;
|
||||
@@ -62,13 +62,13 @@ public class RankingCoordinator implements Coordinator {
|
||||
public RankingCoordinator(
|
||||
StatusBarStateController statusBarStateController,
|
||||
HighPriorityProvider highPriorityProvider,
|
||||
SectionClassifier sectionClassifier,
|
||||
SectionStyleProvider sectionStyleProvider,
|
||||
@AlertingHeader NodeController alertingHeaderController,
|
||||
@SilentHeader SectionHeaderController silentHeaderController,
|
||||
@SilentHeader NodeController silentNodeController) {
|
||||
mStatusBarStateController = statusBarStateController;
|
||||
mHighPriorityProvider = highPriorityProvider;
|
||||
mSectionClassifier = sectionClassifier;
|
||||
mSectionStyleProvider = sectionStyleProvider;
|
||||
mAlertingHeaderController = alertingHeaderController;
|
||||
mSilentNodeController = silentNodeController;
|
||||
mSilentHeaderController = silentHeaderController;
|
||||
@@ -77,7 +77,7 @@ public class RankingCoordinator implements Coordinator {
|
||||
@Override
|
||||
public void attach(NotifPipeline pipeline) {
|
||||
mStatusBarStateController.addCallback(mStatusBarStateCallback);
|
||||
mSectionClassifier.setMinimizedSections(Collections.singleton(mMinimizedNotifSectioner));
|
||||
mSectionStyleProvider.setMinimizedSections(Collections.singleton(mMinimizedNotifSectioner));
|
||||
|
||||
pipeline.addPreGroupFilter(mSuspendedFilter);
|
||||
pipeline.addPreGroupFilter(mDndVisualEffectsFilter);
|
||||
|
||||
@@ -19,11 +19,11 @@ package com.android.systemui.statusbar.notification.collection.coordinator
|
||||
import android.content.Context
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.statusbar.notification.AssistantFeedbackController
|
||||
import com.android.systemui.statusbar.notification.SectionClassifier
|
||||
import com.android.systemui.statusbar.notification.collection.ListEntry
|
||||
import com.android.systemui.statusbar.notification.collection.NotifPipeline
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry
|
||||
import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
|
||||
import com.android.systemui.statusbar.notification.collection.provider.SectionStyleProvider
|
||||
import com.android.systemui.statusbar.notification.collection.render.NotifRowController
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -35,7 +35,7 @@ import javax.inject.Inject
|
||||
class RowAppearanceCoordinator @Inject internal constructor(
|
||||
context: Context,
|
||||
private var mAssistantFeedbackController: AssistantFeedbackController,
|
||||
private var mSectionClassifier: SectionClassifier
|
||||
private var mSectionStyleProvider: SectionStyleProvider
|
||||
) : Coordinator {
|
||||
|
||||
private var entryToExpand: NotificationEntry? = null
|
||||
@@ -55,7 +55,7 @@ class RowAppearanceCoordinator @Inject internal constructor(
|
||||
|
||||
private fun onBeforeRenderList(list: List<ListEntry>) {
|
||||
entryToExpand = list.firstOrNull()?.representativeEntry?.takeIf { entry ->
|
||||
!mSectionClassifier.isMinimizedSection(entry.section!!)
|
||||
!mSectionStyleProvider.isMinimizedSection(entry.section!!)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,9 +18,9 @@ package com.android.systemui.statusbar.notification.collection.inflation
|
||||
|
||||
import com.android.systemui.dagger.SysUISingleton
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager
|
||||
import com.android.systemui.statusbar.notification.SectionClassifier
|
||||
import com.android.systemui.statusbar.notification.collection.GroupEntry
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry
|
||||
import com.android.systemui.statusbar.notification.collection.provider.SectionStyleProvider
|
||||
import com.android.systemui.util.ListenerSet
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -31,7 +31,7 @@ import javax.inject.Inject
|
||||
@SysUISingleton
|
||||
class NotifUiAdjustmentProvider @Inject constructor(
|
||||
private val lockscreenUserManager: NotificationLockscreenUserManager,
|
||||
private val sectionClassifier: SectionClassifier,
|
||||
private val sectionStyleProvider: SectionStyleProvider
|
||||
) {
|
||||
private val dirtyListeners = ListenerSet<Runnable>()
|
||||
|
||||
@@ -57,7 +57,7 @@ class NotifUiAdjustmentProvider @Inject constructor(
|
||||
private fun isEntryMinimized(entry: NotificationEntry): Boolean {
|
||||
val section = entry.section ?: error("Entry must have a section to determine if minimized")
|
||||
val parent = entry.parent ?: error("Entry must have a parent to determine if minimized")
|
||||
val isMinimizedSection = sectionClassifier.isMinimizedSection(section)
|
||||
val isMinimizedSection = sectionStyleProvider.isMinimizedSection(section)
|
||||
val isTopLevelEntry = parent == GroupEntry.ROOT_ENTRY
|
||||
val isGroupSummary = parent.summary == entry
|
||||
return isMinimizedSection && (isTopLevelEntry || isGroupSummary)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.systemui.statusbar.notification
|
||||
package com.android.systemui.statusbar.notification.collection.provider
|
||||
|
||||
import com.android.systemui.dagger.SysUISingleton
|
||||
import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection
|
||||
@@ -26,7 +26,7 @@ import javax.inject.Inject
|
||||
* NOTE: This class exists to avoid putting metadata like "isMinimized" on the NotifSection
|
||||
*/
|
||||
@SysUISingleton
|
||||
class SectionClassifier @Inject constructor() {
|
||||
class SectionStyleProvider @Inject constructor() {
|
||||
private lateinit var lowPrioritySections: Set<NotifSectioner>
|
||||
|
||||
/**
|
||||
@@ -42,7 +42,6 @@ import com.android.internal.statusbar.IStatusBarService;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.RankingBuilder;
|
||||
import com.android.systemui.statusbar.notification.SectionClassifier;
|
||||
import com.android.systemui.statusbar.notification.collection.GroupEntry;
|
||||
import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder;
|
||||
import com.android.systemui.statusbar.notification.collection.ListEntry;
|
||||
@@ -57,6 +56,7 @@ import com.android.systemui.statusbar.notification.collection.listbuilder.OnBefo
|
||||
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
|
||||
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSectioner;
|
||||
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
|
||||
import com.android.systemui.statusbar.notification.collection.provider.SectionStyleProvider;
|
||||
import com.android.systemui.statusbar.notification.collection.render.NotifViewBarn;
|
||||
import com.android.systemui.statusbar.notification.row.NotifInflationErrorManager;
|
||||
|
||||
@@ -98,7 +98,7 @@ public class PreparationCoordinatorTest extends SysuiTestCase {
|
||||
@Mock private BindEventManagerImpl mBindEventManagerImpl;
|
||||
@Mock private NotificationLockscreenUserManager mLockscreenUserManager;
|
||||
@Spy private FakeNotifInflater mNotifInflater = new FakeNotifInflater();
|
||||
private final SectionClassifier mSectionClassifier = new SectionClassifier();
|
||||
private final SectionStyleProvider mSectionStyleProvider = new SectionStyleProvider();
|
||||
|
||||
private NotifUiAdjustmentProvider mAdjustmentProvider;
|
||||
|
||||
@@ -111,7 +111,7 @@ public class PreparationCoordinatorTest extends SysuiTestCase {
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mAdjustmentProvider =
|
||||
new NotifUiAdjustmentProvider(mLockscreenUserManager, mSectionClassifier);
|
||||
new NotifUiAdjustmentProvider(mLockscreenUserManager, mSectionStyleProvider);
|
||||
mEntry = getNotificationEntryBuilder().setParent(ROOT_ENTRY).build();
|
||||
mInflationError = new Exception(TEST_MESSAGE);
|
||||
mErrorManager = new NotifInflationErrorManager();
|
||||
@@ -495,7 +495,7 @@ public class PreparationCoordinatorTest extends SysuiTestCase {
|
||||
private static final int TEST_MAX_GROUP_DELAY = 100;
|
||||
|
||||
private void setSectionIsLowPriority(boolean minimized) {
|
||||
mSectionClassifier.setMinimizedSections(minimized
|
||||
mSectionStyleProvider.setMinimizedSections(minimized
|
||||
? Collections.singleton(mNotifSection.getSectioner())
|
||||
: Collections.emptyList());
|
||||
}
|
||||
|
||||
@@ -42,7 +42,6 @@ import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.RankingBuilder;
|
||||
import com.android.systemui.statusbar.SbnBuilder;
|
||||
import com.android.systemui.statusbar.notification.SectionClassifier;
|
||||
import com.android.systemui.statusbar.notification.collection.ListEntry;
|
||||
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
||||
@@ -50,6 +49,7 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntryB
|
||||
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
|
||||
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSectioner;
|
||||
import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider;
|
||||
import com.android.systemui.statusbar.notification.collection.provider.SectionStyleProvider;
|
||||
import com.android.systemui.statusbar.notification.collection.render.NodeController;
|
||||
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController;
|
||||
|
||||
@@ -70,7 +70,7 @@ public class RankingCoordinatorTest extends SysuiTestCase {
|
||||
|
||||
@Mock private StatusBarStateController mStatusBarStateController;
|
||||
@Mock private HighPriorityProvider mHighPriorityProvider;
|
||||
@Mock private SectionClassifier mSectionClassifier;
|
||||
@Mock private SectionStyleProvider mSectionStyleProvider;
|
||||
@Mock private NotifPipeline mNotifPipeline;
|
||||
@Mock private NodeController mAlertingHeaderController;
|
||||
@Mock private NodeController mSilentNodeController;
|
||||
@@ -94,7 +94,7 @@ public class RankingCoordinatorTest extends SysuiTestCase {
|
||||
mRankingCoordinator = new RankingCoordinator(
|
||||
mStatusBarStateController,
|
||||
mHighPriorityProvider,
|
||||
mSectionClassifier,
|
||||
mSectionStyleProvider,
|
||||
mAlertingHeaderController,
|
||||
mSilentHeaderController,
|
||||
mSilentNodeController);
|
||||
@@ -102,7 +102,7 @@ public class RankingCoordinatorTest extends SysuiTestCase {
|
||||
mEntry.setRanking(getRankingForUnfilteredNotif().build());
|
||||
|
||||
mRankingCoordinator.attach(mNotifPipeline);
|
||||
verify(mSectionClassifier).setMinimizedSections(any());
|
||||
verify(mSectionStyleProvider).setMinimizedSections(any());
|
||||
verify(mNotifPipeline, times(2)).addPreGroupFilter(mNotifFilterCaptor.capture());
|
||||
mCapturedSuspendedFilter = mNotifFilterCaptor.getAllValues().get(0);
|
||||
mCapturedDozingFilter = mNotifFilterCaptor.getAllValues().get(1);
|
||||
|
||||
@@ -21,13 +21,13 @@ import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.statusbar.notification.AssistantFeedbackController
|
||||
import com.android.systemui.statusbar.notification.FeedbackIcon
|
||||
import com.android.systemui.statusbar.notification.SectionClassifier
|
||||
import com.android.systemui.statusbar.notification.collection.NotifPipeline
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
|
||||
import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection
|
||||
import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderEntryListener
|
||||
import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeRenderListListener
|
||||
import com.android.systemui.statusbar.notification.collection.provider.SectionStyleProvider
|
||||
import com.android.systemui.statusbar.notification.collection.render.NotifRowController
|
||||
import com.android.systemui.util.mockito.any
|
||||
import com.android.systemui.util.mockito.eq
|
||||
@@ -53,7 +53,7 @@ class RowAppearanceCoordinatorTest : SysuiTestCase() {
|
||||
|
||||
@Mock private lateinit var pipeline: NotifPipeline
|
||||
@Mock private lateinit var assistantFeedbackController: AssistantFeedbackController
|
||||
@Mock private lateinit var sectionClassifier: SectionClassifier
|
||||
@Mock private lateinit var sectionStyleProvider: SectionStyleProvider
|
||||
|
||||
@Mock private lateinit var section1: NotifSection
|
||||
@Mock private lateinit var section2: NotifSection
|
||||
@@ -66,7 +66,7 @@ class RowAppearanceCoordinatorTest : SysuiTestCase() {
|
||||
coordinator = RowAppearanceCoordinator(
|
||||
mContext,
|
||||
assistantFeedbackController,
|
||||
sectionClassifier
|
||||
sectionStyleProvider
|
||||
)
|
||||
coordinator.attach(pipeline)
|
||||
beforeRenderListListener = withArgCaptor {
|
||||
@@ -82,8 +82,8 @@ class RowAppearanceCoordinatorTest : SysuiTestCase() {
|
||||
|
||||
@Test
|
||||
fun testSetSystemExpandedOnlyOnFirst() {
|
||||
whenever(sectionClassifier.isMinimizedSection(eq(section1))).thenReturn(false)
|
||||
whenever(sectionClassifier.isMinimizedSection(eq(section1))).thenReturn(false)
|
||||
whenever(sectionStyleProvider.isMinimizedSection(eq(section1))).thenReturn(false)
|
||||
whenever(sectionStyleProvider.isMinimizedSection(eq(section1))).thenReturn(false)
|
||||
beforeRenderListListener.onBeforeRenderList(listOf(entry1, entry2))
|
||||
afterRenderEntryListener.onAfterRenderEntry(entry1, controller1)
|
||||
verify(controller1).setSystemExpanded(eq(true))
|
||||
@@ -93,8 +93,8 @@ class RowAppearanceCoordinatorTest : SysuiTestCase() {
|
||||
|
||||
@Test
|
||||
fun testSetSystemExpandedNeverIfMinimized() {
|
||||
whenever(sectionClassifier.isMinimizedSection(eq(section1))).thenReturn(true)
|
||||
whenever(sectionClassifier.isMinimizedSection(eq(section1))).thenReturn(true)
|
||||
whenever(sectionStyleProvider.isMinimizedSection(eq(section1))).thenReturn(true)
|
||||
whenever(sectionStyleProvider.isMinimizedSection(eq(section1))).thenReturn(true)
|
||||
beforeRenderListListener.onBeforeRenderList(listOf(entry1, entry2))
|
||||
afterRenderEntryListener.onAfterRenderEntry(entry1, controller1)
|
||||
verify(controller1).setSystemExpanded(eq(false))
|
||||
|
||||
@@ -5,7 +5,7 @@ import android.testing.TestableLooper.RunWithLooper
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager
|
||||
import com.android.systemui.statusbar.notification.SectionClassifier
|
||||
import com.android.systemui.statusbar.notification.collection.provider.SectionStyleProvider
|
||||
import com.android.systemui.util.mockito.mock
|
||||
import com.android.systemui.util.mockito.withArgCaptor
|
||||
import org.junit.Test
|
||||
@@ -17,11 +17,11 @@ import org.mockito.Mockito.verify
|
||||
@RunWithLooper
|
||||
class NotifUiAdjustmentProviderTest : SysuiTestCase() {
|
||||
private val lockscreenUserManager: NotificationLockscreenUserManager = mock()
|
||||
private val sectionClassifier: SectionClassifier = mock()
|
||||
private val sectionStyleProvider: SectionStyleProvider = mock()
|
||||
|
||||
private val adjustmentProvider = NotifUiAdjustmentProvider(
|
||||
lockscreenUserManager,
|
||||
sectionClassifier,
|
||||
sectionStyleProvider,
|
||||
)
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user