[
https://issues.apache.org/jira/browse/WEEX-628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16625406#comment-16625406
]
ASF GitHub Bot commented on WEEX-628:
-------------------------------------
YorkShen closed pull request #1568: [WEEX-628][Android] add jsframework load
adapter
URL: https://github.com/apache/incubator-weex/pull/1568
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/android/sdk/src/main/java/com/taobao/weex/InitConfig.java
b/android/sdk/src/main/java/com/taobao/weex/InitConfig.java
index 30f907d711..219cc02409 100644
--- a/android/sdk/src/main/java/com/taobao/weex/InitConfig.java
+++ b/android/sdk/src/main/java/com/taobao/weex/InitConfig.java
@@ -23,6 +23,7 @@
import com.taobao.weex.adapter.IWXHttpAdapter;
import com.taobao.weex.adapter.IWXImgLoaderAdapter;
import com.taobao.weex.adapter.IWXJSExceptionAdapter;
+import com.taobao.weex.adapter.IWXJsFileLoaderAdapter;
import com.taobao.weex.adapter.IWXSoLoaderAdapter;
import com.taobao.weex.adapter.IWXUserTrackAdapter;
import com.taobao.weex.adapter.URIAdapter;
@@ -46,6 +47,7 @@
private String framework;
private ClassLoaderAdapter classLoaderAdapter;
private IApmGenerator apmGenerater;
+ private IWXJsFileLoaderAdapter jsFileLoaderAdapter;
public IWXHttpAdapter getHttpAdapter() {
return httpAdapter;
@@ -91,6 +93,10 @@ public IApmGenerator getApmGenerater() {
return apmGenerater;
}
+ public IWXJsFileLoaderAdapter getJsFileLoaderAdapter() {
+ return jsFileLoaderAdapter;
+ }
+
public InitConfig setClassLoaderAdapter(ClassLoaderAdapter
classLoaderAdapter) {
this.classLoaderAdapter = classLoaderAdapter;
return this;
@@ -116,6 +122,7 @@ private InitConfig() {
IWebSocketAdapterFactory webSocketAdapterFactory;
ClassLoaderAdapter classLoaderAdapter;
IApmGenerator apmGenerater;
+ private IWXJsFileLoaderAdapter jsFileLoaderAdapter;
public Builder(){
@@ -181,6 +188,11 @@ public Builder setApmGenerater(IApmGenerator apmGenerater){
return this;
}
+ public Builder setJsFileLoaderAdapter(IWXJsFileLoaderAdapter
jsFileLoaderAdapter) {
+ this.jsFileLoaderAdapter = jsFileLoaderAdapter;
+ return this;
+ }
+
public InitConfig build(){
InitConfig config = new InitConfig();
config.httpAdapter = this.httpAdapter;
@@ -195,6 +207,7 @@ public InitConfig build(){
config.mJSExceptionAdapter=this.mJSExceptionAdapter;
config.classLoaderAdapter = this.classLoaderAdapter;
config.apmGenerater = this.apmGenerater;
+ config.jsFileLoaderAdapter = this.jsFileLoaderAdapter;
return config;
}
}
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
index b777bdfa4f..31682e676f 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
@@ -29,6 +29,7 @@
import com.taobao.weex.adapter.IWXHttpAdapter;
import com.taobao.weex.adapter.IWXImgLoaderAdapter;
import com.taobao.weex.adapter.IWXJSExceptionAdapter;
+import com.taobao.weex.adapter.IWXJsFileLoaderAdapter;
import com.taobao.weex.adapter.IWXUserTrackAdapter;
import com.taobao.weex.appfram.clipboard.WXClipboardModule;
import com.taobao.weex.appfram.navigator.IActivityNavBarSetter;
@@ -562,6 +563,10 @@ public static IWXStorageAdapter getIWXStorageAdapter() {
}
+ public static IWXJsFileLoaderAdapter getIWXJsFileLoaderAdapter() {
+ return WXSDKManager.getInstance().getIWXJsFileLoaderAdapter();
+ }
+
public static IActivityNavBarSetter getActivityNavBarSetter() {
return WXSDKManager.getInstance().getActivityNavBarSetter();
}
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKManager.java
b/android/sdk/src/main/java/com/taobao/weex/WXSDKManager.java
index afe73d28b2..d530bd443b 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKManager.java
@@ -33,6 +33,7 @@
import com.taobao.weex.adapter.IWXHttpAdapter;
import com.taobao.weex.adapter.IWXImgLoaderAdapter;
import com.taobao.weex.adapter.IWXJSExceptionAdapter;
+import com.taobao.weex.adapter.IWXJsFileLoaderAdapter;
import com.taobao.weex.adapter.IWXSoLoaderAdapter;
import com.taobao.weex.adapter.IWXUserTrackAdapter;
import com.taobao.weex.adapter.URIAdapter;
@@ -82,6 +83,7 @@
private IWXAccessibilityRoleAdapter mRoleAdapter;
private List<IWXAnalyzer> mWXAnalyzerList;
private IApmGenerator mApmGenerater;
+ private IWXJsFileLoaderAdapter mWXJsFileLoaderAdapter;
private ICrashInfoReporter mCrashInfo;
@@ -325,6 +327,10 @@ public IWXImgLoaderAdapter getIWXImgLoaderAdapter() {
return mIWXImgLoaderAdapter;
}
+ public IWXJsFileLoaderAdapter getIWXJsFileLoaderAdapter() {
+ return mWXJsFileLoaderAdapter;
+ }
+
public IDrawableLoader getDrawableLoader() {
return mDrawableLoader;
}
@@ -392,6 +398,7 @@ void setInitConfig(InitConfig config){
this.mIWXSoLoaderAdapter = config.getIWXSoLoaderAdapter();
this.mClassLoaderAdapter = config.getClassLoaderAdapter();
this.mApmGenerater = config.getApmGenerater();
+ this.mWXJsFileLoaderAdapter = config.getJsFileLoaderAdapter();
}
public IWXStorageAdapter getIWXStorageAdapter(){
diff --git
a/android/sdk/src/main/java/com/taobao/weex/adapter/IWXJsFileLoaderAdapter.java
b/android/sdk/src/main/java/com/taobao/weex/adapter/IWXJsFileLoaderAdapter.java
new file mode 100644
index 0000000000..d1173ef7e9
--- /dev/null
+++
b/android/sdk/src/main/java/com/taobao/weex/adapter/IWXJsFileLoaderAdapter.java
@@ -0,0 +1,7 @@
+package com.taobao.weex.adapter;
+
+public interface IWXJsFileLoaderAdapter {
+ String loadRaxApi();
+ String loadJsFramework();
+ String loadJsFrameworkForSandBox();
+}
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 f997d1b880..8d5054b936 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
@@ -41,6 +41,7 @@
import com.taobao.weex.WXSDKInstance;
import com.taobao.weex.WXSDKManager;
import com.taobao.weex.adapter.IWXJSExceptionAdapter;
+import com.taobao.weex.adapter.IWXJsFileLoaderAdapter;
import com.taobao.weex.adapter.IWXUserTrackAdapter;
import com.taobao.weex.common.*;
import com.taobao.weex.dom.CSSShorthand;
@@ -1442,7 +1443,14 @@ private void invokeCreateInstance(@NonNull WXSDKInstance
instance, Script templa
WXJSObject apiObj;
if (type == BundType.Rax) {
if (mRaxApi == null) {
- mRaxApi = WXFileUtils.loadAsset("weex-rax-api.js",
WXEnvironment.getApplication());
+ IWXJsFileLoaderAdapter iwxJsFileLoaderAdapter =
WXSDKEngine.getIWXJsFileLoaderAdapter();
+ if(iwxJsFileLoaderAdapter != null) {
+ mRaxApi = iwxJsFileLoaderAdapter.loadRaxApi();
+ }
+
+ if(TextUtils.isEmpty(mRaxApi)) {
+ mRaxApi = WXFileUtils.loadAsset("weex-rax-api.js",
WXEnvironment.getApplication());
+ }
}
apiObj = new WXJSObject(WXJSObject.String,
mRaxApi);
@@ -1798,10 +1806,25 @@ private void initFramework(String framework) {
// if (WXEnvironment.isApkDebugable()) {
WXLogUtils.d("weex JS framework from assets");
// }
+
+ IWXJsFileLoaderAdapter wxJsFileLoaderAdapter =
WXSDKEngine.getIWXJsFileLoaderAdapter();
+
if (!isSandBoxContext) {
- framework = WXFileUtils.loadAsset("main.js",
WXEnvironment.getApplication());
+ if(wxJsFileLoaderAdapter != null) {
+ framework = wxJsFileLoaderAdapter.loadJsFramework();
+ }
+
+ if(TextUtils.isEmpty(framework)) {
+ framework = WXFileUtils.loadAsset("main.js",
WXEnvironment.getApplication());
+ }
} else {
- framework = WXFileUtils.loadAsset("weex-main-jsfm.js",
WXEnvironment.getApplication());
+ if(wxJsFileLoaderAdapter != null) {
+ framework = wxJsFileLoaderAdapter.loadJsFrameworkForSandBox();
+ }
+
+ if(TextUtils.isEmpty(framework)) {
+ framework = WXFileUtils.loadAsset("weex-main-jsfm.js",
WXEnvironment.getApplication());
+ }
}
sInitFrameWorkMsg.append("| weex JS framework from assets,
isSandBoxContext: ").append(isSandBoxContext);
}
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> add jsframework load adapter
> ----------------------------
>
> Key: WEEX-628
> URL: https://issues.apache.org/jira/browse/WEEX-628
> Project: Weex
> Issue Type: Improvement
> Components: Android
> Affects Versions: 0.18
> Reporter: Yayun Dong
> Assignee: YorkShen
> Priority: Minor
> Fix For: 0.18
>
>
> add jsframework load adapter
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)