From c7851a8a64b41081b8199a2986e63a879093e5bd Mon Sep 17 00:00:00 2001 From: tongtongstudio Date: Fri, 8 May 2026 09:32:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BD=91=E7=BB=9C=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=86=85=E5=AD=98=E7=BC=93=E5=AD=98=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9MainService=E4=B8=BAmvvm=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- .../aoleyun/sn/activity/CleanupActivity.java | 6 +- .../aoleyun/sn/activity/SplashActivity.java | 3 +- .../sn/activity/main/MainActivity.java | 2 +- .../sn/activity/main/MainViewModel.java | 10 +- .../com/aoleyun/sn/bean/BaseResponse.java | 6 +- .../sn/network/NetInterfaceManager.java | 780 ++--------------- .../com/aoleyun/sn/network/UrlAddress.java | 4 +- .../network/api/aoleyun/DevicesStatusApi.java | 3 +- .../sn/network/api/aoleyun/UploadInfoApi.java | 2 +- .../java/com/aoleyun/sn/push/PushManager.java | 23 +- .../aoleyun/sn/service/main/MainSContact.java | 188 ---- .../aoleyun/sn/service/main/MainService.java | 819 +++++++----------- ...nSPresenter.java => MainServiceModel.java} | 277 ++---- .../java/com/aoleyun/sn/utils/ApkUtils.java | 2 +- build.gradle | 12 +- 16 files changed, 541 insertions(+), 1600 deletions(-) delete mode 100644 app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java rename app/src/main/java/com/aoleyun/sn/service/main/{MainSPresenter.java => MainServiceModel.java} (71%) diff --git a/app/build.gradle b/app/build.gradle index 0b681e7..aa86a7c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -29,8 +29,8 @@ android { defaultConfig { applicationId "com.aoleyun.sn" - versionCode 214 - versionName "1.6.0427" + versionCode 216 + versionName "1.6.0507" //There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature. minSdkVersion 24 diff --git a/app/src/main/java/com/aoleyun/sn/activity/CleanupActivity.java b/app/src/main/java/com/aoleyun/sn/activity/CleanupActivity.java index b973f63..91f2542 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/CleanupActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/CleanupActivity.java @@ -3,21 +3,19 @@ package com.aoleyun.sn.activity; import android.app.ActivityManager; import android.content.Context; import android.os.Handler; +import android.os.Looper; import android.util.Log; import android.view.View; -import android.widget.TextView; import androidx.databinding.DataBindingUtil; import com.aoleyun.sn.BuildConfig; import com.aoleyun.sn.R; import com.aoleyun.sn.base.BaseDataBindingActivity; -import com.aoleyun.sn.base.mvp.BaseMvpActivity; import com.aoleyun.sn.databinding.ActivityCleanupBinding; import com.aoleyun.sn.utils.ApkUtils; import com.aoleyun.sn.utils.AppUtil; import com.hjq.toast.Toaster; -import com.king.view.circleprogressview.CircleProgressView; import java.lang.reflect.Method; import java.util.List; @@ -68,7 +66,7 @@ public class CleanupActivity extends BaseDataBindingActivity { } Toaster.show(String.format(getString(R.string.clear_app_size), pkgList.size())); refreshMemory(); - Handler.getMain().postDelayed(new Runnable() { + new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { finish(); diff --git a/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java b/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java index fce121c..4a2bc9f 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java @@ -10,6 +10,7 @@ import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.os.Handler; +import android.os.Looper; import android.provider.Settings; import android.util.Log; import android.view.View; @@ -65,7 +66,7 @@ public class SplashActivity extends AppCompatActivity { setContentView(R.layout.activity_home); initView(); debugTest(); - new Handler().postDelayed(() -> { + new Handler(Looper.getMainLooper()).postDelayed(() -> { startActivity(new Intent(SplashActivity.this, MainActivity.class)); finish(); // sendBroadcastStatus("0"); diff --git a/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java b/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java index ea3ca93..01e89bc 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java @@ -376,7 +376,7 @@ public class MainActivity extends BaseMvvmActivity mEBagCodeData = new MutableLiveData<>(); public void getEBagCode() { - NetInterfaceManager.getInstance().getEBagCode(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + NetInterfaceManager.getInstance().getEBagCode(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { mEBagCodeData.setValue(Settings.Global.getInt(getCtx().getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0) == 1); @@ -186,7 +186,7 @@ public class MainViewModel extends BaseViewModel implements Serializable { private static final long serialVersionUID = 5468533687801294972L; @@ -17,6 +15,10 @@ public class BaseResponse implements Serializable { public String msg; public T data; + public boolean isSuccess() { + return code == 200; + } + @NonNull @Override public String toString() { diff --git a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java index f523d2b..4ec029d 100644 --- a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java +++ b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java @@ -65,12 +65,9 @@ import com.aoleyun.sn.bean.WiFiAlias; import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.JGYActions; import com.aoleyun.sn.comm.PackageNames; -import com.aoleyun.sn.disklrucache.CacheHelper; import com.aoleyun.sn.gson.GsonUtils; -import com.aoleyun.sn.gson.NullStringToEmptyAdapterFactory; import com.aoleyun.sn.manager.AllwinnerCubeMdmManager; import com.aoleyun.sn.manager.ConnectManager; -import com.aoleyun.sn.manager.ConnectMode; import com.aoleyun.sn.network.api.aolelearn.ExclusiveAdminAppApi; import com.aoleyun.sn.network.api.aoleyun.AppControlApi; import com.aoleyun.sn.network.api.aoleyun.AppDownloadApi; @@ -105,7 +102,6 @@ import com.aoleyun.sn.utils.Utils; import com.aoleyun.sn.utils.WiFiUtils; import com.arialyy.aria.core.Aria; import com.google.gson.Gson; -import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -172,9 +168,6 @@ public class NetInterfaceManager { } private static final long CACHE_EXPIRE_ONE_MINUTE = 60 * 1000; - - private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); - //超时时间 private static final int TIME_OUT = 5; // 缓存大小 @@ -183,6 +176,7 @@ public class NetInterfaceManager { public static final String HTTP_KEY = "YTM3YTAxNTJmMmZmNzkyM2E2YzIwZjlhZTc0NzNmMGI="; public static final String CUSTOM_REPEAT_REQ_PROTOCOL = "MY_CUSTOM_REPEAT_REQ_PROTOCOL"; + private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); @SuppressLint("StaticFieldLeak") private static NetInterfaceManager INSTANCE; @@ -193,19 +187,13 @@ public class NetInterfaceManager { private Retrofit mAolelearnRetrofit; private OkHttpClient mAolelearnOkHttpClient; - @Deprecated - private CacheHelper cacheHelper; - private Set mUploadIconPkgs; private static final String uploadIconPkgsKey = "UPLOAD_ICON_PACKAGE_KEY"; - private static final int OK = 200; - private final ConcurrentHashMap requestIdsMap = new ConcurrentHashMap<>(); private NetInterfaceManager(Context context) { this.mContext = context; - this.cacheHelper = new CacheHelper(mContext); if (mOkHttpClient == null) { Interceptor myHttpInterceptor = new Interceptor() { @@ -343,6 +331,7 @@ public class NetInterfaceManager { builder.cache(cache);// 设置缓存 mAolelearnOkHttpClient = builder.build(); } + if (mAolelearnRetrofit == null) { mAolelearnRetrofit = new Retrofit.Builder() .client(mAolelearnOkHttpClient) @@ -544,7 +533,7 @@ public class NetInterfaceManager { public Observable>> getGroupForceDownloadObservable() { return withCache(schedule(getAppDownloadApi().getGroupForceDownloadApi(HTTP_KEY, Utils.getSerial(mContext))), - UrlAddress.GET_FORCE_INSTALL_LIST, + UrlAddress.GROUP_APP_INSTALL_LIST, 10 * CACHE_EXPIRE_ONE_MINUTE); } @@ -663,7 +652,6 @@ public class NetInterfaceManager { return schedule(getLogApi().sendSnLog(params, body)); } - public Observable> getDesktopObservable() { return schedule(getSystemCustomApi().getDesktop(Utils.getSerial(mContext))); } @@ -714,7 +702,6 @@ public class NetInterfaceManager { public Observable> getTimeObservable() { return schedule(getSystemSettingApi().getTimeControl(Utils.getSerial(mContext))); - } public Observable>> getWiFiControl() { @@ -741,13 +728,13 @@ public class NetInterfaceManager { public Observable> getBlackListObservable() { return withCache(schedule(getSystemSettingApi().getBlackList(Utils.getSerial(mContext))), - UrlAddress.APP_SETTING, + UrlAddress.BLACK_LIST, 360 * CACHE_EXPIRE_ONE_MINUTE); } public Observable> getWhiteListObservable() { return withCache(schedule(getSystemSettingApi().getWhiteList(Utils.getSerial(mContext))), - UrlAddress.APP_SETTING, + UrlAddress.WHITE_LIST, 360 * CACHE_EXPIRE_ONE_MINUTE); } @@ -843,34 +830,6 @@ public class NetInterfaceManager { void onComplete(); } - public void checkAoleyunUpdate(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_HOUR; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.CHECK_UPDATE, connectMode)) { - checkAoleyunUpdate(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.CHECK_UPDATE); - //为 "" 是已经请求成功的 - if (jsonString == null) { - checkAoleyunUpdate(lifecycle, callback); - } else { - Gson gson = new Gson(); - Type listType = new TypeToken>() { - }.getType(); - List appUpdateInfos = gson.fromJson(jsonString, listType); - if (appUpdateInfos != null && appUpdateInfos.size() != 0) { - for (AppUpdateInfo info : appUpdateInfos) { - JsonObject jsonObject = parseString(new Gson().toJson(info)).getAsJsonObject(); - JgyUtils.getInstance().installAPK(jsonObject); - } - } - callback.onComplete(); - } - } - } - /** * 获取奥乐云所有app更新 * @@ -905,22 +864,22 @@ public class NetInterfaceManager { (BaseResponse appUpdateInfoBaseResponse, BaseResponse appUpdateInfoBaseResponse2, BaseResponse appUpdateInfoBaseResponse3, BaseResponse appUpdateInfoBaseResponse4, BaseResponse appUpdateInfoBaseResponse5, BaseResponse appUpdateInfoBaseResponse6) throws Throwable { List appUpdateInfos = new ArrayList<>(); - if (appUpdateInfoBaseResponse.code == OK) { + if (appUpdateInfoBaseResponse.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse.data); } - if (appUpdateInfoBaseResponse2.code == OK) { + if (appUpdateInfoBaseResponse2.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse2.data); } - if (appUpdateInfoBaseResponse3.code == OK) { + if (appUpdateInfoBaseResponse3.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse3.data); } - if (appUpdateInfoBaseResponse4.code == OK) { + if (appUpdateInfoBaseResponse4.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse4.data); } - if (appUpdateInfoBaseResponse5.code == OK) { + if (appUpdateInfoBaseResponse5.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse5.data); } - if (appUpdateInfoBaseResponse6.code == OK) { + if (appUpdateInfoBaseResponse6.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse6.data); } return appUpdateInfos; @@ -940,14 +899,14 @@ public class NetInterfaceManager { String jsonString = GsonUtils.toJSONString(appUpdateInfos); Log.e("checkAoleyunUpdate", "onNext: " + jsonString); if (appUpdateInfos != null && appUpdateInfos.size() != 0) { - cacheHelper.put(UrlAddress.CHECK_UPDATE, jsonString); + mMMKV.encode(CommonConfig.ALL_APP_UPDATE, jsonString); // for (AppUpdateInfo info : appUpdateInfos) { // JsonObject jsonObject = parseString(new Gson().toJson(info)).getAsJsonObject(); // JgyUtils.getInstance().installAPK(jsonObject); // } getAllAppUpdate(appUpdateInfos); } else { - cacheHelper.put(UrlAddress.CHECK_UPDATE, ""); + mMMKV.remove(CommonConfig.ALL_APP_UPDATE); } } @@ -1038,7 +997,7 @@ public class NetInterfaceManager { Observable> notifyUpdateObservable = getUpdateObservable(PackageNames.NOTIFICATIONS); Observable> browserUpdateObservable = getUpdateObservable(PackageNames.BROWSER); Observable> ailogUpdateObservable = getUpdateObservable(PackageNames.AILOG); - String desktop = mMMKV.decodeString(CommonConfig.DEFAULT_DESKTOP_PACKAGE); + String desktop = mMMKV.decodeString(CommonConfig.DEFAULT_DESKTOP_PACKAGE, "com.ttstd.os"); Observable> learningDesktopObservable = getUpdateObservable(desktop); Observable.zip(infoUpdateObservable, storeUpdateObservable, desktopUpdateObservable, @@ -1052,25 +1011,25 @@ public class NetInterfaceManager { BaseResponse appUpdateInfoBaseResponse7 ) throws Throwable { List appUpdateInfos = new ArrayList<>(); - if (appUpdateInfoBaseResponse.code == OK) { + if (appUpdateInfoBaseResponse.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse.data); } - if (appUpdateInfoBaseResponse2.code == OK) { + if (appUpdateInfoBaseResponse2.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse2.data); } - if (appUpdateInfoBaseResponse3.code == OK) { + if (appUpdateInfoBaseResponse3.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse3.data); } - if (appUpdateInfoBaseResponse4.code == OK) { + if (appUpdateInfoBaseResponse4.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse4.data); } - if (appUpdateInfoBaseResponse5.code == OK) { + if (appUpdateInfoBaseResponse5.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse5.data); } - if (appUpdateInfoBaseResponse6.code == OK) { + if (appUpdateInfoBaseResponse6.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse6.data); } - if (appUpdateInfoBaseResponse7.code == OK) { + if (appUpdateInfoBaseResponse7.isSuccess()) { appUpdateInfos.add(appUpdateInfoBaseResponse7.data); } return appUpdateInfos; @@ -1090,13 +1049,13 @@ public class NetInterfaceManager { String jsonString = GsonUtils.toJSONString(appUpdateInfos); Log.e("checkAoleyunUpdate", "onNext: " + jsonString); if (appUpdateInfos != null && appUpdateInfos.size() != 0) { - cacheHelper.put(UrlAddress.CHECK_UPDATE, jsonString); + mMMKV.encode(CommonConfig.ALL_APP_UPDATE, jsonString); for (AppUpdateInfo info : appUpdateInfos) { JsonObject jsonObject = parseString(new Gson().toJson(info)).getAsJsonObject(); JgyUtils.getInstance().installAPK(jsonObject); } } else { - cacheHelper.put(UrlAddress.CHECK_UPDATE, ""); + mMMKV.remove(CommonConfig.ALL_APP_UPDATE); } callback.onUpdate(appUpdateInfos); } @@ -1115,7 +1074,10 @@ public class NetInterfaceManager { } public void checkUpdate() { - String jsonString = cacheHelper.getAsString(UrlAddress.CHECK_UPDATE); + String jsonString = mMMKV.decodeString(CommonConfig.ALL_APP_UPDATE, ""); + if (TextUtils.isEmpty(jsonString)) { + return; + } Gson gson = new Gson(); Type listType = new TypeToken>() { }.getType(); @@ -1130,31 +1092,6 @@ public class NetInterfaceManager { /** * 获取灰度测试更新 */ - public void checkTestUpdate(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_SN_APP_TEST, connectMode)) { - checkTestUpdate(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_SN_APP_TEST); - //为 "" 是已经请求成功的 - if (jsonString == null) { - checkTestUpdate(lifecycle, callback); - } else { - Gson gson = new Gson(); - Type listType = new TypeToken>() { - }.getType(); - List APPlist = gson.fromJson(jsonString, listType); - if (APPlist != null) { - JgyUtils.getInstance().installTestAPK(APPlist); - } - callback.onComplete(); - } - } - } - public void checkTestUpdate(BehaviorSubject lifecycle, onCompleteCallback callback) { getTestUpdateObservable() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -1167,12 +1104,10 @@ public class NetInterfaceManager { @Override public void onNext(BaseResponse> listBaseResponse) { Log.e("checkTestUpdate", "onNext: " + listBaseResponse.data); - if (listBaseResponse.code == OK) { - cacheHelper.put(UrlAddress.GET_SN_APP_TEST, GsonUtils.toJSONString(listBaseResponse.data)); + if (listBaseResponse.isSuccess()) { List APPlist = listBaseResponse.data; JgyUtils.getInstance().installTestAPK(APPlist); } else { - cacheHelper.put(UrlAddress.GET_SN_APP_TEST, ""); Log.e("checkTestUpdate", "onNext: " + listBaseResponse.msg); } } @@ -1229,8 +1164,8 @@ public class NetInterfaceManager { @Override public List apply(BaseResponse> listBaseResponse, BaseResponse> listBaseResponse2) throws Throwable { List forceDownloadData = new ArrayList<>(); - if (listBaseResponse.code == 200) forceDownloadData.addAll(listBaseResponse.data); - if (listBaseResponse2.code == 200) forceDownloadData.addAll(listBaseResponse2.data); + if (listBaseResponse.isSuccess()) forceDownloadData.addAll(listBaseResponse.data); + if (listBaseResponse2.isSuccess()) forceDownloadData.addAll(listBaseResponse2.data); return forceDownloadData; } }) @@ -1249,8 +1184,8 @@ public class NetInterfaceManager { @Override public List apply(BaseResponse> listBaseResponse, BaseResponse> listBaseResponse2) throws Throwable { List forceDownloadData = new ArrayList<>(); - if (listBaseResponse.code == 200) forceDownloadData.addAll(listBaseResponse.data); - if (listBaseResponse2.code == 200) forceDownloadData.addAll(listBaseResponse2.data); + if (listBaseResponse.isSuccess()) forceDownloadData.addAll(listBaseResponse.data); + if (listBaseResponse2.isSuccess()) forceDownloadData.addAll(listBaseResponse2.data); return forceDownloadData; } }) @@ -1267,8 +1202,8 @@ public class NetInterfaceManager { @Override public List apply(BaseResponse> listBaseResponse, BaseResponse> listBaseResponse2) throws Throwable { List forceDownloadData = new ArrayList<>(); - if (listBaseResponse.code == 200) forceDownloadData.addAll(listBaseResponse.data); - if (listBaseResponse2.code == 200) forceDownloadData.addAll(listBaseResponse2.data); + if (listBaseResponse.isSuccess()) forceDownloadData.addAll(listBaseResponse.data); + if (listBaseResponse2.isSuccess()) forceDownloadData.addAll(listBaseResponse2.data); return forceDownloadData; } }) @@ -1288,7 +1223,7 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse> forceDownloadBean) { Log.e("getForceDownload", "onNext: " + forceDownloadBean); - if (forceDownloadBean.code == OK) { + if (forceDownloadBean.isSuccess()) { List forceDownloadData = forceDownloadBean.data; Aria.download(this).resumeAllTask(); JgyUtils.getInstance().forceDownload(forceDownloadData); @@ -1367,39 +1302,15 @@ public class NetInterfaceManager { }; } -// public void getDefaultDesktop(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { -// ConnectMode connectMode = ConnectMode.ONE_MINUTE; -// if (refresh) { -// connectMode = ConnectMode.DEFAULT; -// } -// if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_DESKTOP, connectMode)) { -// getDefaultDesktop(lifecycle, callback); -// } else { -// String jsonString = cacheHelper.getAsString(UrlAddress.GET_DESKTOP); -// //为 "" 是已经请求成功的 -// if (jsonString == null) { -// getDefaultDesktop(lifecycle, callback); -// } else { -// if (!TextUtils.isEmpty(jsonString)) { -// JsonObject data = GsonUtils.getJsonObject(jsonString); -// if (data != null) { -// JgyUtils.getInstance().installDesktop(data); -// } -// } -// callback.onComplete(); -// } -// } -// } - public void getDefaultDesktop(BehaviorSubject lifecycle, onCompleteCallback callback) { Observable.zip(getDesktopObservable(), getDesktopsDiyUpdate(), new BiFunction, BaseResponse, List>() { @Override public List apply(BaseResponse forceDownloadDataBaseResponse, BaseResponse forceDownloadDataBaseResponse2) throws Throwable { List forceDownloadDataList = new ArrayList<>(); - if (forceDownloadDataBaseResponse.code == 200) { + if (forceDownloadDataBaseResponse.isSuccess()) { forceDownloadDataList.add(forceDownloadDataBaseResponse.data); } - if (forceDownloadDataBaseResponse2.code == 200) { + if (forceDownloadDataBaseResponse2.isSuccess()) { forceDownloadDataList.add(forceDownloadDataBaseResponse2.data); } return forceDownloadDataList; @@ -1414,10 +1325,10 @@ public class NetInterfaceManager { @Override public List apply(BaseResponse forceDownloadDataBaseResponse, BaseResponse forceDownloadDataBaseResponse2) throws Throwable { List forceDownloadDataList = new ArrayList<>(); - if (forceDownloadDataBaseResponse.code == 200) { + if (forceDownloadDataBaseResponse.isSuccess()) { forceDownloadDataList.add(forceDownloadDataBaseResponse.data); } - if (forceDownloadDataBaseResponse2.code == 200) { + if (forceDownloadDataBaseResponse2.isSuccess()) { forceDownloadDataList.add(forceDownloadDataBaseResponse2.data); } return forceDownloadDataList; @@ -1431,10 +1342,10 @@ public class NetInterfaceManager { @Override public List apply(BaseResponse forceDownloadDataBaseResponse, BaseResponse forceDownloadDataBaseResponse2) throws Throwable { List forceDownloadDataList = new ArrayList<>(); - if (forceDownloadDataBaseResponse.code == 200) { + if (forceDownloadDataBaseResponse.isSuccess()) { forceDownloadDataList.add(forceDownloadDataBaseResponse.data); } - if (forceDownloadDataBaseResponse2.code == 200) { + if (forceDownloadDataBaseResponse2.isSuccess()) { forceDownloadDataList.add(forceDownloadDataBaseResponse2.data); } return forceDownloadDataList; @@ -1458,14 +1369,12 @@ public class NetInterfaceManager { ForceDownloadData desktopInfo = baseResponse.get(0); String jsonString = GsonUtils.toJSONString(desktopInfo); JsonObject data = GsonUtils.getJsonObject(jsonString); - cacheHelper.put(UrlAddress.GET_DESKTOP, jsonString); JgyUtils.getInstance().installDesktop(data); mMMKV.encode(CommonConfig.DEFAULT_DESKTOP_PACKAGE_NAME, desktopInfo.getApp_package()); setDefaultDesktop(desktopInfo.getApp_package()); } else { Log.e("getDefaultDesktop", "onNext: " + "删除定制桌面"); mMMKV.encode(CommonConfig.DEFAULT_DESKTOP_PACKAGE_NAME, ""); - cacheHelper.put(UrlAddress.GET_DESKTOP, ""); // String whiteList = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); for (String s : ApkUtils.desktopAPP) { if ("com.aoleyunos.dop3".equals(s)) { @@ -1518,36 +1427,6 @@ public class NetInterfaceManager { }; } - - public void setLogoImg(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_LOGO_IMG, connectMode)) { - setLogoImg(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_LOGO_IMG); - //为 "" 是已经请求成功的 - if (jsonString == null) { - setLogoImg(lifecycle, callback); - } else { - Gson gson = new Gson(); - Type type = new TypeToken() { - }.getType(); - LogoImg logoImg = gson.fromJson(jsonString, type); - String file_url = logoImg.getFile_url(); - String file_md5 = logoImg.getFile_md5(); - if (TextUtils.isEmpty(file_url)) { - Log.e("setLogoImg", "onNext: file_url is empty"); - } else { - JgyUtils.getInstance().checkBootFile(file_url, file_md5); - } - callback.onComplete(); - } - } - } - public void setLogoImg(BehaviorSubject lifecycle, onCompleteCallback callback) { getLogoImgObservable() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -1560,9 +1439,8 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse logoImgBaseResponse) { Log.e("setLogoImg", "onNext: " + logoImgBaseResponse.data); - if (logoImgBaseResponse.code == OK) { + if (logoImgBaseResponse.isSuccess()) { LogoImg logoImg = logoImgBaseResponse.data; - cacheHelper.put(UrlAddress.GET_LOGO_IMG, GsonUtils.toJSONString(logoImg)); String file_url = logoImg.getFile_url(); String file_md5 = logoImg.getFile_md5(); String batch = logoImg.getBatch(); @@ -1603,9 +1481,8 @@ public class NetInterfaceManager { @Override public void onNext(BaseResponse baseResponse) { Log.e("getDeveloper1", "onNext: " + baseResponse); - if (baseResponse.code == OK) { + if (baseResponse.isSuccess()) { DeveloperBean developerBean = baseResponse.data; - cacheHelper.put(UrlAddress.GET_DEVELOPER, GsonUtils.toJSONString(developerBean)); int is_developer = developerBean.getIs_developer(); Log.e("getDeveloper2", "onNext: " + is_developer); //后台1是0否 底层0是1否 @@ -1629,29 +1506,6 @@ public class NetInterfaceManager { }); } - public void getCustomRomApp(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.HALF_DAY; - if (refresh) { - connectMode = ConnectMode.SIX_HOUR; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_ROM_APP, connectMode)) { - getCustomRomApp(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_ROM_APP); - //为 "" 是已经请求成功的 - if (jsonString == null) { - getCustomRomApp(lifecycle, callback); - } else { - Gson gson = new Gson(); - Type type = new TypeToken() { - }.getType(); - CustomROMApp customROMApp = gson.fromJson(jsonString, type); - - callback.onComplete(); - } - } - } - public void getCustomRomApp(BehaviorSubject lifecycle, onCompleteCallback callback) { getCustomRomAppControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -1664,13 +1518,11 @@ public class NetInterfaceManager { @Override public void onNext(BaseResponse baseResponse) { Log.e("getROMApp", "onNext: " + baseResponse); - if (baseResponse.code == OK) { + if (baseResponse.isSuccess()) { CustomROMApp customROMApp = baseResponse.data; - cacheHelper.put(UrlAddress.GET_ROM_APP, GsonUtils.toJSONString(customROMApp)); String packageName = customROMApp.getPackage_name(); Settings.System.putString(mContext.getContentResolver(), "jgy_customromapp", packageName); } else { - cacheHelper.put(UrlAddress.GET_ROM_APP, ""); Log.e("getROMApp", "onNext: " + baseResponse.msg); Settings.System.putString(mContext.getContentResolver(), "jgy_customromapp", " "); } @@ -1690,47 +1542,6 @@ public class NetInterfaceManager { }); } - @Deprecated - public void getDesktopIcon(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.SIX_HOUR; - if (refresh) { - connectMode = ConnectMode.ONE_HOUR; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_HIDE_DESKTOPICON, connectMode)) { - getDesktopIcon(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_HIDE_DESKTOPICON); - //为 "" 是已经请求成功的 - if (jsonString == null) { - getDesktopIcon(lifecycle, callback); - } else { - Gson gson = new Gson(); - Type type = new TypeToken>() { - }.getType(); - List list = gson.fromJson(jsonString, type); - PackageManager pm = mContext.getPackageManager(); - if (list != null) { - for (String pack : list) { - try { - // TODO: 2021/5/24 需要后端替换包名,暂时解决方案 - if ("com.mediatek.camera".equals(pack)) { - JgyUtils.getInstance().hideApp("com.android.camera2"); - } - if ("com.android.mms".equals(pack)) { - JgyUtils.getInstance().hideApp("com.android.messaging"); - } - JgyUtils.getInstance().hideApp(pack); - Log.e("getDesktopIcon", pack); - } catch (Exception e) { - Log.e("getDesktopIcon", "Exception: " + e.getMessage()); - } - } - } - callback.onComplete(); - } - } - } - public void getDesktopIcon(BehaviorSubject lifecycle, onCompleteCallback callback) { getDesktopIconObservable() .observeOn(Schedulers.io()) @@ -1761,11 +1572,10 @@ public class NetInterfaceManager { public void onNext(@NonNull BaseResponse response) { Log.e("getDesktopIcon", "onNext: " + response); ApkUtils.showAllApp(mContext); - if (response.code == OK) { + if (response.isSuccess()) { String data = response.data.toString(); if (!TextUtils.isEmpty(data)) { List newList = Arrays.asList(data.split(","));//新的list - cacheHelper.put(UrlAddress.GET_HIDE_DESKTOPICON, GsonUtils.toJSONString(newList)); PackageManager pm = mContext.getPackageManager(); for (String pack : newList) { try { @@ -1781,12 +1591,7 @@ public class NetInterfaceManager { Log.e("getDesktopIcon", "Exception: " + e.getMessage()); } } - - } else { - cacheHelper.put(UrlAddress.GET_HIDE_DESKTOPICON, ""); } - } else { - cacheHelper.put(UrlAddress.GET_HIDE_DESKTOPICON, ""); } if (JgyUtils.getInstance().isAiuduPlatform()) { ApkUtils.HideAiUDuApp(); @@ -1865,11 +1670,9 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull NetAndLaunchBean netAndLaunchBean) { Log.e("getAppAutoStart", "onNext: " + netAndLaunchBean.toString()); - if (netAndLaunchBean.getCode() == OK) { - cacheHelper.put(UrlAddress.NET_AND_LAUNCH_API, GsonUtils.toJSONString(netAndLaunchBean)); + if (netAndLaunchBean.getCode() == 200) { JgyUtils.getInstance().setNetAndlaunch(netAndLaunchBean); } else { - cacheHelper.put(UrlAddress.NET_AND_LAUNCH_API, ""); Log.e("getAppAutoStart", "onNext: " + netAndLaunchBean.toString()); } } @@ -1890,33 +1693,6 @@ public class NetInterfaceManager { }; } - public void getAppIDControl(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_HOUR; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_APPID, connectMode)) { - getAppIDControl(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_APPID); - //为 "" 是已经请求成功的 - if (jsonString == null) { - getAppIDControl(lifecycle, callback); - } else { -// Gson gson = new Gson(); -// Type type = new TypeToken() { -// }.getType(); -// AppID appID = gson.fromJson(jsonString, type); -// if (appID == null) { -// JgyUtils.getInstance().writeDeselectIDtoSystem("", ""); -// } else { -// JgyUtils.getInstance().writeDeselectIDtoSystem(appID.getIds(), appID.getPackages()); -// } - callback.onComplete(); - } - } - } - public void getAppIDControl(BehaviorSubject lifecycle, onCompleteCallback callback) { getAppIDControlObservable() .observeOn(Schedulers.io()) @@ -1960,13 +1736,10 @@ public class NetInterfaceManager { } else { Settings.System.putString(mContext.getContentResolver(), CommonConfig.APP_VIEW_CLICK_DISABLED, "com.arivoc.wordhd:2131624676,2131624689;com.ttstd.utils:12345"); } - if (baseResponse.code == OK) { + if (baseResponse.isSuccess()) { List appIDList = baseResponse.data; - cacheHelper.put(UrlAddress.GET_APPID, GsonUtils.toJSONString(appIDList)); - JgyUtils.getInstance().writeDeselectIDtoSystem(appIDList); } else { - cacheHelper.put(UrlAddress.GET_APPID, ""); JgyUtils.getInstance().writeDeselectIDtoSystem(null); } } @@ -2013,11 +1786,11 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse> baseResponse) { Log.e("getSnAppAttr", "onNext: " + baseResponse); - if (baseResponse.code == 200) { + if (baseResponse.isSuccess()) { List appAttrList = baseResponse.data; - setAppDisAble(appAttrList); + setAppDisable(appAttrList); } else { - setAppDisAble(null); + setAppDisable(null); } } @@ -2037,7 +1810,7 @@ public class NetInterfaceManager { }; } - private void setAppDisAble(List appAttrList) { + private void setAppDisable(List appAttrList) { String appString = Settings.Global.getString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_DISABLE_APP); if (!TextUtils.isEmpty(appString)) { List pkgs = new ArrayList<>(Arrays.asList(appString.split(","))); @@ -2095,15 +1868,13 @@ public class NetInterfaceManager { public void onNext(@NonNull BaseResponse baseResponse) { Log.e("setSystemSetting", "onNext: " + baseResponse); SPUtils.put(mContext, CommonConfig.JGY_FIRST_CONNECT, 1); - if (baseResponse.code == OK) { + if (baseResponse.isSuccess()) { String data = GsonUtils.toJSONString(baseResponse.data); Log.e("setSystemSetting", "onNext: " + data); - cacheHelper.put(UrlAddress.GET_FIRMWARE, data); //结果保存到本地 JgyUtils.getInstance().SettingSysData(data); } else { JgyUtils.getInstance().SettingSysData(""); - cacheHelper.put(UrlAddress.GET_FIRMWARE, ""); //获取系统管控先不要关闭开发人员选项 // if (!BuildConfig.DEBUG) { // Settings.System.putInt(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_DEVELOPER_OPTIONS, 1); @@ -2127,28 +1898,6 @@ public class NetInterfaceManager { }; } - public void getEBagCode(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.HALF_DAY; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_EBAG_CODE, connectMode)) { - getEBagCode(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_EBAG_CODE); - //为 "" 是已经请求成功的 - if (jsonString == null) { - getEBagCode(lifecycle, callback); - } else { - Gson gson = new Gson(); - Type type = new TypeToken() { - }.getType(); - - callback.onComplete(); - } - } - } - public void getEBagCode(BehaviorSubject lifecycle, onCompleteCallback callback) { getEBagCodeControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -2161,18 +1910,16 @@ public class NetInterfaceManager { @Override public void onNext(BaseResponse baseResponse) { Log.e("getEBagCode", "onNext: " + baseResponse); - if (baseResponse.code == OK) { + if (baseResponse.isSuccess()) { EBagCode eBagCode = baseResponse.data; if (JgyUtils.getInstance().checkAppPlatform() != JgyUtils.YXPD1Platform) { Settings.System.putString(mContext.getContentResolver(), CommonConfig.ACTIVATIONBEAN_CODE_KEY, eBagCode.getEbagCode()); } - cacheHelper.put(UrlAddress.GET_EBAG_CODE, GsonUtils.toJSONString(eBagCode)); String ebagCode = eBagCode.getEbagCode(); SPUtils.put(mContext, "ebagCode", ebagCode); Settings.Global.putInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 1); JgyUtils.getInstance().checkLocalExternalFiles(); } else { - cacheHelper.put(UrlAddress.GET_EBAG_CODE, ""); Log.e("getEBagCode", "onNext: " + baseResponse.data); Settings.Global.putInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0); } @@ -2192,33 +1939,6 @@ public class NetInterfaceManager { }); } - - public void getDefaultApp(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_HOUR; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_DEFAULT_APP, connectMode)) { - getDefaultApp(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_DEFAULT_APP); - //为 "" 是已经请求成功的 - if (jsonString == null) { - getDefaultApp(lifecycle, callback); - } else { - Gson gson = new Gson(); - Type type = new TypeToken() { - }.getType(); - DefaultApp defaultApp = gson.fromJson(jsonString, type); - if (defaultApp != null) { - mMMKV.encode(CommonConfig.DEFAULT_LAUNCHER_PACKAGE_NAME, defaultApp.getDefault_launcher()); - setDefaultDesktop(defaultApp.getDefault_launcher()); - } - callback.onComplete(); - } - } - } - public void getDefaultApp(BehaviorSubject lifecycle, onCompleteCallback callback) { getDefaultAppApi() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -2229,15 +1949,14 @@ public class NetInterfaceManager { } @Override - public void onNext(BaseResponse defaultAppBaseResponse) { - Log.e("getDefaultApp", "onNext: " + GsonUtils.toJSONString(defaultAppBaseResponse.data)); - int code = defaultAppBaseResponse.code; - if (code == OK) { - DefaultApp defaultApp = defaultAppBaseResponse.data; + public void onNext(BaseResponse baseResponse) { + Log.e("getDefaultApp", "onNext: " + GsonUtils.toJSONString(baseResponse.data)); + if (baseResponse.isSuccess()) { + DefaultApp defaultApp = baseResponse.data; setDefaultApp(defaultApp); } else { setDefaultApp(null); - Log.e("getDefaultApp", "onNext: " + defaultAppBaseResponse.msg); + Log.e("getDefaultApp", "onNext: " + baseResponse.msg); } } @@ -2365,48 +2084,13 @@ public class NetInterfaceManager { void onComplete(); } - /** - * 判断从缓存还是从网络拿数据 - * - * @param refresh - * @param lifecycle - * @param studesInfoListener - */ - public void getStudesInfo(boolean refresh, BehaviorSubject lifecycle, StudesInfoListener studesInfoListener) { - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_STUDENTS_INFO, connectMode)) { - getInfo(lifecycle, studesInfoListener); - } else { - String jsonString = mMMKV.decodeString(UrlAddress.GET_STUDENTS_INFO); - //为 "" 是已经请求成功的 - if (jsonString == null) { - getInfo(lifecycle, studesInfoListener); - } else { - Gson gson = new Gson(); - Type Type = new TypeToken() { - }.getType(); - try { - StudentsInfo studentsInfo = gson.fromJson(jsonString, Type); - studesInfoListener.setStudentsInfo(studentsInfo); - } catch (Exception e) { - Log.e(TAG, "getStudesInfo: " + e.getMessage()); - studesInfoListener.setStudentsInfo(null); - } - studesInfoListener.onComplete(); - } - } - } - /** * 获取基本信息 * * @param lifecycle * @param studesInfoListener */ - private void getInfo(BehaviorSubject lifecycle, StudesInfoListener studesInfoListener) { + public void getStudesInfo(BehaviorSubject lifecycle, StudesInfoListener studesInfoListener) { getStudesInfoObservable() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .subscribe(new Observer>() { @@ -2418,7 +2102,7 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse studentsInfoBaseResponse) { Log.e("getStudesInfo", "onNext: " + studentsInfoBaseResponse.data); - if (studentsInfoBaseResponse.code == OK) { + if (studentsInfoBaseResponse.isSuccess()) { studesInfoListener.setStudentsInfo(studentsInfoBaseResponse.data); mMMKV.encode(UrlAddress.GET_STUDENTS_INFO, GsonUtils.toJSONString(studentsInfoBaseResponse.data)); } else { @@ -2461,7 +2145,7 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse response) { Log.e("getLockedState", "onNext: " + response); - if (response.code == OK) { + if (response.isSuccess()) { JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject(); int locked = jsonObject.get("lock").getAsInt(); Log.e("getLockedState", "locked: " + locked); @@ -2531,40 +2215,6 @@ public class NetInterfaceManager { }); } - String macJson; - - - /** - * 发送mac地址本机信息 - * - * @param lifecycle - * @param callback - */ - public void sendMACAddress(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - macJson = (String) SPUtils.get(mContext, "macJson", ""); - String macJsonString = JgyUtils.getInstance().getMacJson(mContext); - - ConnectMode connectMode = ConnectMode.ONE_HOUR; - if (refresh) { - connectMode = ConnectMode.ONE_MINUTE; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.SEND_DEVICES, connectMode)) { - if (macJson.equals(macJsonString)) { - callback.onComplete(); - } else { - sendMACAddress(lifecycle, callback); - } - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.SEND_DEVICES); - //为 "" 是已经请求成功的 - if (jsonString == null) { - sendMACAddress(lifecycle, callback); - } else { - callback.onComplete(); - } - } - } - public void sendMACAddress(BehaviorSubject lifecycle, onCompleteCallback callback) { sendMacAddressObservable() .observeOn(Schedulers.io()) @@ -2577,10 +2227,8 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse response) { - if (response.code == OK) { - cacheHelper.put(UrlAddress.SEND_DEVICES, macJson); + if (response.isSuccess()) { Log.e("sendMACAddress", "onNext: " + response.msg); - SPUtils.put(mContext, "macJson", macJson); } else { Log.e("sendMACAddress", "onNext: " + response.toString()); } @@ -2606,27 +2254,6 @@ public class NetInterfaceManager { void setPushTag(String tag); } - public void setPushTags(boolean refresh, BehaviorSubject lifecycle, PushTagCallback callback) { - ConnectMode connectMode = ConnectMode.SIX_HOUR; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_DEVICES_TAGS, connectMode)) { - setPushTags(lifecycle, callback); - } else { - String cache = cacheHelper.getAsString(UrlAddress.GET_DEVICES_TAGS); - String batch = mMMKV.decodeString(CommonConfig.DEVICES_TAG, ""); - //为 "" 是已经请求成功的 - if (cache == null) { - setPushTags(lifecycle, callback); - } else { - Log.e("setPushTags", "tagSets: " + batch); - callback.setPushTag(batch); - } - } - } - - /** * 设置推送的标签 * @@ -2654,8 +2281,7 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse response) { Set tags = new HashSet<>(); - if (response.code == OK) { - cacheHelper.put(UrlAddress.GET_DEVICES_TAGS, GsonUtils.toJSONString(response.data)); + if (response.isSuccess()) { String batch = response.data.getBatch(); Set groupTag = response.data.getGroup_en_name(); mMMKV.encode(CommonConfig.DEVICES_GROUP_TAG, groupTag); @@ -2680,7 +2306,6 @@ public class NetInterfaceManager { } else { mMMKV.encode(CommonConfig.DEVICES_TAG, ""); mMMKV.remove(CommonConfig.DEVICES_GROUP_TAG); - cacheHelper.put(UrlAddress.GET_DEVICES_TAGS, ""); if (callback != null) callback.setPushTag(""); Log.e("setPushTags", "onNext: " + response.toString()); @@ -2782,26 +2407,6 @@ public class NetInterfaceManager { }); } - - public void updateDeviceInfo(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.UPDATE_DEVICEINFO, connectMode)) { - updateDeviceInfo(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.UPDATE_DEVICEINFO); - //为 "" 是已经请求成功的 - if (jsonString == null) { - updateDeviceInfo(lifecycle, callback); - } else { - - callback.onComplete(); - } - } - } - public void updateDeviceInfo(BehaviorSubject lifecycle, onCompleteCallback callback) { getUpdateDeviceInfoObservable() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -2819,7 +2424,6 @@ public class NetInterfaceManager { private Observable getUpdateDeviceInfoObservable() { String addressJsonString = Utils.getAddressJsonString(mContext); - cacheHelper.put(UrlAddress.UPDATE_DEVICEINFO, addressJsonString); return getUploadInfoApi().updateDeviceInfo( Utils.getSerial(mContext), HTTP_KEY, @@ -2860,10 +2464,7 @@ public class NetInterfaceManager { public void sendInstalledAppInfo(onCompleteCallback callback) { String jsonString = ApkUtils.getRunningAppInfo(mContext); - getUploadInfoApi() - .getUploadAppInfoApi(HTTP_KEY, - Utils.getSerial(mContext), - jsonString) + getUploadAppInfoControl(jsonString) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -2919,9 +2520,11 @@ public class NetInterfaceManager { @Override public void onRequestResponse(Call call, retrofit2.Response response) { BaseResponse baseResponse = (BaseResponse) response.body(); - Log.e(TAG, "onRequestResponse: " + baseResponse); - if (baseResponse.code == 200 || baseResponse.code == 401) { - addIcon(packageInfo.packageName); + if (baseResponse != null) { + Log.e(TAG, "onRequestResponse: " + baseResponse); + if (baseResponse.code == 200 || baseResponse.code == 401) { + addIcon(packageInfo.packageName); + } } } @@ -3050,35 +2653,12 @@ public class NetInterfaceManager { }); } - public void getBookMarkBlackWhiteList(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.SET_HOMEPAG_TAG, connectMode) - || ConnectManager.getInstance().isNeedConnect(UrlAddress.SET_BROWSER_LIST, connectMode) - ) { - getBookMarkBlackWhiteList(lifecycle, callback); - } else { - String bookmarkString = cacheHelper.getAsString(UrlAddress.SET_HOMEPAG_TAG); - String browserjsonString = cacheHelper.getAsString(UrlAddress.SET_BROWSER_LIST); - //为 "" 是已经请求成功的 - if (bookmarkString == null) { - getHomePageBookmarks(); - } - if (browserjsonString == null) { - setBrowserBlackList(); - } - callback.onComplete(); - } - } - public void getBookMarkBlackWhiteList(BehaviorSubject lifecycle, onCompleteCallback callback) { Observable.zip(getBrowserBookmarksObservable(), getBrowserListSettingObservable(), new BiFunction, BaseResponse, String>() { @Override public String apply(BaseResponse browserBookmarksBaseResponse, BaseResponse browserDataBaseResponse) throws Throwable { String homePage = ""; - if (browserBookmarksBaseResponse.code == OK) { + if (browserBookmarksBaseResponse.isSuccess()) { homePage = browserBookmarksBaseResponse.data.getHomepage(); } @@ -3122,7 +2702,7 @@ public class NetInterfaceManager { @Override public String apply(BaseResponse browserBookmarksBaseResponse, BaseResponse browserDataBaseResponse) throws Throwable { String homePage = ""; - if (browserBookmarksBaseResponse.code == OK) { + if (browserBookmarksBaseResponse.isSuccess()) { homePage = browserBookmarksBaseResponse.data.getHomepage(); } @@ -3159,11 +2739,9 @@ public class NetInterfaceManager { }); } - private void setBrowserBookmarks(BaseResponse browserBookmarksBaseResponse) { - if (browserBookmarksBaseResponse.code == 200) { + if (browserBookmarksBaseResponse.isSuccess()) { BrowserBookmarks browserBookmarks = browserBookmarksBaseResponse.data; - cacheHelper.put(UrlAddress.SET_HOMEPAG_TAG, GsonUtils.toJSONString(browserBookmarks)); //主页不包含白名单添加进去 String homepagURL = browserBookmarks.getHomepage(); @@ -3232,8 +2810,6 @@ public class NetInterfaceManager { } mContext.sendBroadcast(homepag); } else { - cacheHelper.put(UrlAddress.SET_HOMEPAG_TAG, ""); - Intent intent1 = new Intent("qch_app_brower_homepage"); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { intent1.setPackage("com.android.settings") @@ -3255,9 +2831,8 @@ public class NetInterfaceManager { private void setBlackWhiteList(BaseResponse browserDataBaseResponse, String homePage) { //黑白名单 - if (browserDataBaseResponse.code == 200) { + if (browserDataBaseResponse.isSuccess()) { BrowserData browserData = browserDataBaseResponse.data; - cacheHelper.put(UrlAddress.SET_BROWSER_LIST, GsonUtils.toJSONString(browserData)); String white = browserData.getWhite(); if (!TextUtils.isEmpty(white)) { if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) { @@ -3292,8 +2867,6 @@ public class NetInterfaceManager { SPUtils.put(mContext, "black_ip", " "); } } else { - cacheHelper.put(UrlAddress.SET_BROWSER_LIST, ""); - Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", homePage); Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " "); SPUtils.put(mContext, "white_ip", " "); @@ -3301,40 +2874,11 @@ public class NetInterfaceManager { } } - public interface ScreenLockStateListener { - void setScreenLockState(boolean locked, String tips); + void setScreenLockState(ScreenLockState screenLockState); } - public void getScreenLockState(boolean refresh, BehaviorSubject lifecycle, ScreenLockStateListener listener) { - int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED); - if (JgyUtils.isOfficialVersion() || locked == JGYActions.FRAME_CODE_UNLOCKED) { - listener.setScreenLockState(false, ""); - return; - } - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_LOCK_SCREEN_STATE, connectMode)) { - getScreenLock(lifecycle, listener); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_LOCK_SCREEN_STATE); - if (jsonString == null) { - getScreenLock(lifecycle, listener); - } else { - Gson gson = new GsonBuilder().registerTypeAdapterFactory(new NullStringToEmptyAdapterFactory()).create(); - Type Type = new TypeToken() { - }.getType(); - ScreenLockState screenLockState = gson.fromJson(jsonString, Type); - if (screenLockState != null) { - listener.setScreenLockState(screenLockState.getIs_screen_lock() == 1, screenLockState.getName()); - } - } - } - } - - private void getScreenLock(BehaviorSubject lifecycle, ScreenLockStateListener listener) { + public void getScreenLockState(BehaviorSubject lifecycle, ScreenLockStateListener listener) { getScreenLockObservable() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .subscribe(new Observer>() { @@ -3346,15 +2890,13 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse response) { Log.e("getScreenLockState", "onNext: " + response); - if (response.code == OK) { + if (response.isSuccess()) { ScreenLockState screenLockState = response.data; - cacheHelper.put(UrlAddress.GET_LOCK_SCREEN_STATE, GsonUtils.toJSONString(screenLockState)); int is_screen_lock = screenLockState.getIs_screen_lock(); String name = screenLockState.getName(); - listener.setScreenLockState(is_screen_lock == 1, name); + listener.setScreenLockState(screenLockState); } else { - cacheHelper.put(UrlAddress.GET_LOCK_SCREEN_STATE, ""); - listener.setScreenLockState(false, ""); + listener.setScreenLockState(null); Log.e("getScreenLockState", "onNext: " + response); } } @@ -3400,19 +2942,18 @@ public class NetInterfaceManager { .subscribe(getAppLimitListObserver(null)); } - private Function3, BaseResponse>, BaseResponse>, List> getBiFunction() { return new Function3, BaseResponse>, BaseResponse>, List>() { @Override public List apply(BaseResponse appLimitBaseResponse, BaseResponse> listBaseResponse, BaseResponse> appDateInfoResponse) throws Throwable { List appNames = new ArrayList<>(); - if (appLimitBaseResponse.code == 200) { + if (appLimitBaseResponse.isSuccess()) { AppLimit appLimit = appLimitBaseResponse.data; String result = appLimit.getResult(); List pkgs = new ArrayList<>(Arrays.asList(result.split(","))); appNames.addAll(pkgs); } - if (listBaseResponse.code == 200) { + if (listBaseResponse.isSuccess()) { List appDateInfos = listBaseResponse.data; Set pkgs = appDateInfos.stream().map(new Function() { @Override @@ -3422,7 +2963,7 @@ public class NetInterfaceManager { }).collect(Collectors.toSet()); appNames.addAll(pkgs); } - if (appDateInfoResponse.code == 200) { + if (appDateInfoResponse.isSuccess()) { List appDateInfos = appDateInfoResponse.data; Set pkgs = appDateInfos.stream().map(new Function() { @Override @@ -3475,32 +3016,6 @@ public class NetInterfaceManager { }; } - /** - * 获取所有app详细信息 - */ - public void getAllAppList(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_ALL_APP, connectMode)) { - getAllAppList(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_ALL_APP); - //为 "" 是已经请求成功的 - if (jsonString == null) { - getAllAppList(lifecycle, callback); - } else { - Gson gson = new Gson(); - Type type = new TypeToken>() { - }.getType(); - List appListInfos = gson.fromJson(jsonString, type); - getAppAutoStartUpdateAndNet(appListInfos); - callback.onComplete(); - } - } - } - public void getAllAppList(BehaviorSubject lifecycle, onCompleteCallback callback) { getAllAppControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -3527,7 +3042,7 @@ public class NetInterfaceManager { @Override public void onNext(BaseResponse> listBaseResponse) { Log.e("getAllAppList", "onNext: " + listBaseResponse); - if (listBaseResponse.code == 200) { + if (listBaseResponse.isSuccess()) { List appListInfos = listBaseResponse.data; getAppAutoStartUpdateAndNet(appListInfos); Set pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet()); @@ -3553,27 +3068,6 @@ public class NetInterfaceManager { }; } - @Deprecated - public void getSnTimeControl(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_SN_TIME_CONTROL, connectMode)) { - getSnTimeControl(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_SN_TIME_CONTROL); - if (jsonString == null) { - getSnTimeControl(lifecycle, callback); - } else { - Intent intent = new Intent(); - intent.setAction(MainService.TimeChangedReceiver.ACTION_UPDATE); - mContext.sendBroadcast(intent); - callback.onComplete(); - } - } - } - @Deprecated public void getSnTimeControl(BehaviorSubject lifecycle, onCompleteCallback callback) { getSnTimeObservable() @@ -3587,6 +3081,7 @@ public class NetInterfaceManager { .subscribe(getSnTimeObserver(null)); } + @Deprecated private Observer> getSnTimeObserver(onCompleteCallback callback) { return new Observer>() { @Override @@ -3597,8 +3092,7 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse response) { Log.e("getSnTimeControl", "onNext: "); - int code = response.code; - if (code == OK) { + if (response.isSuccess()) { SnTimeControl snTimeControl = response.data; String start_time = snTimeControl.getStart_time(); String end_time = snTimeControl.getEnd_time(); @@ -3655,7 +3149,7 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse response) { Log.e("getTimeObserver", "onNext: " + response); - if (response.code == OK) { + if (response.isSuccess()) { TimeControlData timeControlData = response.data; List periods = timeControlData.getPeriods(); mMMKV.encode(CommonConfig.TIME_CONTROL_DATA_KEY, GsonUtils.toJSONString(periods)); @@ -3681,7 +3175,6 @@ public class NetInterfaceManager { }; } - public interface GetAppinsideWebCallback { void onComplete(); } @@ -3756,36 +3249,6 @@ public class NetInterfaceManager { }); } - public void getTopApp(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_TOP_APP_CONTROL, connectMode)) { - getTopApp(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_TOP_APP_CONTROL); - if (jsonString == null) { - getTopApp(lifecycle, callback); - } else { -// Gson gson = new Gson(); -// Type Type = new TypeToken() { -// }.getType(); -// TopApp topApp = gson.fromJson(jsonString, Type); -// if (topApp != null) { -// String app_package = topApp.getApp_package(); -// ForegroundAppUtil.setTopAppClass(mContext, app_package); -// SPUtils.put(mContext, ForegroundAppUtil.TOPAPP_KEY, app_package); -// ForegroundAppUtil.openTopApp(mContext); -// }else { -// ForegroundAppUtil.setTopAppClass(mContext, ""); -// } - callback.onComplete(); - } - } - } - - public void getTopApp(BehaviorSubject lifecycle, onCompleteCallback callback) { getTopAppControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -3798,9 +3261,8 @@ public class NetInterfaceManager { @Override public void onNext(BaseResponse response) { Log.e("getTopApp", "onNext: " + response.data); - if (response.code == OK) { + if (response.isSuccess()) { String app_package = response.data.getApp_package(); - cacheHelper.put(UrlAddress.GET_TOP_APP_CONTROL, GsonUtils.toJSONString(response.data)); ForegroundAppUtil.setTopAppClass(mContext, app_package); Settings.Global.putString(mContext.getContentResolver(), ForegroundAppUtil.TOPAPP_KEY, app_package); ForegroundAppUtil.openTopApp(mContext); @@ -3808,7 +3270,6 @@ public class NetInterfaceManager { if ("YX-T01".equalsIgnoreCase(Build.MODEL)) { JgyUtils.getInstance().setTongyiAppTop(); } else { - cacheHelper.put(UrlAddress.GET_TOP_APP_CONTROL, ""); ForegroundAppUtil.setTopAppClass(mContext, ""); Settings.Global.putString(mContext.getContentResolver(), ForegroundAppUtil.TOPAPP_KEY, ""); } @@ -3831,29 +3292,6 @@ public class NetInterfaceManager { }); } - public void getPoweroffTime(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_POWEROFF_TIME, connectMode)) { - getPoweroffTime(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_POWEROFF_TIME); - //为 "" 是已经请求成功的 - if (jsonString == null) { - getPoweroffTime(lifecycle, callback); - } else { -// Gson gson = new Gson(); -// Type Type = new TypeToken>() { -// }.getType(); -// List poweroffBeanList = gson.fromJson(jsonString, Type); - callback.onComplete(); - } - } - } - - public void getPoweroffTime(BehaviorSubject lifecycle, onCompleteCallback callback) { getPoweroffTimeControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -3871,7 +3309,7 @@ public class NetInterfaceManager { .subscribe(getPoweroffTimeObserver(null)); } - private Observer getPoweroffTimeObserver(onCompleteCallback callback) { + private Observer>> getPoweroffTimeObserver(onCompleteCallback callback) { return new Observer>>() { @Override public void onSubscribe(Disposable d) { @@ -3881,10 +3319,9 @@ public class NetInterfaceManager { @Override public void onNext(BaseResponse> listBaseResponse) { Log.e("getPoweroffTime", "onNext: " + listBaseResponse); - if (listBaseResponse.code == 200) { + if (listBaseResponse.isSuccess()) { List poweroffBeanList = listBaseResponse.data; String poweroffTime = GsonUtils.toJSONString(poweroffBeanList); - cacheHelper.put(UrlAddress.GET_POWEROFF_TIME, poweroffTime); mMMKV.encode("poweroffTime", poweroffTime); } else { mMMKV.encode("PoweroffTime", ""); @@ -3907,29 +3344,6 @@ public class NetInterfaceManager { }; } - - public void getWiFiPasswd(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { - ConnectMode connectMode = ConnectMode.ONE_MINUTE; - if (refresh) { - connectMode = ConnectMode.DEFAULT; - } - if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_WIFI_ALIAS_PW, connectMode)) { - getWiFiPasswd(lifecycle, callback); - } else { - String jsonString = cacheHelper.getAsString(UrlAddress.GET_WIFI_ALIAS_PW); - //为 "" 是已经请求成功的 - if (jsonString == null) { - getWiFiPasswd(lifecycle, callback); - } else { - Gson gson = new Gson(); - Type type = new TypeToken() { - }.getType(); - - callback.onComplete(); - } - } - } - public void getWiFiPasswd(BehaviorSubject lifecycle, onCompleteCallback callback) { getWiFiControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -3956,12 +3370,10 @@ public class NetInterfaceManager { @Override public void onNext(BaseResponse> listBaseResponse) { Log.e("getWiFiPasswd", "onNext: " + listBaseResponse); - if (listBaseResponse.code == OK) { - cacheHelper.put(UrlAddress.GET_WIFI_ALIAS_PW, GsonUtils.toJSONString(listBaseResponse.data)); + if (listBaseResponse.isSuccess()) { WiFiUtils.saveWiFiPasswd(listBaseResponse.data); mMMKV.encode("WiFiPassword", parseString(new Gson().toJson(listBaseResponse.data)).toString()); } else { - cacheHelper.put(UrlAddress.GET_WIFI_ALIAS_PW, ""); WiFiUtils.saveWiFiPasswd(listBaseResponse.data); mMMKV.encode("WiFiPassword", ""); } @@ -3996,7 +3408,7 @@ public class NetInterfaceManager { @Override public void onNext(BaseResponse snRunLogBaseResponse) { Log.e("getRunLog", "onNext: " + snRunLogBaseResponse); - if (snRunLogBaseResponse.code == OK) { + if (snRunLogBaseResponse.isSuccess()) { SnRunLog snRunLog = snRunLogBaseResponse.data; LogcatService.setStart_Time(snRunLog.getStart_time()); LogcatService.setDuration(snRunLog.getDuration()); @@ -4311,7 +3723,7 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse snSettingBaseResponse) { Log.e("getSnSetting", "onNext: " + snSettingBaseResponse); - if (snSettingBaseResponse.code == OK) { + if (snSettingBaseResponse.isSuccess()) { SnSetting snSetting = snSettingBaseResponse.data; SysSettingUtils.setSnSetting(mContext, snSetting); } else { @@ -4356,7 +3768,7 @@ public class NetInterfaceManager { private LessonJson getLessonJson(BaseResponse lessonSettingBaseResponse, BaseResponse lessonAppBaseResponse) { LessonJson lessonJson = new LessonJson(); - if (lessonSettingBaseResponse.code == 200) { + if (lessonSettingBaseResponse.isSuccess()) { LessonSetting lessonSetting = lessonSettingBaseResponse.data; lessonJson.setIs_lesson(lessonSetting.getIs_lesson()); lessonJson.setStart_time(lessonSetting.getStart_time()); @@ -4368,7 +3780,7 @@ public class NetInterfaceManager { lessonJson.setEnd_time("00:00"); lessonJson.setIs_monitor(0); } - if (lessonAppBaseResponse.code == 200) { + if (lessonAppBaseResponse.isSuccess()) { List app = lessonAppBaseResponse.data.getApp(); if (app != null || app.size() != 0) { List appList = app.stream().map(LessonApp.App::getApp_package).collect(Collectors.toList()); @@ -4450,7 +3862,7 @@ public class NetInterfaceManager { e.printStackTrace(); } } - if (blacklistBeanBaseResponse.code == 200) { + if (blacklistBeanBaseResponse.isSuccess()) { BlacklistBean blacklistBean = blacklistBeanBaseResponse.data; if (blacklistBean == null) { if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) @@ -4526,7 +3938,7 @@ public class NetInterfaceManager { e.printStackTrace(); } } - if (blacklistBeanBaseResponse.code == 200) { + if (blacklistBeanBaseResponse.isSuccess()) { WhitelistBean whitelistBean = blacklistBeanBaseResponse.data; if (whitelistBean == null) { if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) @@ -4590,7 +4002,7 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull BaseResponse baseResponse) { Log.e("getWallpaper", "onNext: " + baseResponse); - if (baseResponse.code == 200) { + if (baseResponse.isSuccess()) { Wallpaper wallpaper = baseResponse.data; String url = wallpaper.getFile_url(); JgyUtils.getInstance().setWallpaper(url); diff --git a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java index 85d830c..357d73b 100644 --- a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java +++ b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java @@ -42,6 +42,8 @@ public class UrlAddress { public static final String GET_SN_APP_TEST = "Sn/getSnAppTest"; /*强制安装应用 不允许卸载*/ public static final String GET_FORCE_INSTALL_LIST = "forceinstall/index"; + /*分组应用强制安装*/ + public static final String GROUP_APP_INSTALL_LIST = "forceinstall/group-app"; /*电子围栏*/ public static final String GET_SN_EFENCE = "android/sn/efence"; @@ -57,8 +59,6 @@ public class UrlAddress { /*通过固件名获取内置应用*/ @Deprecated public static final String GET_ROM_APP = "And/getFirmwareApp"; - /*分组应用强制安装*/ - public static final String GROUP_APP_INSTALL_LIST = "forceinstall/group-app"; /*获取应用升级自启*/ public static final String NET_AND_LAUNCH_API = "automatic/get"; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesStatusApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesStatusApi.java index 21fc055..dc5b9a5 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesStatusApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesStatusApi.java @@ -58,5 +58,4 @@ public interface DevicesStatusApi { @Field("type") int type ); - -} +} \ No newline at end of file diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadInfoApi.java index a9cb234..babe3b5 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadInfoApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadInfoApi.java @@ -147,9 +147,9 @@ public interface UploadInfoApi { @Field("time") String time ); - @Deprecated @FormUrlEncoded @POST(UrlAddress.SEND_DOWNLOAD_TIMES) + @Deprecated Observable sendDownloadTimes( @Field("key") String key, @Field("sn") String sn, diff --git a/app/src/main/java/com/aoleyun/sn/push/PushManager.java b/app/src/main/java/com/aoleyun/sn/push/PushManager.java index 4999fb7..59302bf 100644 --- a/app/src/main/java/com/aoleyun/sn/push/PushManager.java +++ b/app/src/main/java/com/aoleyun/sn/push/PushManager.java @@ -16,6 +16,7 @@ import android.media.MediaPlayer; import android.os.BatteryManager; import android.os.Build; import android.os.Handler; +import android.os.Looper; import android.os.PowerManager; import android.provider.Settings; import android.text.TextUtils; @@ -35,13 +36,11 @@ import com.aoleyun.sn.bean.ScreenLockState; import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.JGYActions; import com.aoleyun.sn.dialog.CustomDialog; -import com.aoleyun.sn.disklrucache.CacheHelper; import com.aoleyun.sn.gson.GsonUtils; import com.aoleyun.sn.gson.NullStringToEmptyAdapterFactory; import com.aoleyun.sn.manager.MapManager; import com.aoleyun.sn.network.NetInterfaceManager; import com.aoleyun.sn.network.RetryCallback; -import com.aoleyun.sn.network.UrlAddress; import com.aoleyun.sn.service.main.MainService; import com.aoleyun.sn.utils.ApkUtils; import com.aoleyun.sn.utils.BatteryUtils; @@ -96,8 +95,8 @@ import retrofit2.Response; public class PushManager { private static final String TAG = "PushManager"; - public static final String ACTION_REFRESH_BINDING_STATUS = "RefreshBindingStatus"; - public static final String AOLEYUN_REFRESH_DESKTOP = "aoleyun_refresh_desktop_action"; + private static final String ACTION_REFRESH_BINDING_STATUS = "RefreshBindingStatus"; + private static final String AOLEYUN_REFRESH_DESKTOP = "aoleyun_refresh_desktop_action"; @SuppressLint("StaticFieldLeak") @@ -105,7 +104,6 @@ public class PushManager { private Context mContext; private PackageManager mPackageManager; private ContentResolver mResolver; - private CacheHelper mCacheHelper; private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); private PushManager(Context context) { @@ -114,7 +112,6 @@ public class PushManager { } this.mContext = context; this.mResolver = context.getContentResolver(); - this.mCacheHelper = new CacheHelper(context); this.mPackageManager = mContext.getPackageManager(); } @@ -320,7 +317,7 @@ public class PushManager { case MSG_INSTALL: Toaster.debugShow("收到管控:应用安装"); doDownloadAndInstall(extras); - Handler.getMain().postDelayed(new Runnable() { + new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { NetInterfaceManager.getInstance().getDesktopIcon(); @@ -355,7 +352,7 @@ public class PushManager { downloadForceInstallApk(extras); break; case SET_HOMEPAG_TAG: - Handler.getMain().postDelayed(new Runnable() { + new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { try { @@ -380,7 +377,7 @@ public class PushManager { break; case HIDE_DESKTOP_ICON: Toaster.debugShow("收到管控:隐藏应用设置"); - Handler.getMain().postDelayed(() -> { + new Handler(Looper.getMainLooper()).postDelayed(() -> { //后台发送时数据库未改变,有时候可能获取到的数据时上一次的 Log.e(TAG, "run: HIDE_DESKTOP_ICON "); NetInterfaceManager.getInstance().getDesktopIcon(); @@ -732,7 +729,7 @@ public class PushManager { } } ApkUtils.UninstallAPP(mContext, pkg); - Handler.getMain().postDelayed(new Runnable() { + new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { NetInterfaceManager.getInstance().getDesktopIcon(); @@ -757,7 +754,7 @@ public class PushManager { } catch (Exception e) { Log.e(TAG, "disableApp: " + e.getMessage()); } - Handler.getMain().postDelayed(() -> NetInterfaceManager.getInstance().getSnAppAttr(), 1234); + new Handler(Looper.getMainLooper()).postDelayed(() -> NetInterfaceManager.getInstance().getSnAppAttr(), 1234); } private void setLock_screen(int state, String name) { @@ -767,7 +764,6 @@ public class PushManager { ScreenLockState screenLockState = new ScreenLockState(); screenLockState.setIs_screen_lock(state); screenLockState.setName(name); - mCacheHelper.put(UrlAddress.GET_LOCK_SCREEN_STATE, GsonUtils.toJSONString(screenLockState)); Intent intent = new Intent(); intent.putExtra("name", name); if (state == 1) { @@ -1000,7 +996,7 @@ public class PushManager { JgyUtils.release(mWakeLock); if (createTime != 0) { Log.e("createTime", String.valueOf(createTime)); - Handler.getMain().postDelayed(new Runnable() { + new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { doscreenshot(createTime); @@ -1118,7 +1114,6 @@ public class PushManager { private void getTopApp(String extras) { JsonObject jsonObject = GsonUtils.getJsonObject(extras); - mCacheHelper.put(UrlAddress.GET_TOP_APP_CONTROL, extras); String packageName = jsonObject.get("app_package").getAsString(); if (TextUtils.isEmpty(packageName)) { diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java b/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java deleted file mode 100644 index 627a5c0..0000000 --- a/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.aoleyun.sn.service.main; - -import com.aoleyun.sn.base.mvp.BasePresenter; -import com.aoleyun.sn.base.mvp.BaseView; - -import java.util.List; - -public class MainSContact { - public interface Presenter extends BasePresenter { - /*分支1*/ - /*获取设备锁定状态*/ - void getLockedState(); - /*设置极光推送标签*/ - void setPushTags(); - - - /*分支2 基本信息*/ - /*是否第一次联网*/ - void getFirstConnect(); - /*获取学生信息*/ - void getStudesInfo(); - - /*分支3 上传信息*/ - /*上传联网时间*/ - void sendNetwork(List time); - /*发送mac地址*/ - void sendMacAddress(); - /*更新设备信息*/ - void updateDeviceInfo(); - /*上传安装的应用列表*/ - void sendInstalled(); - /*获取设备信息更新*/ - void checkAoleyunUpdate(); - /*获取测试应用更新*/ - void checkTestUpdate(); - - /*分支4 根据SN获取*/ - /*获取开发者选项*/ - void getDeveloper(); - /*获取自定义内置app*/ - void getRomApp(); - /*获取屏幕锁状态*/ - void getScreenLockState(); - /*电子围栏*/ - void geteFence(); - - /*分支5 根据批次获取*/ - /*获取设备后台设置*/ - void getSystemSettingBegin(); - /*获取可被写入的安装包名*/ - void getAppLimit(); - /*获取强制下载apk*/ - void getForceDownload(); - /*获取桌面*/ - void getDefaultDesktop(); - /*设置开机动画*/ - void setLogoImg(); - /*获取壁纸*/ - void getWallpaper(); - /*获取所有app详细信息*/ - void getAllAppList(); - /*获取浏览器书签设置管控*/ - void getBrowserBookmarks(); - /*设置白名单的url 单独*/ - void getBrowserWhiteList(); - /*获取应用图标桌面可见性管控*/ - void getDesktopIcon(); - /*获取应用自启升级和网络权限管理*/ - void getAppAutoStartUpdateAndNet(); - /*获取禁用app*/ - void getSnAppAttr(); - /*获取第三方应用子页面ID连网限制*/ - void getAppIdControl(); - /*获取第三方应用内部网页跳转屏蔽*/ - void setAppinsideWeb(); - /*获取系统其他管控设置*/ - void getSystemSetting(); - /*获取系统默认程序设置*/ - void getDefaultApp(); - /*应用霸屏*/ - void setTopApp(); - /*获取关机时间*/ - void getPoweroffTime(); - /*获取时间管控*/ - void getSnTimeControl(); - void getSnSetting(); - /*获取网课模式*/ - void getCloudLessonSettings(); - /*获取电子书包激活码*/ - void getEbagCode(); - /*获取学习应用*/ - void getExclusiveAdminApp(); - /*获取全局黑名单*/ - void getBlackList(); - /*获取全局白名单*/ - void getWhiteList(); - /*获取wifi密码*/ - void getWiFiPasswd(); - - } - - public interface MainView extends BaseView { - /*获取设备锁定状态*/ - void setLockedState(boolean loocked); - /*设置极光推送标签*/ - void setTagsFinish(boolean noTag); - - - /*是否第一次联网*/ - void setFirstConnect(boolean state); - /*获取学生信息*/ - void setStudesInfo(); - - /*上传联网时间*/ - void sendNetworkFinish(); - /*发送mac地址*/ - void sendMacFinish(); - /*更新设备信息*/ - void updateDeviceInfoFinish(); - /*上传安装的应用列表*/ - void sendInstalledFinish(); - - /*获取设备信息更新*/ - void checkAoleyunUpdateFinish(); - /*获取测试应用更新*/ - void checkTestUpdateFinish(); - /*获取开发者选项结束*/ - void getDeveloperFinish(); - /*获取自定义内置app*/ - void getRomAppFinish(); - /*设置屏幕锁状态结束*/ - void setScreenLockStateFinish(boolean locked, String tips); - /*获取电子围栏结束*/ - void geteFenceFinish(); - - /*设置设备后台设置*/ - void setSystemSetting(); - /*获取可被写入的安装包名结束*/ - void getAppLimitFinish(); - /*获取强制下载apk结束*/ - void getForceDownloadFinish(); - /*获取桌面结束*/ - void getDefaultDesktopFinish(); - /*设置开机动画*/ - void setLogoImgFinish(); - /*获取开机动画结束*/ - void getWallpaperFinish(); - /*获取所有app详细信息*/ - void getAllAppListFinish(); - /*获取浏览器书签设置管控结束*/ - void getBrowserBookmarksFinish(); - /*设置白名单的url 单独*/ - void setBrowserWhiteList(); - /*获取应用图标桌面可见性管控结束*/ - void getDesktopIconFinish(); - /*获取应用自启升级和网络权限管理结束*/ - void getAppAutoStartUpdateAndNetFinish(); - /*获取禁用app*/ - void getSnAppAttrFinish(); - /*获取第三方应用子页面ID连网限制结束*/ - void getAppIdControlFinish(); - /*获取第三方应用内部网页跳转屏蔽结束*/ - void setAppinsideWebFinish(); - /*获取系统其他管控设置结束*/ - void getSystemSettingFinish(); - /*获取系统默认程序设置*/ - void setDefaultAppFinish(); - /*获取应用霸屏结束*/ - void setTopAppFinish(); - /*获取关机时间*/ - void setPoweroffTime(); - /*获取时间管控*/ - void getSnTimeControlFinish(); - void getSnSettingFinish(); - void setCloudLessonSettings(); - /*获取电子书包激活码*/ - void getEbagCodeFinish(boolean activation); - /*获取学习应用*/ - void getExclusiveAdminAppFinish(); - /*获取全局黑名单结束*/ - void getBlackListFinish(); - /*获取全局白名单结束*/ - void getWhiteListFinish(); - /*获取wifi密码结束*/ - void setWiFiPasswd(); - - } -} diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainService.java b/app/src/main/java/com/aoleyun/sn/service/main/MainService.java index feddb12..20a35f0 100644 --- a/app/src/main/java/com/aoleyun/sn/service/main/MainService.java +++ b/app/src/main/java/com/aoleyun/sn/service/main/MainService.java @@ -45,6 +45,7 @@ import com.aoleyun.sn.R; import com.aoleyun.sn.activity.main.MainActivity; import com.aoleyun.sn.base.BaseService; import com.aoleyun.sn.bean.PoweroffBean; +import com.aoleyun.sn.bean.ScreenLockState; import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.JGYActions; import com.aoleyun.sn.comm.PackageNames; @@ -67,8 +68,6 @@ import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.hjq.toast.Toaster; import com.tencent.mmkv.MMKV; -import com.trello.rxlifecycle4.LifecycleProvider; -import com.trello.rxlifecycle4.android.ActivityEvent; import java.lang.reflect.Type; import java.text.SimpleDateFormat; @@ -84,14 +83,14 @@ import io.reactivex.rxjava3.core.ObservableOnSubscribe; import io.reactivex.rxjava3.core.Observer; import io.reactivex.rxjava3.disposables.Disposable; -public class MainService extends BaseService implements MainSContact.MainView, NetworkUtils.OnNetworkStatusChangedListener, LifecycleProvider { +public class MainService extends BaseService implements NetworkUtils.OnNetworkStatusChangedListener { private static final String TAG = "MainService"; + private static final String JXW_LAUNCHER = "com.wyt.wangkexueximvvm"; + private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); - public MainSPresenter mPresenter; - - private static final String JXW_LAUNCHER = "com.wyt.wangkexueximvvm"; + public MainServiceModel mServiceModel; @Override public void onDisconnected() { @@ -111,7 +110,7 @@ public class MainService extends BaseService implements MainSContact.MainView, N TimeTask task = new TimeTask(); task.execute("ntp.aliyun.com"); if (!checkAoleyunApp()) { - mPresenter.checkAoleyunUpdate(); + mServiceModel.checkAoleyunUpdate(); } } mInternetConnected.onConnected(WiFiAlias); @@ -128,7 +127,7 @@ public class MainService extends BaseService implements MainSContact.MainView, N super.onPostExecute(aLong); AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE); am.setTime(aLong); - Handler.getMain().postDelayed(new Runnable() { + new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { // aliyunPushInit(); @@ -184,47 +183,26 @@ public class MainService extends BaseService implements MainSContact.MainView, N }); } - private InternetConnected mInternetConnected; - - public interface InternetConnected { - void onConnected(String alias); - } - - private final ObservableOnSubscribe networkSubscribe = new ObservableOnSubscribe() { - @Override - public void subscribe(ObservableEmitter emitter) throws Exception { - mInternetConnected = new InternetConnected() { - @Override - public void onConnected(String alias) { - Log.e(TAG, "networkSubscribe: onConnected " + alias); - emitter.onNext(alias); + private void checkAliyunPushStatus() { + CloudPushService mPushService = PushServiceFactory.getCloudPushService(); + mPushService.checkPushChannelStatus(new CommonCallback() { + @Override + public void onSuccess(String response) { + Log.e("checkAliyunPushStatus", "onSuccess: " + response); + if ("on".equals(response)) { + // 当前是打开状态 + } else { + // 当前是关闭状态 + aliyunPushInit(); } - }; - } - }; + } - private Observer networkObserver = new Observer() { - @Override - public void onSubscribe(Disposable d) { - Log.e("networkObserver", "onSubscribe: "); - } - - @Override - public void onNext(String action) { - Log.e("networkObserver", "onNext: " + action); - mPresenter.getLockedState(); - } - - @Override - public void onError(Throwable e) { - Log.e("networkObserver", "onError: " + e.getMessage()); - } - - @Override - public void onComplete() { - Log.e("networkObserver", "onComplete: "); - } - }; + @Override + public void onFailed(String errorCode, String errorMessage) { + Log.e("checkAliyunPushStatus", "onFailed: errorCode = " + errorCode + " errorMessage = " + errorMessage); + } + }); + } private KillAppListener killAppListener; @@ -275,164 +253,47 @@ public class MainService extends BaseService implements MainSContact.MainView, N } }; - private WifiReceiver mWifiReceiver; + private InternetConnected mInternetConnected; - private void registerWiFiReceiver() { - if (mWifiReceiver == null) { - mWifiReceiver = new WifiReceiver(); - } - IntentFilter filter = new IntentFilter(); - filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); - filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); - filter.addAction(WifiManager.RSSI_CHANGED_ACTION); - filter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION); - filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); - filter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION); - filter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION); - filter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION); - filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); - registerReceiver(mWifiReceiver, filter); + public interface InternetConnected { + void onConnected(String alias); } - public class WifiReceiver extends BroadcastReceiver { - private static final String TAG = "wifiReceiver"; - + private final ObservableOnSubscribe networkSubscribe = new ObservableOnSubscribe() { @Override - public void onReceive(Context context, Intent intent) { - switch (intent.getAction()) { - case WifiManager.RSSI_CHANGED_ACTION: - Log.e(TAG, "wifi信号强度变化"); - break; - //wifi连接上与否 - case WifiManager.NETWORK_STATE_CHANGED_ACTION: - NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); - if (info.getState().equals(NetworkInfo.State.DISCONNECTED)) { - Log.e(TAG, "wifi断开"); - LogDBManager.getInstance().creatNetChangeLog("wifi断开", TimeUtils.transferLongToDate(System.currentTimeMillis())); - } else if (info.getState().equals(NetworkInfo.State.CONNECTED)) { - WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); - WifiInfo wifiInfo = wifiManager.getConnectionInfo(); - //获取当前wifi名称 - String oldSSID = mMMKV.decodeString("WiFiSSID", ""); - Log.e(TAG, "oldSSID " + oldSSID); - String newSSID = wifiInfo.getSSID(); - Log.e(TAG, "连接到网络 " + newSSID); - if (!oldSSID.equals(newSSID)) { - LogDBManager.getInstance().creatNetChangeLog("", oldSSID + " change to: " + newSSID); - //直接获取数据 - } else { - LogDBManager.getInstance().creatNetChangeLog("接入WiFi", - "connect to: " + newSSID + " time: " - + TimeUtils.transferLongToDate(System.currentTimeMillis())); - } - mMMKV.encode("WiFiSSID", Utils.getWifiAlias(context)); - } - break; - //wifi打开与否 - case WifiManager.WIFI_STATE_CHANGED_ACTION: - int wifistate = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED); - if (wifistate == WifiManager.WIFI_STATE_DISABLED) { - Log.e(TAG, "系统关闭wifi"); - } else if (wifistate == WifiManager.WIFI_STATE_ENABLED) { - Log.e(TAG, "系统开启wifi"); - } - break; - default: - } - } - } - - private RefreshReceiver mRefreshReceiver; - - private void registerRefreshReceiver() { - if (mRefreshReceiver == null) { - mRefreshReceiver = new RefreshReceiver(); - } - IntentFilter filter = new IntentFilter(); - filter.addAction(RefreshReceiver.REFRESH_RECEIVER_ACTION); - registerReceiver(mRefreshReceiver, filter); - } - - - public class RefreshReceiver extends BroadcastReceiver { - public static final String REFRESH_RECEIVER_ACTION = "Receiver_Refresh_Action"; - - @Override - public void onReceive(Context context, Intent intent) { - String action = intent.getAction(); - Log.e("RefreshReceiver", "onReceive: " + action); - if (!TextUtils.isEmpty(action)) { - NetInterfaceManager.clearAllCache(); - mPresenter.getLockedState(); - } - } - } - - private ScreenLockReceiver screenLockReceiver; - - private void registerScreenLockReceiver() { - if (null == screenLockReceiver) { - screenLockReceiver = new ScreenLockReceiver(); - } - IntentFilter filter = new IntentFilter(); - filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); - filter.addAction(Intent.ACTION_SCREEN_ON); - filter.addAction(Intent.ACTION_SCREEN_OFF); - registerReceiver(screenLockReceiver, filter); - } - - private class ScreenLockReceiver extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - String action = intent.getAction(); - Log.e(TAG, "onReceive:" + action); - if (TextUtils.isEmpty(action)) { - Log.e(TAG, "onReceive: is NULL"); - return; - } - switch (action) { - case Intent.ACTION_SCREEN_ON: - checkAliyunPushStatus(); - break; - case Intent.ACTION_SCREEN_OFF: - killAppListener.killApp(action); - break; - default: - break; - } - } - } - - - private void checkAliyunPushStatus() { - CloudPushService mPushService = PushServiceFactory.getCloudPushService(); - mPushService.checkPushChannelStatus(new CommonCallback() { - @Override - public void onSuccess(String response) { - Log.e("checkAliyunPushStatus", "onSuccess: " + response); - if ("on".equals(response)) { - // 当前是打开状态 - } else { - // 当前是关闭状态 - aliyunPushInit(); + public void subscribe(ObservableEmitter emitter) throws Exception { + mInternetConnected = new InternetConnected() { + @Override + public void onConnected(String alias) { + Log.e(TAG, "networkSubscribe: onConnected " + alias); + emitter.onNext(alias); } - } + }; + } + }; - @Override - public void onFailed(String errorCode, String errorMessage) { - Log.e("checkAliyunPushStatus", "onFailed: errorCode = " + errorCode + " errorMessage = " + errorMessage); - } - }); - } + private Observer networkObserver = new Observer() { + @Override + public void onSubscribe(Disposable d) { + Log.e("networkObserver", "onSubscribe: "); + } - public MainService() { + @Override + public void onNext(String action) { + Log.e("networkObserver", "onNext: " + action); + mServiceModel.getLockedState(); + } - } + @Override + public void onError(Throwable e) { + Log.e("networkObserver", "onError: " + e.getMessage()); + } - @Override - public IBinder onBind(Intent intent) { - return mMainBinder; - } + @Override + public void onComplete() { + Log.e("networkObserver", "onComplete: "); + } + }; public MainBinder mMainBinder = new MainBinder(); @@ -442,13 +303,19 @@ public class MainService extends BaseService implements MainSContact.MainView, N } } + @Override + public IBinder onBind(Intent intent) { + return mMainBinder; + } + @Override public void onCreate() { super.onCreate(); Log.e(TAG, "onCreate: "); - mPresenter = new MainSPresenter(this); - mPresenter.attachView(this); - mPresenter.setLifecycle(getLifecycleSubject()); + mServiceModel = new MainServiceModel(this); + mServiceModel.setLifecycle(getLifecycleSubject()); + initLiveData(); + if ("YX-T01".equalsIgnoreCase(Build.MODEL)) { JgyUtils.getInstance().setTongyiAppTop(); } @@ -478,7 +345,7 @@ public class MainService extends BaseService implements MainSContact.MainView, N new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { - mPresenter.getLockedState(); + mServiceModel.getLockedState(); } }, 20000); @@ -583,7 +450,7 @@ public class MainService extends BaseService implements MainSContact.MainView, N setStatusbar(); setFloatingWindow(); JgyUtils.getInstance().writeAppPackageList(); - notificationManager = NotificationManagerCompat.from(this); + mNotificationManagerCompat = NotificationManagerCompat.from(this); createNotificationChannel(); sendSimpleNotification(); @@ -610,6 +477,119 @@ public class MainService extends BaseService implements MainSContact.MainView, N JgyUtils.getInstance().checkAoleyunApp(); } + private void initLiveData() { + mServiceModel.mLockedStateData.observe(this, new androidx.lifecycle.Observer() { + @Override + public void onChanged(Boolean loocked) { + Log.e(TAG, "setLockedState: " + loocked); + if (loocked) { + Toaster.debugShow("设备已上锁"); + mServiceModel.setPushTags(); + ApkUtils.UninstallAPP(MainService.this, "com.joytv.live"); + ApkUtils.UninstallAPP(MainService.this, "com.tencent.android.qqdownloader"); + } else { + Toaster.debugShow("设备已解锁"); +// notificationManager.cancel(NotificationID); + JgyUtils.getInstance().writeAppPackageList(); + SysSettingUtils.setEnableSetting(MainService.this); + } + + //更新主页锁定状态 + Intent intent = new Intent(MainActivity.UPDATE_LOCKED_STATUS); + sendBroadcast(intent); + } + }); + + mServiceModel.mTagData.observe(this, new androidx.lifecycle.Observer() { + @Override + public void onChanged(String tag) { + if (TextUtils.isEmpty(tag)) { + //没有批次就没有管控 + Log.e(TAG, "setTagsFinish: not set tag"); +// SysSettingUtils.setEnableSetting(this); + Settings.System.putString(getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, ""); + } else { + mServiceModel.getForceDownload(); + mServiceModel.getWallpaper(); + mServiceModel.setLogoImg(); + mServiceModel.getAllAppList(); + mServiceModel.getBrowserBookmarks(); + mServiceModel.getDesktopIcon(); + mServiceModel.getAppAutoStartUpdateAndNet(); + mServiceModel.setAppinsideWeb(); + mServiceModel.getAppIdControl(); + mServiceModel.getSystemSetting(); + mServiceModel.getWiFiPasswd(); + mServiceModel.getDefaultApp(); + mServiceModel.getSnTimeControl(); + mServiceModel.setTopApp(); + mServiceModel.getBlackList(); + mServiceModel.getWhiteList(); + mServiceModel.getPoweroffTime(); + + } + mServiceModel.getStudesInfo(); + mServiceModel.checkAoleyunUpdate(); + mServiceModel.checkTestUpdate(); + mServiceModel.getDeveloper(); + mServiceModel.getRomApp(); + mServiceModel.getScreenLockState(); + mServiceModel.geteFence(); + mServiceModel.getDefaultDesktop(); + + mServiceModel.sendMacAddress(); + mServiceModel.updateDeviceInfo(); + mServiceModel.sendInstalled(); + + mServiceModel.getSnAppAttr(); + mServiceModel.getAppLimit(); + mServiceModel.getCloudLessonSettings(); + + mServiceModel.getEbagCode(); + + //没绑定不请求 + mServiceModel.getSnSetting(); + } + }); + + mServiceModel.mScreenLockStateData.observe(this, new androidx.lifecycle.Observer() { + @Override + public void onChanged(ScreenLockState screenLockState) { + if (screenLockState != null) { + int screen_lock = screenLockState.getIs_screen_lock(); + String tips = screenLockState.getLock_content(); + if (screen_lock == 1) { + if (!timelocked) { + showFloatingWindow(tips); + } + screenlocked = true; + SPUtils.put(MainService.this, "is_screen_lock", true); + SPUtils.put(MainService.this, "screen_tips", tips); + } else { + if (!timelocked) { + hideFloatingWindow(); + } + screenlocked = false; + SPUtils.put(MainService.this, "is_screen_lock", false); + SPUtils.put(MainService.this, "screen_tips", ""); + } + } else { + if (!timelocked) { + hideFloatingWindow(); + } + screenlocked = false; + SPUtils.put(MainService.this, "is_screen_lock", false); + SPUtils.put(MainService.this, "screen_tips", ""); + } + } + }); + } + + @Deprecated + private void deprecatedInit() { + + } + @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.e(TAG, "onStartCommand: "); @@ -629,7 +609,6 @@ public class MainService extends BaseService implements MainSContact.MainView, N super.onDestroy(); unRegisterReceivers(); NetworkUtils.unregisterNetworkStatusChangedListener(this); - mPresenter.detachView(); } // TODO: 2022/3/31 暂时不检测版本 @@ -653,12 +632,12 @@ public class MainService extends BaseService implements MainSContact.MainView, N channel.setDescription(CHANNEL_DESCRIPTION); // Register the channel with the system; you can't change the importance // or other notification behaviors after this - notificationManager.createNotificationChannel(channel); + mNotificationManagerCompat.createNotificationChannel(channel); } } - private NotificationManagerCompat notificationManager; - private int NotificationID = 1; + private NotificationManagerCompat mNotificationManagerCompat; + private int mNotificationId = 1; private void sendSimpleNotification() { NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID) @@ -671,7 +650,7 @@ public class MainService extends BaseService implements MainSContact.MainView, N .setPriority(NotificationCompat.PRIORITY_MAX); // notificationId is a unique int for each notification that you must define // notificationManager.notify(NotificationID, builder.build()); - startForeground(NotificationID, builder.build()); + startForeground(mNotificationId, builder.build()); } private void setStatusbar() { @@ -721,6 +700,133 @@ public class MainService extends BaseService implements MainSContact.MainView, N } } + private WifiReceiver mWifiReceiver; + + private void registerWiFiReceiver() { + if (mWifiReceiver == null) { + mWifiReceiver = new WifiReceiver(); + } + IntentFilter filter = new IntentFilter(); + filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); + filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); + filter.addAction(WifiManager.RSSI_CHANGED_ACTION); + filter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION); + filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); + filter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION); + filter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION); + filter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION); + filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); + registerReceiver(mWifiReceiver, filter); + } + + public class WifiReceiver extends BroadcastReceiver { + private static final String TAG = "wifiReceiver"; + + @Override + public void onReceive(Context context, Intent intent) { + switch (intent.getAction()) { + case WifiManager.RSSI_CHANGED_ACTION: + Log.e(TAG, "wifi信号强度变化"); + break; + //wifi连接上与否 + case WifiManager.NETWORK_STATE_CHANGED_ACTION: + NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); + if (info.getState().equals(NetworkInfo.State.DISCONNECTED)) { + Log.e(TAG, "wifi断开"); + LogDBManager.getInstance().creatNetChangeLog("wifi断开", TimeUtils.transferLongToDate(System.currentTimeMillis())); + } else if (info.getState().equals(NetworkInfo.State.CONNECTED)) { + WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + WifiInfo wifiInfo = wifiManager.getConnectionInfo(); + //获取当前wifi名称 + String oldSSID = mMMKV.decodeString("WiFiSSID", ""); + Log.e(TAG, "oldSSID " + oldSSID); + String newSSID = wifiInfo.getSSID(); + Log.e(TAG, "连接到网络 " + newSSID); + if (!oldSSID.equals(newSSID)) { + LogDBManager.getInstance().creatNetChangeLog("", oldSSID + " change to: " + newSSID); + //直接获取数据 + } else { + LogDBManager.getInstance().creatNetChangeLog("接入WiFi", + "connect to: " + newSSID + " time: " + + TimeUtils.transferLongToDate(System.currentTimeMillis())); + } + mMMKV.encode("WiFiSSID", Utils.getWifiAlias(context)); + } + break; + //wifi打开与否 + case WifiManager.WIFI_STATE_CHANGED_ACTION: + int wifistate = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED); + if (wifistate == WifiManager.WIFI_STATE_DISABLED) { + Log.e(TAG, "系统关闭wifi"); + } else if (wifistate == WifiManager.WIFI_STATE_ENABLED) { + Log.e(TAG, "系统开启wifi"); + } + break; + default: + } + } + } + + private RefreshReceiver mRefreshReceiver; + + private void registerRefreshReceiver() { + if (mRefreshReceiver == null) { + mRefreshReceiver = new RefreshReceiver(); + } + IntentFilter filter = new IntentFilter(); + filter.addAction(RefreshReceiver.REFRESH_RECEIVER_ACTION); + registerReceiver(mRefreshReceiver, filter); + } + + public class RefreshReceiver extends BroadcastReceiver { + public static final String REFRESH_RECEIVER_ACTION = "Receiver_Refresh_Action"; + + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + Log.e("RefreshReceiver", "onReceive: " + action); + if (!TextUtils.isEmpty(action)) { + NetInterfaceManager.clearAllCache(); + mServiceModel.getLockedState(); + } + } + } + + private ScreenLockReceiver screenLockReceiver; + + private void registerScreenLockReceiver() { + if (null == screenLockReceiver) { + screenLockReceiver = new ScreenLockReceiver(); + } + IntentFilter filter = new IntentFilter(); + filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); + filter.addAction(Intent.ACTION_SCREEN_ON); + filter.addAction(Intent.ACTION_SCREEN_OFF); + registerReceiver(screenLockReceiver, filter); + } + + private class ScreenLockReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + Log.e(TAG, "onReceive:" + action); + if (TextUtils.isEmpty(action)) { + Log.e(TAG, "onReceive: is NULL"); + return; + } + switch (action) { + case Intent.ACTION_SCREEN_ON: + checkAliyunPushStatus(); + break; + case Intent.ACTION_SCREEN_OFF: + killAppListener.killApp(action); + break; + default: + break; + } + } + } + private static WindowManager windowManager; private View topView; boolean screenlocked = false; @@ -947,7 +1053,6 @@ public class MainService extends BaseService implements MainSContact.MainView, N private DisplayReceiver mDisplayReceiver; - public void registerDisplayReceiver() { mDisplayReceiver = new DisplayReceiver(); IntentFilter filter = new IntentFilter(); @@ -964,7 +1069,6 @@ public class MainService extends BaseService implements MainSContact.MainView, N public static final String READ_MODEL_ENABLED = "READ_MODEL_ENABLED"; public static final String READ_MODEL_DISABLED = "READ_MODEL_DISABLED"; - private class DisplayReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { @@ -1043,7 +1147,6 @@ public class MainService extends BaseService implements MainSContact.MainView, N } } - private interface TopApp { void open(Long time); } @@ -1080,7 +1183,6 @@ public class MainService extends BaseService implements MainSContact.MainView, N } }; - private void registerInstallReceiver() { if (mInstallReceiver == null) { mInstallReceiver = new InstallReceiver(); @@ -1143,301 +1245,4 @@ public class MainService extends BaseService implements MainSContact.MainView, N } } - @Override - public void setLockedState(boolean loocked) { - Log.e(TAG, "setLockedState: " + loocked); - if (loocked) { - Toaster.debugShow("设备已上锁"); - mPresenter.setPushTags(); - ApkUtils.UninstallAPP(this, "com.joytv.live"); - ApkUtils.UninstallAPP(this, "com.tencent.android.qqdownloader"); - } else { - Toaster.debugShow("设备已解锁"); -// notificationManager.cancel(NotificationID); - JgyUtils.getInstance().writeAppPackageList(); - SysSettingUtils.setEnableSetting(this); - } - - //更新主页锁定状态 - Intent intent = new Intent(MainActivity.UPDATE_LOCKED_STATUS); - sendBroadcast(intent); - } - - @Override - public void setTagsFinish(boolean noTag) { - if (noTag) { - //没有批次就没有管控 - Log.e(TAG, "setTagsFinish: " + "not set tag"); -// mPresenter.getStudesInfo(true); - mPresenter.checkAoleyunUpdate(); -// SysSettingUtils.setEnableSetting(this); - Settings.System.putString(getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, ""); - mPresenter.getForceDownload(); - mPresenter.getAppLimit(); - } else { - mPresenter.getFirstConnect(); - mPresenter.getStudesInfo(); - - mPresenter.getSystemSettingBegin(); - mPresenter.getAppLimit(); - mPresenter.getForceDownload(); - mPresenter.getDefaultDesktop(); - mPresenter.setLogoImg(); - mPresenter.getWallpaper(); - mPresenter.getAllAppList(); - mPresenter.getBrowserBookmarks(); - mPresenter.getBrowserWhiteList(); - mPresenter.getDesktopIcon(); - mPresenter.getAppAutoStartUpdateAndNet(); - mPresenter.getSnAppAttr(); - mPresenter.getAppIdControl(); - mPresenter.setAppinsideWeb(); - mPresenter.getSystemSetting(); - mPresenter.getDefaultApp(); - mPresenter.setTopApp(); - mPresenter.getPoweroffTime(); - mPresenter.getSnTimeControl(); - mPresenter.getSnSetting(); - mPresenter.getCloudLessonSettings(); - mPresenter.getEbagCode(); - mPresenter.getBlackList(); - mPresenter.getWhiteList(); - mPresenter.getWiFiPasswd(); - } - mPresenter.sendMacAddress(); - mPresenter.updateDeviceInfo(); - mPresenter.sendInstalled(); - mPresenter.checkAoleyunUpdate(); - mPresenter.checkTestUpdate(); - - mPresenter.getDeveloper(); - mPresenter.getRomApp(); - mPresenter.getScreenLockState(); - mPresenter.geteFence(); - } - - /** - * 首次使用默认关闭所有功能 - * - * @param state - */ - @Override - public void setFirstConnect(boolean state) { - Log.e(TAG, "isFirstConnect: " + "end request: " + state); - if (state) { - Log.e(TAG, "setDisableSetting: "); - //设置系统管控 - SysSettingUtils.setDisableSetting(this); - JgyUtils.getInstance().writeAppPackageList(); - } - } - - @Override - public void setStudesInfo() { - Log.e(TAG, "setStudesInfo: " + "基本信息获取完毕"); - } - - @Override - public void sendNetworkFinish() { - Log.e(TAG, "sendNetworkFinish: "); - } - - @Override - public void sendMacFinish() { - - } - - @Override - public void updateDeviceInfoFinish() { - - } - - @Override - public void sendInstalledFinish() { - Log.e(TAG, "sendInstalledFinish: "); - - } - - @Override - public void checkAoleyunUpdateFinish() { - } - - @Override - public void checkTestUpdateFinish() { - Log.e(TAG, "checkTestUpdateFinish: "); - } - - @Override - public void getDeveloperFinish() { - - } - - @Override - public void getRomAppFinish() { - } - - @Override - public void setScreenLockStateFinish(boolean locked, String tips) { - if (locked) { - if (!timelocked) { - showFloatingWindow(tips); - } - screenlocked = true; - SPUtils.put(this, "is_screen_lock", true); - SPUtils.put(this, "screen_tips", tips); - } else { - if (!timelocked) { - hideFloatingWindow(); - } - screenlocked = false; - SPUtils.put(this, "is_screen_lock", false); - SPUtils.put(this, "screen_tips", ""); - } - } - - @Override - public void geteFenceFinish() { - - } - - @Override - public void setSystemSetting() { - - } - - @Override - public void getAppLimitFinish() { - - } - - @Override - public void getForceDownloadFinish() { - - } - - @Override - public void getDefaultDesktopFinish() { - - } - - @Override - public void setLogoImgFinish() { - - } - - @Override - public void getWallpaperFinish() { - - } - - @Override - public void getAllAppListFinish() { - - } - - @Override - public void getBrowserBookmarksFinish() { - - } - - @Override - public void setBrowserWhiteList() { - - } - - @Override - public void getDesktopIconFinish() { - - } - - @Override - public void getAppAutoStartUpdateAndNetFinish() { - - } - - @Override - public void getSnAppAttrFinish() { - - } - - @Override - public void getAppIdControlFinish() { - - } - - @Override - public void setAppinsideWebFinish() { - - } - - @Override - public void getSystemSettingFinish() { - - } - - @Override - public void setDefaultAppFinish() { - - } - - @Override - public void setTopAppFinish() { - - } - - @Override - public void setPoweroffTime() { - - } - - @Override - public void getSnTimeControlFinish() { - - } - - @Override - public void getSnSettingFinish() { - - } - - @Override - public void setCloudLessonSettings() { - - } - - @Override - public void getEbagCodeFinish(boolean activation) { - if (activation) { -// mPresenter.getExclusiveAdminApp(); - Log.e(TAG, "getEBagCodeFinish: " + "已激活"); - } else { -// mPresenter.getBlackList(); - Log.e(TAG, "getEBagCodeFinish: " + "未激活"); - } - - } - - @Deprecated - @Override - public void getExclusiveAdminAppFinish() { - Log.e(TAG, "getAdminAppFinish: "); - } - - @Override - public void getBlackListFinish() { - Log.e(TAG, "getBlackListFinish: "); - - } - - @Override - public void getWhiteListFinish() { - Log.e(TAG, "getWhiteListFinish: "); - } - - @Override - public void setWiFiPasswd() { - Log.e(TAG, "setWiFiPasswd: "); - } - - } diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java b/app/src/main/java/com/aoleyun/sn/service/main/MainServiceModel.java similarity index 71% rename from app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java rename to app/src/main/java/com/aoleyun/sn/service/main/MainServiceModel.java index b1b3403..890b2fb 100644 --- a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java +++ b/app/src/main/java/com/aoleyun/sn/service/main/MainServiceModel.java @@ -6,19 +6,23 @@ import android.provider.Settings; import android.text.TextUtils; import android.util.Log; +import androidx.annotation.NonNull; +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + import com.alibaba.sdk.android.push.CloudPushService; import com.alibaba.sdk.android.push.CommonCallback; import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory; import com.aoleyun.sn.bean.AdminAppInfo; import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.ScreenLockState; import com.aoleyun.sn.bean.StudentsInfo; import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.JGYActions; -import com.aoleyun.sn.disklrucache.CacheHelper; import com.aoleyun.sn.network.NetInterfaceManager; -import com.aoleyun.sn.network.UrlAddress; import com.aoleyun.sn.utils.JgyUtils; import com.aoleyun.sn.utils.SPUtils; +import com.aoleyun.sn.utils.SysSettingUtils; import com.aoleyun.sn.utils.URLUtils; import com.aoleyun.sn.utils.Utils; import com.hjq.toast.Toaster; @@ -33,25 +37,18 @@ import java.util.List; import java.util.Set; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; -import io.reactivex.rxjava3.annotations.NonNull; import io.reactivex.rxjava3.core.Observer; import io.reactivex.rxjava3.disposables.Disposable; import io.reactivex.rxjava3.schedulers.Schedulers; import io.reactivex.rxjava3.subjects.BehaviorSubject; -/** - * MainService 的 Presenter - * - * @author jgy02 - */ -public class MainSPresenter implements MainSContact.Presenter { - private static final String TAG = "MainSPresenter"; +public class MainServiceModel extends ViewModel { + private static final String TAG = "MainServiceModel"; + + private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); - private MainSContact.MainView mView; private Context mContext; private ContentResolver crv; - private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); - private CacheHelper cacheHelper; private BehaviorSubject lifecycle; @@ -63,27 +60,14 @@ public class MainSPresenter implements MainSContact.Presenter { return lifecycle; } - public MainSPresenter(Context context) { + public MainServiceModel(Context context) { this.mContext = context; this.crv = mContext.getContentResolver(); - this.cacheHelper = new CacheHelper(mContext); Log.e(TAG, "MainSPresenter: " + context.getClass()); } - @Override - public void attachView(@androidx.annotation.NonNull MainSContact.MainView view) { - this.mView = view; - } + public MutableLiveData mLockedStateData = new MutableLiveData<>(); - @Override - public void detachView() { - this.mView = null; - } - - /** - * 1 - */ - @Override public void getLockedState() { Log.e(TAG, "getLockedState: "); if (JgyUtils.getInstance().isAihuaFramework()) { @@ -102,25 +86,24 @@ public class MainSPresenter implements MainSContact.Presenter { // if (locked == 0) { // JgyUtils.getInstance().deleteOtherApp(); // } - mView.setLockedState(locked == JGYActions.FRAME_CODE_LOCKED); + mLockedStateData.postValue(locked == JGYActions.FRAME_CODE_LOCKED); } }); } - @Override + public MutableLiveData mTagData = new MutableLiveData<>(); + public void setPushTags() { NetInterfaceManager.getInstance().setPushTags(getLifecycle(), new NetInterfaceManager.PushTagCallback() { @Override public void setPushTag(String tag) { - mView.setTagsFinish(TextUtils.isEmpty(tag)); + mTagData.postValue(tag); } }); String tagSets = mMMKV.decodeString(CommonConfig.DEVICES_TAG); Log.e(TAG, "setPushTags: tagSets =" + tagSets); Set groupTagSets = mMMKV.decodeStringSet(CommonConfig.DEVICES_GROUP_TAG, new HashSet<>()); Log.e(TAG, "setPushTags: groupTagSets = " + groupTagSets); - String tagstring = cacheHelper.getAsString(UrlAddress.GET_DEVICES_TAGS); - Log.e(TAG, "setPushTags: tagstring = " + tagstring); Set tags = new HashSet<>(); tags.addAll(groupTagSets); if (!TextUtils.isEmpty(tagSets)) { @@ -146,39 +129,37 @@ public class MainSPresenter implements MainSContact.Presenter { }); } - /* - * 2 - */ - /** * 第一次连接 */ - @Override public void getFirstConnect() { int first = (int) SPUtils.get(mContext, CommonConfig.JGY_FIRST_CONNECT, 0); Log.e(TAG, "getFirstConnect: " + "first_connect = " + first); - mView.setFirstConnect(first == 0); + if (first == 0) { + Log.e(TAG, "setDisableSetting: "); + //设置系统管控 + SysSettingUtils.setDisableSetting(mContext); + JgyUtils.getInstance().writeAppPackageList(); + } } /** * 通过sn获取用户信息 */ - @Override public void getStudesInfo() { - NetInterfaceManager.getInstance().getStudesInfo(false, getLifecycle(), new NetInterfaceManager.StudesInfoListener() { + NetInterfaceManager.getInstance().getStudesInfo(getLifecycle(), new NetInterfaceManager.StudesInfoListener() { @Override public void setStudentsInfo(StudentsInfo studentsInfo) { - mView.setStudesInfo(); + } @Override public void onComplete() { -// mView.setStudesInfo(); + } }); } - @Override public void sendNetwork(List time) { if (time == null || time.size() == 0) { Log.e(TAG, "sendNetwork: " + "time empty"); @@ -211,35 +192,25 @@ public class MainSPresenter implements MainSContact.Presenter { @Override public void onComplete() { Log.e("sendNetwork", "onComplete: "); - mView.sendNetworkFinish(); } }); } - /** - * 3 - */ - - @Override public void sendMacAddress() { - NetInterfaceManager.getInstance().sendMACAddress(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + NetInterfaceManager.getInstance().sendMACAddress(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.sendMacFinish(); + } }); } - @Override public void updateDeviceInfo() { - if (JgyUtils.isOfficialVersion()) { - mView.updateDeviceInfoFinish(); - } // if (!JgyUtils.getInstance().tagEmpty()) { - NetInterfaceManager.getInstance().updateDeviceInfo(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + NetInterfaceManager.getInstance().updateDeviceInfo(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.updateDeviceInfoFinish(); + } }); // } @@ -248,202 +219,170 @@ public class MainSPresenter implements MainSContact.Presenter { /** * 上传安装的应用列表 */ - @Override public void sendInstalled() { // if (!JgyUtils.getInstance().tagEmpty()) { NetInterfaceManager.getInstance().sendInstalledAppInfo(new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.sendInstalledFinish(); } }); // } } - /** - * 4 - */ - - @Override public void checkAoleyunUpdate() { NetInterfaceManager.getInstance() - .checkAoleyunUpdate(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .checkAoleyunUpdate(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.checkAoleyunUpdateFinish(); + } }); -// mView.checkAoleyunUpdateFinish(); } - @Override public void checkTestUpdate() { if (!JgyUtils.getInstance().tagEmpty()) { NetInterfaceManager.getInstance() - .checkTestUpdate(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .checkTestUpdate(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.checkTestUpdateFinish(); + } }); } } - /** - * 5 - */ - @Override public void getDeveloper() { Log.e(TAG, "getDeveloper: "); NetInterfaceManager.getInstance() .getDeveloper(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getDeveloperFinish(); + } }); } - @Override public void getRomApp() { String customVersion = Utils.getCustomVersion(); Log.e(TAG, "getROMApp: " + customVersion); NetInterfaceManager.getInstance() - .getCustomRomApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .getCustomRomApp(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getRomAppFinish(); + } }); } - @Override + public MutableLiveData mScreenLockStateData = new MutableLiveData<>(); + public void getScreenLockState() { - NetInterfaceManager.getInstance().getScreenLockState(true, getLifecycle(), new NetInterfaceManager.ScreenLockStateListener() { + NetInterfaceManager.getInstance().getScreenLockState(getLifecycle(), new NetInterfaceManager.ScreenLockStateListener() { @Override - public void setScreenLockState(boolean locked, String tips) { - mView.setScreenLockStateFinish(locked, tips); + public void setScreenLockState(ScreenLockState screenLockState) { + mScreenLockStateData.postValue(screenLockState); } }); } - @Override public void geteFence() { NetInterfaceManager.getInstance().geElectronicFence(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.geteFenceFinish(); + } }); } - @Override public void getSystemSettingBegin() { //重置设备 JgyUtils.getInstance().resetDevice(); Toaster.debugShow("开始获取管控"); - mView.setSystemSetting(); } - @Override public void getAppLimit() { NetInterfaceManager.getInstance() .getAppLimit(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getAppLimitFinish(); + } }); } - @Override public void getForceDownload() { NetInterfaceManager.getInstance() .getForceDownload(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getForceDownloadFinish(); + } }); } - @Override public void getDefaultDesktop() { Log.e(TAG, "getDefaultDesktop: "); if (JgyUtils.isOfficialVersion() || !JgyUtils.getInstance().getDeviceIsLocked()) { Log.e(TAG, "getDefaultDesktop: " + "Device unLocked"); - mView.getDefaultDesktopFinish(); } else { int aihuaUnlock = Settings.System.getInt(mContext.getContentResolver(), CommonConfig.AIHUA_UNLOCK, 0); if (JgyUtils.getInstance().isAihuaFramework() && aihuaUnlock == 1) { Log.e(TAG, "getDefaultDesktop: " + "Device aihua"); - mView.getDefaultDesktopFinish(); + } else { NetInterfaceManager.getInstance() .getDefaultDesktop(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getDefaultDesktopFinish(); + } }); } } } - @Override public void setLogoImg() { - if (JgyUtils.isOfficialVersion()) { - mView.setLogoImgFinish(); - } else { - NetInterfaceManager.getInstance() - .setLogoImg(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { - @Override - public void onComplete() { - mView.setLogoImgFinish(); - } - }); - } + NetInterfaceManager.getInstance() + .setLogoImg(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + @Override + public void onComplete() { + } + }); } - @Override public void getWallpaper() { NetInterfaceManager.getInstance().getWallpaper(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getWallpaperFinish(); + } }); } - @Override public void getAllAppList() { NetInterfaceManager.getInstance() .getAllAppList(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getAllAppListFinish(); + } }); } - @Override public void getBrowserBookmarks() { NetInterfaceManager.getInstance() - .getBookMarkBlackWhiteList(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .getBookMarkBlackWhiteList(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getBrowserBookmarksFinish(); + } }); } - @Override public void getBrowserWhiteList() { new URLUtils(mContext).setBrowserBlackList(); - mView.setBrowserWhiteList(); } - @Override public void getDesktopIcon() { NetInterfaceManager.getInstance() .getDesktopIcon(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @@ -451,161 +390,141 @@ public class MainSPresenter implements MainSContact.Presenter { public void onComplete() { Log.e("getDesktopIcon", "onComplete: "); // JgyUtils.getInstance().hideSystemAPP(); - mView.getDesktopIconFinish(); } }); } - @Override public void getAppAutoStartUpdateAndNet() { NetInterfaceManager.getInstance() .getAppAutoStartUpdateAndNet(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getAppAutoStartUpdateAndNetFinish(); + } }); } - @Override public void getSnAppAttr() { NetInterfaceManager.getInstance().getSnAppAttr(new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getSnAppAttrFinish(); + } }); } - @Override public void getAppIdControl() { NetInterfaceManager.getInstance() - .getAppIDControl(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .getAppIDControl(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getAppIdControlFinish(); + } }); } - @Override public void setAppinsideWeb() { Log.e(TAG, "setAppinsideWeb: "); NetInterfaceManager.getInstance().getAppinsideWeb(new NetInterfaceManager.GetAppinsideWebCallback() { @Override public void onComplete() { Log.e(TAG, "setAppinsideWeb: " + "onComplete"); - if (mView != null) { - mView.setAppinsideWebFinish(); - } + } }); } - @Override public void getSystemSetting() { NetInterfaceManager.getInstance() .setSystemSetting(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getSystemSettingFinish(); + } }); } - @Override public void getDefaultApp() { NetInterfaceManager.getInstance() - .getDefaultApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .getDefaultApp(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.setDefaultAppFinish(); + } }); } - @Override public void setTopApp() { - if (JgyUtils.isOfficialVersion()) { - mView.setTopAppFinish(); - return; - } NetInterfaceManager.getInstance() - .getTopApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .getTopApp(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.setTopAppFinish(); + } }); } - @Override public void getPoweroffTime() { NetInterfaceManager.getInstance() - .getPoweroffTime(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .getPoweroffTime(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.setPoweroffTime(); + } }); } - @Override public void getSnTimeControl() { - if (JgyUtils.isOfficialVersion()) { - mView.getSnTimeControlFinish(); - } else { - NetInterfaceManager.getInstance() - .getSnTimeControl(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { - @Override - public void onComplete() { - mView.getSnTimeControlFinish(); - } - }); - NetInterfaceManager.getInstance() - .getTimeControl(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { - @Override - public void onComplete() { - mView.getSnTimeControlFinish(); - } - }); - } + NetInterfaceManager.getInstance() + .getSnTimeControl(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + @Override + public void onComplete() { + + } + }); + NetInterfaceManager.getInstance() + .getTimeControl(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + @Override + public void onComplete() { + + } + }); } - @Override public void getSnSetting() { NetInterfaceManager.getInstance().getSnSetting(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getSnSettingFinish(); + } }); } - @Override public void getCloudLessonSettings() { NetInterfaceManager.getInstance().getCloudLessonSettings(lifecycle, new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - if (mView != null) { - mView.setCloudLessonSettings(); - } + } }); } - @Override public void getEbagCode() { NetInterfaceManager.getInstance() - .getEBagCode(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .getEBagCode(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getEbagCodeFinish(Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0) == 1); + if (Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0) == 1) { + // getExclusiveAdminApp(); + Log.e(TAG, "getEBagCodeFinish: " + "已激活"); + } else { + // getBlackList(); + Log.e(TAG, "getEBagCodeFinish: " + "未激活"); + } } }); } - @Override public void getExclusiveAdminApp() { NetInterfaceManager.getInstance().getExclusiveAdminAppObservable() .subscribeOn(Schedulers.io()) @@ -635,38 +554,34 @@ public class MainSPresenter implements MainSContact.Presenter { @Override public void onComplete() { Log.e("getExclusiveAdminApp", "onComplete: "); - mView.getExclusiveAdminAppFinish(); } }); } - @Override public void getBlackList() { NetInterfaceManager.getInstance().getBlackList(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getBlackListFinish(); + } }); } - @Override public void getWhiteList() { NetInterfaceManager.getInstance().getWhiteList(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.getWhiteListFinish(); + } }); } - @Override public void getWiFiPasswd() { NetInterfaceManager.getInstance() - .getWiFiPasswd(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .getWiFiPasswd(getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { - mView.setWiFiPasswd(); + } }); } diff --git a/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java index ef48352..6a837e5 100644 --- a/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java @@ -536,7 +536,7 @@ public class ApkUtils { this.add("com.aoleyun.browser"); this.add("com.android.music"); this.add("com.android.fmradio"); - this.add("com.android.gallery3d"); +// this.add("com.android.gallery3d"); this.add("com.android.calendar"); this.add("com.android.calculator2"); this.add("com.android.deskclock"); diff --git a/build.gradle b/build.gradle index 6964cdc..e481813 100644 --- a/build.gradle +++ b/build.gradle @@ -4,10 +4,10 @@ buildscript { repositories { google() // mavenCentral() - maven { url "https://jitpack.io" } + maven { url 'https://jitpack.io' } maven { url 'https://developer.huawei.com/repo/' } maven { url 'https://maven.aliyun.com/repository/central' } - maven { url "https://maven.aliyun.com/repository/jcenter" } + maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } } @@ -29,10 +29,12 @@ allprojects { repositories { google() // mavenCentral() - maven { url "https://jitpack.io" } + maven { url 'https://jitpack.io' } maven { url 'https://developer.huawei.com/repo/' } - maven { url 'https://maven.aliyun.com/repository/central/' } - maven { url 'https://maven.aliyun.com/repository/public/' } + maven { url 'https://maven.aliyun.com/repository/central' } + maven { url 'https://maven.aliyun.com/repository/jcenter' } + maven { url 'https://maven.aliyun.com/repository/public' } + maven { url 'https://maven.aliyun.com/repository/google' } } gradle.projectsEvaluated { tasks.withType(JavaCompile) {