Merge remote-tracking branch 'origin/0.16-dev' into 0.16-dev-template-list # Conflicts: # android/sdk/src/main/java/com/taobao/weex/common/Constants.java # android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/1769f7c3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/1769f7c3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/1769f7c3 Branch: refs/heads/0.16-dev Commit: 1769f7c3f2ce9a042c968c7b9349ba645df73ca8 Parents: 26091f5 e52d273 Author: jianbai.gbj <jianbai....@alibaba-inc.com> Authored: Tue Sep 19 12:06:32 2017 +0800 Committer: jianbai.gbj <jianbai....@alibaba-inc.com> Committed: Tue Sep 19 12:06:32 2017 +0800 ---------------------------------------------------------------------- android/build.gradle | 13 +- .../commons/adapter/FrescoImageComponent.java | 2 +- android/gradle.properties | 5 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/jacoco.gradle | 43 +++++ .../alibaba/weex/benchmark/BenchmarkTest.java | 29 ++- .../playground/app/src/main/AndroidManifest.xml | 8 + .../alibaba/weex/util/CoverageDataDumper.java | 36 ++++ .../alibaba/weex/util/JacocoCodeCoverage.java | 93 ++++++++++ android/sdk/libs/armeabi/libweexjsb.so | Bin 0 -> 22556 bytes android/sdk/libs/armeabi/libweexjsc.so | Bin 7570392 -> 325660 bytes android/sdk/libs/armeabi/libweexjss.so | Bin 0 -> 6754016 bytes .../java/com/taobao/weex/WXEnvironment.java | 16 ++ .../java/com/taobao/weex/WXSDKInstance.java | 110 ++++++----- .../weex/appfram/pickers/DatePickerImpl.java | 3 +- .../appfram/websocket/WebSocketCloseCodes.java | 2 +- .../com/taobao/weex/bridge/WXBridgeManager.java | 48 ++++- .../java/com/taobao/weex/bridge/WXParams.java | 9 + .../java/com/taobao/weex/common/Constants.java | 2 + .../java/com/taobao/weex/common/WXConfig.java | 1 + .../com/taobao/weex/dom/ImmutableDomObject.java | 21 ++- .../main/java/com/taobao/weex/dom/WXStyle.java | 17 -- .../com/taobao/weex/dom/action/Actions.java | 4 +- .../weex/dom/action/ReloadPageAction.java | 6 +- .../taobao/weex/ui/component/WXComponent.java | 143 ++++++++++---- .../com/taobao/weex/ui/component/WXDiv.java | 74 +++++++- .../com/taobao/weex/ui/component/WXImage.java | 75 ++++---- .../com/taobao/weex/ui/component/WXSlider.java | 4 +- .../com/taobao/weex/ui/component/WXText.java | 90 +++++---- .../taobao/weex/ui/component/WXVContainer.java | 50 +++-- .../ui/component/list/BasicListComponent.java | 165 ++++++++++++----- .../taobao/weex/ui/component/list/WXCell.java | 63 ++++++- .../weex/ui/component/list/WXListComponent.java | 90 +++++---- .../com/taobao/weex/ui/flat/FlatComponent.java | 33 ++++ .../com/taobao/weex/ui/flat/FlatGUIContext.java | 146 +++++++++++++++ .../taobao/weex/ui/flat/WidgetContainer.java | 93 ++++++++++ .../weex/ui/flat/widget/AndroidViewWidget.java | 76 ++++++++ .../taobao/weex/ui/flat/widget/BaseWidget.java | 130 +++++++++++++ .../taobao/weex/ui/flat/widget/TextWidget.java | 49 +++++ .../com/taobao/weex/ui/flat/widget/Widget.java | 51 +++++ .../taobao/weex/ui/flat/widget/WidgetGroup.java | 54 ++++++ .../taobao/weex/ui/module/WXTimerModule.java | 9 +- .../com/taobao/weex/ui/view/WXFrameLayout.java | 53 +++++- .../com/taobao/weex/ui/view/WXImageView.java | 16 +- .../weex/ui/view/border/BorderCorner.java | 37 ++-- .../taobao/weex/ui/view/border/BorderUtil.java | 26 --- .../weex/ui/view/border/BottomLeftCorner.java | 7 +- .../weex/ui/view/border/BottomRightCorner.java | 7 +- .../weex/ui/view/border/TopLeftCorner.java | 7 +- .../weex/ui/view/border/TopRightCorner.java | 7 +- .../com/taobao/weex/utils/FunctionParser.java | 6 - .../com/taobao/weex/utils/ImageDrawable.java | 17 +- .../java/com/taobao/weex/utils/OsVersion.java | 2 +- .../main/java/com/taobao/weex/utils/Trace.java | 4 +- .../java/com/taobao/weex/utils/WXUtils.java | 64 ++++--- .../java/com/taobao/weex/utils/WXViewUtils.java | 31 ++++ .../com/taobao/weex/ui/component/WXDivTest.java | 12 +- .../taobao/weex/ui/component/WXTextTest.java | 18 +- .../weex/ui/module/WXTimerModuleTest.java | 45 ++++- dangerfile.js | 4 +- ios/playground/WeexDemo/Scanner/WXScannerVC.m | 2 +- .../WeexSDK/Sources/Bridge/WXBridgeContext.m | 4 +- .../Component/Recycler/WXMultiColumnLayout.m | 32 ++-- .../Sources/Component/WXComponent_internal.h | 3 +- .../WeexSDK/Sources/Component/WXEditComponent.m | 9 +- .../Sources/Component/WXImageComponent.m | 37 +++- .../WeexSDK/Sources/Component/WXListComponent.m | 4 + .../WeexSDK/Sources/Component/WXTextComponent.m | 6 +- ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 2 +- .../Sources/Controller/WXBaseViewController.m | 4 +- .../WeexSDK/Sources/Events/WXComponent+Events.m | 35 ++-- .../WeexSDK/Sources/Layout/WXComponent+Layout.m | 4 +- .../Sources/Manager/WXComponentManager.h | 8 + .../Sources/Manager/WXComponentManager.m | 19 ++ .../WeexSDK/Sources/Manager/WXTracingManager.h | 5 + .../WeexSDK/Sources/Manager/WXTracingManager.m | 11 ++ ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 49 +++-- ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 8 +- .../WeexSDK/Sources/Module/WXModalUIModule.m | 4 +- .../WeexSDK/Sources/Module/WXPrerenderManager.h | 15 ++ .../WeexSDK/Sources/Module/WXPrerenderManager.m | 104 +++++++++-- ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.h | 1 + ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m | 1 + .../Sources/Protocol/WXAppMonitorProtocol.h | 1 + ios/sdk/WeexSDK/Sources/Utility/WXConvert.m | 26 ++- ios/sdk/WeexSDK/Sources/Utility/WXLog.m | 15 +- ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 4 + scripts/build_from_source.sh | 2 +- test/pages/attributes/dom-operation.vue | 33 ++++ test/pages/components/image-onload.vue | 65 +++++++ test/pages/components/image-resize.vue | 97 ++++++++++ test/pages/components/list-scroll.vue | 33 ++++ test/pages/components/refresh-loading.vue | 20 +- test/pages/components/scroller-scroll.vue | 31 ++++ test/pages/components/slider-infinite.vue | 54 ++++++ test/pages/components/textarea-placeholder.vue | 62 +++++++ test/pages/components/web-event.vue | 55 +++++- test/pages/dom-operation.vue | 33 ---- test/pages/image-onload.vue | 31 ---- test/pages/include/navbar.vue | 121 ++++++++++++ test/pages/include/navpage.vue | 62 +++++++ test/pages/index.vue | 30 --- test/pages/list-scroll.vue | 33 ---- test/pages/modules/dom-common.vue | 87 +++++++++ test/pages/modules/dom-update.vue | 78 ++++++++ test/pages/modules/downgrade-event.vue | 2 +- test/pages/modules/modal-event.vue | 75 ++++++-- test/pages/modules/navigator-event.vue | 101 ++++++++++ test/pages/modules/picker-event.vue | 6 +- test/pages/modules/stream-result.vue | 185 +++++++++++++++---- test/pages/modules/viewport-basic.vue | 62 +++++++ test/pages/modules/vue_timer.vue | 14 +- test/pages/modules/we_timer.we | 14 +- test/pages/scroller-scroll.vue | 31 ---- test/pages/slider-infinite.vue | 54 ------ test/run.sh | 25 ++- test/screenshot/border-android.png | Bin 158634 -> 162929 bytes test/screenshot/border-ios.png | Bin 126185 -> 128088 bytes test/screenshot/compositing-ios.png | Bin 228306 -> 229534 bytes test/screenshot/image-resize-android.png | Bin 0 -> 218804 bytes test/screenshot/image-resize-ios.png | Bin 0 -> 138103 bytes test/scripts/attributes/compositing.test.js | 5 +- test/scripts/attributes/dom.test.js | 98 ++++++++++ test/scripts/components/a-src.test.js | 2 +- test/scripts/components/iconfont.test.js | 2 +- test/scripts/components/image-onload.test.js | 32 +--- test/scripts/components/image-resize.test.js | 43 +++++ test/scripts/components/input-event.test.js | 2 +- test/scripts/components/recycler.test.js | 20 +- test/scripts/components/refresh-loading.test.js | 12 +- test/scripts/components/scroll-event.test.js | 6 +- test/scripts/components/slider-infinite.test.js | 2 +- test/scripts/components/switch-event.test.js | 2 +- .../components/textarea-placeholder.test.js | 69 +++++++ test/scripts/components/video-property.test.js | 2 +- test/scripts/components/web-event.test.js | 22 ++- test/scripts/dom.test.js | 98 ---------- .../scripts/modules/animation-translate.test.js | 5 +- test/scripts/modules/clipboard-event.test.js | 5 +- test/scripts/modules/dom-common.test.js | 36 ++++ test/scripts/modules/dom-update.test.js | 51 +++++ test/scripts/modules/gesture-longpress.test.js | 5 +- test/scripts/modules/modal-event.test.js | 18 +- test/scripts/modules/navigator-event.test.js | 51 +++++ test/scripts/modules/picker-event.test.js | 9 +- test/scripts/modules/stream-result.test.js | 20 +- test/scripts/modules/viewport-basic.test.js | 45 +++++ test/scripts/util.js | 37 ++++ 148 files changed, 3790 insertions(+), 1046 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1769f7c3/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1769f7c3/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1769f7c3/android/sdk/src/main/java/com/taobao/weex/common/Constants.java ---------------------------------------------------------------------- diff --cc android/sdk/src/main/java/com/taobao/weex/common/Constants.java index 1e1ad86,4be1f28..1aff022 --- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java +++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java @@@ -180,23 -180,9 +180,25 @@@ public class Constants String NORMAL = "normal"; String ARIA_LABEL = "ariaLabel"; String ARIA_HIDDEN = "ariaHidden"; - String UNDEFINED = "undefined"; + + interface Recycler{ + String LIST_DATA = "listData"; + String LIST_DATA_ITEM ="alias"; + String LIST_DATA_ITEM_INDEX = "index"; + String LIST_DATA_TEMPLATE_KEY = "templateKey"; + String SLOT_TEMPLATE_TYPE = "templateType"; + String LIST_DATA_ITEM_ID = "itemId"; + String CELL_INDEX = "cellIndex"; + String TYPE_INDEX = "typeIndex"; + String APPEND = "append"; + String UPDATE_CELL = "updateCell"; + } + + + String VIF_FALSE = "ifFalse"; ++ String UNDEFINED = "undefined"; + String FLAT = "flat"; } public interface Value { http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1769f7c3/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1769f7c3/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1769f7c3/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java ---------------------------------------------------------------------- diff --cc android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java index 8dda086,f6fe78d..9e71f19 --- 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 @@@ -660,7 -721,7 +721,7 @@@ public abstract class BasicListComponen /** * RecyclerView manage its children in a way that different from {@link WXVContainer}. Therefore, * {@link WXVContainer#addSubView(View, int)} is an empty implementation in {@link -- * com.taobao.weex.ui.view.listview.WXRecyclerView} ++ * WXRecyclerView} */ @Override protected void addSubView(View child, int index) { @@@ -669,7 -730,7 +730,7 @@@ /** * Remove the child from list. This method will use {@link -- * java.util.List#indexOf(Object)} to retrieve the component to be deleted. Like {@link ++ * List#indexOf(Object)} to retrieve the component to be deleted. Like {@link * #addChild(WXComponent)}, this method will not refresh the view immediately, the adapter will * decide when to refresh. * http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1769f7c3/android/sdk/src/main/java/com/taobao/weex/ui/component/list/WXCell.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1769f7c3/android/sdk/src/main/java/com/taobao/weex/utils/WXUtils.java ----------------------------------------------------------------------