You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ac...@apache.org on 2017/04/27 06:56:15 UTC

[11/13] incubator-weex git commit: * [android] deprecated static getViewPortWidth

* [android] deprecated  static getViewPortWidth


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

Branch: refs/heads/0.13-dev
Commit: 247e50165a2043fef0ae1d688dac4ade55f2cf4c
Parents: c1f9d7d
Author: zshshr <zh...@gmail.com>
Authored: Thu Apr 27 14:49:32 2017 +0800
Committer: zshshr <zh...@gmail.com>
Committed: Thu Apr 27 14:49:32 2017 +0800

----------------------------------------------------------------------
 .../weex/dom/action/GetComponentRectAction.java | 29 +++++++++++---------
 .../taobao/weex/ui/component/WXScroller.java    | 16 ++++++-----
 2 files changed, 25 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/247e5016/android/sdk/src/main/java/com/taobao/weex/dom/action/GetComponentRectAction.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/action/GetComponentRectAction.java b/android/sdk/src/main/java/com/taobao/weex/dom/action/GetComponentRectAction.java
index 29c881d..cf8e224 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/action/GetComponentRectAction.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/action/GetComponentRectAction.java
@@ -48,8 +48,9 @@ class GetComponentRectAction implements RenderAction {
   }
   @Override
   public void executeRender(RenderActionContext context) {
+    WXSDKInstance instance = context.getInstance();
     JSCallback jsCallback = new SimpleJSCallback(context.getInstance().getInstanceId(), mCallback);
-    if (context.getInstance().isDestroy()) {
+    if (instance == null ||instance.isDestroy()) {
       //do nothing
     }else if (TextUtils.isEmpty(mRef)) {
       Map<String, Object> options = new HashMap<>();
@@ -62,14 +63,15 @@ class GetComponentRectAction implements RenderAction {
       WXComponent component = context.getComponent(mRef);
       Map<String, Object> options = new HashMap<>();
       if (component != null) {
+        int viewPort = instance.getInstanceViewPortWidth();
         Map<String, Float> size = new HashMap<>();
         Rect sizes = component.getComponentSize();
-        size.put("width", getWebPxValue(sizes.width()));
-        size.put("height", getWebPxValue(sizes.height()));
-        size.put("bottom", getWebPxValue(sizes.bottom));
-        size.put("left", getWebPxValue(sizes.left));
-        size.put("right", getWebPxValue(sizes.right));
-        size.put("top", getWebPxValue(sizes.top));
+        size.put("width", getWebPxValue(sizes.width(),viewPort));
+        size.put("height", getWebPxValue(sizes.height(),viewPort));
+        size.put("bottom", getWebPxValue(sizes.bottom,viewPort));
+        size.put("left", getWebPxValue(sizes.left,viewPort));
+        size.put("right", getWebPxValue(sizes.right,viewPort));
+        size.put("top", getWebPxValue(sizes.top,viewPort));
         options.put("size", size);
         options.put("result", true);
       } else {
@@ -87,12 +89,13 @@ class GetComponentRectAction implements RenderAction {
       Map<String, Float> sizes = new HashMap<>();
       int[] location = new int[2];
       instance.getContainerView().getLocationOnScreen(location);
+      int viewport = instance.getInstanceViewPortWidth();
       sizes.put("left", 0f);
       sizes.put("top", 0f);
-      sizes.put("right", getWebPxValue(container.getWidth()));
-      sizes.put("bottom", getWebPxValue(container.getHeight()));
-      sizes.put("width", getWebPxValue(container.getWidth()));
-      sizes.put("height", getWebPxValue(container.getHeight()));
+      sizes.put("right", getWebPxValue(container.getWidth(),viewport));
+      sizes.put("bottom", getWebPxValue(container.getHeight(),viewport));
+      sizes.put("width", getWebPxValue(container.getWidth(),viewport));
+      sizes.put("height", getWebPxValue(container.getHeight(),viewport));
       options.put("size", sizes);
       options.put("result", true);
       jsCallback.invoke(options);
@@ -105,8 +108,8 @@ class GetComponentRectAction implements RenderAction {
   }
 
   @NonNull
-  private float getWebPxValue(int value) {
-    return WXViewUtils.getWebPxByWidth(value, WXSDKInstance.getViewPortWidth());
+  private float getWebPxValue(int value,int viewport) {
+    return WXViewUtils.getWebPxByWidth(value, viewport);
   }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/247e5016/android/sdk/src/main/java/com/taobao/weex/ui/component/WXScroller.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXScroller.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXScroller.java
index c5252a4..ca2e174 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXScroller.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXScroller.java
@@ -158,11 +158,13 @@ public class WXScroller extends WXVContainer<ViewGroup> implements WXScrollViewL
             Map<String, Object> contentSize = new HashMap<>(2);
             Map<String, Object> contentOffset = new HashMap<>(2);
 
-            contentSize.put(Constants.Name.WIDTH, WXViewUtils.getWebPxByWidth(frame.width(), getInstance().getViewPortWidth()));
-            contentSize.put(Constants.Name.HEIGHT, WXViewUtils.getWebPxByWidth(frame.height(), getInstance().getViewPortWidth()));
+            int viewport = getInstance().getInstanceViewPortWidth();
 
-            contentOffset.put(Constants.Name.X, - WXViewUtils.getWebPxByWidth(x, getInstance().getViewPortWidth()));
-            contentOffset.put(Constants.Name.Y, - WXViewUtils.getWebPxByWidth(y, getInstance().getViewPortWidth()));
+            contentSize.put(Constants.Name.WIDTH, WXViewUtils.getWebPxByWidth(frame.width(), viewport));
+            contentSize.put(Constants.Name.HEIGHT, WXViewUtils.getWebPxByWidth(frame.height(), viewport));
+
+            contentOffset.put(Constants.Name.X, - WXViewUtils.getWebPxByWidth(x, viewport));
+            contentOffset.put(Constants.Name.Y, - WXViewUtils.getWebPxByWidth(y, viewport));
 
             event.put(Constants.Name.CONTENT_SIZE, contentSize);
             event.put(Constants.Name.CONTENT_OFFSET, contentOffset);
@@ -487,7 +489,7 @@ public class WXScroller extends WXVContainer<ViewGroup> implements WXScrollViewL
 
   @WXComponentProp(name = Constants.Name.OFFSET_ACCURACY)
   public void setOffsetAccuracy(int accuracy) {
-    float realPx = WXViewUtils.getRealPxByWidth(accuracy, getInstance().getViewPortWidth());
+    float realPx = WXViewUtils.getRealPxByWidth(accuracy, getInstance().getInstanceViewPortWidth());
     this.mOffsetAccuracy = (int) realPx;
   }
 
@@ -562,7 +564,7 @@ public class WXScroller extends WXVContainer<ViewGroup> implements WXScrollViewL
       smooth = WXUtils.getBoolean(options.get(Constants.Name.ANIMATED), true);
       if (offset != null) {
         try {
-          offsetFloat = WXViewUtils.getRealPxByWidth(Float.parseFloat(offset), getInstance().getViewPortWidth());
+          offsetFloat = WXViewUtils.getRealPxByWidth(Float.parseFloat(offset), getInstance().getInstanceViewPortWidth());
         }catch (Exception e ){
           WXLogUtils.e("Float parseFloat error :"+e.getMessage());
         }
@@ -672,7 +674,7 @@ public class WXScroller extends WXVContainer<ViewGroup> implements WXScrollViewL
       if (TextUtils.isEmpty(offset)) {
         return;
       }
-      int offsetInt = (int)WXViewUtils.getRealPxByWidth(Float.parseFloat(offset), WXSDKInstance.getViewPortWidth());
+      int offsetInt = (int)WXViewUtils.getRealPxByWidth(Float.parseFloat(offset), getInstance().getInstanceViewPortWidth());
 
       int contentH = scrollView.getChildAt(0).getHeight();
       int scrollerH = scrollView.getHeight();