You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ky...@apache.org on 2018/06/27 08:27:46 UTC
[2/6] incubator-weex git commit: [WEEX-342][android] when animation
module or transition parser properties, show more readable log when call js
[WEEX-342][android] when animation module or transition parser properties, show more readable log when call js
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/42f6c73d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/42f6c73d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/42f6c73d
Branch: refs/heads/master
Commit: 42f6c73d165c5b5daf29cde37d0a8f568521e884
Parents: 906a4ff
Author: jianbai.gbj <ji...@alibaba-inc.com>
Authored: Tue Jun 19 11:11:13 2018 +0800
Committer: jianbai.gbj <ji...@alibaba-inc.com>
Committed: Tue Jun 19 11:11:13 2018 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/bridge/WXBridgeManager.java | 4 ++--
.../java/com/taobao/weex/common/WXErrorCode.java | 1 +
.../com/taobao/weex/dom/transition/WXTransition.java | 2 +-
.../weex/ui/action/GraphicActionAnimation.java | 2 +-
.../taobao/weex/ui/animation/TransformParser.java | 9 ++++++++-
.../taobao/weex/ui/animation/WXAnimationBean.java | 9 +++------
.../com/taobao/weex/ui/component/WXComponent.java | 3 ++-
.../java/com/taobao/weex/utils/WXWsonJSONSwitch.java | 15 +++++++++++++++
8 files changed, 33 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/42f6c73d/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 9726098..7183112 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -1535,7 +1535,7 @@ public class WXBridgeManager implements Callback, BactchExecutor {
public void invokeExecJS(String instanceId, String namespace, String function,
WXJSObject[] args, boolean logTaskDetail) {
- if (WXEnvironment.isOpenDebugLog()) {
+ if (WXEnvironment.isOpenDebugLog() && BRIDGE_LOG_SWITCH) {
mLodBuilder.append("callJS >>>> instanceId:").append(instanceId)
.append("function:").append(function);
if (logTaskDetail) {
@@ -1616,7 +1616,7 @@ public class WXBridgeManager implements Callback, BactchExecutor {
StringBuilder builder = new StringBuilder();
builder.append("[");
for(WXJSObject object : args){
- builder.append(WXJsonUtils.fromObjectToJSONString(object));
+ builder.append(WXWsonJSONSwitch.fromObjectToJSONString(object));
builder.append(",");
}
builder.append("]");
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/42f6c73d/android/sdk/src/main/java/com/taobao/weex/common/WXErrorCode.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/common/WXErrorCode.java b/android/sdk/src/main/java/com/taobao/weex/common/WXErrorCode.java
index 6d51a92..f57e396 100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/WXErrorCode.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/WXErrorCode.java
@@ -233,6 +233,7 @@ public enum WXErrorCode {
WX_RENDER_ERR_LAYER_OVERFLOW("-9602", "WX_RENDER_ERR_LAYER_OVERFLOW", ErrorType.NATIVE_ERROR, ErrorGroup.NATIVE),
WX_RENDER_ERR_NULL_KEY("-9603", "WX_RENDER_ERR_NULL_KEY", ErrorType.NATIVE_ERROR, ErrorGroup.NATIVE),
WX_RENDER_ERR_CONTAINER_TYPE("-9611", "WX_RENDER_ERR_CONTAINER_TYPE", ErrorType.JS_ERROR,ErrorGroup.JS),
+ WX_RENDER_ERR_TRANSITION("-9616", "WX_RENDER_ERR_TRANSITION", ErrorType.JS_ERROR, ErrorGroup.JS),
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/42f6c73d/android/sdk/src/main/java/com/taobao/weex/dom/transition/WXTransition.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/transition/WXTransition.java b/android/sdk/src/main/java/com/taobao/weex/dom/transition/WXTransition.java
index e59c4f7..ec397b5 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/transition/WXTransition.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/transition/WXTransition.java
@@ -336,7 +336,7 @@ public class WXTransition {
List<PropertyValuesHolder> holders = new ArrayList<>(8);
String transform = WXUtils.getString(transformPendingUpdates.remove(Constants.Name.TRANSFORM), null);
if(!TextUtils.isEmpty(transform)){
- Map<Property<View,Float>, Float> properties = TransformParser.parseTransForm(transform, (int)mWXComponent.getLayoutWidth(), (int)mWXComponent.getLayoutHeight(), mWXComponent.getViewPortWidth());
+ Map<Property<View,Float>, Float> properties = TransformParser.parseTransForm(mWXComponent.getInstanceId(), transform, (int)mWXComponent.getLayoutWidth(), (int)mWXComponent.getLayoutHeight(), mWXComponent.getViewPortWidth());
PropertyValuesHolder[] transformHolders = TransformParser.toHolders(properties);
for(PropertyValuesHolder holder : transformHolders){
holders.add(holder);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/42f6c73d/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAnimation.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAnimation.java b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAnimation.java
index c8b0a04..c8d2251 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAnimation.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAnimation.java
@@ -109,7 +109,7 @@ public class GraphicActionAnimation extends BasicGraphicAction {
if (null != mAnimationBean.styles) {
mAnimationBean.styles.init(mAnimationBean.styles.transformOrigin,
mAnimationBean.styles.transform, (int) component.getLayoutWidth(), (int) component.getLayoutHeight(),
- instance.getInstanceViewPortWidth());
+ instance.getInstanceViewPortWidth(), instance);
startAnimation(instance, component);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/42f6c73d/android/sdk/src/main/java/com/taobao/weex/ui/animation/TransformParser.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/animation/TransformParser.java b/android/sdk/src/main/java/com/taobao/weex/ui/animation/TransformParser.java
index cfb02b4..c31d2ec 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/animation/TransformParser.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/animation/TransformParser.java
@@ -29,8 +29,10 @@ import android.view.View;
import com.taobao.weex.WXEnvironment;
import com.taobao.weex.common.Constants;
+import com.taobao.weex.common.WXErrorCode;
import com.taobao.weex.utils.FunctionParser;
import com.taobao.weex.utils.WXDataStructureUtil;
+import com.taobao.weex.utils.WXExceptionUtils;
import com.taobao.weex.utils.WXLogUtils;
import com.taobao.weex.utils.WXUtils;
import com.taobao.weex.utils.WXViewUtils;
@@ -100,7 +102,7 @@ public class TransformParser {
return holders;
}
- public static Map<Property<View,Float>, Float> parseTransForm(@Nullable String rawTransform, final int width,
+ public static Map<Property<View,Float>, Float> parseTransForm(String instanceId, @Nullable String rawTransform, final int width,
final int height, final int viewportW) {
try{
@@ -229,6 +231,11 @@ public class TransformParser {
}
}catch (Exception e){
WXLogUtils.e("TransformParser", e);
+ WXExceptionUtils.commitCriticalExceptionRT(instanceId,
+ WXErrorCode.WX_RENDER_ERR_TRANSITION,
+ "parse animation transition",
+ WXErrorCode.WX_RENDER_ERR_TRANSITION.getErrorMsg() + "parse transition error: " + e.getMessage(),
+ null);
}
return new LinkedHashMap<>();
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/42f6c73d/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
index fe425b7..4401cb9 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationBean.java
@@ -27,6 +27,7 @@ import android.util.Pair;
import android.util.Property;
import android.view.View;
import com.taobao.weex.WXEnvironment;
+import com.taobao.weex.WXSDKInstance;
import com.taobao.weex.common.Constants;
import com.taobao.weex.common.Constants.Name;
import com.taobao.weex.utils.FunctionParser;
@@ -118,10 +119,6 @@ public class WXAnimationBean {
private List<PropertyValuesHolder> holders=new LinkedList<>();
private float cameraDistance = Float.MAX_VALUE;
- private static Map<Property<View,Float>, Float> parseTransForm(@Nullable String rawTransform, final int width,
- final int height,final int viewportW) {
- return TransformParser.parseTransForm(rawTransform, width, height, viewportW);
- }
private static Pair<Float, Float> parsePivot(@Nullable String transformOrigin,
int width, int height,int viewportW) {
@@ -202,9 +199,9 @@ public class WXAnimationBean {
}
public void init(@Nullable String transformOrigin,@Nullable String rawTransform,
- final int width, final int height,int viewportW){
+ final int width, final int height,int viewportW, WXSDKInstance instance){
pivot = parsePivot(transformOrigin,width,height,viewportW);
- transformMap.putAll(parseTransForm(rawTransform,width,height,viewportW));
+ transformMap.putAll(TransformParser.parseTransForm(instance.getInstanceId(), rawTransform, width,height,viewportW));
resetToDefaultIfAbsent();
if (transformMap.containsKey(CameraDistanceProperty.getInstance())) {
cameraDistance = transformMap.remove(CameraDistanceProperty.getInstance());
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/42f6c73d/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index 072d8f4..3cd3bc2 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -2222,7 +2222,8 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple
int width = (int) getLayoutWidth();
int height = (int) getLayoutHeight();
animationBean.styles = new WXAnimationBean.Style();
- animationBean.styles.init(transformOrigin, (String) transform, width, height,WXSDKManager.getInstanceViewPortWidth(getInstanceId()));
+ animationBean.styles.init(transformOrigin, (String) transform, width, height,WXSDKManager.getInstanceViewPortWidth(getInstanceId()),
+ getInstance());
return animationBean;
}
}catch (RuntimeException e){
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/42f6c73d/android/sdk/src/main/java/com/taobao/weex/utils/WXWsonJSONSwitch.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXWsonJSONSwitch.java b/android/sdk/src/main/java/com/taobao/weex/utils/WXWsonJSONSwitch.java
index 7224408..0271bdf 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXWsonJSONSwitch.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXWsonJSONSwitch.java
@@ -18,6 +18,8 @@
*/
package com.taobao.weex.utils;
+import android.support.annotation.NonNull;
+
import com.alibaba.fastjson.JSON;
import com.taobao.weex.bridge.WXJSObject;
import com.taobao.weex.wson.Wson;
@@ -110,4 +112,17 @@ public class WXWsonJSONSwitch {
public static final String WSON_OFF = "wson_off";
+ public @NonNull
+ static String fromObjectToJSONString(WXJSObject obj) {
+ if(obj != null && obj.type == WXJSObject.WSON){
+ Object data = Wson.parse((byte[]) obj.data);
+ if(data != null){
+ return data.toString();
+ }
+ }
+ return WXJsonUtils.fromObjectToJSONString(obj,false);
+ }
+
+
+
}