You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/03/09 03:36:53 UTC
[1/3] incubator-weex git commit: * [android] fix
ConcurrentModificationException in registeration.
Repository: incubator-weex
Updated Branches:
refs/heads/0.11-dev 72c7ee1eb -> 18aa26514
* [android] fix ConcurrentModificationException in registeration.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c10ef4dc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c10ef4dc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c10ef4dc
Branch: refs/heads/0.11-dev
Commit: c10ef4dc46b75f2eb3327f51cb9efbc351313421
Parents: 1da458e
Author: sospartan <so...@gmail.com>
Authored: Tue Mar 7 15:48:37 2017 +0800
Committer: sospartan <so...@gmail.com>
Committed: Wed Mar 8 13:26:56 2017 +0800
----------------------------------------------------------------------
.../com/taobao/weex/bridge/WXBridgeManager.java | 53 ++++++++++++++------
1 file changed, 37 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c10ef4dc/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
index cfa043d..1fecf3f 100755
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -1156,18 +1156,35 @@ public class WXBridgeManager implements Callback,BactchExecutor {
}
private void execRegisterFailTask() {
- int moduleCount = mRegisterModuleFailList.size();
- if (moduleCount > 0) {
- for (int i = 0; i < moduleCount; ++i) {
- invokeRegisterModules(mRegisterModuleFailList.get(i));
+
+ if (mRegisterModuleFailList.size() > 0) {
+ List<Map<String, Object>> moduleReceiver = new ArrayList<>();
+ for (int i = 0, moduleCount = mRegisterModuleFailList.size(); i < moduleCount; ++i) {
+ invokeRegisterModules(mRegisterModuleFailList.get(i), moduleReceiver);
+ }
+ mRegisterComponentFailList.clear();
+ if (moduleReceiver.size() > 0) {
+ mRegisterComponentFailList.addAll(moduleReceiver);
}
}
+
if (mRegisterComponentFailList.size() > 0) {
- invokeRegisterComponents(mRegisterComponentFailList);
+ List<Map<String, Object>> receiver = new ArrayList<>();
+ invokeRegisterComponents(mRegisterComponentFailList, receiver);
+ mRegisterComponentFailList.clear();
+ if (receiver.size() > 0) {
+ mRegisterComponentFailList.addAll(receiver);
+ }
}
+
if (mRegisterServiceFailList.size() > 0) {
+ List<String> receiver = new ArrayList<>();
for (String service : mRegisterServiceFailList) {
- invokeExecJSService(service);
+ invokeExecJSService(service, receiver);
+ }
+ mRegisterServiceFailList.clear();
+ if (receiver.size() > 0) {
+ mRegisterServiceFailList.addAll(receiver);
}
}
}
@@ -1181,13 +1198,13 @@ public class WXBridgeManager implements Callback,BactchExecutor {
public void registerModules(final Map<String, Object> modules) {
if (modules != null && modules.size() != 0) {
if(isJSThread()){
- invokeRegisterModules(modules);
+ invokeRegisterModules(modules,mRegisterModuleFailList);
}
else{
post(new Runnable() {
@Override
public void run() {
- invokeRegisterModules(modules);
+ invokeRegisterModules(modules,mRegisterComponentFailList);
}
}, null);
}
@@ -1205,7 +1222,7 @@ public class WXBridgeManager implements Callback,BactchExecutor {
post(new Runnable() {
@Override
public void run() {
- invokeRegisterComponents(components);
+ invokeRegisterComponents(components,mRegisterComponentFailList);
}
}, null);
}
@@ -1214,16 +1231,16 @@ public class WXBridgeManager implements Callback,BactchExecutor {
post(new Runnable() {
@Override
public void run() {
- invokeExecJSService(service);
+ invokeExecJSService(service,mRegisterServiceFailList);
}
});
}
- private void invokeExecJSService(String service) {
+ private void invokeExecJSService(String service, List<String> receiver) {
try {
if (!isJSFrameworkInit()) {
WXLogUtils.e("[WXBridgeManager] invoke execJSService: framework.js uninitialized.");
- mRegisterServiceFailList.add(service);
+ receiver.add(service);
return;
}
mWXBridge.execJSService(service);
@@ -1237,12 +1254,12 @@ public class WXBridgeManager implements Callback,BactchExecutor {
return mJSThread != null && mJSThread.getId() == Thread.currentThread().getId();
}
- private void invokeRegisterModules(Map<String, Object> modules) {
+ private void invokeRegisterModules(Map<String, Object> modules, List<Map<String, Object>> failReceiver) {
if (modules == null || !isJSFrameworkInit()) {
if (!isJSFrameworkInit()) {
WXLogUtils.e("[WXBridgeManager] invokeCallJSBatch: framework.js uninitialized.");
}
- mRegisterModuleFailList.add(modules);
+ failReceiver.add(modules);
return;
}
@@ -1256,11 +1273,15 @@ public class WXBridgeManager implements Callback,BactchExecutor {
}
}
- private void invokeRegisterComponents(List<Map<String, Object>> components) {
+ private void invokeRegisterComponents(List<Map<String, Object>> components,List<Map<String, Object>> failReceiver) {
+ if(components == failReceiver){
+ throw new RuntimeException("Fail receiver should not use source.");
+ }
if (!isJSFrameworkInit()) {
WXLogUtils.e("[WXBridgeManager] invokeCallJSBatch: framework.js uninitialized.");
+
for (Map<String,Object> comp:components){
- mRegisterComponentFailList.add(comp);
+ failReceiver.add(comp);
}
return;
}
[2/3] incubator-weex git commit: * [android] format code
Posted by so...@apache.org.
* [android] format code
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/6ac82334
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/6ac82334
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/6ac82334
Branch: refs/heads/0.11-dev
Commit: 6ac82334e24725e6aa4cee8305b25a0a1f494b9f
Parents: c10ef4d
Author: sospartan <so...@gmail.com>
Authored: Wed Mar 8 14:21:14 2017 +0800
Committer: sospartan <so...@gmail.com>
Committed: Wed Mar 8 14:21:14 2017 +0800
----------------------------------------------------------------------
.../main/java/com/taobao/weex/bridge/WXBridgeManager.java | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6ac82334/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
index 1fecf3f..de296ff 100755
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -1198,13 +1198,13 @@ public class WXBridgeManager implements Callback,BactchExecutor {
public void registerModules(final Map<String, Object> modules) {
if (modules != null && modules.size() != 0) {
if(isJSThread()){
- invokeRegisterModules(modules,mRegisterModuleFailList);
+ invokeRegisterModules(modules, mRegisterModuleFailList);
}
else{
post(new Runnable() {
@Override
public void run() {
- invokeRegisterModules(modules,mRegisterComponentFailList);
+ invokeRegisterModules(modules, mRegisterComponentFailList);
}
}, null);
}
@@ -1222,7 +1222,7 @@ public class WXBridgeManager implements Callback,BactchExecutor {
post(new Runnable() {
@Override
public void run() {
- invokeRegisterComponents(components,mRegisterComponentFailList);
+ invokeRegisterComponents(components, mRegisterComponentFailList);
}
}, null);
}
@@ -1231,7 +1231,7 @@ public class WXBridgeManager implements Callback,BactchExecutor {
post(new Runnable() {
@Override
public void run() {
- invokeExecJSService(service,mRegisterServiceFailList);
+ invokeExecJSService(service, mRegisterServiceFailList);
}
});
}
@@ -1273,7 +1273,7 @@ public class WXBridgeManager implements Callback,BactchExecutor {
}
}
- private void invokeRegisterComponents(List<Map<String, Object>> components,List<Map<String, Object>> failReceiver) {
+ private void invokeRegisterComponents(List<Map<String, Object>> components, List<Map<String, Object>> failReceiver) {
if(components == failReceiver){
throw new RuntimeException("Fail receiver should not use source.");
}
[3/3] incubator-weex git commit: Merge branch
'0.11-dev-fix-fail-components' of github.com:sospartan/incubator-weex into
0.11-dev This closes #69
Posted by so...@apache.org.
Merge branch '0.11-dev-fix-fail-components' of github.com:sospartan/incubator-weex into 0.11-dev
This closes #69
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/18aa2651
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/18aa2651
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/18aa2651
Branch: refs/heads/0.11-dev
Commit: 18aa265143a9d5ea3604bec48299abd34556a52e
Parents: 72c7ee1 6ac8233
Author: sospartan <so...@gmail.com>
Authored: Thu Mar 9 11:36:29 2017 +0800
Committer: sospartan <so...@gmail.com>
Committed: Thu Mar 9 11:36:29 2017 +0800
----------------------------------------------------------------------
.../com/taobao/weex/bridge/WXBridgeManager.java | 53 ++++++++++++++------
1 file changed, 37 insertions(+), 16 deletions(-)
----------------------------------------------------------------------