You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by mi...@apache.org on 2018/02/24 09:44:50 UTC

[1/3] incubator-weex git commit: [WEEX-216][android] WXAnimation Fix Memory Leak and performance improve

Repository: incubator-weex
Updated Branches:
  refs/heads/master 95e16d870 -> a553c194a


[WEEX-216][android] WXAnimation Fix Memory Leak and performance improve


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/4dded272
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/4dded272
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/4dded272

Branch: refs/heads/master
Commit: 4dded272b79f9b8bb8e32ae88899fcee878fc24c
Parents: de40fe1
Author: jianbai.gbj <ji...@alibaba-inc.com>
Authored: Sun Feb 11 16:45:44 2018 +0800
Committer: jianbai.gbj <ji...@alibaba-inc.com>
Committed: Sun Feb 11 17:00:29 2018 +0800

----------------------------------------------------------------------
 android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java   | 2 +-
 .../src/main/java/com/taobao/weex/dom/action/Actions.java    | 2 +-
 .../java/com/taobao/weex/dom/action/AnimationAction.java     | 8 ++++----
 .../java/com/taobao/weex/ui/animation/WXAnimationModule.java | 6 ++++--
 .../main/java/com/taobao/weex/utils/WXReflectionUtils.java   | 8 ++++++++
 .../com/taobao/weex/ui/animation/WXAnimationModuleTest.java  | 5 +++--
 6 files changed, 21 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
index 7069729..f593986 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
@@ -312,7 +312,7 @@ public class WXSDKEngine {
 
       registerModule("modal", WXModalUIModule.class, false);
       registerModule("instanceWrap", WXInstanceWrap.class, true);
-      registerModule("animation", WXAnimationModule.class, true);
+      registerModule("animation", WXAnimationModule.class, false);
       registerModule("webview", WXWebViewModule.class, true);
       registerModule("navigator", WXNavigatorModule.class);
       registerModule("stream", WXStreamModule.class);

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java b/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java
index 9f60765..3f464bc 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java
@@ -206,7 +206,7 @@ public class Actions {
   }
 
 
-  public static DOMAction getAnimationAction(@NonNull final String ref, @NonNull String animation,
+  public static DOMAction getAnimationAction(@NonNull final String ref, @NonNull JSONObject animation,
                                              @Nullable final String callBack){
     return new AnimationAction(ref, animation, callBack);
   }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java b/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
index f08b135..fa2246f 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
@@ -79,7 +79,7 @@ class AnimationAction implements DOMAction, RenderAction {
 
   @Nullable
   private
-  final String animation;
+  final JSONObject animation;
 
   @Nullable
   private
@@ -89,7 +89,7 @@ class AnimationAction implements DOMAction, RenderAction {
   private
   WXAnimationBean mAnimationBean;
 
-  AnimationAction(@NonNull final String ref, @Nullable String animation,
+  AnimationAction(@NonNull final String ref, @Nullable JSONObject animation,
                   @Nullable final String callBack) {
     this.ref = ref;
     this.animation = animation;
@@ -113,9 +113,9 @@ class AnimationAction implements DOMAction, RenderAction {
     try {
       WXDomObject domObject;
       if (!context.isDestory() &&
-          !TextUtils.isEmpty(animation) &&
+          animation != null &&
           (domObject = context.getDomByRef(ref)) != null) {
-        WXAnimationBean animationBean = JSONObject.parseObject(animation, WXAnimationBean.class);
+        WXAnimationBean animationBean =  JSONObject.toJavaObject(animation, WXAnimationBean.class);
         if (animationBean != null && animationBean.styles != null) {
           int width = (int) domObject.getLayoutWidth();
           int height = (int) domObject.getLayoutHeight();

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationModule.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationModule.java b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationModule.java
index 43e4b90..3b15347 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationModule.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationModule.java
@@ -21,6 +21,7 @@ package com.taobao.weex.ui.animation;
 import android.support.annotation.Nullable;
 import android.text.TextUtils;
 
+import com.alibaba.fastjson.JSONObject;
 import com.taobao.weex.WXSDKInstance;
 import com.taobao.weex.WXSDKManager;
 import com.taobao.weex.annotation.JSMethod;
@@ -31,13 +32,14 @@ import com.taobao.weex.dom.WXDomHandler;
 import com.taobao.weex.dom.action.Actions;
 import com.taobao.weex.ui.component.WXComponent;
 
+
 import static com.taobao.weex.dom.action.Actions.getAnimationAction;
 
 public class WXAnimationModule extends WXModule {
 
   @JSMethod
-  public void transition(@Nullable String ref, @Nullable String animation, @Nullable String callBack) {
-    if (!TextUtils.isEmpty(ref) && !TextUtils.isEmpty(animation) && mWXSDKInstance != null) {
+  public void transition(@Nullable String ref, @Nullable JSONObject animation, @Nullable String callBack) {
+    if (!TextUtils.isEmpty(ref) && animation != null && mWXSDKInstance != null) {
       DOMAction animationActions = getAnimationAction(ref, animation, callBack);
       //Due to animation module rely on the result of the css-layout and the batch mechanism of
       //css-layout, the animation.transition must be delayed the batch time.

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java b/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
index 5bef6d3..1e424e5 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
@@ -31,6 +31,14 @@ import java.math.BigDecimal;
 public class WXReflectionUtils {
 
   public static Object parseArgument(Type paramClazz, Object value) {
+    if(value != null){
+        if(value.getClass() == paramClazz){
+          return  value;
+        }
+        if(value.getClass().isAssignableFrom(value.getClass())){
+          return value;
+        }
+    }
     if (paramClazz == String.class) {
       return value instanceof String ? value : JSON.toJSONString(value);
     } else if (paramClazz == int.class) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/test/java/com/taobao/weex/ui/animation/WXAnimationModuleTest.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/test/java/com/taobao/weex/ui/animation/WXAnimationModuleTest.java b/android/sdk/src/test/java/com/taobao/weex/ui/animation/WXAnimationModuleTest.java
index 7dd4858..52e52fa 100644
--- a/android/sdk/src/test/java/com/taobao/weex/ui/animation/WXAnimationModuleTest.java
+++ b/android/sdk/src/test/java/com/taobao/weex/ui/animation/WXAnimationModuleTest.java
@@ -18,6 +18,7 @@
  */
 package com.taobao.weex.ui.animation;
 
+import com.alibaba.fastjson.JSONObject;
 import com.taobao.weappplus_sdk.BuildConfig;
 import com.taobao.weex.WXSDKInstanceTest;
 
@@ -50,8 +51,8 @@ public class WXAnimationModuleTest {
 
   @Test
   public void testTransition() throws Exception {
-    module.transition("","","");
-    module.transition("test","test","");
+    module.transition("", JSONObject.parseObject("{}"),"");
+    module.transition("test", JSONObject.parseObject("{\"test\":\"test\"}"),"");
   }
 
   @Test


[2/3] incubator-weex git commit: [WEEX-216][android] WXAnimation Fix Memory Leak and performance improve add more support convert args

Posted by mi...@apache.org.
[WEEX-216][android] WXAnimation Fix Memory Leak and performance improve add more support convert args


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c3bd4623
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c3bd4623
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c3bd4623

Branch: refs/heads/master
Commit: c3bd46238fb3b08e8c70c1efb2944df79ced4af2
Parents: 4dded27
Author: jianbai.gbj <ji...@alibaba-inc.com>
Authored: Fri Feb 23 17:07:41 2018 +0800
Committer: jianbai.gbj <ji...@alibaba-inc.com>
Committed: Fri Feb 23 17:07:41 2018 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/utils/WXReflectionUtils.java  | 6 ++++--
 .../java/com/taobao/weex/utils/WXReflectionUtilsTest.java   | 9 +++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c3bd4623/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java b/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
index 1e424e5..a3dff5e 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
@@ -35,8 +35,10 @@ public class WXReflectionUtils {
         if(value.getClass() == paramClazz){
           return  value;
         }
-        if(value.getClass().isAssignableFrom(value.getClass())){
-          return value;
+        if(paramClazz instanceof  Class){
+          if( ((Class<?>) paramClazz).isAssignableFrom(value.getClass()))   {
+            return value;
+          }
         }
     }
     if (paramClazz == String.class) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c3bd4623/android/sdk/src/test/java/com/taobao/weex/utils/WXReflectionUtilsTest.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/test/java/com/taobao/weex/utils/WXReflectionUtilsTest.java b/android/sdk/src/test/java/com/taobao/weex/utils/WXReflectionUtilsTest.java
index 18df379..58cfc46 100644
--- a/android/sdk/src/test/java/com/taobao/weex/utils/WXReflectionUtilsTest.java
+++ b/android/sdk/src/test/java/com/taobao/weex/utils/WXReflectionUtilsTest.java
@@ -47,9 +47,14 @@ public class WXReflectionUtilsTest {
 
   @Test
   public void testParseArgument() throws Exception {
+
+
    Object value =  WXReflectionUtils.parseArgument(String.class,"dkdkdkdk");
     assertTrue(value instanceof String);
 
+    value = WXReflectionUtils.parseArgument(int.class,123444);
+    assertTrue(value instanceof Integer);
+
     value = WXReflectionUtils.parseArgument(long.class,"123444");
     assertTrue(value instanceof Long);
 
@@ -70,6 +75,10 @@ public class WXReflectionUtilsTest {
     JSONObject j = new JSONObject();
     j.put("a","b");
     j.put("c",23);
+
+   value = WXReflectionUtils.parseArgument(Map.class,j);
+   assertTrue(value  == j);
+
     value = WXReflectionUtils.parseArgument(String.class,j);
     assertTrue(value instanceof String);
 


[3/3] incubator-weex git commit: Merge remote-tracking branch 'upstream/pr1026' into apache-master

Posted by mi...@apache.org.
Merge remote-tracking branch 'upstream/pr1026' into apache-master


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a553c194
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a553c194
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a553c194

Branch: refs/heads/master
Commit: a553c194a68cd8c2fc9c80f87390f8a3e8e592c4
Parents: 95e16d8 c3bd462
Author: misakuo <mi...@apache.org>
Authored: Sat Feb 24 17:44:31 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Sat Feb 24 17:44:31 2018 +0800

----------------------------------------------------------------------
 .../sdk/src/main/java/com/taobao/weex/WXSDKEngine.java    |  2 +-
 .../src/main/java/com/taobao/weex/dom/action/Actions.java |  2 +-
 .../java/com/taobao/weex/dom/action/AnimationAction.java  |  8 ++++----
 .../com/taobao/weex/ui/animation/WXAnimationModule.java   |  6 ++++--
 .../java/com/taobao/weex/utils/WXReflectionUtils.java     | 10 ++++++++++
 .../taobao/weex/ui/animation/WXAnimationModuleTest.java   |  5 +++--
 .../java/com/taobao/weex/utils/WXReflectionUtilsTest.java |  9 +++++++++
 7 files changed, 32 insertions(+), 10 deletions(-)
----------------------------------------------------------------------