Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c7adc90 authored by Jeff DeCew's avatar Jeff DeCew
Browse files

New Pipeline: Move SectionClassifier to the provider package

Test: atest SystemUITests
Merged-In: I1ed99b7f6742f269af80d2fccc13967c5a7acc58
Change-Id: I1ed99b7f6742f269af80d2fccc13967c5a7acc58
parent a5b52638
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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);
+3 −3
Original line number Diff line number Diff line
@@ -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!!)
        }
    }

+3 −3
Original line number Diff line number Diff line
@@ -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)
+2 −2
Original line number Diff line number Diff line
@@ -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>

    /**
+4 −4
Original line number Diff line number Diff line
@@ -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());
    }
Loading