Loading core/java/android/os/CombinedMessageQueue/MessageQueue.java +2 −45 Original line number Diff line number Diff line Loading @@ -1474,55 +1474,12 @@ public final class MessageQueue { Iterator<MessageNode> queueIter = mPriorityQueue.iterator(); MessageNode queueNode = iterateNext(queueIter); if (queueNode != null && queueNode.isBarrier()) { long now = SystemClock.uptimeMillis(); /* Look for a deliverable async node. If one exists we are not blocked. */ Iterator<MessageNode> asyncQueueIter = mAsyncPriorityQueue.iterator(); MessageNode asyncNode = iterateNext(asyncQueueIter); if (asyncNode != null && now >= asyncNode.getWhen()) { return false; } /* * Look for a deliverable sync node. In this case, if one exists we are blocked * since the barrier prevents delivery of the Message. */ while (queueNode != null && queueNode.isBarrier()) { queueNode = iterateNext(queueIter); } if (queueNode != null && now >= queueNode.getWhen()) { return true; } } return (queueNode != null && queueNode.isBarrier()); } else { Message msg = mMessages; if (msg != null && msg.target == null) { Message iter = msg; /* Look for a deliverable async node */ do { iter = iter.next; } while (iter != null && !iter.isAsynchronous()); long now = SystemClock.uptimeMillis(); if (iter != null && now >= iter.when) { return false; } /* * Look for a deliverable sync node. In this case, if one exists we are blocked * since the barrier prevents delivery of the Message. */ iter = msg; do { iter = iter.next; } while (iter != null && (iter.target == null || iter.isAsynchronous())); if (iter != null && now >= iter.when) { return true; return msg != null && msg.target == null; } } } return false; } private static final class MatchHandlerWhatAndObject extends MessageCompare { @Override Loading core/java/android/os/ConcurrentMessageQueue/MessageQueue.java +1 −22 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package android.os; import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -1122,27 +1121,7 @@ public final class MessageQueue { Iterator<MessageNode> queueIter = mPriorityQueue.iterator(); MessageNode queueNode = iterateNext(queueIter); if (queueNode != null && queueNode.isBarrier()) { long now = SystemClock.uptimeMillis(); /* Look for a deliverable async node. If one exists we are not blocked. */ Iterator<MessageNode> asyncQueueIter = mAsyncPriorityQueue.iterator(); MessageNode asyncNode = iterateNext(asyncQueueIter); if (asyncNode != null && now >= asyncNode.getWhen()) { return false; } /* * Look for a deliverable sync node. In this case, if one exists we are blocked * since the barrier prevents delivery of the Message. */ while (queueNode != null && queueNode.isBarrier()) { queueNode = iterateNext(queueIter); } if (queueNode != null && now >= queueNode.getWhen()) { return true; } } return false; return queueNode != null && queueNode.isBarrier(); } private StateNode getStateNode(StackNode node) { Loading core/java/android/os/LegacyMessageQueue/MessageQueue.java +3 −26 Original line number Diff line number Diff line Loading @@ -820,33 +820,10 @@ public final class MessageQueue { */ boolean isBlockedOnSyncBarrier() { throwIfNotTest(); synchronized (this) { Message msg = mMessages; if (msg != null && msg.target == null) { Message iter = msg; /* Look for a deliverable async node */ do { iter = iter.next; } while (iter != null && !iter.isAsynchronous()); long now = SystemClock.uptimeMillis(); if (iter != null && now >= iter.when) { return false; return msg != null && msg.target == null; } /* * Look for a deliverable sync node. In this case, if one exists we are blocked * since the barrier prevents delivery of the Message. */ iter = msg; do { iter = iter.next; } while (iter != null && (iter.target == null || iter.isAsynchronous())); if (iter != null && now >= iter.when) { return true; } return false; } return false; } boolean hasMessages(Handler h, int what, Object object) { Loading core/java/android/os/TestLooperManager.java +0 −3 Original line number Diff line number Diff line Loading @@ -129,9 +129,6 @@ public class TestLooperManager { /** * Checks whether the Looper is currently blocked on a sync barrier. * * A Looper is blocked on a sync barrier if there is a Message in the Looper's * queue that is ready for execution but is behind a sync barrier */ @FlaggedApi(Flags.FLAG_MESSAGE_QUEUE_TESTABILITY) public boolean isBlockedOnSyncBarrier() { Loading Loading
core/java/android/os/CombinedMessageQueue/MessageQueue.java +2 −45 Original line number Diff line number Diff line Loading @@ -1474,55 +1474,12 @@ public final class MessageQueue { Iterator<MessageNode> queueIter = mPriorityQueue.iterator(); MessageNode queueNode = iterateNext(queueIter); if (queueNode != null && queueNode.isBarrier()) { long now = SystemClock.uptimeMillis(); /* Look for a deliverable async node. If one exists we are not blocked. */ Iterator<MessageNode> asyncQueueIter = mAsyncPriorityQueue.iterator(); MessageNode asyncNode = iterateNext(asyncQueueIter); if (asyncNode != null && now >= asyncNode.getWhen()) { return false; } /* * Look for a deliverable sync node. In this case, if one exists we are blocked * since the barrier prevents delivery of the Message. */ while (queueNode != null && queueNode.isBarrier()) { queueNode = iterateNext(queueIter); } if (queueNode != null && now >= queueNode.getWhen()) { return true; } } return (queueNode != null && queueNode.isBarrier()); } else { Message msg = mMessages; if (msg != null && msg.target == null) { Message iter = msg; /* Look for a deliverable async node */ do { iter = iter.next; } while (iter != null && !iter.isAsynchronous()); long now = SystemClock.uptimeMillis(); if (iter != null && now >= iter.when) { return false; } /* * Look for a deliverable sync node. In this case, if one exists we are blocked * since the barrier prevents delivery of the Message. */ iter = msg; do { iter = iter.next; } while (iter != null && (iter.target == null || iter.isAsynchronous())); if (iter != null && now >= iter.when) { return true; return msg != null && msg.target == null; } } } return false; } private static final class MatchHandlerWhatAndObject extends MessageCompare { @Override Loading
core/java/android/os/ConcurrentMessageQueue/MessageQueue.java +1 −22 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package android.os; import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -1122,27 +1121,7 @@ public final class MessageQueue { Iterator<MessageNode> queueIter = mPriorityQueue.iterator(); MessageNode queueNode = iterateNext(queueIter); if (queueNode != null && queueNode.isBarrier()) { long now = SystemClock.uptimeMillis(); /* Look for a deliverable async node. If one exists we are not blocked. */ Iterator<MessageNode> asyncQueueIter = mAsyncPriorityQueue.iterator(); MessageNode asyncNode = iterateNext(asyncQueueIter); if (asyncNode != null && now >= asyncNode.getWhen()) { return false; } /* * Look for a deliverable sync node. In this case, if one exists we are blocked * since the barrier prevents delivery of the Message. */ while (queueNode != null && queueNode.isBarrier()) { queueNode = iterateNext(queueIter); } if (queueNode != null && now >= queueNode.getWhen()) { return true; } } return false; return queueNode != null && queueNode.isBarrier(); } private StateNode getStateNode(StackNode node) { Loading
core/java/android/os/LegacyMessageQueue/MessageQueue.java +3 −26 Original line number Diff line number Diff line Loading @@ -820,33 +820,10 @@ public final class MessageQueue { */ boolean isBlockedOnSyncBarrier() { throwIfNotTest(); synchronized (this) { Message msg = mMessages; if (msg != null && msg.target == null) { Message iter = msg; /* Look for a deliverable async node */ do { iter = iter.next; } while (iter != null && !iter.isAsynchronous()); long now = SystemClock.uptimeMillis(); if (iter != null && now >= iter.when) { return false; return msg != null && msg.target == null; } /* * Look for a deliverable sync node. In this case, if one exists we are blocked * since the barrier prevents delivery of the Message. */ iter = msg; do { iter = iter.next; } while (iter != null && (iter.target == null || iter.isAsynchronous())); if (iter != null && now >= iter.when) { return true; } return false; } return false; } boolean hasMessages(Handler h, int what, Object object) { Loading
core/java/android/os/TestLooperManager.java +0 −3 Original line number Diff line number Diff line Loading @@ -129,9 +129,6 @@ public class TestLooperManager { /** * Checks whether the Looper is currently blocked on a sync barrier. * * A Looper is blocked on a sync barrier if there is a Message in the Looper's * queue that is ready for execution but is behind a sync barrier */ @FlaggedApi(Flags.FLAG_MESSAGE_QUEUE_TESTABILITY) public boolean isBlockedOnSyncBarrier() { Loading