Skip to content

Commit

Permalink
[data-render] qking-engine in data-render rax mode
Browse files Browse the repository at this point in the history
Squashed commit of the following:

commit bc0ee1492bdbe9789170ff100b8059b44773aa76
Author: xujc <hpop1994@163.com>
Date:   Thu Dec 20 11:53:13 2018 +0800

    [data-render] update qking so

commit 9c3f34cc355a79abadec266b4da575aab5ad0824
Author: pingyi.xjc <hpop1994@163.com>
Date:   Wed Dec 19 23:09:46 2018 +0800

    [data-render] fix append string to vnode

commit 701032819bc9142cf066d1fef63db151be89477a
Author: pingyi.xjc <hpop1994@163.com>
Date:   Wed Dec 19 22:17:03 2018 +0800

    [data-render] fix qking event err

commit f2aa3cb738a8fe4a3bc5c9ca8d1303eba9de2c90
Merge: 3979ef911 6715a09ee
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 19:12:07 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into develop-data-render-script

    * 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex:
      [data-render] android qking using release so

commit 3979ef911904bdfb09e449158121f46239580e7f
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 19:11:48 2018 +0800

    [core] add Qking.framework for building

commit 6715a09eed71d954ce5f0792d75b2a948141cd2d
Author: pingyi.xjc <hpop1994@163.com>
Date:   Wed Dec 19 18:10:43 2018 +0800

    [data-render] android qking using release so

commit e6b1612cd5648c718e104e989afebd6df726ea89
Merge: a41a9b212 3fef88487
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 18:10:32 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into develop-data-render-script

    * 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex:
      [data-render] android qking support
      [data-render] android qking support

commit a41a9b21217982d551664db80b33e3e1a6bce8d3
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 18:10:26 2018 +0800

    [core] remove podfile

commit 3fef88487a5afed2487915ba07144444ec066c0f
Author: pingyi.xjc <hpop1994@163.com>
Date:   Wed Dec 19 16:56:40 2018 +0800

    [data-render] android qking support

commit 9939c20dd034d0cd1abe0d5cf85fe30f008fe657
Author: pingyi.xjc <hpop1994@163.com>
Date:   Wed Dec 19 16:45:18 2018 +0800

    [data-render] android qking support

commit 31ff5e97e455b2f3af341f1b68c7a0788865a1b2
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 16:22:30 2018 +0800

    add Qking For playground

commit bb391fd263895d5a0553977da858542966e4f758
Merge: 710aa7ecb 8dc1efb
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 15:26:49 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into develop-data-render-script

    * 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex:
      * [Android] Add customPreprocess for APM
      [iOS] add CUSTOM_PREPROCESS record time
      * [Android] Use JSON instead of simple string compare to find bundleType. (apache#1927)
      * [Android] Update so
      [core] fix onAppear event can not exec
      [iOS] Fix bug with borderRadius's calculation. (apache#1929)
      [WEEX][Android] Bugfix java.lang.NullPointerException: println needs a message  at android.util.Log.println(Log.java:357)at com.taobao.weex.utils.WXLogUtils.log(WXLogUtils.java:80) (apache#1925)
      * [Android] record dataLength received from network. if time out exception, could help us fix issue quickly. (apache#1926)

commit 710aa7ecb3c2b77e63c40b5a2bb30fa6f3657b1e
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 15:26:41 2018 +0800

    add WeexSDK Building OK

commit 8dc1efb
Author: YorkShen <shenyuancs@gmail.com>
Date:   Wed Dec 19 15:03:18 2018 +0800

    * [Android] Add customPreprocess for APM

commit 47c8be3
Merge: 49a80bd 863c018
Author: jianhan-he <linghe1987@163.com>
Date:   Wed Dec 19 12:15:27 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into data_render_script_dev

commit 49a80bd
Author: jianhan-he <linghe1987@163.com>
Date:   Wed Dec 19 12:14:17 2018 +0800

    [iOS] add CUSTOM_PREPROCESS record time

commit 863c018
Merge: 0429019 2770fee
Author: YorkShen <shenyuancs@gmail.com>
Date:   Wed Dec 19 11:56:20 2018 +0800

    Merge branch 'master' into develop-data-render-script

    # Conflicts:
    #	android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java

commit 0429019
Author: YorkShen <shenyuancs@gmail.com>
Date:   Wed Dec 19 11:11:36 2018 +0800

    * [Android] Update so

commit f102f4b
Author: jianhan-he <linghe1987@163.com>
Date:   Wed Dec 19 10:06:21 2018 +0800

    [core] fix onAppear event can not exec

commit 8ff2c4159be23c950238c6839e37f8e0eaa0ca67
Merge: a14597b35 72f9b09
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 06:49:44 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into develop-data-render-script

    * 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex:
      [core] fix parent component bug

commit a14597b3535a4365a1c792bf6f1c5d9e5462ff20
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 06:49:37 2018 +0800

    qking OK

commit 8c4b45828efa8c0e7f155e6e326a05c82c2ee3b4
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 06:12:42 2018 +0800

    modify andriod interface

commit 13ebab64c30f91fd1242fe5597dbfc31f3fa7dee
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Wed Dec 19 06:07:09 2018 +0800

    modify qking interface

commit 72f9b09
Author: jianhan-he <linghe1987@163.com>
Date:   Wed Dec 19 02:25:16 2018 +0800

    [core] fix parent component bug

commit d739f302d65a2596052ca3ad6a2b88cc4d2a0a0f
Author: pengtao.pt <pengtao.pt@alibaba-inc.com>
Date:   Tue Dec 18 20:27:47 2018 +0800

    remove encoder && decoder

commit 45db48b
Author: YorkShen <shenyuancs@gmail.com>
Date:   Tue Dec 18 19:52:35 2018 +0800

    * [Android] Update libweexcore.so

commit dffc0ad
Merge: 8b33bc6 c0313b0
Author: fangxi.fx <fangxi.fx@alibaba-inc.com>
Date:   Tue Dec 18 14:13:46 2018 +0800

    Merge branch 'master' of https://github.com/apache/incubator-weex into develop-data-render-script

    * 'master' of https://github.com/apache/incubator-weex:
      [iOS] Fix `scrollStart` and `scrollEnd` can not be triggered when setting scroller's contentOffset
      * [Doc] Add mailing list (apache#1921)
      [iOS] Add WebSocket' implementation in playground's project. (apache#1922)
      [iOS] Add WebSocket' implementation in playground's project. (apache#1920)
      * [Android] Read weex version from command (apache#1919)
      [iOS] [BugFix] Fix remove active pseudo class doesn't work.
      [iOS] BugFix, slide.index is reset to zero when the view is out of window. It should be kept to the last show index.

commit 8b33bc6
Author: jianhan-he <linghe1987@163.com>
Date:   Mon Dec 17 21:53:25 2018 +0800

    [core] fix incorrect data this get from js

commit b92b1e7
Merge: ed441b8 cb44e2f
Author: 玉冈 <york.sy@alibaba-inc.com>
Date:   Mon Dec 17 11:14:08 2018 +0800

    Merge branch 'master' into 'develop-data-render-script'

    Merge master into develop-data-render-script

    See merge request !198263

commit ed441b8
Author: YorkShen <shenyuancs@gmail.com>
Date:   Fri Dec 14 12:31:38 2018 +0800

    * [Android] Update jsfm.js

commit 625ed22
Author: jianhan-he <linghe1987@163.com>
Date:   Fri Dec 14 11:45:54 2018 +0800

    [jsframework] updata jsframework to support get data

commit 2683f93
Author: YorkShen <shenyuancs@gmail.com>
Date:   Thu Dec 13 20:44:32 2018 +0800

    * [Android] Add libweexcore.so due to the malfunction of integration machine

commit 9e8ae8c
Merge: 66f3378 8e1499a
Author: jianhan-he <linghe1987@163.com>
Date:   Thu Dec 13 17:58:52 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into data_render_script_dev

commit 66f3378
Author: jianhan-he <linghe1987@163.com>
Date:   Thu Dec 13 17:48:47 2018 +0800

    [core] fix crash when root_node is null

commit 2046041
Author: jianhan-he <linghe1987@163.com>
Date:   Thu Dec 13 16:13:05 2018 +0800

    [iOS] support bundleUrl on eagle

commit 8e1499a
Merge: 411ffeb 491cc95
Author: YorkShen <shenyuancs@gmail.com>
Date:   Thu Dec 13 15:29:32 2018 +0800

    Merge branch 'master' into develop-data-render-script

    # Conflicts:
    #	WeexSDK.podspec
    #	android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
    #	weex_core/Source/core/data_render/vnode/vnode_exec_env.cc

commit 411ffeb
Author: jianhan-he <linghe1987@163.com>
Date:   Thu Dec 13 14:08:41 2018 +0800

    [iOS] fix data null error

commit 2be6d17
Author: jianhan-he <linghe1987@163.com>
Date:   Thu Dec 13 11:30:03 2018 +0800

    [core] support js file cache

commit b105cf4
Merge: 91a917f 49d4235
Author: jianhan-he <linghe1987@163.com>
Date:   Thu Dec 13 11:24:23 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into data_render_script_dev

commit 91a917f
Author: jianhan-he <linghe1987@163.com>
Date:   Thu Dec 13 11:21:54 2018 +0800

    [core] fix bool type equre operator error

commit 49d4235
Author: YorkShen <shenyuancs@gmail.com>
Date:   Wed Dec 12 21:15:13 2018 +0800

    * [Android] Update libweexjss for updateComponentData.

commit b7ca0d8
Author: jianhan-he <linghe1987@163.com>
Date:   Wed Dec 12 16:11:55 2018 +0800

    [core] fix crash when data array are null on eagle

commit 778165a
Author: jianhan-he <linghe1987@163.com>
Date:   Wed Dec 12 14:26:40 2018 +0800

    [core] fix crash when data is null on eagle

commit 09de7ad
Author: jianhan-he <linghe1987@163.com>
Date:   Tue Dec 11 19:38:01 2018 +0800

    [core] fix click event error on eagle

commit 5e5d731
Merge: 3d7b4af 33dec8d
Author: jianhan-he <linghe1987@163.com>
Date:   Tue Dec 11 12:28:16 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into data_render_script_dev

commit 3d7b4af
Author: jianhan-he <linghe1987@163.com>
Date:   Tue Dec 11 12:20:04 2018 +0800

    [iOS] update js framework

commit 33dec8d
Merge: d8c4ad9 d4d1aa2
Author: 玉冈 <york.sy@alibaba-inc.com>
Date:   Mon Dec 10 16:06:22 2018 +0800

    Merge branch 'master' into 'develop-data-render-script'

    Merge Master to develop-data-render-script

    See merge request !190634

commit d8c4ad9
Merge: cc4f8f6 dcc34f2
Author: jianhan-he <linghe1987@163.com>
Date:   Mon Dec 10 15:40:31 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into data_render_script_dev

commit cc4f8f6
Author: jianhan-he <linghe1987@163.com>
Date:   Mon Dec 10 15:37:55 2018 +0800

    [core] support javascript binding on iOS

commit dcc34f2
Author: YorkShen <shenyuancs@gmail.com>
Date:   Mon Dec 10 15:30:26 2018 +0800

    * [Android] Update URL render rule

    1. __data_render==true for WXRenderStrategy.DATA_RENDER
    2. __eagle==true for WXRenderStrategy.DATA_RENDER_BINARY
    3. others for WXRenderStrategy.APPEND_ASYNC

commit f542d76
Merge: 0f21755 374dc3b
Author: yxping <yxpflyman@gmail.com>
Date:   Thu Nov 29 21:37:55 2018 +0800

    Merge remote-tracking branch 'github/master' into develop-data-render-script

commit 0f21755
Merge: 5cf90a9 a49f83a
Author: yxping <yxpflyman@gmail.com>
Date:   Thu Nov 29 17:44:36 2018 +0800

    Merge remote-tracking branch 'github/master' into develop-data-render-script

commit 5cf90a9
Author: yxping <yxpflyman@gmail.com>
Date:   Thu Nov 29 15:00:05 2018 +0800

    [Android] fix boxshadow not change size when view size changed

commit 8012cbf
Author: yxping <yxpflyman@gmail.com>
Date:   Thu Nov 29 14:18:11 2018 +0800

    [Android] do not set the same text repeatedly

commit 941b9ab
Author: yxping <yxpflyman@gmail.com>
Date:   Thu Nov 29 14:15:26 2018 +0800

    [Android] fix update styles bug when only border change

commit dda2359
Author: yxping <yxpflyman@gmail.com>
Date:   Thu Nov 29 12:30:04 2018 +0800

    [eagle] fix bugs

commit 66998fe
Author: yxping <yxpflyman@gmail.com>
Date:   Thu Nov 29 12:27:43 2018 +0800

    [eagle] support binding style and computed

commit ff165ef
Author: yxping <yxpflyman@gmail.com>
Date:   Mon Nov 19 21:46:43 2018 +0800

    [core][eagle] support httpmodule in android

commit 34a9fec
Author: yxping <yxpflyman@gmail.com>
Date:   Mon Nov 19 20:41:13 2018 +0800

    [Android] make WXHttpListener be in common use

commit b9c847b
Author: jianhan-he <linghe1987@163.com>
Date:   Tue Nov 13 11:46:03 2018 +0800

    [iOS] fix weexsdk compile error

commit 724bcf5
Author: jianhan-he <linghe1987@163.com>
Date:   Tue Nov 13 11:34:10 2018 +0800

    [iOS] fix weexsdk compile error

commit 9a40175
Merge: 9b3acb4 7cda3b1
Author: jianhan-he <linghe1987@163.com>
Date:   Tue Nov 13 09:51:47 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into data-render-script

commit 9b3acb4
Author: jianhan-he <linghe1987@163.com>
Date:   Tue Nov 13 09:50:29 2018 +0800

    [iOS] add requestHandle to download js

commit 7cda3b1
Author: yxping <yxpflyman@gmail.com>
Date:   Sun Nov 11 23:10:57 2018 +0800

    [eagle] fix repeat bug

commit 13a0bbb
Author: yxping <yxpflyman@gmail.com>
Date:   Sun Nov 11 19:12:56 2018 +0800

    [core][eagle] fix event params

commit d306455
Author: jianhan-he <linghe1987@163.com>
Date:   Sun Nov 11 20:08:07 2018 +0800

    [core] add http_module

commit 0c685a3
Merge: 407945a 2408aaa
Author: jianhan-he <linghe1987@163.com>
Date:   Sun Nov 11 16:23:12 2018 +0800

    Merge branch 'develop-data-render-script' of gitlab.alibaba-inc.com:weex/weex into data-render-script

commit 407945a
Author: jianhan-he <linghe1987@163.com>
Date:   Sun Nov 11 16:21:49 2018 +0800

    [iOS] add createinstance to execute js

commit 2408aaa
Author: yxping <yxpflyman@gmail.com>
Date:   Sat Nov 10 15:50:16 2018 +0800

    [core][eagle] fix codegen prefix invalid problem

commit eb0220b
Author: jianhan-he <linghe1987@163.com>
Date:   Sat Nov 10 22:37:03 2018 +0800

    [iOS] add js binding on iOS

commit 38b88ee
Author: yxping <yxpflyman@gmail.com>
Date:   Fri Nov 9 19:39:11 2018 +0800

    [core][data_render] support event

commit ad24674
Author: yxping <yxpflyman@gmail.com>
Date:   Thu Nov 8 19:18:46 2018 +0800

    [core][data_render] support vcomponent lifecycle and update from js

commit 1ca818e
Author: yxping <yxpflyman@gmail.com>
Date:   Thu Nov 8 18:19:13 2018 +0800

    [core][data_render] support value array of attr parser

commit 4da4a58
Author: yxping <yxpflyman@gmail.com>
Date:   Tue Nov 6 23:51:34 2018 +0800

    [core][data_render] add event support

commit 75db0d1
Author: yxping <yxpflyman@gmail.com>
Date:   Mon Nov 5 17:29:32 2018 +0800

    [core][data_render] support class binding

commit 257cdcd
Author: yxping <yxpflyman@gmail.com>
Date:   Fri Nov 2 18:10:48 2018 +0800

    [core] support component ref finder

commit e7e2abd
Author: yxping <yxpflyman@gmail.com>
Date:   Fri Nov 2 18:02:39 2018 +0800

    [core] add vcomponent diff
  • Loading branch information
hpop1994 committed Dec 20, 2018
1 parent a11a9dc commit d3a68a6
Show file tree
Hide file tree
Showing 54 changed files with 2,467 additions and 6,388 deletions.
Binary file not shown.
469 changes: 0 additions & 469 deletions android/playground/app/src/main/assets/lite_template/case.js

This file was deleted.

446 changes: 446 additions & 0 deletions android/playground/app/src/main/assets/lite_template/test.js

Large diffs are not rendered by default.

43 changes: 43 additions & 0 deletions android/playground/app/src/main/assets/lite_template/test.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"model": {
"info": {
"bottomLinkUrl":
"https://market.m.taobao.com/apps/abs/9/41/index?wh_weex=true&pageId=6273&wx_navbar_hidden=true&wx_navbar_transparent=true&tabString=feeds&accountId=2422582364",
"subTitle":
"夏季外出旅游,一款复古甜美的连衣裙能带给你愉悦的着装体验,冷淡风格清新自然,带有一丝丝的田野气息,唯美动人。",
"mainTitle": "连衣裙美从仙中来,小身板女生穿起来!",
"contentId": "200754512151",
"topLinkUrl":
"http://market.m.taobao.com/apps/market/content/index.html?contentId=200754512151",
"wfPic":
"//img.alicdn.com/tfscom/i4/261009757/TB2VmAtteuSBuNjy1XcXXcYjFXa_!!261009757.jpg",
"pics": [
"//img.alicdn.com/tfscom/i4/261009757/TB2VmAtteuSBuNjy1XcXXcYjFXa_!!261009757.jpg",
"//img.alicdn.com/tfscom/i2/261009757/TB2BzKrd7yWBuNjy0FpXXassXXa_!!261009757.jpg",
"//img.alicdn.com/tfscom/i4/261009757/TB22M3RiiCYBuNkHFCcXXcHtVXa_!!261009757.jpg",
"//img.alicdn.com/tfscom/i2/261009757/TB2LFMmqFXXXXXaXFXXXXXXXXXX_!!261009757.jpg"
],
"bottomText": "搭配in时尚",
"bottomIcons": [
"//img.alicdn.com/imgextra/i3/2751477147/TB2bgawXdqUQKJjSZFIXXcOkFXa_!!2751477147-0-beehive-scenes.jpg",
"//img.alicdn.com/imgextra/i3/2751477147/TB2bgawXdqUQKJjSZFIXXcOkFXa_!!2751477147-0-beehive-scenes.jpg",
"//img.alicdn.com/imgextra/i3/2751477147/TB2bgawXdqUQKJjSZFIXXcOkFXa_!!2751477147-0-beehive-scenes.jpg",
"//img.alicdn.com/imgextra/i3/2751477147/TB2bgawXdqUQKJjSZFIXXcOkFXa_!!2751477147-0-beehive-scenes.jpg"
],
"bizIcon": {
"url":
"https://gw.alicdn.com/tfs/TB1363FheSSBuNjy0FlXXbBpVXa-78-36.png",
"width": 72,
"height": 36
},
"picText1": "买家秀",
"picText2": "+10086"
},
"tItemType": "wx_flow_post_choiceness",
"position": "5",
"pos": 7
},
"status": {
"layoutStyle": 0
}
}
Binary file not shown.

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion android/sdk/assets/weex-main-jsfm.js

Large diffs are not rendered by default.

Binary file added android/sdk/libs/armeabi-v7a/libqking-core.so
Binary file not shown.
Binary file added android/sdk/libs/armeabi/libqking-core.so
Binary file not shown.
Binary file added android/sdk/libs/x86/libqking-core.so
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ public class WXBridge implements IWXBridge {

public native void nativeFireEventOnDataRenderNode(String instanceId, String ref, String type, String data, String domChanges);

public native void nativeInvokeCallbackOnDataRender(String instanceId, String callbackId, String data, boolean keepAlive);

public native void nativeRegisterModuleOnDataRenderNode( String data);

private native void nativeTakeHeapSnapshot(String filename);
Expand Down Expand Up @@ -714,6 +716,10 @@ public void fireEventOnDataRenderNode(String instanceId, String ref, String type
nativeFireEventOnDataRenderNode(instanceId,ref,type,data, domChanges);
}

public void invokeCallbackOnDataRender(String instanceId, String callbackId, String data, boolean keepAlive) {
nativeInvokeCallbackOnDataRender(instanceId,callbackId,data, keepAlive);
}

public void registerModuleOnDataRenderNode(String data) {
nativeRegisterModuleOnDataRenderNode(data);
}
Expand Down
107 changes: 72 additions & 35 deletions android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
*/
package com.taobao.weex.bridge;

import static com.taobao.weex.bridge.WXModuleManager.createDomModule;

import android.content.Context;
import android.net.Uri;
import android.os.Build;
Expand All @@ -33,6 +31,8 @@
import android.support.v4.util.ArrayMap;
import android.text.TextUtils;
import android.util.Log;
import android.util.Pair;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
Expand All @@ -44,38 +44,12 @@
import com.taobao.weex.adapter.IWXJSExceptionAdapter;
import com.taobao.weex.adapter.IWXJsFileLoaderAdapter;
import com.taobao.weex.adapter.IWXUserTrackAdapter;
import com.taobao.weex.common.IWXBridge;
import com.taobao.weex.common.IWXDebugConfig;
import com.taobao.weex.common.WXConfig;
import com.taobao.weex.common.WXErrorCode;
import com.taobao.weex.common.WXException;
import com.taobao.weex.common.WXJSBridgeMsgType;
import com.taobao.weex.common.WXJSExceptionInfo;
import com.taobao.weex.common.WXRefreshData;
import com.taobao.weex.common.WXRenderStrategy;
import com.taobao.weex.common.WXRuntimeException;
import com.taobao.weex.common.WXThread;
import com.taobao.weex.common.*;
import com.taobao.weex.dom.CSSShorthand;
import com.taobao.weex.layout.ContentBoxMeasurement;
import com.taobao.weex.performance.WXInstanceApm;
import com.taobao.weex.ui.WXComponentRegistry;
import com.taobao.weex.ui.action.ActionReloadPage;
import com.taobao.weex.ui.action.BasicGraphicAction;
import com.taobao.weex.ui.action.GraphicActionAddElement;
import com.taobao.weex.ui.action.GraphicActionAddEvent;
import com.taobao.weex.ui.action.GraphicActionAppendTreeCreateFinish;
import com.taobao.weex.ui.action.GraphicActionCreateBody;
import com.taobao.weex.ui.action.GraphicActionCreateFinish;
import com.taobao.weex.ui.action.GraphicActionLayout;
import com.taobao.weex.ui.action.GraphicActionMoveElement;
import com.taobao.weex.ui.action.GraphicActionRefreshFinish;
import com.taobao.weex.ui.action.GraphicActionRemoveElement;
import com.taobao.weex.ui.action.GraphicActionRemoveEvent;
import com.taobao.weex.ui.action.GraphicActionRenderSuccess;
import com.taobao.weex.ui.action.GraphicActionUpdateAttr;
import com.taobao.weex.ui.action.GraphicActionUpdateStyle;
import com.taobao.weex.ui.action.GraphicPosition;
import com.taobao.weex.ui.action.GraphicSize;
import com.taobao.weex.ui.action.*;
import com.taobao.weex.ui.component.WXComponent;
import com.taobao.weex.ui.module.WXDomModule;
import com.taobao.weex.utils.WXExceptionUtils;
Expand All @@ -87,6 +61,7 @@
import com.taobao.weex.utils.WXWsonJSONSwitch;
import com.taobao.weex.utils.batch.BactchExecutor;
import com.taobao.weex.utils.batch.Interceptor;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
Expand All @@ -110,6 +85,8 @@
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;

import static com.taobao.weex.bridge.WXModuleManager.createDomModule;

/**
* Manager class for communication between JavaScript and Android.
* <ol>
Expand Down Expand Up @@ -1260,8 +1237,39 @@ void callbackJavascript(final String instanceId, final String callback,
return;
}

addJSTask(METHOD_CALLBACK, instanceId, callback, data, keepAlive);
sendMessage(instanceId, WXJSBridgeMsgType.CALL_JS_BATCH);
WXSDKInstance instance = WXSDKManager.getInstance().getAllInstanceMap().get(instanceId);
if (instance != null && (instance.getRenderStrategy() == WXRenderStrategy.DATA_RENDER_BINARY)) {
callbackJavascriptOnDataRender(instanceId, callback, data, keepAlive);
} else {
addJSTask(METHOD_CALLBACK, instanceId, callback, data, keepAlive);
sendMessage(instanceId, WXJSBridgeMsgType.CALL_JS_BATCH);
}
}

void callbackJavascriptOnDataRender(final String instanceId, final String callback, final Object data, final boolean keepAlive){
mJSHandler.postDelayed(WXThread.secure(new Runnable() {
@Override
public void run() {
try {
long start = System.currentTimeMillis();
String data_str = JSON.toJSONString(data);
if (WXEnvironment.isApkDebugable()) {
WXLogUtils.d("callbackJavascriptOnDataRender >>>> instanceId:" + instanceId
+ ", data:" + data_str);
}
if (mWXBridge instanceof WXBridge) {
((WXBridge) mWXBridge).invokeCallbackOnDataRender(instanceId, callback,data_str ,keepAlive);
}
WXLogUtils.renderPerformanceLog("callbackJavascriptOnDataRender", System.currentTimeMillis() - start);
} catch (Throwable e) {
String err = "[WXBridgeManager] callbackJavascriptOnDataRender " + WXLogUtils.getStackTrace(e);
WXExceptionUtils.commitCriticalExceptionRT(instanceId,
WXErrorCode.WX_KEY_EXCEPTION_INVOKE_BRIDGE, "callbackJavascriptOnDataRender",
err, null);
WXLogUtils.e(err);
}
}
}), 0);
}

/**
Expand Down Expand Up @@ -1719,9 +1727,19 @@ public void invokeExecJS(String instanceId, String namespace, String function,
WXLogUtils.d(mLodBuilder.substring(0));
mLodBuilder.setLength(0);
}
final long start = System.currentTimeMillis();
mWXBridge.execJS(instanceId, namespace, function, args);
WXSDKInstance instance = WXSDKManager.getInstance().getSDKInstance(instanceId);
final long start = System.currentTimeMillis(); WXSDKInstance instance = WXSDKManager.getInstance().getSDKInstance(instanceId);
if (instance != null && (instance.getRenderStrategy() == WXRenderStrategy.DATA_RENDER_BINARY)) {
Pair<Object,Boolean> data = null;
if(args.length!=2 || !(args[0].data instanceof String)
|| !(args[1].data instanceof String)
|| (data = extractCallbackArgs((String) args[1].data))==null){
WXLogUtils.w("invokeExecJS on data render that is not a callback call");
return;
}
callbackJavascriptOnDataRender(instanceId, (String) args[0].data, data.first, data.second);
} else {
mWXBridge.execJS(instanceId, namespace, function, args);
}
if (null != instance){
long diff = System.currentTimeMillis()-start;
instance.getApmForInstance().updateFSDiffStats(WXInstanceApm.KEY_PAGE_STATS_FS_CALL_JS_NUM,1);
Expand All @@ -1730,6 +1748,25 @@ public void invokeExecJS(String instanceId, String namespace, String function,
}
}

private Pair<Object,Boolean> extractCallbackArgs(String data) {
try {
JSONArray obj = JSON.parseArray(data);
JSONObject arg_obj = obj.getJSONObject(0);
JSONArray args = arg_obj.getJSONArray("args");
if (args.size()!=3){
return null;
}
String method = arg_obj.getString("method");
if (!"callback".equals(method)){
return null;
}

return new Pair<Object, Boolean>(args.getJSONObject(1),args.getBooleanValue(2));
} catch (Exception e) {
return null;
}
}

public int invokeCreateInstanceContext(String instanceId, String namespace, String function,
WXJSObject[] args, boolean logTaskDetail) {
WXLogUtils.d("invokeCreateInstanceContext instanceId:" + instanceId + " function:"
Expand Down
2 changes: 1 addition & 1 deletion ios/playground/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ def common
pod 'SDWebImage', '3.7.5'
pod 'SocketRocket', '0.4.2'
pod 'ATSDK-Weex', '0.0.1',:configurations => ['Debug']

pod 'Qking', '1.0.1.6'
# WeexGcanvas is added by Weex Plugin, more info at https://market.dotwe.org/ext/list.htm
#pod 'WeexGcanvas'
end
Expand Down
Loading

0 comments on commit d3a68a6

Please sign in to comment.