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);
+    }
+
+
+
 }