Added saftey for ensuring callback is called

Summary:
Adds a return value to `MessageQueueThread#runOnQueue`, it's implementors and one caller.

It is currently possible for a callback to not be called (because the HandlerThread has been shutdown). If the callback is mission-critical (frees resources, releases a lock, etc) the callee has no indication that it needs to do something.

This surfaces that information to the callee.

Changelog:
[Android][Changed] - Made `MessageQueueThread#runOnQueue` return a boolean. Made `MessageQueueThreadImpl#runOnQueue` return false when the runnable is not submitted.

Reviewed By: RSNara

Differential Revision: D33075516

fbshipit-source-id: bd214a39ae066c0e7d413f2eaaaa05bd072ead2a
This commit is contained in:
Marshall Mann-Wood
2021-12-15 13:33:56 -08:00
committed by Facebook GitHub Bot
parent 19174a5ec5
commit 89faf0c9a8
4 changed files with 7 additions and 5 deletions
@@ -396,8 +396,8 @@ public class ReactContext extends ContextWrapper {
return Assertions.assertNotNull(mJSMessageQueueThread).isOnThread();
}
public void runOnJSQueueThread(Runnable runnable) {
Assertions.assertNotNull(mJSMessageQueueThread).runOnQueue(runnable);
public boolean runOnJSQueueThread(Runnable runnable) {
return Assertions.assertNotNull(mJSMessageQueueThread).runOnQueue(runnable);
}
/**