diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index bb9630b495..5121884a7f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
package="com.mogo.launcher">
+
emptyInterface();
+
+ @POST("/")
+ @FormUrlEncoded
+ Observable uploadDelayCheckData(@FieldMap Map params);
+}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/DelayCheckUtil.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/DelayCheckUtil.java
new file mode 100644
index 0000000000..d4dc6cebf2
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/DelayCheckUtil.java
@@ -0,0 +1,121 @@
+package com.mogo.module.extensions.utils;
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.Message;
+import android.os.SystemClock;
+
+import com.mogo.commons.data.BaseData;
+import com.mogo.commons.network.SubscribeImpl;
+import com.mogo.module.common.MogoApisHandler;
+import com.mogo.module.extensions.net.DelayCheckApiServices;
+import com.mogo.module.extensions.net.DztHttpConstant;
+import com.mogo.utils.NetworkUtils;
+import com.mogo.utils.network.RequestOptions;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import io.reactivex.schedulers.Schedulers;
+
+/**
+ * 延时验证工具类
+ *
+ * @author tongchenfei
+ */
+public class DelayCheckUtil implements Handler.Callback {
+
+ private final Handler handler = new Handler(this);
+
+ private static final int MSG_CHECK_NET_CONNECT_STATUS = 1001;
+ private static final long CHECK_NET_CONNECT_STATUS_DELAY = 5000L;
+
+ private static final int MSG_START_DELAY_CHECK = 1002;
+ private static final long DELAY_CHECK_DELAY = 10 * 60 * 1000;
+
+ private Context context;
+
+ public DelayCheckUtil(Context context) {
+ this.context = context;
+ }
+
+ /**
+ * 每5s检查一下网络状态,网络状态为连接状态时,开始空接口请求以及后续的参数上报
+ */
+ public void waitingForCheck() {
+ handler.sendEmptyMessageDelayed(MSG_CHECK_NET_CONNECT_STATUS, CHECK_NET_CONNECT_STATUS_DELAY);
+ }
+
+ private long requestTime, netDelay;
+
+ @Override
+ public boolean handleMessage(Message msg) {
+ switch (msg.what) {
+ case MSG_CHECK_NET_CONNECT_STATUS:
+ if (NetworkUtils.isConnected(context)) {
+ handler.sendEmptyMessage(MSG_START_DELAY_CHECK);
+ } else {
+ handler.sendEmptyMessageDelayed(MSG_CHECK_NET_CONNECT_STATUS, CHECK_NET_CONNECT_STATUS_DELAY);
+ }
+ return true;
+ case MSG_START_DELAY_CHECK:
+ // 请求空接口
+ startEmptyRequest();
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ private void startEmptyRequest() {
+ requestTime = SystemClock.elapsedRealtime();
+ MogoApisHandler.getInstance().getApis().getNetworkApi()
+ .create(DelayCheckApiServices.class, DztHttpConstant.getBaseUrl())
+ .emptyInterface().subscribeOn(Schedulers.io()).observeOn(Schedulers.io())
+ .subscribe(new SubscribeImpl(RequestOptions.create(context)) {
+ @Override
+ public void onSuccess(BaseData o) {
+ super.onSuccess(o);
+ netDelay = SystemClock.elapsedRealtime() - requestTime;
+
+ startUpload();
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ super.onError(e);
+ }
+
+ @Override
+ public void onError(String message, int code) {
+ super.onError(message, code);
+ }
+ });
+ }
+
+ private void startUpload(){
+ Map params = new HashMap<>();
+ MogoApisHandler.getInstance().getApis().getNetworkApi()
+ .create(DelayCheckApiServices.class, DztHttpConstant.getBaseUrl())
+ .uploadDelayCheckData(params).observeOn(Schedulers.io()).subscribeOn(Schedulers.io())
+ .subscribe(new SubscribeImpl(RequestOptions.create(context)) {
+ @Override
+ public void onSuccess(BaseData o) {
+ super.onSuccess(o);
+
+ handler.sendEmptyMessageDelayed(MSG_START_DELAY_CHECK, DELAY_CHECK_DELAY);
+ }
+
+ @Override
+ public void onError(String message, int code) {
+ super.onError(message, code);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ super.onError(e);
+ }
+ });
+ }
+}
diff --git a/modules/mogo-module-extensions/src/main/res/layout/include_debug_panel.xml b/modules/mogo-module-extensions/src/main/res/layout/include_debug_panel.xml
index 560df074ee..4242b5b5e6 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/include_debug_panel.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/include_debug_panel.xml
@@ -135,6 +135,5 @@
android:layout_height="wrap_content"
android:id="@+id/groupDebugPanel"
android:visibility="gone"
- tools:visibility="visible"
app:constraint_referenced_ids="btnCloseLog,btnOpenLog,btnOpenV2xPanel,tvObuSetTitle,tvLogSetTitle,tvV2xSetTitle,rgObuSet,ibDebugPanelClose,debugPanelBg" />
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
index 30d6518fb6..ea9ab4a5eb 100644
--- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
@@ -214,8 +214,8 @@
464px
304px
- 20px
- 8px
+ 40px
+ 28px
100px
60px
48px
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
index 664c95a6ef..e23dc28f2f 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
@@ -34,6 +34,7 @@ import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.skin.support.SkinMode;
+import com.mogo.utils.NetworkUtils;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.Logger;
import com.zhidao.adasconfig.api.AdasConfigApiController;
@@ -140,6 +141,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
super.onCreate( savedInstanceState );
ContextHolderUtil.holdContext(this);
mPresenter.postLoadModuleMsg();
+
+ NetworkUtils.listenNetStrength(this);
}
private void init() {