From 406d1f0ce9867343a6e0662fa52d6cb63a5fd40d Mon Sep 17 00:00:00 2001 From: YorkShen Date: Wed, 15 May 2019 21:10:53 +0800 Subject: [PATCH] Pass options to c++ --- .../taobao/weex/bridge/WXBridgeManager.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) 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 c3dd63f710..d6499e16fe 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 @@ -1576,12 +1576,14 @@ private void invokeCreateInstance(@NonNull WXSDKInstance instance, Script templa WXJSObject optionsObj = new WXJSObject(WXJSObject.JSON, options == null ? "{}" : WXJsonUtils.fromObjectToJSONString(options)); - optionsObj = optionObjConvert(isSandBoxContext, type, optionsObj); + optionsObj = optionObjConvert(isSandBoxContext, type, instance.getRenderStrategy(), optionsObj); WXJSObject dataObj = new WXJSObject(WXJSObject.JSON, data == null ? "{}" : data); WXJSObject apiObj; - if (type == BundType.Rax || instance.getRenderStrategy() == WXRenderStrategy.DATA_RENDER) { + if (type == BundType.Rax || + instance.getRenderStrategy() == WXRenderStrategy.DATA_RENDER || + instance.getRenderStrategy() == WXRenderStrategy.DATA_RENDER_BINARY) { if (mRaxApi == null) { IWXJsFileLoaderAdapter iwxJsFileLoaderAdapter = WXSDKEngine.getIWXJsFileLoaderAdapter(); if(iwxJsFileLoaderAdapter != null) { @@ -1659,8 +1661,8 @@ private void invokeCreateInstance(@NonNull WXSDKInstance instance, Script templa } } - public WXJSObject optionObjConvert(boolean useSandBox, BundType type, WXJSObject opt) { - if (!useSandBox || type == BundType.Others) { + public WXJSObject optionObjConvert(boolean useSandBox, BundType type, WXRenderStrategy renderStrategy, WXJSObject opt){ + if (!useSandBox || (type == BundType.Others && renderStrategy != WXRenderStrategy.DATA_RENDER && renderStrategy != WXRenderStrategy.DATA_RENDER_BINARY )) { return opt; } try { @@ -1689,7 +1691,18 @@ public WXJSObject optionObjConvert(boolean useSandBox, BundType type, WXJSObject e.printStackTrace(); } return opt; + } + /** + * Use {@link #optionObjConvert(boolean, BundType, WXRenderStrategy, WXJSObject)} instead + * @param useSandBox + * @param type + * @param opt + * @return + */ + @Deprecated + public WXJSObject optionObjConvert(boolean useSandBox, BundType type, WXJSObject opt) { + return optionObjConvert(useSandBox, type, null, opt); } /**