diff --git a/app/build.gradle b/app/build.gradle index 8d847d3..29cd4b0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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" diff --git a/app/src/main/java/com/mjsheng/myappstore/MyApplication.java b/app/src/main/java/com/mjsheng/myappstore/MyApplication.java index ff12bd3..c2cd495 100644 --- a/app/src/main/java/com/mjsheng/myappstore/MyApplication.java +++ b/app/src/main/java/com/mjsheng/myappstore/MyApplication.java @@ -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() { + @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) { diff --git a/app/src/main/java/com/mjsheng/myappstore/network/Network.java b/app/src/main/java/com/mjsheng/myappstore/network/Network.java index 0d603c3..1d6bf4d 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/Network.java +++ b/app/src/main/java/com/mjsheng/myappstore/network/Network.java @@ -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; + } + } diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetLockState.java b/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetLockState.java new file mode 100644 index 0000000..fc502af --- /dev/null +++ b/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/GetLockState.java @@ -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 getLockState( + @Field("sn") String sn, + @Field("status") String status, + @Field("time") String time + ); +} diff --git a/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java b/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java index e45ef4c..07daeb9 100644 --- a/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java +++ b/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java @@ -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") ) {