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

Commit 57e25f18 authored by Jeff DeCew's avatar Jeff DeCew Committed by Julia Tuttle
Browse files

New Pipeline: Move SectionClassifier to the provider package

Test: atest SystemUITests
Change-Id: I1ed99b7f6742f269af80d2fccc13967c5a7acc58
parent ee03a6be
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
@@ -17,9 +17,9 @@
package com.android.systemui.statusbar.notification.collection.inflation

import com.android.systemui.dagger.SysUISingleton
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 javax.inject.Inject

/**
@@ -28,13 +28,13 @@ import javax.inject.Inject
 */
@SysUISingleton
open class NotifUiAdjustmentProvider @Inject constructor(
    private val sectionClassifier: SectionClassifier
    private val sectionStyleProvider: SectionStyleProvider
) {

    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
@@ -41,7 +41,6 @@ import androidx.test.filters.SmallTest;
import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.SysuiTestCase;
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;
@@ -56,6 +55,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;

@@ -96,9 +96,9 @@ public class PreparationCoordinatorTest extends SysuiTestCase {
    @Mock private IStatusBarService mService;
    @Mock private BindEventManagerImpl mBindEventManagerImpl;
    @Spy private FakeNotifInflater mNotifInflater = new FakeNotifInflater();
    private final SectionClassifier mSectionClassifier = new SectionClassifier();
    private final SectionStyleProvider mSectionStyleProvider = new SectionStyleProvider();
    private final NotifUiAdjustmentProvider mAdjustmentProvider =
            new NotifUiAdjustmentProvider(mSectionClassifier);
            new NotifUiAdjustmentProvider(mSectionStyleProvider);

    @NonNull
    private NotificationEntryBuilder getNotificationEntryBuilder() {
@@ -487,7 +487,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