You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ky...@apache.org on 2019/07/23 03:13:35 UTC
[incubator-weex] branch master updated: [Android] Fix setViewPort
invalid (#2738)
This is an automated email from the ASF dual-hosted git repository.
kyork pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git
The following commit(s) were added to refs/heads/master by this push:
new 6631c9d [Android] Fix setViewPort invalid (#2738)
6631c9d is described below
commit 6631c9defac53391471caf29d92f57dac2c2efe4
Author: katherine95s <51...@users.noreply.github.com>
AuthorDate: Tue Jul 23 11:13:30 2019 +0800
[Android] Fix setViewPort invalid (#2738)
---
android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java | 1 +
android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java | 6 ++++++
.../src/main/java/com/taobao/weex/bridge/WXBridgeManager.java | 5 +++++
android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java | 2 ++
.../Source/base/android/jniprebuild/jniheader/WXBridge_jni.h | 9 +++++++++
5 files changed, 23 insertions(+)
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index 02a17db..17cd7c8 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
@@ -454,6 +454,7 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
public void setInstanceViewPortWidth(int instanceViewPortWidth) {
this.mInstanceViewPortWidth = instanceViewPortWidth;
this.mAutoAdjustDeviceWidth = false;
+ WXBridgeManager.getInstance().setViewPortWidth(getInstanceId(),mInstanceViewPortWidth);
}
public void setAutoAdjustDeviceWidth(boolean autoAdjustViewPort){
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
index d311617..5c20a52 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
@@ -134,6 +134,8 @@ public class WXBridge implements IWXBridge {
* */
public native void nativeUpdateGlobalConfig(String config);
+ private native void nativeSetViewPortWidth(String instanceId, float viewPortWidth);
+
public static final boolean MULTIPROCESS = true;
@@ -765,6 +767,10 @@ public class WXBridge implements IWXBridge {
nativeSetInstanceRenderType(instanceId, renderType);
}
+ @Override
+ public void setViewPortWidth(String instanceId,float viewPortWidth){
+ nativeSetViewPortWidth(instanceId,viewPortWidth);
+ }
@Override
public void removeInstanceRenderType(String instanceId){
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 8ee6f23..0ad54e6 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
@@ -3338,6 +3338,11 @@ public class WXBridgeManager implements Callback, BactchExecutor {
mWXBridge.markDirty(instanceId, ref, dirty);
}
}
+ public void setViewPortWidth(String instanceId,float viewPortWidth){
+ if (isSkipFrameworkInit(instanceId) || isJSFrameworkInit()) {
+ mWXBridge.setViewPortWidth(instanceId,viewPortWidth);
+ }
+ }
public int callHasTransitionPros(String instanceId, String ref, HashMap<String, String> styles) {
WXComponent component = WXSDKManager.getInstance().getWXRenderManager().getWXComponent(instanceId, ref);
diff --git a/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java b/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
index f98d5c0..0df86f7 100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/IWXBridge.java
@@ -213,4 +213,6 @@ public interface IWXBridge extends IWXObject {
void setPageArgument(String instanceId, String key, String value);
+ void setViewPortWidth(String instanceId,float viewPortWidth);
+
}
diff --git a/weex_core/Source/base/android/jniprebuild/jniheader/WXBridge_jni.h b/weex_core/Source/base/android/jniprebuild/jniheader/WXBridge_jni.h
index 586a80a..eb8aa93 100644
--- a/weex_core/Source/base/android/jniprebuild/jniheader/WXBridge_jni.h
+++ b/weex_core/Source/base/android/jniprebuild/jniheader/WXBridge_jni.h
@@ -198,6 +198,9 @@ static void SetInstanceRenderType(JNIEnv* env, jobject jcaller,
static void RemoveInstanceRenderType(JNIEnv* env, jobject jcaller,
jstring instanceId);
+static void SetViewPortWidth(JNIEnv* env, jobject jcaller,
+ jstring instanceId,jfloat viewPortWidth);
+
static void SetPageArgument(JNIEnv* env, jobject jcaller,
jstring instanceId,
jstring key,
@@ -1204,6 +1207,12 @@ static const JNINativeMethod kMethodsWXBridge[] = {
"Ljava/lang/String;"
")"
"V", reinterpret_cast<void*>(RemoveInstanceRenderType) },
+ { "nativeSetViewPortWidth",
+ "("
+ "Ljava/lang/String;"
+ "F"
+ ")"
+ "V", reinterpret_cast<void*>(SetViewPortWidth)},
};
static bool RegisterNativesImpl(JNIEnv* env) {