From 732d84ca549a1477f7f9b5d06d5edff25da06696 Mon Sep 17 00:00:00 2001 From: Les Pozdena Date: Tue, 16 Oct 2018 08:56:05 -0700 Subject: [PATCH 01/12] Remove UIImplementationProvider --- .../main/java/com/staltz/react/workers/WorkersInstance.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/android/src/main/java/com/staltz/react/workers/WorkersInstance.java b/android/src/main/java/com/staltz/react/workers/WorkersInstance.java index 7c08174..8a4ec10 100644 --- a/android/src/main/java/com/staltz/react/workers/WorkersInstance.java +++ b/android/src/main/java/com/staltz/react/workers/WorkersInstance.java @@ -24,7 +24,6 @@ import com.facebook.react.modules.systeminfo.AndroidInfoHelpers; import com.facebook.react.packagerconnection.PackagerConnectionSettings; import com.facebook.react.shell.MainReactPackage; -import com.facebook.react.uimanager.UIImplementationProvider; import static com.facebook.infer.annotation.ThreadConfined.UI; import java.util.ArrayList; @@ -164,11 +163,6 @@ protected List getPackages() { allPackages.add(0, new MainReactPackage()); return allPackages; } - - @Override - protected UIImplementationProvider getUIImplementationProvider() { - return null; - } }; } From b23ae3560d6e62cbdb3652d29747f2145e5a6352 Mon Sep 17 00:00:00 2001 From: Les Pozdena Date: Tue, 16 Oct 2018 13:15:47 -0700 Subject: [PATCH 02/12] 0.6.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6f6afac..8055775 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { "name": "react-native-workers", - "version": "0.4.6", + "version": "0.6.1", "lockfileVersion": 1 } diff --git a/package.json b/package.json index 421105e..1773d19 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-workers", - "version": "0.6.0", + "version": "0.6.1", "description": "React Native web workers", "author": "Garrett Mitchell", "license": "MIT", From 837f242d47806d1da65f48ba8c42fb0a25050c1b Mon Sep 17 00:00:00 2001 From: Mihail Gutan Date: Tue, 23 Apr 2019 11:51:24 -0700 Subject: [PATCH 03/12] update build.gradle with new api keywords --- android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/build.gradle b/android/build.gradle index 41a6e7e..5143ba4 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -22,5 +22,5 @@ android { } dependencies { - compile 'com.facebook.react:react-native:+' + implementation 'com.facebook.react:react-native:+' } From 7bca27b345838e81126931bbec78ca72013509dd Mon Sep 17 00:00:00 2001 From: Mihail Gutan Date: Tue, 23 Apr 2019 11:54:32 -0700 Subject: [PATCH 04/12] bump version to 0.6.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1773d19..75c7c54 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-workers", - "version": "0.6.1", + "version": "0.6.2", "description": "React Native web workers", "author": "Garrett Mitchell", "license": "MIT", From 490c1fdc25e1bc2996aef4d60209a05aa1e9d9f2 Mon Sep 17 00:00:00 2001 From: Mihail Gutan Date: Tue, 23 Apr 2019 14:18:48 -0700 Subject: [PATCH 05/12] Fix api break --- .../java/com/staltz/react/workers/WorkersInstanceManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/android/src/main/java/com/staltz/react/workers/WorkersInstanceManager.java b/android/src/main/java/com/staltz/react/workers/WorkersInstanceManager.java index 7ddfb40..d79bc52 100644 --- a/android/src/main/java/com/staltz/react/workers/WorkersInstanceManager.java +++ b/android/src/main/java/com/staltz/react/workers/WorkersInstanceManager.java @@ -14,6 +14,7 @@ import javax.annotation.Nullable; +@ReactModule(name="WorkersInstanceManager") public class WorkersInstanceManager extends ReactContextBaseJavaModule { private final ReactContext context; From 10f975aedf31719dfa0117fc6905ba77313888dd Mon Sep 17 00:00:00 2001 From: Mihail Gutan Date: Tue, 23 Apr 2019 14:21:22 -0700 Subject: [PATCH 06/12] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 75c7c54..d09a6e4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-workers", - "version": "0.6.2", + "version": "0.6.3", "description": "React Native web workers", "author": "Garrett Mitchell", "license": "MIT", From 1af7dc1aaffd6b5be37620b53c7c1f43df92433b Mon Sep 17 00:00:00 2001 From: Mihail Gutan Date: Tue, 23 Apr 2019 14:58:07 -0700 Subject: [PATCH 07/12] add import{ --- .../java/com/staltz/react/workers/WorkersInstanceManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/android/src/main/java/com/staltz/react/workers/WorkersInstanceManager.java b/android/src/main/java/com/staltz/react/workers/WorkersInstanceManager.java index d79bc52..6adda03 100644 --- a/android/src/main/java/com/staltz/react/workers/WorkersInstanceManager.java +++ b/android/src/main/java/com/staltz/react/workers/WorkersInstanceManager.java @@ -11,6 +11,7 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.WritableMap; +import com.facebook.react.module.annotations.ReactModule; import javax.annotation.Nullable; From 9678e23f733582817551a8fbeb1c4832d81c9842 Mon Sep 17 00:00:00 2001 From: Mihail Gutan Date: Tue, 23 Apr 2019 14:59:06 -0700 Subject: [PATCH 08/12] bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d09a6e4..a7b9622 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-workers", - "version": "0.6.3", + "version": "0.6.4", "description": "React Native web workers", "author": "Garrett Mitchell", "license": "MIT", From 24f686e2923ad473849ab7345dc0aba7fbaf544a Mon Sep 17 00:00:00 2001 From: Mihail Gutan Date: Thu, 25 Apr 2019 11:03:19 -0700 Subject: [PATCH 09/12] Add ReactModule annotation to WorkersManager --- .../staltz/react/workers/WorkersManager.java | 36 ++++++++++--------- package.json | 2 +- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/android/src/main/java/com/staltz/react/workers/WorkersManager.java b/android/src/main/java/com/staltz/react/workers/WorkersManager.java index 5e28ee2..49f0b51 100644 --- a/android/src/main/java/com/staltz/react/workers/WorkersManager.java +++ b/android/src/main/java/com/staltz/react/workers/WorkersManager.java @@ -13,7 +13,7 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; -import com.facebook.react.modules.systeminfo.AndroidInfoHelpers; +import com.facebook.react.module.annotations.ReactModule; import java.util.ArrayList; import java.util.HashMap; @@ -21,6 +21,7 @@ import javax.annotation.Nullable; +@ReactModule(name = "WorkersManager") public class WorkersManager extends ReactContextBaseJavaModule { private final ReactApplicationContext context; @@ -29,9 +30,10 @@ public class WorkersManager extends ReactContextBaseJavaModule { private final HashMap workers = new HashMap<>(); private final List bundlerPorts = new ArrayList<>(); + public WorkersManager( - final ReactApplicationContext context, - final ReactPackage packages[] + final ReactApplicationContext context, + final ReactPackage packages[] ) { super(context); this.context = context; @@ -49,24 +51,24 @@ public String getName() { @ReactMethod public void startWorker( - final Integer key, - final String bundleRoot, - final String bundleResource, - final Integer bundlerPort, - final Promise promise + final Integer key, + final String bundleRoot, + final String bundleResource, + final Integer bundlerPort, + final Promise promise ) { Assertions.assertCondition(!this.workers.containsKey(key), "Key already in use"); final boolean hasBundlerPort = this.allocateBundlerPort(bundlerPort); final WorkersInstance worker = new WorkersInstance( - key, - context, - this.packages, - bundleRoot, - bundleResource, - hasBundlerPort ? bundlerPort : null, - promise + key, + context, + this.packages, + bundleRoot, + bundleResource, + hasBundlerPort ? bundlerPort : null, + promise ); this.workers.put(key, worker); @@ -108,8 +110,8 @@ private interface RCTDeviceEventEmitter extends JavaScriptModule { protected void emit(final String name, final Object body) { this.context - .getJSModule(WorkersManager.RCTDeviceEventEmitter.class) - .emit(name, body); + .getJSModule(WorkersManager.RCTDeviceEventEmitter.class) + .emit(name, body); } /** diff --git a/package.json b/package.json index a7b9622..f00e1f8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-workers", - "version": "0.6.4", + "version": "0.6.5", "description": "React Native web workers", "author": "Garrett Mitchell", "license": "MIT", From b8128566bd6225793cc4fc00a3d1520cb2fcef20 Mon Sep 17 00:00:00 2001 From: Mihail Gutan Date: Fri, 2 Aug 2019 13:47:57 -0700 Subject: [PATCH 10/12] fix --- .../staltz/react/workers/WorkersInstance.java | 5 +++- .../staltz/react/workers/WorkersManager.java | 30 ++++++++++++------- package.json | 2 +- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/android/src/main/java/com/staltz/react/workers/WorkersInstance.java b/android/src/main/java/com/staltz/react/workers/WorkersInstance.java index 8a4ec10..11e3291 100644 --- a/android/src/main/java/com/staltz/react/workers/WorkersInstance.java +++ b/android/src/main/java/com/staltz/react/workers/WorkersInstance.java @@ -39,6 +39,7 @@ public class WorkersInstance implements ReactInstanceEventListener, LifecycleEve private final String bundleResource; private final Integer bundlerPort; private Promise startedPromise; + private WorkersManager workersManager; private ReactNativeHost host; private ReactInstanceManager manager; @@ -50,7 +51,8 @@ public WorkersInstance( final String bundleRoot, final String bundleResource, final Integer bundlerPort, - final Promise startedPromise + final Promise startedPromise, + final WorkersManager workersManager ) { this.key = key; this.parentContext = parentContext; @@ -59,6 +61,7 @@ public WorkersInstance( this.bundleResource = bundleResource; this.bundlerPort = bundlerPort; this.startedPromise = startedPromise; + this.workersManager = workersManager; if (canInitialize() && !isInitialized()) { initialize(); diff --git a/android/src/main/java/com/staltz/react/workers/WorkersManager.java b/android/src/main/java/com/staltz/react/workers/WorkersManager.java index 49f0b51..cb74d3d 100644 --- a/android/src/main/java/com/staltz/react/workers/WorkersManager.java +++ b/android/src/main/java/com/staltz/react/workers/WorkersManager.java @@ -26,6 +26,11 @@ public class WorkersManager extends ReactContextBaseJavaModule { private final ReactApplicationContext context; private final ReactPackage packages[]; + private Integer key; + private String bundleRoot; + private String bundleResource; + private Integer bundlerPort; + private Promise promise; private final HashMap workers = new HashMap<>(); private final List bundlerPorts = new ArrayList<>(); @@ -59,6 +64,12 @@ public void startWorker( ) { Assertions.assertCondition(!this.workers.containsKey(key), "Key already in use"); + this.key = key; + this.bundleRoot = bundleRoot; + this.bundleResource = bundleResource; + this.bundlerPort = bundlerPort; + this.promise = promise; + final boolean hasBundlerPort = this.allocateBundlerPort(bundlerPort); final WorkersInstance worker = new WorkersInstance( @@ -68,7 +79,8 @@ public void startWorker( bundleRoot, bundleResource, hasBundlerPort ? bundlerPort : null, - promise + promise, + this ); this.workers.put(key, worker); @@ -83,20 +95,16 @@ public void run() { @ReactMethod public void stopWorker(final Integer key) { - final WorkersInstance worker = this.workers.remove(key); - Assertions.assertNotNull(worker); - - new Handler(Looper.getMainLooper()).post(new Runnable() { - @Override - public void run() { - worker.stop(); - } - }); + this.workers.remove(key); } @ReactMethod public void postMessage(final Integer key, final String message) { - final WorkersInstance worker = this.workers.get(key); + WorkersInstance worker = this.workers.get(key); + if (worker == null) { + startWorker(this.key, this.bundleRoot, this.bundleResource, this.bundlerPort, this.promise); + worker = this.workers.get(key); + } Assertions.assertNotNull(worker).postMessage(message); } diff --git a/package.json b/package.json index f00e1f8..daddf21 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-workers", - "version": "0.6.5", + "version": "0.6.6-gl-005", "description": "React Native web workers", "author": "Garrett Mitchell", "license": "MIT", From 5e2147c41258fb6c87acdd78e8f9ddf7515696ff Mon Sep 17 00:00:00 2001 From: Mihail Gutan Date: Fri, 2 Aug 2019 14:07:31 -0700 Subject: [PATCH 11/12] 006 --- .../main/java/com/staltz/react/workers/WorkersInstance.java | 5 +---- package.json | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/android/src/main/java/com/staltz/react/workers/WorkersInstance.java b/android/src/main/java/com/staltz/react/workers/WorkersInstance.java index 11e3291..8a4ec10 100644 --- a/android/src/main/java/com/staltz/react/workers/WorkersInstance.java +++ b/android/src/main/java/com/staltz/react/workers/WorkersInstance.java @@ -39,7 +39,6 @@ public class WorkersInstance implements ReactInstanceEventListener, LifecycleEve private final String bundleResource; private final Integer bundlerPort; private Promise startedPromise; - private WorkersManager workersManager; private ReactNativeHost host; private ReactInstanceManager manager; @@ -51,8 +50,7 @@ public WorkersInstance( final String bundleRoot, final String bundleResource, final Integer bundlerPort, - final Promise startedPromise, - final WorkersManager workersManager + final Promise startedPromise ) { this.key = key; this.parentContext = parentContext; @@ -61,7 +59,6 @@ public WorkersInstance( this.bundleResource = bundleResource; this.bundlerPort = bundlerPort; this.startedPromise = startedPromise; - this.workersManager = workersManager; if (canInitialize() && !isInitialized()) { initialize(); diff --git a/package.json b/package.json index daddf21..61eeb09 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-workers", - "version": "0.6.6-gl-005", + "version": "0.6.6-gl-006", "description": "React Native web workers", "author": "Garrett Mitchell", "license": "MIT", From 7584eebbfe3717976b647182c44bcde0c0fd3eca Mon Sep 17 00:00:00 2001 From: Mihail Gutan Date: Fri, 2 Aug 2019 14:17:46 -0700 Subject: [PATCH 12/12] fix compile --- .../src/main/java/com/staltz/react/workers/WorkersManager.java | 3 +-- package.json | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/android/src/main/java/com/staltz/react/workers/WorkersManager.java b/android/src/main/java/com/staltz/react/workers/WorkersManager.java index cb74d3d..d42378a 100644 --- a/android/src/main/java/com/staltz/react/workers/WorkersManager.java +++ b/android/src/main/java/com/staltz/react/workers/WorkersManager.java @@ -79,8 +79,7 @@ public void startWorker( bundleRoot, bundleResource, hasBundlerPort ? bundlerPort : null, - promise, - this + promise ); this.workers.put(key, worker); diff --git a/package.json b/package.json index 61eeb09..a8ecadf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-workers", - "version": "0.6.6-gl-006", + "version": "0.6.6-gl-007", "description": "React Native web workers", "author": "Garrett Mitchell", "license": "MIT",