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

Commit c6175f13 authored by Kevin Han's avatar Kevin Han Committed by Automerger Merge Worker
Browse files

Merge "Don't throw exception for inflation after removal" into rvc-dev am:...

Merge "Don't throw exception for inflation after removal" into rvc-dev am: ae720053 am: c2e9ce12 am: d8f9fa15

Change-Id: I4536fc03a342b58132828a70067b1fe5b07024e1
parents 55a071b5 d8f9fa15
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.statusbar.notification.row;

import android.annotation.MainThread;
import android.util.ArrayMap;
import android.util.Log;

import androidx.annotation.NonNull;

@@ -66,8 +67,10 @@ public abstract class BindStage<Params> extends BindRequester {
    public final Params getStageParams(@NonNull NotificationEntry entry) {
        Params params = mContentParams.get(entry);
        if (params == null) {
            throw new IllegalStateException(
                    String.format("Entry does not have any stage parameters. key: %s",
            // TODO: This should throw an exception but there are some cases of re-entrant calls
            // in NotificationEntryManager (e.g. b/155324756) that cause removal in update that
            // lead to inflation after the notification is "removed".
            Log.wtf(TAG, String.format("Entry does not have any stage parameters. key: %s",
                            entry.getKey()));
        }
        return params;
@@ -92,6 +95,8 @@ public abstract class BindStage<Params> extends BindRequester {
     */
    protected abstract Params newStageParams();

    private static final String TAG = "BindStage";

    /**
     * Interface for callback.
     */
+3 −5
Original line number Diff line number Diff line
@@ -115,6 +115,9 @@ public final class NotifBindPipeline {
        mLogger.logManagedRow(entry.getKey());

        final BindEntry bindEntry = getBindEntry(entry);
        if (bindEntry == null) {
            return;
        }
        bindEntry.row = row;
        if (bindEntry.invalidated) {
            requestPipelineRun(entry);
@@ -223,11 +226,6 @@ public final class NotifBindPipeline {

    private @NonNull BindEntry getBindEntry(NotificationEntry entry) {
        final BindEntry bindEntry = mBindEntries.get(entry);
        if (bindEntry == null) {
            throw new IllegalStateException(
                    String.format("Attempting bind on an inactive notification. key: %s",
                            entry.getKey()));
        }
        return bindEntry;
    }