You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/06/22 05:27:30 UTC
[25/50] [abbrv] incubator-weex git commit: add
onActivityResume\onActivityPause event wx_global_action duplicate
add onActivityResume\onActivityPause event wx_global_action duplicate
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/37f05fe9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/37f05fe9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/37f05fe9
Branch: refs/heads/dev
Commit: 37f05fe9270519732b3e7615e05769f76d223a93
Parents: 56b1840
Author: hao.haoh <ha...@taobao.com>
Authored: Thu Jun 15 14:38:50 2017 +0800
Committer: hao.haoh <ha...@taobao.com>
Committed: Thu Jun 15 14:38:50 2017 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/WXSDKInstance.java | 27 ++++++++++++++------
1 file changed, 19 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/37f05fe9/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
----------------------------------------------------------------------
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 2db6fb3..d849c31 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
@@ -81,6 +81,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicBoolean;
import static com.taobao.weex.http.WXHttpUtil.KEY_USER_AGENT;
@@ -737,6 +738,7 @@ public class WXSDKInstance implements IWXActivityStateListener,DomContext, View.
}
return true;
}
+ private AtomicBoolean currentGround = new AtomicBoolean(false);
@Override
public void onActivityPause() {
@@ -760,10 +762,15 @@ public class WXSDKInstance implements IWXActivityStateListener,DomContext, View.
WXLogUtils.w("Warning :Component tree has not build completely,onActivityPause can not be call!");
}
- Intent intent=new Intent(WXGlobalEventReceiver.EVENT_ACTION);
- intent.putExtra(WXGlobalEventReceiver.EVENT_NAME,Constants.Event.PAUSE_EVENT);
- intent.putExtra(WXGlobalEventReceiver.EVENT_WX_INSTANCEID,getInstanceId());
- mContext.sendBroadcast(intent);
+ WXLogUtils.i("Application onActivityPause()");
+ if (!currentGround.get()) {
+ WXLogUtils.i("Application to be in the backround");
+ Intent intent = new Intent(WXGlobalEventReceiver.EVENT_ACTION);
+ intent.putExtra(WXGlobalEventReceiver.EVENT_NAME, Constants.Event.PAUSE_EVENT);
+ intent.putExtra(WXGlobalEventReceiver.EVENT_WX_INSTANCEID, getInstanceId());
+ mContext.sendBroadcast(intent);
+ this.currentGround.set(true);
+ }
}
@@ -779,10 +786,14 @@ public class WXSDKInstance implements IWXActivityStateListener,DomContext, View.
WXLogUtils.w("Warning :Component tree has not build completely, onActivityResume can not be call!");
}
- Intent intent=new Intent(WXGlobalEventReceiver.EVENT_ACTION);
- intent.putExtra(WXGlobalEventReceiver.EVENT_NAME,Constants.Event.RESUME_EVENT);
- intent.putExtra(WXGlobalEventReceiver.EVENT_WX_INSTANCEID,getInstanceId());
- mContext.sendBroadcast(intent);
+ if (currentGround.get()) {
+ WXLogUtils.i("Application to be in the foreground");
+ Intent intent = new Intent(WXGlobalEventReceiver.EVENT_ACTION);
+ intent.putExtra(WXGlobalEventReceiver.EVENT_NAME, Constants.Event.RESUME_EVENT);
+ intent.putExtra(WXGlobalEventReceiver.EVENT_WX_INSTANCEID, getInstanceId());
+ currentGround.set(false);
+ mContext.sendBroadcast(intent);
+ }
onViewAppear();