39 lines
1.7 KiB
Diff
39 lines
1.7 KiB
Diff
diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java
|
|
index 0b6294b..d0a01d8 100644
|
|
--- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java
|
|
+++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java
|
|
@@ -176,21 +176,20 @@ public class HeadlessJsTaskContext {
|
|
* @param taskId the unique id returned by {@link #startTask}.
|
|
*/
|
|
public synchronized void finishTask(final int taskId) {
|
|
- Assertions.assertCondition(
|
|
- mActiveTasks.remove(taskId), "Tried to finish non-existent task with id " + taskId + ".");
|
|
- Assertions.assertCondition(
|
|
- mActiveTaskConfigs.remove(taskId) != null,
|
|
- "Tried to remove non-existent task config with id " + taskId + ".");
|
|
+ boolean removed = mActiveTasks.remove(taskId);
|
|
+ mActiveTaskConfigs.remove(taskId);
|
|
removeTimeout(taskId);
|
|
- UiThreadUtil.runOnUiThread(
|
|
- new Runnable() {
|
|
- @Override
|
|
- public void run() {
|
|
- for (HeadlessJsTaskEventListener listener : mHeadlessJsTaskEventListeners) {
|
|
- listener.onHeadlessJsTaskFinish(taskId);
|
|
+ if (removed) {
|
|
+ UiThreadUtil.runOnUiThread(
|
|
+ new Runnable() {
|
|
+ @Override
|
|
+ public void run() {
|
|
+ for (HeadlessJsTaskEventListener listener : mHeadlessJsTaskEventListeners) {
|
|
+ listener.onHeadlessJsTaskFinish(taskId);
|
|
+ }
|
|
}
|
|
- }
|
|
- });
|
|
+ });
|
|
+ }
|
|
}
|
|
|
|
private void removeTimeout(int taskId) {
|