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

Commit 58c61b46 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: f81538b3

Change-Id: I85c6f179bbb01df0bfa1587c906e88c98110db2e
parents dd1a44f3 f81538b3
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);
            }
        });
    }