diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-02-23 21:21:20 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-02-23 21:21:20 +0000 |
| commit | 1dcd64578992a650f3134be2178694ce0b6ee9d8 (patch) | |
| tree | 23dc811cb5d33f5250472bfe86cf228abe0cae06 /core/java | |
| parent | 7509bb3f97feb1d15d4472b7112e6485ea453ee0 (diff) | |
| parent | 9f35ca996432e960b77eb194975e2086d7c18aff (diff) | |
Merge "Use PooledLambda in print code"
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/os/Handler.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/core/java/android/os/Handler.java b/core/java/android/os/Handler.java index fc88e9006639..0417ded829e8 100644 --- a/core/java/android/os/Handler.java +++ b/core/java/android/os/Handler.java @@ -683,6 +683,23 @@ public class Handler { return enqueueMessage(queue, msg, 0); } + /** + * Executes the message synchronously if called on the same thread this handler corresponds to, + * or {@link #sendMessage pushes it to the queue} otherwise + * + * @return Returns true if the message was successfully ran or placed in to the + * message queue. Returns false on failure, usually because the + * looper processing the message queue is exiting. + * @hide + */ + public final boolean executeOrSendMessage(Message msg) { + if (mLooper == Looper.myLooper()) { + dispatchMessage(msg); + return true; + } + return sendMessage(msg); + } + private boolean enqueueMessage(MessageQueue queue, Message msg, long uptimeMillis) { msg.target = this; if (mAsynchronous) { |
