fix:优化请求次数
update:
This commit is contained in:
2022-04-02 18:37:49 +08:00
parent 62de0cac3f
commit 683f31087f
86 changed files with 3489 additions and 3860 deletions

View File

@@ -70,6 +70,7 @@ public class AmapManager {
SPUtils.put(mContext, "AmapAddress", aMapLocation.getAddress());
SPUtils.put(mContext, "longitude", aMapLocation.getLongitude());
SPUtils.put(mContext, "latitude", aMapLocation.getLatitude());
SPUtils.put(mContext, "AmapError", "");
} else {
//定位失败
sb.append("定位失败" + "\n");

View File

@@ -10,6 +10,15 @@ import com.tencent.mmkv.MMKV;
public class ConnectManager {
private static final String TAG = ConnectManager.class.getSimpleName();
public static final long ONE_MINUTES_TIME = 60 * 1000;
public static final long FIFTEEN_MINUTES_TIME = ONE_MINUTES_TIME * 15;
public static final long HALF_HOUR_TIME = FIFTEEN_MINUTES_TIME * 2;
public static final long ONE_HOUR_TIME = HALF_HOUR_TIME * 2;
public static final long SIX_HOUR_TIME = ONE_HOUR_TIME * 6;
public static final long HALF_DAY_TIME = SIX_HOUR_TIME * 2;
public static final long ONE_DAY_TIME = HALF_DAY_TIME * 2;
/*重启后连接成功的时间*/
public static final String REBOOT_LAST_ONNECT_TIME = "reboot_last_connect_time";
/*WiFi连接后连接成功的时间*/
@@ -45,13 +54,53 @@ public class ConnectManager {
return sInstance;
}
public long getConnectModeTime(ConnectMode connectMode) {
long time = 0;
switch (connectMode) {
case DEFAULT:
time = 0;
break;
case ONE_MINUTE:
time = ONE_MINUTES_TIME;
break;
case FIFTEEN_MINUTES:
time = FIFTEEN_MINUTES_TIME;
break;
case HALF_HOUR:
time = HALF_HOUR_TIME;
break;
case ONE_HOUR:
time = ONE_HOUR_TIME;
break;
case SIX_HOUR:
time = SIX_HOUR_TIME;
break;
case HALF_DAY:
time = HALF_DAY_TIME;
break;
case ONE_DAY:
time = ONE_DAY_TIME;
break;
default:
}
return time;
}
public boolean isNeedConnect(String key, ConnectMode connectMode) {
long lastTime = mMMKV.decodeLong(key);
long intervalTime = getConnectModeTime(connectMode);
return System.currentTimeMillis() - lastTime > intervalTime;
}
/**
* @return 今天重启后是否连接
* @return 重启后是否连接
*/
public boolean isRebootFistConnect() {
long time = mMMKV.decodeLong(REBOOT_LAST_ONNECT_TIME, 0);
return !TimeUtils.isTodayTime(time);
long rebootTime = mMMKV.decodeLong(REBOOT_LAST_ONNECT_TIME, 0);
//只在开机后15内连接其他情况为service重启
long time = System.currentTimeMillis() - rebootTime;
return time < 15 * 1000;
}
/**
@@ -78,4 +127,6 @@ public class ConnectManager {
long time = mMMKV.decodeLong(WiFiAlias, 0);
return !TimeUtils.isTodayTime(time);
}
}

View File

@@ -0,0 +1,12 @@
package com.aoleyun.sn.manager;
public enum ConnectMode {
DEFAULT,
ONE_MINUTE,
FIFTEEN_MINUTES,
HALF_HOUR,
ONE_HOUR,
SIX_HOUR,
HALF_DAY,
ONE_DAY,
}