bool Handler::postAtTime(const sp<Runnable>& runnable, uint64_t execTimestamp) { if (runnable != NULL) { const sp<Message>& message = getPostMessage(runnable); return sendMessageAtTime(message, execTimestamp); } else { return false; } }
sp<Closure> Handler::postAtTime(std::function<void (void)>&& func, uint64_t uptimeMillis) { if (func) { const sp<Message> message = Message::obtain(); sp<Closure> closure = new Closure(sp<Handler>(this), std::move(func)); message->callback = closure; return sendMessageAtTime(message, uptimeMillis) ? closure : nullptr; } else { return nullptr; } }
bool Handler::sendMessageDelayed(Message& message, uint32_t delay) { return sendMessageAtTime(message, SystemClock::monotonicTime() + delay); }
bool Handler::sendMessage(Message& message) { return sendMessageAtTime(message, SystemClock::monotonicTime()); }
void Poll::sendMessageDelayed(nsecs_t uptimeDelay, const MessageHandler& handler, const Message& message) { nsecs_t now = systemTime(SYSTEM_TIME_MONOTONIC); sendMessageAtTime(now + uptimeDelay, handler, message); }
void Poll::sendMessage(const MessageHandler& handler, const Message& message) { nsecs_t now = systemTime(SYSTEM_TIME_MONOTONIC); sendMessageAtTime(now, handler, message); }
bool Handler::sendMessageDelayed(const sp<Message>& message, uint32_t delay) { return sendMessageAtTime(message, Clock::monotonicTime() + delay * 1000000LL); }
bool Handler::sendMessage(const sp<Message>& message) { return sendMessageAtTime(message, Clock::monotonicTime()); }