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

Commit a295ae24 authored by Jeff DeCew's avatar Jeff DeCew Committed by Android (Google) Code Review
Browse files

Merge changes Iba4cfadd,Ic1aa2dde,If75d0d4f,Idafbc664

* changes:
  New Pipeline: Fix stability cases where stability did not invalidate
  New Pipeline: Fix minimized notifications not appearing minimized.
  New Pipeline: Restore the ShadeListBuilder order to sort before the finalize filter.
  New Pipeline: Separate sectioning and sorting steps.
parents e1c734c2 35d1990c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ import com.android.systemui.statusbar.notification.DynamicChildBindController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.inflation.LowPriorityInflationHelper;
import com.android.systemui.statusbar.notification.collection.legacy.LowPriorityInflationHelper;
import com.android.systemui.statusbar.notification.collection.legacy.NotificationGroupManagerLegacy;
import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+1 −3
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.inflation.LowPriorityInflationHelper;
import com.android.systemui.statusbar.notification.collection.legacy.LowPriorityInflationHelper;
import com.android.systemui.statusbar.notification.collection.legacy.NotificationGroupManagerLegacy;
import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager;
import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection;
@@ -73,8 +73,6 @@ import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallLogger;
import com.android.systemui.statusbar.policy.RemoteInputUriController;
import com.android.systemui.statusbar.window.StatusBarWindowController;
import com.android.systemui.statusbar.window.StatusBarWindowModule;
import com.android.systemui.statusbar.window.StatusBarWindowView;
import com.android.systemui.tracing.ProtoTracer;
import com.android.systemui.util.concurrency.DelayableExecutor;
import com.android.systemui.util.time.SystemClock;
+2 −2
Original line number Diff line number Diff line
@@ -638,7 +638,7 @@ public class NotificationEntryManager implements

        // Construct the expanded view.
        if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
            mNotificationRowBinderLazy.get().inflateViews(entry, mInflationCallback);
            mNotificationRowBinderLazy.get().inflateViews(entry, null, mInflationCallback);
        }

        mPendingNotifications.put(key, entry);
@@ -695,7 +695,7 @@ public class NotificationEntryManager implements
        }

        if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
            mNotificationRowBinderLazy.get().inflateViews(entry, mInflationCallback);
            mNotificationRowBinderLazy.get().inflateViews(entry, null, mInflationCallback);
        }

        updateNotifications("updateNotificationInternal");
+9 −15
Original line number Diff line number Diff line
@@ -16,7 +16,8 @@

package com.android.systemui.statusbar.notification.collection;

import com.android.internal.statusbar.IStatusBarService;
import androidx.annotation.NonNull;

import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.statusbar.notification.InflationException;
import com.android.systemui.statusbar.notification.collection.inflation.NotifInflater;
@@ -34,23 +35,13 @@ import javax.inject.Inject;
@SysUISingleton
public class NotifInflaterImpl implements NotifInflater {

    private final IStatusBarService mStatusBarService;
    private final NotifCollection mNotifCollection;
    private final NotifInflationErrorManager mNotifErrorManager;
    private final NotifPipeline mNotifPipeline;

    private NotificationRowBinderImpl mNotificationRowBinder;

    @Inject
    public NotifInflaterImpl(
            IStatusBarService statusBarService,
            NotifCollection notifCollection,
            NotifInflationErrorManager errorManager,
            NotifPipeline notifPipeline) {
        mStatusBarService = statusBarService;
        mNotifCollection = notifCollection;
    public NotifInflaterImpl(NotifInflationErrorManager errorManager) {
        mNotifErrorManager = errorManager;
        mNotifPipeline = notifPipeline;
    }

    /**
@@ -61,8 +52,9 @@ public class NotifInflaterImpl implements NotifInflater {
    }

    @Override
    public void rebindViews(NotificationEntry entry, InflationCallback callback) {
        inflateViews(entry, callback);
    public void rebindViews(@NonNull NotificationEntry entry, @NonNull Params params,
            @NonNull InflationCallback callback) {
        inflateViews(entry, params, callback);
    }

    /**
@@ -70,10 +62,12 @@ public class NotifInflaterImpl implements NotifInflater {
     * views are bound.
     */
    @Override
    public void inflateViews(NotificationEntry entry, InflationCallback callback) {
    public void inflateViews(@NonNull NotificationEntry entry, @NonNull Params params,
            @NonNull InflationCallback callback) {
        try {
            requireBinder().inflateViews(
                    entry,
                    params,
                    wrapInflationCallback(callback));
        } catch (InflationException e) {
            mNotifErrorManager.setInflationError(entry, e);
+7 −6
Original line number Diff line number Diff line
@@ -58,12 +58,13 @@ import javax.inject.Inject
 *     appropriately).
 *  3. OnBeforeTransformGroupListeners are fired ([.addOnBeforeTransformGroupsListener])
 *  4. NotifPromoters are called on each notification with a parent ([.addPromoter])
 *  5. Finalize filters are fired on each notification ([.addFinalizeFilter])
 *  6. OnBeforeSortListeners are fired ([.addOnBeforeSortListener])
 *  7. Top-level entries are assigned sections by NotifSections ([.setSections])
 *  8. Top-level entries within the same section are sorted by NotifComparators ([.setComparators])
 *  9. OnBeforeRenderListListeners are fired ([.addOnBeforeRenderListListener])
 *  10. The list is handed off to the view layer to be rendered
 *  5. OnBeforeSortListeners are fired ([.addOnBeforeSortListener])
 *  6. Top-level entries are assigned sections by NotifSections ([.setSections])
 *  7. Top-level entries within the same section are sorted by NotifComparators ([.setComparators])
 *  8. OnBeforeFinalizeFilterListeners are fired ([.addOnBeforeFinalizeFilterListener])
 *  9. Finalize filters are fired on each notification ([.addFinalizeFilter])
 *  10. OnBeforeRenderListListeners are fired ([.addOnBeforeRenderListListener])
 *  11. The list is handed off to the view layer to be rendered
 */
@SysUISingleton
class NotifPipeline @Inject constructor(
Loading