version:3.0.5_beta

update:2020.06.23
fix:加入锁屏息屏发送时间,加入电池优化
add:
This commit is contained in:
2020-06-23 10:06:27 +08:00
parent 988c1c9389
commit 12a26229a0
5 changed files with 98 additions and 18 deletions

View File

@@ -15,10 +15,10 @@ android {
minSdkVersion 20
targetSdkVersion 29
// versionCode 148
// versionName "3.0.5"//测试jiaoguanyi.cn
versionCode 1002
versionName "2.0.1.2"// 正式jiaoguanyi.com 双数正式 单数测试
versionCode 148
versionName "3.0.5"//测试jiaoguanyi.cn
// versionCode 1002
// versionName "2.0.1.2"// 正式jiaoguanyi.com 双数正式 单数测试
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

View File

@@ -7,7 +7,6 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkInfo;
import android.net.Uri;
import android.net.wifi.WifiInfo;
@@ -38,6 +37,8 @@ import com.mjsheng.myappstore.activity.MainActivity;
import com.mjsheng.myappstore.comm.CommonDatas;
import com.mjsheng.myappstore.jpush.TagAliasOperatorHelper;
import com.mjsheng.myappstore.network.HTTPInterface;
import com.mjsheng.myappstore.network.Network;
import com.mjsheng.myappstore.network.api.newapi.GetLockState;
import com.mjsheng.myappstore.server.GuardService;
import com.mjsheng.myappstore.server.InitJpushServer;
import com.mjsheng.myappstore.server.StepService;
@@ -53,6 +54,7 @@ import org.lzh.framework.updatepluginlib.UpdateConfig;
import org.lzh.framework.updatepluginlib.base.UpdateParser;
import org.lzh.framework.updatepluginlib.model.CheckEntity;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
@@ -66,8 +68,14 @@ import java.util.logging.Level;
import cn.jpush.android.api.JPushInterface;
import cn.jpush.android.api.JPushMessage;
import io.reactivex.Observer;
import io.reactivex.Scheduler;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import okhttp3.Call;
import okhttp3.Response;
import okhttp3.ResponseBody;
import rx.Observable;
import rx.functions.Action1;
import uk.co.chrisjenx.calligraphy.CalligraphyConfig;
@@ -148,10 +156,10 @@ public class MyApplication extends MultiDexApplication {
if (!BuildConfig.DEBUG) {
catchException();
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//8.0之后需要在
registerTimeReceiver();
}
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//8.0之后需要在
registerTimeReceiver();
// }
ignoreBatteryOptimization(this);
}
@@ -198,9 +206,8 @@ public class MyApplication extends MultiDexApplication {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.e("fht", "receiver action:" + action);
if (action.equals(Intent.ACTION_USER_PRESENT)
|| action.equals(Intent.ACTION_SCREEN_ON)
|| action.equals(Intent.ACTION_SCREEN_OFF)
if (action.equals(Intent.ACTION_SCREEN_ON)
|| action.equals(Intent.ACTION_USER_PRESENT)
) {
time2 = System.currentTimeMillis();
if ((time2 - time1) > 60 * 1000) {
@@ -210,15 +217,53 @@ public class MyApplication extends MultiDexApplication {
startService(new Intent(context, StepService.class));
startService(new Intent(context, GuardService.class));
time1 = time2;
Log.e("fht", "onReceive");
} else {
}
long time = System.currentTimeMillis();
getLockState("2", String.valueOf(time));
} else if (action.equals(Intent.ACTION_SCREEN_OFF)) {
long time = System.currentTimeMillis();
getLockState("1", String.valueOf(time));
}
}
}
private void getLockState(String status, String time) {
GetLockState getLockState = Network.getLockState();
getLockState.getLockState(Utils.getSerial(), status, time)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ResponseBody>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(ResponseBody responseBody) {
try {
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(responseBody.string());
int code = jsonObject.getInteger("code");
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
}
public void onTagOperatorResult(JPushMessage jPushMessage) {
if (jPushMessage == null) {

View File

@@ -16,6 +16,7 @@ import com.mjsheng.myappstore.network.api.RankAppApi;
import com.mjsheng.myappstore.network.api.SystemSettingApi;
import com.mjsheng.myappstore.network.api.UpdateApi;
import com.mjsheng.myappstore.network.api.UploadAppInfoApi;
import com.mjsheng.myappstore.network.api.newapi.GetLockState;
import java.io.File;
import java.util.concurrent.TimeUnit;
@@ -40,10 +41,10 @@ public class Network {
// public static final String ROOT_URL = "http://www.as.xueshibao.com.cn/api/"; 弃用
// public static final String ROOT_URL = "https://www.jiaoguanyi.com/api/";//正式 弃用
public static final String ROOT_URL = "https://partner.jiaoguanyi.com/api/";//正式
public static final String WebsocketURL = "ws://47.107.133.19:1234";
// public static final String ROOT_URL = "http://www.jiaoguanyi.cn/api/";//测试
// public static final String WebsocketURL = "ws://47.107.133.19:2345";
// public static final String ROOT_URL = "https://partner.jiaoguanyi.com/api/";//正式
// public static final String WebsocketURL = "ws://47.107.133.19:1234";
public static final String ROOT_URL = "http://www.jiaoguanyi.cn/api/";//测试
public static final String WebsocketURL = "ws://47.107.133.19:2345";
private static UploadAppInfoApi uploadAppInfoApi;
private static DeselectIDApi deselectIDApi;
@@ -58,6 +59,9 @@ public class Network {
private static NetAndLaunchApi netAndLaunchApi;
private static ForceDownloadApi forceDownloadApi;
private static GetLockState getLockState;
private static final long cacheSize = 1024 * 1024 * 20;// 缓存文件最大限制大小20M
private static String cacheDirectory = Environment.getExternalStorageDirectory() + "/okttpcaches"; // 设置缓存文件路径
private static Cache cache = new Cache(new File(cacheDirectory), cacheSize); //
@@ -246,4 +250,18 @@ public class Network {
Log.e("mjsheng", "forceDownloadApi");
return forceDownloadApi;
}
public static GetLockState getLockState() {
if (getLockState == null) {
Retrofit retrofit = new Retrofit.Builder()
.client(cacheClient)
.baseUrl(ROOT_URL)
.addConverterFactory(gsonConverterFactory)
.addCallAdapterFactory(rxJavaCallAdapterFactory)
.build();
getLockState = retrofit.create(GetLockState.class);
}
Log.e("mjsheng", "forceDownloadApi");
return getLockState;
}
}

View File

@@ -0,0 +1,17 @@
package com.mjsheng.myappstore.network.api.newapi;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
public interface GetLockState {
@FormUrlEncoded
@POST("Application/getLockState")
Observable<ResponseBody> getLockState(
@Field("sn") String sn,
@Field("status") String status,
@Field("time") String time
);
}

View File

@@ -26,7 +26,7 @@ public class BootReceiver extends BroadcastReceiver {
|| intent.getAction().equals("android.intent.action.ACTION_POWER_CONNECTED")
|| intent.getAction().equals("android.intent.action.DATE_CHANGED")
|| intent.getAction().equals("android.intent.action.TIME_TICK")
|| intent.getAction().equals("android.intent.action.USER_PRESENT")
// || intent.getAction().equals("android.intent.action.USER_PRESENT")
|| intent.getAction().equals("android.intent.action.SCREEN_ON")
|| intent.getAction().equals("android.intent.action.SCREEN_OFF")
) {