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

Commit 59e85c25 authored by Louis Chang's avatar Louis Chang
Browse files

Add warning message when entering loop twice

The messages in queue could be executed before current
message completed.

Bug: 140599188
Test: calling Looper.loop() twice
Change-Id: I1a4628606ed974e7a6a76b2832044959a9261bb9
parent f489f199
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -77,6 +77,7 @@ public final class Looper {
    @UnsupportedAppUsage
    final MessageQueue mQueue;
    final Thread mThread;
    private boolean mInLoop;

    @UnsupportedAppUsage
    private Printer mLogging;
@@ -155,6 +156,12 @@ public final class Looper {
        if (me == null) {
            throw new RuntimeException("No Looper; Looper.prepare() wasn't called on this thread.");
        }
        if (me.mInLoop) {
            Slog.w(TAG, "Loop again would have the queued messages be executed"
                    + " before this one completed.");
        }

        me.mInLoop = true;
        final MessageQueue queue = me.mQueue;

        // Make sure the identity of this thread is that of the local process,