You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by lu...@apache.org on 2019/09/17 05:47:19 UTC
[incubator-weex] branch master updated: [Android] Revert WeexFrame
(#2912)
This is an automated email from the ASF dual-hosted git repository.
luckychen 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 3337bc8 [Android] Revert WeexFrame (#2912)
3337bc8 is described below
commit 3337bc82a57fb12616dc749271d20530147096d5
Author: YorkShen <sh...@gmail.com>
AuthorDate: Tue Sep 17 13:47:13 2019 +0800
[Android] Revert WeexFrame (#2912)
* Revert "[Android] Fix Crash in NotifyLayout (#2902)"
This reverts commit 5e8d9ac935d6fbadd2469d83540426cc30b4e676.
* Update submodule
---
.../java/com/taobao/weex/WeexFrameRateControl.java | 52 ++++++++++------------
.../com/taobao/weex/bridge/WXBridgeManager.java | 6 +--
weex-playground | 2 +-
3 files changed, 27 insertions(+), 33 deletions(-)
diff --git a/android/sdk/src/main/java/com/taobao/weex/WeexFrameRateControl.java b/android/sdk/src/main/java/com/taobao/weex/WeexFrameRateControl.java
index 14817fd..eef4d5c 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WeexFrameRateControl.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WeexFrameRateControl.java
@@ -26,15 +26,14 @@ import android.annotation.SuppressLint;
import android.os.Build;
import android.util.Log;
import android.view.Choreographer;
-import com.taobao.weex.bridge.WXBridgeManager;
import com.taobao.weex.common.WXErrorCode;
import java.lang.ref.WeakReference;
public class WeexFrameRateControl {
private static final long VSYNC_FRAME = 1000 / 60;
private WeakReference<VSyncListener> mListener;
- private Choreographer mChoreographer;
- private Choreographer.FrameCallback mVSyncFrameCallback;
+ private final Choreographer mChoreographer;
+ private final Choreographer.FrameCallback mVSyncFrameCallback;
private final Runnable runnable;
public interface VSyncListener {
@@ -44,32 +43,27 @@ public class WeexFrameRateControl {
public WeexFrameRateControl(VSyncListener listener) {
mListener = new WeakReference<>(listener);
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
- WXBridgeManager.getInstance().post(new Runnable() {
- @Override
- public void run() {
- mChoreographer = Choreographer.getInstance();
- mVSyncFrameCallback = new Choreographer.FrameCallback() {
- @SuppressLint("NewApi")
- @Override
- public void doFrame(long frameTimeNanos) {
- VSyncListener vSyncListener;
- if (mListener != null && (vSyncListener=mListener.get()) != null) {
- try {
- vSyncListener.OnVSync();
- mChoreographer.postFrameCallback(mVSyncFrameCallback);
- }catch (UnsatisfiedLinkError e){
- if(vSyncListener instanceof WXSDKInstance){
- ((WXSDKInstance) vSyncListener).onRenderError(
- WXErrorCode.WX_DEGRAD_ERR_INSTANCE_CREATE_FAILED.getErrorCode(),
- Log.getStackTraceString(e));
- }
- }
- }
- }
- };
- }
- });
- runnable = null;
+ mChoreographer = Choreographer.getInstance();
+ mVSyncFrameCallback = new Choreographer.FrameCallback() {
+ @SuppressLint("NewApi")
+ @Override
+ public void doFrame(long frameTimeNanos) {
+ VSyncListener vSyncListener;
+ if (mListener != null && (vSyncListener=mListener.get()) != null) {
+ try {
+ vSyncListener.OnVSync();
+ mChoreographer.postFrameCallback(mVSyncFrameCallback);
+ }catch (UnsatisfiedLinkError e){
+ if(vSyncListener instanceof WXSDKInstance){
+ ((WXSDKInstance) vSyncListener).onRenderError(
+ WXErrorCode.WX_DEGRAD_ERR_INSTANCE_CREATE_FAILED.getErrorCode(),
+ Log.getStackTraceString(e));
+ }
+ }
+ }
+ }
+ };
+ runnable = null;
} else {
// For API 15 or lower
runnable = new Runnable() {
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 9e70482..bb38315 100755
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -31,7 +31,7 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.RestrictTo;
import android.support.annotation.RestrictTo.Scope;
-import android.support.annotation.WorkerThread;
+import android.support.annotation.UiThread;
import android.support.v4.util.ArrayMap;
import android.text.TextUtils;
import android.util.Log;
@@ -3461,7 +3461,7 @@ public class WXBridgeManager implements Callback, BactchExecutor {
* @param instanceId
* @return
*/
- @WorkerThread
+ @UiThread
public boolean notifyLayout(String instanceId) {
if (isSkipFrameworkInit(instanceId) || isJSFrameworkInit()) {
return mWXBridge.notifyLayout(instanceId);
@@ -3469,7 +3469,7 @@ public class WXBridgeManager implements Callback, BactchExecutor {
return false;
}
- @WorkerThread
+ @UiThread
public void forceLayout(String instanceId) {
if (isSkipFrameworkInit(instanceId) || isJSFrameworkInit()) {
mWXBridge.forceLayout(instanceId);
diff --git a/weex-playground b/weex-playground
index b93e553..1f536fa 160000
--- a/weex-playground
+++ b/weex-playground
@@ -1 +1 @@
-Subproject commit b93e553ebf434baffa7d7f2f71f0a9f1e8cc9de1
+Subproject commit 1f536fa83893520568bccdefffdeb469c7e957cf