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

Commit 5a0e241e 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: 5168b78a

Change-Id: I7ee33d4743f519a5d641310730d606327fe2ff5f
parents f61367fb 5168b78a
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);
            }
        });
    }