fix scroll to bug and add md5 for template
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5e85cea9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5e85cea9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5e85cea9 Branch: refs/heads/master Commit: 5e85cea995793180ff4cd0f3cd2d72f188ad75f7 Parents: b5b506f Author: jianbai.gbj <jianbai....@alibaba-inc.com> Authored: Mon Oct 9 19:19:33 2017 +0800 Committer: jianbai.gbj <jianbai....@alibaba-inc.com> Committed: Mon Oct 9 19:19:33 2017 +0800 ---------------------------------------------------------------------- .../com/taobao/weex/bridge/WXBridgeManager.java | 3 +- .../ui/component/list/BasicListComponent.java | 29 +------------------- .../java/com/taobao/weex/utils/WXFileUtils.java | 26 ++++++++++++++++++ .../com/taobao/weex/utils/WXFileUtilsTest.java | 8 ++++++ 4 files changed, 37 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5e85cea9/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 d1ea794..a949e3b 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 @@ -1431,7 +1431,8 @@ public class WXBridgeManager implements Callback,BactchExecutor { } catch (Throwable e) { instance.onRenderError(WXRenderErrorCode.WX_CREATE_INSTANCE_ERROR, "createInstance failed!"); - String err = "[WXBridgeManager] invokeCreateInstance " + e.getCause(); + String err = "[WXBridgeManager] invokeCreateInstance " + e.getCause() + + " template md5 " + WXFileUtils.md5(template) + " length " + (template == null ? 0 : template.length()); commitJSBridgeAlarmMonitor(instance.getInstanceId(), WXErrorCode.WX_ERR_INVOKE_NATIVE,err); WXLogUtils.e(err); } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5e85cea9/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 296946a..9b8fe04 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 @@ -461,34 +461,7 @@ public abstract class BasicListComponent<T extends ViewGroup & ListComponentView } final WXRecyclerView view = bounceRecyclerView.getInnerView(); - - if (!smooth) { - RecyclerView.LayoutManager layoutManager = view.getLayoutManager(); - if (layoutManager instanceof LinearLayoutManager) { - //GridLayoutManager is also instance of LinearLayoutManager - ((LinearLayoutManager) layoutManager).scrollToPositionWithOffset(pos, -offset); - } else if (layoutManager instanceof StaggeredGridLayoutManager) { - ((StaggeredGridLayoutManager) layoutManager).scrollToPositionWithOffset(pos, -offset); - } - //Any else? - } else { - view.smoothScrollToPosition(pos); - if (offset != 0) { - view.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrollStateChanged(RecyclerView recyclerView, int newState) { - if (newState == RecyclerView.SCROLL_STATE_IDLE) { - if (getOrientation() == Constants.Orientation.VERTICAL) { - recyclerView.smoothScrollBy(0, offset); - } else { - recyclerView.smoothScrollBy(offset, 0); - } - recyclerView.removeOnScrollListener(this); - } - } - }); - } - } + view.scrollTo(smooth, pos, offset, getOrientation()); } } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5e85cea9/android/sdk/src/main/java/com/taobao/weex/utils/WXFileUtils.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXFileUtils.java b/android/sdk/src/main/java/com/taobao/weex/utils/WXFileUtils.java index 0083326..3921cfd 100644 --- a/android/sdk/src/main/java/com/taobao/weex/utils/WXFileUtils.java +++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXFileUtils.java @@ -29,6 +29,10 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; public class WXFileUtils { @@ -130,4 +134,26 @@ public class WXFileUtils { } return false; } + + public static String md5(String template){ + try { + if(template == null){ + return ""; + } + return md5(template.getBytes("UTF-8")); + } catch (UnsupportedEncodingException e) { + return ""; + } + } + + public static String md5(byte[] bts){ + try { + MessageDigest digest = MessageDigest.getInstance("MD5"); + digest.update(bts); + BigInteger bigInt = new BigInteger(1, digest.digest()); + return bigInt.toString(16); + } catch (NoSuchAlgorithmException e) {; + return ""; + } + } } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5e85cea9/android/sdk/src/test/java/com/taobao/weex/utils/WXFileUtilsTest.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/test/java/com/taobao/weex/utils/WXFileUtilsTest.java b/android/sdk/src/test/java/com/taobao/weex/utils/WXFileUtilsTest.java index 64a0720..13d47a3 100644 --- a/android/sdk/src/test/java/com/taobao/weex/utils/WXFileUtilsTest.java +++ b/android/sdk/src/test/java/com/taobao/weex/utils/WXFileUtilsTest.java @@ -20,6 +20,8 @@ package com.taobao.weex.utils; import com.taobao.weappplus_sdk.BuildConfig; import java.io.File; + +import org.junit.Assert; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -62,4 +64,10 @@ public class WXFileUtilsTest { public void testSaveFile() throws Exception { WXFileUtils.saveFile("build/test","test".getBytes(),RuntimeEnvironment.application); } + + + @Test + public void testMd5(){ + Assert.assertEquals("77963b7a931377ad4ab5ad6a9cd718aa", WXFileUtils.md5("ddd")); + } }