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

Commit 155c4ef5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix NPE when ranking update causes reinflation" into rvc-dev am:...

Merge "Fix NPE when ranking update causes reinflation" into rvc-dev am: f81538b3 am: 04e109bf am: dd46e670 am: 8a50651a

Change-Id: Ia8b21ab1bf6fc006ac2930441f6514cc852c7ee1
parents 71cfee3a 8a50651a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -699,7 +699,8 @@ public class NotificationEntryManager implements
                            entry,
                            oldImportances.get(entry.getKey()),
                            oldAdjustments.get(entry.getKey()),
                            NotificationUiAdjustment.extractFromNotificationEntry(entry));
                            NotificationUiAdjustment.extractFromNotificationEntry(entry),
                            mInflationCallback);
        }

        updateNotifications("updateNotificationRanking");
+2 −1
Original line number Diff line number Diff line
@@ -51,5 +51,6 @@ public interface NotificationRowBinder {
            NotificationEntry entry,
            @Nullable Integer oldImportance,
            NotificationUiAdjustment oldAdjustment,
            NotificationUiAdjustment newAdjustment);
            NotificationUiAdjustment newAdjustment,
            NotificationRowContentBinder.InflationCallback callback);
}
+7 −4
Original line number Diff line number Diff line
@@ -180,13 +180,14 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
            NotificationEntry entry,
            @Nullable Integer oldImportance,
            NotificationUiAdjustment oldAdjustment,
            NotificationUiAdjustment newAdjustment) {
            NotificationUiAdjustment newAdjustment,
            NotificationRowContentBinder.InflationCallback callback) {
        if (NotificationUiAdjustment.needReinflate(oldAdjustment, newAdjustment)) {
            if (entry.rowExists()) {
                ExpandableNotificationRow row = entry.getRow();
                row.reset();
                updateRow(entry, row);
                inflateContentViews(entry, row, null /* callback */);
                inflateContentViews(entry, row, callback);
            } else {
                // Once the RowInflaterTask is done, it will pick up the updated entry, so
                // no-op here.
@@ -221,7 +222,7 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
    private void inflateContentViews(
            NotificationEntry entry,
            ExpandableNotificationRow row,
            NotificationRowContentBinder.InflationCallback inflationCallback) {
            @Nullable NotificationRowContentBinder.InflationCallback inflationCallback) {
        final boolean useIncreasedCollapsedHeight =
                mMessagingUtil.isImportantMessaging(entry.getSbn(), entry.getImportance());
        final boolean isLowPriority = entry.isAmbient();
@@ -238,7 +239,9 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
        mRowContentBindStage.requestRebind(entry, en -> {
            row.setUsesIncreasedCollapsedHeight(useIncreasedCollapsedHeight);
            row.setIsLowPriority(isLowPriority);
            if (inflationCallback != null) {
                inflationCallback.onAsyncInflationFinished(en);
            }
        });
    }