You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/03/08 05:41:29 UTC

[1/4] incubator-weex git commit: * [android] update keepscrollto

Repository: incubator-weex
Updated Branches:
  refs/heads/0.11-dev ccd034636 -> a29123297


* [android] update keepscrollto


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

Branch: refs/heads/0.11-dev
Commit: 21bb2df58ea59c1f789436e482e18e19b7fff020
Parents: 59dee77
Author: xkli <56...@qq.com>
Authored: Mon Mar 6 19:24:16 2017 +0800
Committer: xkli <56...@qq.com>
Committed: Mon Mar 6 20:18:30 2017 +0800

----------------------------------------------------------------------
 .../weex/ui/component/list/BasicListComponent.java  | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/21bb2df5/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
index 142e22f..bbcf423 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
@@ -217,6 +217,7 @@ import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.StaggeredGridLayoutManager;
 import android.text.TextUtils;
+import android.util.Log;
 import android.util.SparseArray;
 import android.view.View;
 import android.view.ViewGroup;
@@ -229,7 +230,6 @@ import com.taobao.weex.WXSDKInstance;
 import com.taobao.weex.annotation.JSMethod;
 import com.taobao.weex.common.Constants;
 import com.taobao.weex.common.OnWXScrollListener;
-import com.taobao.weex.common.WXRuntimeException;
 import com.taobao.weex.dom.ImmutableDomObject;
 import com.taobao.weex.dom.WXDomObject;
 import com.taobao.weex.ui.component.AppearanceHelper;
@@ -684,6 +684,8 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView
 
             if (pos <= fVisible) {
               beforeFirstVisibleItem = true;
+              Log.e("showSticky","pos:"+pos);
+              Log.e("showSticky","fVisible:"+fVisible);
             }
           }
 
@@ -695,6 +697,10 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView
           int top = location[1] - parentLocation[1];
 
           boolean showSticky = beforeFirstVisibleItem && cell.getLocationFromStart() >= 0 && top <= 0 && dy >= 0;
+          Log.e("showSticky","beforeFirstVisibleItem:"+beforeFirstVisibleItem);
+          Log.e("showSticky","top:"+top);
+          Log.e("showSticky","dy:"+dy);
+          Log.e("showSticky","showSticky:"+showSticky);
           boolean removeSticky = cell.getLocationFromStart() <= 0 && top > 0 && dy <= 0;
           if (showSticky) {
             bounceRecyclerView.notifyStickyShow(cell);
@@ -762,8 +768,10 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView
       } else {
         view.getInnerView().setItemAnimator(null);
       }
-      boolean isKeepScrollPosition = isKeepScrollPosition(child);
+      boolean isKeepScrollPosition = isKeepScrollPosition(child,index);
       if (isKeepScrollPosition) {
+        int last=((LinearLayoutManager)view.getInnerView().getLayoutManager()).findLastVisibleItemPosition();
+        ((LinearLayoutManager)view.getInnerView().getLayoutManager()).scrollToPosition(last);
         view.getRecyclerViewBaseAdapter().notifyItemInserted(adapterPosition);
       } else {
         view.getRecyclerViewBaseAdapter().notifyItemChanged(adapterPosition);
@@ -793,11 +801,11 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView
    * @param child Need to insert the component
    * @return fixed=true
    */
-  private boolean isKeepScrollPosition(WXComponent child) {
+  private boolean isKeepScrollPosition(WXComponent child,int index) {
     ImmutableDomObject domObject = child.getDomObject();
     if (domObject != null) {
       Object attr = domObject.getAttrs().get(Constants.Name.KEEP_SCROLL_POSITION);
-      if (WXUtils.getBoolean(attr, false)) {
+      if (WXUtils.getBoolean(attr, false) && index <= getChildCount() && index>-1) {
         return true;
       }
     }


[3/4] incubator-weex git commit: * [android] remove redundancy code

Posted by so...@apache.org.
* [android] remove redundancy code


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

Branch: refs/heads/0.11-dev
Commit: 33f06ed28d4b5fc33226161511e49d935703c591
Parents: c4eac33
Author: xkli <56...@qq.com>
Authored: Mon Mar 6 20:24:37 2017 +0800
Committer: xkli <56...@qq.com>
Committed: Mon Mar 6 20:24:37 2017 +0800

----------------------------------------------------------------------
 .../java/com/taobao/weex/ui/component/list/BasicListComponent.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/33f06ed2/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
index 7536562..b5acc5e 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
@@ -766,7 +766,7 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView
       boolean isKeepScrollPosition = isKeepScrollPosition(child,index);
       if (isKeepScrollPosition) {
         int last=((LinearLayoutManager)view.getInnerView().getLayoutManager()).findLastVisibleItemPosition();
-        ((LinearLayoutManager)view.getInnerView().getLayoutManager()).scrollToPosition(last);
+        view.getInnerView().getLayoutManager().scrollToPosition(last);
         view.getRecyclerViewBaseAdapter().notifyItemInserted(adapterPosition);
       } else {
         view.getRecyclerViewBaseAdapter().notifyItemChanged(adapterPosition);


[2/4] incubator-weex git commit: * [android] update sticky

Posted by so...@apache.org.
* [android] update sticky


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

Branch: refs/heads/0.11-dev
Commit: c4eac330eb8361e1e6dd473a4a0a438bf42620b6
Parents: 21bb2df
Author: xkli <56...@qq.com>
Authored: Mon Mar 6 20:13:44 2017 +0800
Committer: xkli <56...@qq.com>
Committed: Mon Mar 6 20:18:41 2017 +0800

----------------------------------------------------------------------
 .../taobao/weex/ui/component/list/BasicListComponent.java |  9 ++-------
 .../taobao/weex/ui/component/list/ListComponentView.java  |  1 +
 .../taobao/weex/ui/component/list/SimpleRecyclerView.java |  5 +++++
 .../weex/ui/view/refresh/wrapper/BounceRecyclerView.java  | 10 +++++++++-
 4 files changed, 17 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c4eac330/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
index bbcf423..7536562 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
@@ -217,7 +217,6 @@ import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.StaggeredGridLayoutManager;
 import android.text.TextUtils;
-import android.util.Log;
 import android.util.SparseArray;
 import android.view.View;
 import android.view.ViewGroup;
@@ -684,8 +683,6 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView
 
             if (pos <= fVisible) {
               beforeFirstVisibleItem = true;
-              Log.e("showSticky","pos:"+pos);
-              Log.e("showSticky","fVisible:"+fVisible);
             }
           }
 
@@ -697,15 +694,13 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView
           int top = location[1] - parentLocation[1];
 
           boolean showSticky = beforeFirstVisibleItem && cell.getLocationFromStart() >= 0 && top <= 0 && dy >= 0;
-          Log.e("showSticky","beforeFirstVisibleItem:"+beforeFirstVisibleItem);
-          Log.e("showSticky","top:"+top);
-          Log.e("showSticky","dy:"+dy);
-          Log.e("showSticky","showSticky:"+showSticky);
           boolean removeSticky = cell.getLocationFromStart() <= 0 && top > 0 && dy <= 0;
           if (showSticky) {
             bounceRecyclerView.notifyStickyShow(cell);
           } else if (removeSticky) {
             bounceRecyclerView.notifyStickyRemove(cell);
+          }else{
+            bounceRecyclerView.updateStickyView();
           }
           cell.setLocationFromStart(top);
         }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c4eac330/android/sdk/src/main/java/com/taobao/weex/ui/component/list/ListComponentView.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/ListComponentView.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/ListComponentView.java
index 648c747..54ff7ac 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/ListComponentView.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/ListComponentView.java
@@ -219,5 +219,6 @@ public interface ListComponentView {
   void setRecyclerViewBaseAdapter(RecyclerViewBaseAdapter adapter);
   void notifyStickyShow(WXCell component);
   void notifyStickyRemove(WXCell component);
+  void updateStickyView();
   RecyclerViewBaseAdapter getRecyclerViewBaseAdapter();
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c4eac330/android/sdk/src/main/java/com/taobao/weex/ui/component/list/SimpleRecyclerView.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/SimpleRecyclerView.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/SimpleRecyclerView.java
index 1523717..49f4eda 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/SimpleRecyclerView.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/SimpleRecyclerView.java
@@ -323,6 +323,11 @@ class SimpleRecyclerView extends WXRecyclerView implements ListComponentView{
   }
 
   @Override
+  public void updateStickyView() {
+
+  }
+
+  @Override
   public RecyclerViewBaseAdapter getRecyclerViewBaseAdapter() {
     return mAdapter;
   }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c4eac330/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/wrapper/BounceRecyclerView.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/wrapper/BounceRecyclerView.java b/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/wrapper/BounceRecyclerView.java
index 2d81b37..4a94903 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/wrapper/BounceRecyclerView.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/wrapper/BounceRecyclerView.java
@@ -306,6 +306,14 @@ public class BounceRecyclerView extends BaseBounceView<WXRecyclerView> implement
     }
   }
 
+  @Override
+  public void updateStickyView() {
+    if (!headComponentStack.isEmpty()) {
+      WXCell header = headComponentStack.peek();
+      header.getRealView().bringToFront();
+    }
+  }
+
   /**
    * @param component
    */
@@ -338,7 +346,7 @@ public class BounceRecyclerView extends BaseBounceView<WXRecyclerView> implement
         if((existedParent = (ViewGroup)headerView.getParent())!= null){
           existedParent.removeView(headerView);
         }
-        addView(headerView);
+        addView(headerView,getChildCount()-1);
         //recover translation, sometimes it will be changed on fling
         headerView.setTranslationX(translationX);
         headerView.setTranslationY(translationY);


[4/4] incubator-weex git commit: Merge branch '0.11-dev-insert-keep-position' of github.com:xkli/incubator-weex into 0.11-dev This closes #44

Posted by so...@apache.org.
Merge branch '0.11-dev-insert-keep-position' of github.com:xkli/incubator-weex into 0.11-dev
This closes #44


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

Branch: refs/heads/0.11-dev
Commit: a2912329792f303da8699746c53853bfb5bece83
Parents: ccd0346 33f06ed
Author: sospartan <so...@gmail.com>
Authored: Wed Mar 8 13:41:07 2017 +0800
Committer: sospartan <so...@gmail.com>
Committed: Wed Mar 8 13:41:07 2017 +0800

----------------------------------------------------------------------
 .../taobao/weex/ui/component/list/BasicListComponent.java | 10 +++++++---
 .../taobao/weex/ui/component/list/ListComponentView.java  |  1 +
 .../taobao/weex/ui/component/list/SimpleRecyclerView.java |  5 +++++
 .../weex/ui/view/refresh/wrapper/BounceRecyclerView.java  | 10 +++++++++-
 4 files changed, 22 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a2912329/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a2912329/android/sdk/src/main/java/com/taobao/weex/ui/component/list/ListComponentView.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a2912329/android/sdk/src/main/java/com/taobao/weex/ui/view/refresh/wrapper/BounceRecyclerView.java
----------------------------------------------------------------------