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:51 UTC

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

[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);