From d783b303e275c46a145774ec308623d83fd57332 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 9 Nov 2020 14:12:31 +0800 Subject: [PATCH] opt query share config --- .../java/com/mogo/module/share/ShareControl.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index f915233082..25ff93e4f4 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -91,6 +91,8 @@ import static com.mogo.service.share.IMogoTanluProvider.TYPE_TRAFFIC_CHECK; @Route(path = MogoServicePaths.PATH_SHARE) public class ShareControl implements IMogoShareManager, Handler.Callback { private static final String TAG = "ShareControl"; +// private static final int MSG_REAL_QUERY_SHARE_CONFIG = 1001; +// private static final long QUERY_SHARE_CONFIG_DELAY = 3_000L; private Context mContext; // private LaucherShareDialog mShareDialog; @@ -441,10 +443,13 @@ public class ShareControl implements IMogoShareManager, Handler.Callback { } private void queryShareButtonConfig() { - if (NetworkUtils.isConnected(mContext)) { - // 有网,直接请求 - MogoLocation location = - ServiceApisManager.serviceApis.getMapServiceApi().getSingletonLocationClient(mContext).getLastKnowLocation(); + if (handler.hasMessages(MSG_QUERY_SHARE_CONFIG_RETRY)) { + return; + } + MogoLocation location = + ServiceApisManager.serviceApis.getMapServiceApi().getSingletonLocationClient(mContext).getLastKnowLocation(); + if (NetworkUtils.isConnected(mContext) && location != null && !location.getAdCode().isEmpty()) { + // 有网,且有adcode,直接请求 Map params = new ArrayMap<>(); ShareConfigRequest request = new ShareConfigRequest(Utils.getSn(), location.getAdCode()); @@ -498,6 +503,7 @@ public class ShareControl implements IMogoShareManager, Handler.Callback { private static final int QUERY_SHARE_CONFIG_RETRY_TIME_THRESHOLD = 10; private void retryQueryShareConfig() { + Logger.d(TAG, "retryQueryShareConfig====" + queryShareConfigRetryTime); if (queryShareConfigRetryTime > QUERY_SHARE_CONFIG_RETRY_TIME_THRESHOLD) { // 重试次数超过QUERY_SHARE_CONFIG_RETRY_TIME_THRESHOLD,不再重试 return;