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

Commit 842c8a5f authored by Shai Barack's avatar Shai Barack
Browse files

Add TestableLooper.peekWhen

Some tests need it, and it's harmless.

Bug: 379472827
Flag: EXEMPT test-only
Change-Id: Ic7ee829a5d5663d63d3dd486c353107c6bcdcab5
parent 5a02366b
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -247,6 +247,36 @@ public class TestableLooper {
        while (processQueuedMessages() != 0) ;
    }

    public long peekWhen() {
        if (isAtLeastBaklava()) {
            return peekWhenBaklava();
        } else {
            return peekWhenLegacy();
        }
    }

    private long peekWhenBaklava() {
        Long when = mQueueWrapper.peekWhen();
        if (when != null) {
            return when;
        } else {
            return 0;
        }
    }

    private long peekWhenLegacy() {
        try {
            Message msg = (Message) MESSAGE_QUEUE_MESSAGES_FIELD.get(mLooper.getQueue());
            if (msg != null) {
                return msg.getWhen();
            } else {
                return 0;
            }
        } catch (IllegalAccessException e) {
            throw new RuntimeException("Access failed in TestableLooper: set - Message.when", e);
        }
    }

    public void moveTimeForward(long milliSeconds) {
        if (isAtLeastBaklava()) {
            moveTimeForwardBaklava(milliSeconds);