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

Commit fd6ad044 authored by John Reck's avatar John Reck
Browse files

Allow removing messages before EventHub created

 Bug: 5421676

Change-Id: Id15b669947bd01d3cc3ba3e9b93175120fa518e8
parent 3cdfcdc1
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ import junit.framework.Assert;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Map;
import java.util.Set;

@@ -1182,7 +1184,7 @@ public final class WebViewCore {
        private Handler mHandler;
        // Message queue for containing messages before the WebCore thread is
        // ready.
        private ArrayList<Message> mMessages = new ArrayList<Message>();
        private LinkedList<Message> mMessages = new LinkedList<Message>();
        // Flag for blocking messages. This is used during DESTROY to avoid
        // posting more messages to the EventHub or to WebView's event handler.
        private boolean mBlockMessages;
@@ -1822,10 +1824,13 @@ public final class WebViewCore {
                mDrawIsScheduled = false;
            }
            if (mMessages != null) {
                Throwable throwable = new Throwable(
                        "EventHub.removeMessages(int what = " + what + ") is not supported " +
                        "before the WebViewCore is set up.");
                Log.w(LOGTAG, Log.getStackTraceString(throwable));
                Iterator<Message> iter = mMessages.iterator();
                while (iter.hasNext()) {
                    Message m = iter.next();
                    if (m.what == what) {
                        iter.remove();
                    }
                }
            } else {
                mHandler.removeMessages(what);
            }