From ee731661fc8c948c89c8236e331bc93f1f9bc5a7 Mon Sep 17 00:00:00 2001 From: Godfather <981964879@qq.com> Date: Tue, 1 Mar 2022 10:34:46 +0800 Subject: [PATCH] =?UTF-8?q?version:2.9=20fix:=E4=BC=98=E5=8C=96=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=A3=80=E6=B5=8B=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E5=BA=94=E7=94=A8=20update:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 20 +- app/src/main/AndroidManifest.xml | 1 - .../aoleyun/sn/activity/SplashActivity.java | 7 +- .../activity/checknet/CheckNetPresenter.java | 92 +- .../sn/activity/main/MainAContact.java | 7 +- .../sn/activity/main/MainAPresenter.java | 67 +- .../sn/activity/main/MainActivity.java | 178 +-- .../com/aoleyun/sn/base/BaseApplication.java | 4 +- .../com/aoleyun/sn/network/HTTPInterface.java | 27 +- .../sn/network/NetInterfaceManager.java | 83 +- .../com/aoleyun/sn/network/UrlAddress.java | 20 +- .../aoleyun/sn/network/api/AppLimitApi.java | 4 +- .../api/{newapi => }/AppinsideWebApi.java | 2 +- .../api/{newapi => }/BrowserBookmarksApi.java | 2 +- .../api/{newapi => }/BrowserListApi.java | 2 +- .../api/{newapi => }/CheckTestUpdateApi.java | 2 +- .../api/{newapi => }/CheckUpdateApi.java | 2 +- .../api/{newapi => }/CustomROMAppApi.java | 2 +- .../api/{newapi => }/DefaultAppApi.java | 2 +- .../aoleyun/sn/network/api/DeselectIDApi.java | 4 +- .../api/{newapi => }/DesktopIconApi.java | 2 +- .../{newapi => }/DevicesLockedStateApi.java | 2 +- .../api/{newapi => }/GetAllAppApi.java | 2 +- .../api/{newapi => }/GetAppLogApi.java | 2 +- .../network/api/{newapi => }/GetBatchApi.java | 6 +- .../api/{newapi => }/GetDesktopApi.java | 2 +- .../api/{newapi => }/GetDeveloperApi.java | 2 +- .../api/{newapi => }/GetEBagCodeApi.java | 2 +- .../api/{newapi => }/GetJpushTagsApi.java | 2 +- .../api/{newapi => }/GetLockStateApi.java | 6 +- .../api/{newapi => }/GetPoweroffApi.java | 2 +- .../api/{newapi => }/GetPublicIPApi.java | 2 +- .../api/{newapi => }/GetSnRunLogApi.java | 2 +- .../api/{newapi => }/GetUploadIsLogApi.java | 2 +- .../api/{newapi => }/GetUploadLogApi.java | 2 +- .../api/{newapi => }/GetWiFiAliasApi.java | 2 +- .../network/api/{newapi => }/LogoImgApi.java | 2 +- .../api/{newapi => }/MACAddressApi.java | 2 +- .../api/{newapi => }/NewAppinsideWebApi.java | 2 +- .../api/{newapi => }/ScreenLockStateApi.java | 2 +- .../api/{newapi => }/SendDownloadInfoApi.java | 2 +- .../{newapi => }/SendDownloadTimesApi.java | 2 +- .../api/{newapi => }/SendRestoreTimesApi.java | 2 +- .../api/{newapi => }/SendScreenStatusApi.java | 2 +- .../api/{newapi => }/SendScreenshotApi.java | 2 +- .../api/{newapi => }/SnTimeControlApi.java | 2 +- .../api/{newapi => }/StudentsInfosApi.java | 2 +- .../sn/network/api/SystemSettingApi.java | 5 +- .../api/{newapi => }/TopAppControlApi.java | 2 +- .../api/{newapi => }/UpdateDeviceInfoApi.java | 2 +- .../sn/network/api/UploadAppInfoApi.java | 3 +- .../com/aoleyun/sn/service/GuardService.java | 10 +- .../aoleyun/sn/service/main/MainSContact.java | 295 ++-- .../sn/service/main/MainSPresenter.java | 1341 ++++++++--------- .../aoleyun/sn/service/main/MainService.java | 259 ++-- 55 files changed, 1165 insertions(+), 1342 deletions(-) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/AppinsideWebApi.java (92%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/BrowserBookmarksApi.java (92%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/BrowserListApi.java (92%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/CheckTestUpdateApi.java (91%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/CheckUpdateApi.java (91%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/CustomROMAppApi.java (91%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/DefaultAppApi.java (90%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/DesktopIconApi.java (91%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/DevicesLockedStateApi.java (90%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetAllAppApi.java (92%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetAppLogApi.java (91%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetBatchApi.java (73%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetDesktopApi.java (88%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetDeveloperApi.java (89%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetEBagCodeApi.java (91%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetJpushTagsApi.java (88%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetLockStateApi.java (77%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetPoweroffApi.java (92%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetPublicIPApi.java (90%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetSnRunLogApi.java (90%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetUploadIsLogApi.java (93%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetUploadLogApi.java (93%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/GetWiFiAliasApi.java (93%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/LogoImgApi.java (89%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/MACAddressApi.java (96%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/NewAppinsideWebApi.java (91%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/ScreenLockStateApi.java (89%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/SendDownloadInfoApi.java (93%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/SendDownloadTimesApi.java (92%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/SendRestoreTimesApi.java (92%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/SendScreenStatusApi.java (91%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/SendScreenshotApi.java (92%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/SnTimeControlApi.java (89%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/StudentsInfosApi.java (91%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/TopAppControlApi.java (89%) rename app/src/main/java/com/aoleyun/sn/network/api/{newapi => }/UpdateDeviceInfoApi.java (93%) diff --git a/app/build.gradle b/app/build.gradle index 2be6b27..b54beda 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -61,8 +61,8 @@ android { //新平台正式 newly { flavorDimensions "default" - versionCode 19 - versionName "2.8" + versionCode 20 + versionName "2.9" /*********************************极光推送************************************/ manifestPlaceholders = [ XG_ACCESS_ID : "1500026372", @@ -294,19 +294,19 @@ dependencies { // implementation fileTree(dir: "libs", include: ["*.jar"]) compileOnly files('libs/framework.jar') - implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.multidex:multidex:2.0.1' - implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0' + + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' //BindView implementation 'com.jakewharton:butterknife:10.1.0' annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0' - //OkHttp implementation 'com.squareup.okhttp3:okhttp:4.9.1' //Retrofit @@ -314,8 +314,8 @@ dependencies { implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0' //RxJava - implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' implementation 'io.reactivex.rxjava3:rxjava:3.0.0' + implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' //生命周期管理 implementation 'com.trello.rxlifecycle4:rxlifecycle:4.0.2' implementation 'com.trello.rxlifecycle4:rxlifecycle-android:4.0.2' @@ -328,8 +328,12 @@ dependencies { implementation 'com.google.code.gson:gson:2.9.0' implementation 'com.google.zxing:core:3.4.1' //图片加载框架 - implementation 'com.github.bumptech.glide:glide:4.13.0' - annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0' + implementation 'com.github.bumptech.glide:glide:4.13.1' + annotationProcessor 'com.github.bumptech.glide:compiler:4.13.1' + // debugImplementation because LeakCanary should only run in debug builds. + debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1' + zhanRuiDebugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1' + //fastjson implementation 'com.alibaba:fastjson:1.2.79' //极光推送 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9237531..ab0638f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -268,7 +268,6 @@ android:name=".jpush.MyJPushReceiver" android:enabled="true"> - 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 b889eb4..06cd9a5 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java @@ -34,6 +34,8 @@ import com.aoleyun.sn.utils.SPUtils; import com.aoleyun.sn.utils.ServiceAliveUtils; import com.aoleyun.sn.utils.Utils; import com.blankj.utilcode.util.PathUtils; +import com.google.gson.Gson; +import com.tencent.mmkv.MMKV; import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX; import java.io.File; @@ -78,7 +80,7 @@ public class SplashActivity extends AppCompatActivity { private void initView() { if (BuildConfig.DEBUG) { - JGYUtils.getInstance().cleanBackgroundMemory(); +// JGYUtils.getInstance().cleanBackgroundMemory(); // NetInterfaceManager.getInstance().uploadLogFile(); bt_log = findViewById(R.id.bt_log); bt_log.setVisibility(View.VISIBLE); @@ -148,7 +150,8 @@ public class SplashActivity extends AppCompatActivity { // mAm.killBackgroundProcesses("com.android.documentsui"); // BaseApplication.cleanJpushAlias(); // BaseApplication.cleanJpushTag(); - Log.e(TAG, "debugTest: SPUtils all " + SPUtils.getAll(this)); + Log.e(TAG, "debugTest: " + new Gson().toJson(MMKV.defaultMMKV().allKeys())); + Log.e(TAG, "debugTest: SPUtils all " + new Gson().toJson(SPUtils.getAll(this))); try { PackageManager packageManager = getPackageManager(); packageManager.setApplicationEnabledSetting(PackageNames.OLD_DEVICE_INFO, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); diff --git a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java index 42e04c5..64395d3 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java +++ b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java @@ -681,38 +681,33 @@ public class CheckNetPresenter implements CheckNetContact.Presenter { NetInterfaceManager.getInstance() .getAppLimitObservable() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer() { + .subscribe(new Observer() { @Override public void onSubscribe(@NonNull Disposable d) { Log.e(TAG + ":" + "getAppLimit", "onSubscribe: "); } @Override - public void onNext(@NonNull ResponseBody responseBody) { + public void onNext(@NonNull BaseResponse baseResponse) { requestSucceeded = true; - try { - String bodyString = responseBody.string(); - Log.e(TAG + ":" + "getAppLimit", "onNext: " + bodyString); - JsonObject jsonObject = JsonParser.parseString(bodyString).getAsJsonObject(); - int code = jsonObject.get("code").getAsInt(); - if (code == OK) { - String data = jsonObject.get("data").getAsJsonObject().get("result").getAsString(); - //开机图标 - boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, data); - Log.e(TAG, "onNext: only_jgy_shortcut_list: " + write); - JGYUtils.getInstance().writeAppPackageList(mContext, data); - mView.getAppLimitFinish(data); - } else { - boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, " "); - JGYUtils.getInstance().writeAppPackageList(mContext, ""); - Log.e(TAG, "onNext: only_jgy_shortcut_list: " + write); - Log.e(TAG + ":" + "getAppLimit", "onNext: " + bodyString); - mView.getAppLimitFinish(""); - } - } catch (IOException e) { - e.printStackTrace(); - Log.e(TAG + ":" + "getAppLimit", "onNext: IOException: " + e.getMessage()); + Log.e(TAG + ":" + "getAppLimit", "onNext: " + baseResponse); + JsonObject jsonObject = JsonParser.parseString(baseResponse.data.toString()).getAsJsonObject(); + int code = baseResponse.code; + if (code == OK) { + String data = jsonObject.get("result").getAsString(); + //开机图标 + boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, data); + Log.e(TAG, "onNext: only_jgy_shortcut_list: " + write); + JGYUtils.getInstance().writeAppPackageList(mContext, data); + mView.getAppLimitFinish(data); + } else { + boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, " "); + JGYUtils.getInstance().writeAppPackageList(mContext, ""); + Log.e(TAG, "onNext: only_jgy_shortcut_list: " + write); + Log.e(TAG + ":" + "getAppLimit", "onNext: " + baseResponse); + mView.getAppLimitFinish(""); } + } @Override @@ -732,60 +727,11 @@ public class CheckNetPresenter implements CheckNetContact.Presenter { @Override public void getDeviceBatch(String packageList) { -// if (JGYUtils.isOfficialVersion() || TextUtils.isEmpty(packageList)) { -// mView.getDeviceBatchFinished(); -// return; -// } int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0); Log.e(TAG, "getDeviceBatch: " + locked); if (locked == 0) { -// NetInterfaceManager.getInstance() -// .getBatchObservable() -// .observeOn(Schedulers.io()) -// .subscribe(new Observer() { -// @Override -// public void onSubscribe(@NonNull Disposable d) { -// Log.e(TAG+":"+"getDeviceBatch", "onSubscribe: "); -// } -// -// @Override -// public void onNext(@NonNull ResponseBody responseBody) { -// Log.e(TAG+":"+"getDeviceBatch", "onNext: "); -// try { -// String respons = responseBody.string(); -// JSONObject jsonObject = JSON.parseObject(respons); -// int code = jsonObject.getInteger("code"); -// if (code == OK) { -// String data = jsonObject.getString("data"); -// List batchList = JSON.parseArray(data, Batch.class); -// if (null != batchList && batchList.size() > 1) { -// Log.e(TAG+":"+"getDeviceBatch", "onNext: " + "deleteOtherApp"); -// if (!BuildConfig.DEBUG) { JGYUtils.getInstance().deleteOtherApp(); -// } -// } else { -// Log.e(TAG+":"+"getDeviceBatch", "批次为空"); -// Log.e(TAG+":"+"getDeviceBatch", "onNext: respons:" + respons); -// } -// } -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } -// -// @Override -// public void onError(@NonNull Throwable e) { -// Log.e(TAG+":"+"getDeviceBatch", "onError: " + e.getMessage()); -// onComplete(); -// } -// -// @Override -// public void onComplete() { -// Log.e(TAG+":"+"getDeviceBatch", "onComplete: "); mView.getDeviceBatchFinish(); -// } -// }); - // mView.getDeviceBatchFinished(); } } diff --git a/app/src/main/java/com/aoleyun/sn/activity/main/MainAContact.java b/app/src/main/java/com/aoleyun/sn/activity/main/MainAContact.java index e5a3e22..751306d 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/main/MainAContact.java +++ b/app/src/main/java/com/aoleyun/sn/activity/main/MainAContact.java @@ -9,8 +9,6 @@ import com.aoleyun.sn.base.BaseView; public class MainAContact { public interface Presenter extends BasePresenter { - /*设置二维码*/ - void getQRImage(String mac); /*获取学生信息*/ void getStudesInfo(); /*获取设备锁定状态*/ @@ -20,10 +18,8 @@ public class MainAContact { } public interface MainView extends BaseView { - /*获取二维码*/ - void setQRImage(Bitmap qrImage); /*设置账户类型*/ - void settrade_type(int tradeType); + void settradeType(int tradeType); /*设置批次信息*/ void setBatchText(String text, int visibility); /*设置班级信息*/ @@ -34,6 +30,7 @@ public class MainAContact { void setNameText(String text, int visibility); /*设置头像*/ void setHead(String url); + /*获取设备锁定状态*/ void setLockedState(boolean loocked); /*手动获取设备信息更新*/ diff --git a/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java b/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java index 1da2365..d2f01f4 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java +++ b/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java @@ -19,6 +19,7 @@ import com.aoleyun.sn.utils.SPUtils; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.JsonParser; +import com.tencent.mmkv.MMKV; import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.android.ActivityEvent; @@ -38,6 +39,7 @@ public class MainAPresenter implements MainAContact.Presenter { private static final String TAG = MainAPresenter.class.getSimpleName(); private MainAContact.MainView mView; private Context mContext; + private MMKV mMMKV = MMKV.defaultMMKV(); public static final String GET_SETTING_FINISH_TIME = "GET_SETTING_FINISH_TIME"; @@ -46,6 +48,9 @@ public class MainAPresenter implements MainAContact.Presenter { private final String DEFAULT_INFO = "暂无信息"; private final int OK = 200; + private static final long ONE_MINUTE_TIME = 60 * 1000; + private static final long TEN_MINUTE_TIME = ONE_MINUTE_TIME * 10; + private final static int NOTFOUND = -300; private BehaviorSubject lifecycle; @@ -63,10 +68,6 @@ public class MainAPresenter implements MainAContact.Presenter { Log.e(TAG, "MainSPresenter: " + context.getClass()); } - public boolean isRequestSucceeded() { - return requestSucceeded; - } - @Override public void attachView(@androidx.annotation.NonNull MainAContact.MainView view) { this.mView = view; @@ -79,23 +80,7 @@ public class MainAPresenter implements MainAContact.Presenter { private native String getAeskey(); - @Override - public void getQRImage(String mac) { -// Log.e(TAG, "getQRImage: " + mac); -// JsonObject jsonObject = new JsonObject(); -// jsonObject.addProperty("sn", Utils.getSerial()); -// jsonObject.addProperty("mac", mac); -// String json = jsonObject.toString(); -// String content = mac; -// try { -// content = CXAESUtil.encrypt(getAeskey(), json); -// Log.e(TAG, "getQRImage: " + content); -// } catch (Exception e) { -// Log.e(TAG, "getQRImage: " + e.getMessage()); -// e.printStackTrace(); -// } -// mView.setQRImage(JGYUtils.getInstance().createQRImage(content, 300, 300)); - } + private static final String GET_STUDES_INFO_TIME = "getStudesInfo_key"; /** * 通过sn获取用户信息 @@ -103,6 +88,10 @@ public class MainAPresenter implements MainAContact.Presenter { @Override public void getStudesInfo() { setState(); + long lastTime = mMMKV.decodeLong(GET_STUDES_INFO_TIME, 0); + if (System.currentTimeMillis() - TEN_MINUTE_TIME < lastTime) { + return; + } NetInterfaceManager.getInstance() .getStudesInfoObservable() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -114,11 +103,12 @@ public class MainAPresenter implements MainAContact.Presenter { @Override public void onNext(@NonNull BaseResponse studentsInfoBaseResponse) { + mMMKV.encode(GET_STUDES_INFO_TIME, System.currentTimeMillis()); requestSucceeded = true; Log.e(TAG + ":" + "getStudesInfo", "onNext: " + studentsInfoBaseResponse.data); if (studentsInfoBaseResponse.code == OK) { int trade_type = studentsInfoBaseResponse.data.getTrade_type(); - mView.settrade_type(trade_type); + mView.settradeType(trade_type); String sno = studentsInfoBaseResponse.data.getSno(); String realname = studentsInfoBaseResponse.data.getRealname(); String classes = studentsInfoBaseResponse.data.getClasses(); @@ -162,9 +152,6 @@ public class MainAPresenter implements MainAContact.Presenter { SPUtils.put(mContext, CommonConfig.ADMIN_ID, studentsInfoBaseResponse.data.getAdmin_id()); } else { - /* - * 没有获取到的时候显示缓存 - * */ Log.e(TAG + ":" + "getStudesInfo", "onNext: " + studentsInfoBaseResponse.toString()); } } @@ -225,35 +212,11 @@ public class MainAPresenter implements MainAContact.Presenter { } } - private long lastgetLockedTime; - private long one_minute = 1000 * 60; - @Override public void getLockedState() { - NetInterfaceManager.getInstance() - .getLockedState(lifecycle, new NetInterfaceManager.ObserverCallback() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onNext(BaseResponse response) { - - } - - @Override - public void onError(Throwable e) { - } - - @Override - public void onComplete() { - Log.e(TAG, "onComplete: "); - int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED); - Log.e(TAG + ":" + "getLockedState", "locked: " + locked); - mView.setLockedState(locked == JGYActions.FRAME_CODE_LOCKED); - } - }); + int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED); + Log.e(TAG + ":" + "getLockedState", "locked: " + locked); + mView.setLockedState(locked == JGYActions.FRAME_CODE_LOCKED); } @Override 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 b1358e5..92f43a2 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 @@ -2,11 +2,8 @@ package com.aoleyun.sn.activity.main; import android.annotation.SuppressLint; import android.app.AlertDialog; -import android.content.BroadcastReceiver; -import android.content.Context; import android.content.DialogInterface; import android.content.Intent; -import android.content.IntentFilter; import android.graphics.Bitmap; import android.os.SystemClock; import android.text.TextUtils; @@ -18,14 +15,12 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.constraintlayout.widget.ConstraintLayout; -import androidx.localbroadcastmanager.content.LocalBroadcastManager; import com.aoleyun.sn.BuildConfig; import com.aoleyun.sn.R; import com.aoleyun.sn.activity.requestlog.RequestLogActivity; import com.aoleyun.sn.base.BaseActivity; import com.aoleyun.sn.service.main.MainService; -import com.aoleyun.sn.utils.ExampleUtil; import com.aoleyun.sn.utils.JGYUtils; import com.aoleyun.sn.utils.SaveListUtils; import com.aoleyun.sn.utils.SysSettingUtils; @@ -117,19 +112,10 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, } } - private MainAPresenter mPresenter; + private MainAPresenter mMainAPresenter; private boolean updateApp = false; - //jiguang - public static boolean isForeground = false; - //for receive customer msg from jpush server - private MessageReceiver mMessageReceiver; - public static final String MESSAGE_RECEIVED_ACTION = "com.aoleyun.sn.MESSAGE_RECEIVED_ACTION"; - public static final String KEY_TITLE = "title"; - public static final String KEY_MESSAGE = "message"; - public static final String KEY_EXTRAS = "extras"; - @Override public void onDisconnected() { Log.e("OnNetworkStatusChanged", "onDisconnected: "); @@ -140,7 +126,7 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, Log.e("OnNetworkStatusChanged", "onConnected: "); timeMillis = SystemClock.elapsedRealtime(); //直接获取数据 - mPresenter.getLockedState(); + mMainAPresenter.getLockedState(); } @Override @@ -151,9 +137,9 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, @Override public void initView() { ButterKnife.bind(this); - mPresenter = new MainAPresenter(this); - mPresenter.attachView(this); - mPresenter.setLifecycle(lifecycleSubject); + mMainAPresenter = new MainAPresenter(this); + mMainAPresenter.attachView(this); + mMainAPresenter.setLifecycle(lifecycleSubject); JGYUtils.startServices(MainActivity.this); Log.e(TAG, "initView: " + "start request"); NetworkUtils.registerNetworkStatusChangedListener(this); @@ -161,6 +147,53 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, setStoreUpdateListener(bt_checkupdate); } + private void setStoreUpdateListener(View view) { + ObservableOnSubscribe mObservableOnSubscribe = new ObservableOnSubscribe() { + @Override + public void subscribe(@NonNull ObservableEmitter emitter) throws Throwable { + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (updateApp) { + ToastUtil.show("你已经检查过更新,请稍后再试"); + } else { + emitter.onNext(view); + } + } + }); + } + }; + Observer mObserver = new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("mObserver", "onSubscribe"); + } + + @Override + public void onNext(@NonNull View view) { + Log.e("mObserver", "onNext"); + ToastUtil.show("正在检查更新"); + mMainAPresenter.buttonCheckUpdate(bt_checkupdate); + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e("mObserver", "onError" + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e("mObserver", "onComplete"); + } + }; + + Observable.create(mObservableOnSubscribe) + .throttleFirst(10, TimeUnit.SECONDS) + //这句很关键,这是RxJava中的操作符,在规定时间内观察者不在接收被观察者发送的事件 + .subscribe(mObserver); + } + private void getDevicesInfo() { String sn = Utils.getSerial(); tv_devsn.setText(sn); @@ -170,21 +203,18 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, tv_devmac.setText("获取失败"); } else { tv_devmac.setText(macaddr); -// mPresenter.getQRImage(macaddr); } tv_version.setText(BuildConfig.VERSION_NAME); - //获取自定义版本 - //Log.e(TAG, "getDevicesInfo: " + Utils.getProperty("ro.build.id", "获取失败")); - //展讯获取自定义版本 + //获取自定义版本号 Log.e(TAG, "getDevicesInfo: CustomVersion: " + Utils.getCustomVersion()); Log.e(TAG, "getDevicesInfo: RomVersion: " + Utils.getRomVersion()); tv_customversion.setText(Utils.getCustomVersion()); } private void checkSNError(String sn) { - //sn长度12位 - if (sn.length() != 12) { -// showSNErrorDialog("设备SN号码格式错误!"); + //sn长度最长30位 + if (sn.length() > 30) { + showSNErrorDialog("设备SN号码格式错误!"); } else { Log.e(TAG, "checkSNError: " + sn); } @@ -192,8 +222,6 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, if (JGYUtils.getInstance().checkSNPlatform(sn) != JGYUtils.getInstance().checkAppPlatform()) { // showSNErrorDialog("SN数据与平台不符,请联系管理员!"); } - //设置极光推送标签 -// JGYUtils.getInstance().getAppPlatform(platform -> mPresenter.setJpushPlatformTags(platform)); } private void showSNErrorDialog(String content) { @@ -215,23 +243,16 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, @Override public void initData() { -// JPushInterface.init(this); - registerMessageReceiver(); Log.e("getMacAddress", Utils.getAndroid10MAC(this)); timeMillis = SystemClock.elapsedRealtime(); Utils.getPublicIP(this); startService(new Intent(MainActivity.this, MainService.class)); - mPresenter.getLockedState(); - mPresenter.getStudesInfo(); + mMainAPresenter.getLockedState(); + mMainAPresenter.getStudesInfo(); } @Override - public void setQRImage(Bitmap qrImage) { - head.setImageBitmap(qrImage); - } - - @Override - public void settrade_type(int tradeType) { + public void settradeType(int tradeType) { if (tradeType == 1) { tv_class_name.setText("班级"); tv_number_name.setText("学号"); @@ -331,27 +352,24 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, @Override protected void onStop() { super.onStop(); - isForeground = false; } @Override protected void onPause() { super.onPause(); - isForeground = false; } @Override protected void onResume() { super.onResume(); - isForeground = true; } @Override protected void onDestroy() { super.onDestroy(); - mPresenter.detachView(); JGYUtils.startServices(MainActivity.this); NetworkUtils.unregisterNetworkStatusChangedListener(this); + mMainAPresenter.detachView(); } @Override @@ -373,80 +391,4 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, finish(); } } - - private void setStoreUpdateListener(View view) { - ObservableOnSubscribe mObservableOnSubscribe = new ObservableOnSubscribe() { - @Override - public void subscribe(@NonNull ObservableEmitter emitter) throws Exception { - view.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (updateApp) { - ToastUtil.show("你已经检查过更新,请稍后再试"); - } else { - emitter.onNext(view); - } - } - }); - } - }; - Observer mObserver = new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e("mObserver", "onSubscribe"); - } - - @Override - public void onNext(@NonNull View view) { - Log.e("mObserver", "onNext"); - ToastUtil.show("正在检查更新"); - mPresenter.buttonCheckUpdate(bt_checkupdate); - } - - @Override - public void onError(@NonNull Throwable e) { - Log.e("mObserver", "onError"); - onComplete(); - } - - @Override - public void onComplete() { - Log.e("mObserver", "onComplete"); - } - }; - - Observable.create(mObservableOnSubscribe) - .throttleFirst(10, TimeUnit.SECONDS) - //这句很关键,这是RxJava中的操作符,在规定时间内观察者不在接收被观察者发送的事件 - .subscribe(mObserver); - } - - //jiguang - public void registerMessageReceiver() { - mMessageReceiver = new MessageReceiver(); - IntentFilter filter = new IntentFilter(); - filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); - filter.addAction(MESSAGE_RECEIVED_ACTION); - LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter); - } - - public static class MessageReceiver extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - try { - if (MESSAGE_RECEIVED_ACTION.equals(intent.getAction())) { - String messge = intent.getStringExtra(KEY_MESSAGE); - String extras = intent.getStringExtra(KEY_EXTRAS); - StringBuilder showMsg = new StringBuilder(); - showMsg.append(KEY_MESSAGE + " : " + messge + "\n"); - if (!ExampleUtil.isEmpty(extras)) { - showMsg.append(KEY_EXTRAS + " : " + extras + "\n"); - } -// setCostomMsg(showMsg.toString()); - } - } catch (Exception e) { - - } - } - } } diff --git a/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java b/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java index 1fbc1ab..21e2fdd 100644 --- a/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java +++ b/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java @@ -248,7 +248,7 @@ public class BaseApplication extends MultiDexApplication { case 6017: case 6027: Log.e("jiguangInterface", s + "别名绑定的设备数超过限制"); - cleanJpushAlias(); +// cleanJpushAlias(); setJpushAlias(); break; default: @@ -338,7 +338,7 @@ public class BaseApplication extends MultiDexApplication { break; case 6018: Log.e("jiguangInterface", s + "Tags 过多"); - cleanJpushTag(); +// cleanJpushTag(); ToastUtil.show("设备标签数量超出限制,联系管理员修改\t" + "code:6018"); break; case 6021: diff --git a/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java b/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java index 6ad8355..569b18b 100644 --- a/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java +++ b/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java @@ -27,9 +27,9 @@ import com.aoleyun.sn.bean.PoweroffBean; import com.aoleyun.sn.bean.SnRunLog; import com.aoleyun.sn.bean.WiFiAlias; import com.aoleyun.sn.comm.JGYActions; -import com.aoleyun.sn.network.api.newapi.GetPublicIPApi; -import com.aoleyun.sn.network.api.newapi.SnTimeControlApi; -import com.aoleyun.sn.network.api.newapi.TopAppControlApi; +import com.aoleyun.sn.network.api.GetPublicIPApi; +import com.aoleyun.sn.network.api.SnTimeControlApi; +import com.aoleyun.sn.network.api.TopAppControlApi; import com.aoleyun.sn.service.LogcatService; import com.aoleyun.sn.service.main.MainService; import com.aoleyun.sn.utils.ApkUtils; @@ -621,33 +621,26 @@ public class HTTPInterface { public static void getAppLimit(Context context) { NetInterfaceManager.getInstance() .getAppLimitObservable() - .subscribe(new Observer() { + .subscribe(new Observer() { @Override public void onSubscribe(@NonNull Disposable d) { Log.e("getAppLimit", "onSubscribe: "); } @Override - public void onNext(@NonNull ResponseBody responseBody) { - try { - String bodyString = responseBody.string(); - Log.e("getAppLimit", "onNext: " + bodyString); - JsonObject jsonObject = JsonParser.parseString(bodyString).getAsJsonObject(); - int code = jsonObject.get("code").getAsInt(); - if (code == 200) { - String data = jsonObject.get("data").getAsJsonObject().get("result").getAsString(); + public void onNext(@NonNull BaseResponse baseResponse) { + Log.e("getAppLimit", "onNext: " + baseResponse); + JsonObject jsonObject = JsonParser.parseString(baseResponse.data.toString()).getAsJsonObject(); + if (baseResponse.code == 200) { + String data = jsonObject.get("result").getAsString(); //开机图标 只记录后台传的包名 boolean write = Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, data); Log.e(TAG, "onNext: only_jgy_shortcut_list: " + write); JGYUtils.getInstance().writeAppPackageList(context, data); JGYUtils.getInstance().deleteOtherApp(); } else { - Log.e("getAppLimit", "onNext: " + bodyString); + Log.e("getAppLimit", "onNext: " + baseResponse); } - } catch (IOException e) { - e.printStackTrace(); - Log.e("getAppLimit", "onNext: IOException: " + e.getMessage()); - } } @Override 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 0fbcb28..8480942 100644 --- a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java +++ b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java @@ -8,6 +8,7 @@ import android.util.Log; import com.alibaba.fastjson.JSONObject; import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.bean.AppListInfo; import com.aoleyun.sn.bean.Appground; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.BrowserBookmarks; @@ -30,40 +31,40 @@ import com.aoleyun.sn.network.api.ForceDownloadApi; import com.aoleyun.sn.network.api.NetAndLaunchApi; import com.aoleyun.sn.network.api.SystemSettingApi; import com.aoleyun.sn.network.api.UploadAppInfoApi; -import com.aoleyun.sn.network.api.newapi.AppinsideWebApi; -import com.aoleyun.sn.network.api.newapi.BrowserBookmarksApi; -import com.aoleyun.sn.network.api.newapi.BrowserListApi; -import com.aoleyun.sn.network.api.newapi.CheckTestUpdateApi; -import com.aoleyun.sn.network.api.newapi.CheckUpdateApi; -import com.aoleyun.sn.network.api.newapi.CustomROMAppApi; -import com.aoleyun.sn.network.api.newapi.DefaultAppApi; -import com.aoleyun.sn.network.api.newapi.DesktopIconApi; -import com.aoleyun.sn.network.api.newapi.DevicesLockedStateApi; -import com.aoleyun.sn.network.api.newapi.GetAllAppApi; -import com.aoleyun.sn.network.api.newapi.GetAppLogApi; -import com.aoleyun.sn.network.api.newapi.GetBatchApi; -import com.aoleyun.sn.network.api.newapi.GetDesktopApi; -import com.aoleyun.sn.network.api.newapi.GetDeveloperApi; -import com.aoleyun.sn.network.api.newapi.GetEBagCodeApi; -import com.aoleyun.sn.network.api.newapi.GetLockStateApi; -import com.aoleyun.sn.network.api.newapi.GetJpushTagsApi; -import com.aoleyun.sn.network.api.newapi.GetPoweroffApi; -import com.aoleyun.sn.network.api.newapi.GetSnRunLogApi; -import com.aoleyun.sn.network.api.newapi.GetUploadIsLogApi; -import com.aoleyun.sn.network.api.newapi.GetUploadLogApi; -import com.aoleyun.sn.network.api.newapi.GetWiFiAliasApi; -import com.aoleyun.sn.network.api.newapi.LogoImgApi; -import com.aoleyun.sn.network.api.newapi.MACAddressApi; -import com.aoleyun.sn.network.api.newapi.NewAppinsideWebApi; -import com.aoleyun.sn.network.api.newapi.ScreenLockStateApi; -import com.aoleyun.sn.network.api.newapi.SendDownloadInfoApi; -import com.aoleyun.sn.network.api.newapi.SendDownloadTimesApi; -import com.aoleyun.sn.network.api.newapi.SendRestoreTimesApi; -import com.aoleyun.sn.network.api.newapi.SendScreenshotApi; -import com.aoleyun.sn.network.api.newapi.SnTimeControlApi; -import com.aoleyun.sn.network.api.newapi.StudentsInfosApi; -import com.aoleyun.sn.network.api.newapi.TopAppControlApi; -import com.aoleyun.sn.network.api.newapi.UpdateDeviceInfoApi; +import com.aoleyun.sn.network.api.AppinsideWebApi; +import com.aoleyun.sn.network.api.BrowserBookmarksApi; +import com.aoleyun.sn.network.api.BrowserListApi; +import com.aoleyun.sn.network.api.CheckTestUpdateApi; +import com.aoleyun.sn.network.api.CheckUpdateApi; +import com.aoleyun.sn.network.api.CustomROMAppApi; +import com.aoleyun.sn.network.api.DefaultAppApi; +import com.aoleyun.sn.network.api.DesktopIconApi; +import com.aoleyun.sn.network.api.DevicesLockedStateApi; +import com.aoleyun.sn.network.api.GetAllAppApi; +import com.aoleyun.sn.network.api.GetAppLogApi; +import com.aoleyun.sn.network.api.GetBatchApi; +import com.aoleyun.sn.network.api.GetDesktopApi; +import com.aoleyun.sn.network.api.GetDeveloperApi; +import com.aoleyun.sn.network.api.GetEBagCodeApi; +import com.aoleyun.sn.network.api.GetLockStateApi; +import com.aoleyun.sn.network.api.GetJpushTagsApi; +import com.aoleyun.sn.network.api.GetPoweroffApi; +import com.aoleyun.sn.network.api.GetSnRunLogApi; +import com.aoleyun.sn.network.api.GetUploadIsLogApi; +import com.aoleyun.sn.network.api.GetUploadLogApi; +import com.aoleyun.sn.network.api.GetWiFiAliasApi; +import com.aoleyun.sn.network.api.LogoImgApi; +import com.aoleyun.sn.network.api.MACAddressApi; +import com.aoleyun.sn.network.api.NewAppinsideWebApi; +import com.aoleyun.sn.network.api.ScreenLockStateApi; +import com.aoleyun.sn.network.api.SendDownloadInfoApi; +import com.aoleyun.sn.network.api.SendDownloadTimesApi; +import com.aoleyun.sn.network.api.SendRestoreTimesApi; +import com.aoleyun.sn.network.api.SendScreenshotApi; +import com.aoleyun.sn.network.api.SnTimeControlApi; +import com.aoleyun.sn.network.api.StudentsInfosApi; +import com.aoleyun.sn.network.api.TopAppControlApi; +import com.aoleyun.sn.network.api.UpdateDeviceInfoApi; import com.aoleyun.sn.rlog.LogDBManager; import com.aoleyun.sn.utils.ApkUtils; import com.aoleyun.sn.utils.JGYUtils; @@ -76,7 +77,6 @@ import com.google.gson.JsonParser; import com.tencent.android.tpush.XGIOperateCallback; import com.tencent.android.tpush.XGPushManager; import com.tencent.mmkv.MMKV; -import com.trello.rxlifecycle4.LifecycleProvider; import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.android.ActivityEvent; @@ -95,10 +95,10 @@ import java.util.concurrent.TimeUnit; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.annotations.NonNull; import io.reactivex.rxjava3.core.Observable; -import io.reactivex.rxjava3.core.ObservableEmitter; -import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.core.ObservableSource; import io.reactivex.rxjava3.core.Observer; import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Function; import io.reactivex.rxjava3.schedulers.Schedulers; import io.reactivex.rxjava3.subjects.BehaviorSubject; import okhttp3.Cache; @@ -338,7 +338,7 @@ public class NetInterfaceManager { .observeOn(AndroidSchedulers.mainThread()); } - public Observable getAppLimitObservable() { + public Observable getAppLimitObservable() { return mRetrofit.create(AppLimitApi.class) .getAppLimitApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial()) .subscribeOn(Schedulers.io()) @@ -559,7 +559,7 @@ public class NetInterfaceManager { public void getLockedState(BehaviorSubject provider, ObserverCallback callback) { long lastTime = mMMKV.decodeLong(GET_LOCKED_STATE_TIME, 0); - if (System.currentTimeMillis() - ONE_MINUTE_TIME < lastTime) { + if (System.currentTimeMillis() - TEN_MINUTE_TIME < lastTime) { callback.onComplete(); return; } @@ -691,7 +691,8 @@ public class NetInterfaceManager { } String address = String.valueOf(SPUtils.get(mContext, "AmapAddress", "-")); if ("-".equals(address)) { - address = (String) SPUtils.get(mContext, "AmapError", "-"); + address = "定位失败"; +// address = (String) SPUtils.get(mContext, "AmapError", "-"); } String longitude = String.valueOf(SPUtils.get(mContext, "longitude", "0")); String latitude = String.valueOf(SPUtils.get(mContext, "latitude", "0")); @@ -813,6 +814,4 @@ public class NetInterfaceManager { } }); } - - } 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 1117548..c7aa890 100644 --- a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java +++ b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java @@ -10,13 +10,24 @@ public class UrlAddress { /*根网址*/ public static final String HTTP_TAG_HEAD_NEW = BuildConfig.ROOT_URL; - - /*下载接口 根据包名匹配 请求后更新下载次数*/ - public static final String SEND_DOWNLOAD_TIMES = "count/index"; /*app下载完成发送下载次数*/ public static final String SEND_DOWNLOAD_FILE_INFO = "app/downloadApp"; + /*获取系统默认程序*/ + public static final String GET_DEFAULT_APP = "app/getDefaultApp"; + /*下载接口 根据包名匹配 请求后更新下载次数*/ + public static final String SEND_DOWNLOAD_TIMES = "count/index"; /*获取设备锁定状态*/ public static final String GET_DEVICES_LOCKED = "lock/index"; + /*获取批次*/ + public static final String GET_BATCH = "log/getBatch"; + /*上传锁屏状态*/ + public static final String GET_LOCK_STATE = "Application/getLockState"; + /*APPID管控*/ + public static final String GET_APPID = "application/index"; + /*获取系统设置*/ + public static final String GET_FIRMWARE = "firmware/get"; + /*上传安装的应用信息*/ + public static final String UPLOAD_APPINFO = "log/index"; /*发送设备信息*/ public static final String SEND_DEVICES = "Mac/getMac"; /*发送app使用情况*/ @@ -67,8 +78,7 @@ public class UrlAddress { public static final String GET_ALL_APP = "recommend/index"; /*获取电子书包激活码*/ public static final String GET_EBAG_CODE = "And/getEbagCode"; - /*获取系统默认程序*/ - public static final String GET_DEFAULT_APP = "app/getDefaultApp"; + /*恢复出厂设置次数*/ public static final String SEND_RESTORE_TIMES = "And/restore"; /*获取远程关机时间*/ diff --git a/app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java b/app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java index 4957838..30d0529 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java @@ -1,9 +1,9 @@ package com.aoleyun.sn.network.api; +import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; import io.reactivex.rxjava3.core.Observable; -import okhttp3.ResponseBody; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; @@ -11,7 +11,7 @@ import retrofit2.http.POST; public interface AppLimitApi { @FormUrlEncoded @POST(UrlAddress.SET_WHITE_PACKAGE_LIST) - Observable getAppLimitApi( + Observable getAppLimitApi( @Field("key") String key, @Field("sn") String sn ); diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/AppinsideWebApi.java b/app/src/main/java/com/aoleyun/sn/network/api/AppinsideWebApi.java similarity index 92% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/AppinsideWebApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/AppinsideWebApi.java index 22bb826..3f0d556 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/AppinsideWebApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/AppinsideWebApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.Appground; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserBookmarksApi.java b/app/src/main/java/com/aoleyun/sn/network/api/BrowserBookmarksApi.java similarity index 92% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserBookmarksApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/BrowserBookmarksApi.java index 20b387f..aa66870 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserBookmarksApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/BrowserBookmarksApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.BrowserBookmarks; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserListApi.java b/app/src/main/java/com/aoleyun/sn/network/api/BrowserListApi.java similarity index 92% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserListApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/BrowserListApi.java index 72908ba..6205f58 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserListApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/BrowserListApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.BrowserData; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckTestUpdateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/CheckTestUpdateApi.java similarity index 91% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckTestUpdateApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/CheckTestUpdateApi.java index 6f61e72..9c0507f 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckTestUpdateApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/CheckTestUpdateApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.ForceDownloadData; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckUpdateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/CheckUpdateApi.java similarity index 91% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckUpdateApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/CheckUpdateApi.java index b5095a1..1586b97 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckUpdateApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/CheckUpdateApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CustomROMAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/CustomROMAppApi.java similarity index 91% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/CustomROMAppApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/CustomROMAppApi.java index ea1a016..d8d793f 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CustomROMAppApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/CustomROMAppApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DefaultAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/DefaultAppApi.java similarity index 90% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/DefaultAppApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/DefaultAppApi.java index c6dcd2f..b53069d 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DefaultAppApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/DefaultAppApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.DefaultApp; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java b/app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java index 4ac6b1d..0dcb9ad 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java @@ -1,5 +1,7 @@ package com.aoleyun.sn.network.api; +import com.aoleyun.sn.network.UrlAddress; + import io.reactivex.rxjava3.core.Observable; import okhttp3.ResponseBody; import retrofit2.http.Field; @@ -8,7 +10,7 @@ import retrofit2.http.POST; public interface DeselectIDApi { @FormUrlEncoded - @POST("application/index") + @POST(UrlAddress.GET_APPID) Observable getDeselectIDApi( @Field("key") String key, @Field("sn") String sn diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DesktopIconApi.java b/app/src/main/java/com/aoleyun/sn/network/api/DesktopIconApi.java similarity index 91% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/DesktopIconApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/DesktopIconApi.java index 4c14fef..44ea579 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DesktopIconApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/DesktopIconApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DevicesLockedStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/DevicesLockedStateApi.java similarity index 90% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/DevicesLockedStateApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/DevicesLockedStateApi.java index 9ccf53e..954f915 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DevicesLockedStateApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/DevicesLockedStateApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAllAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetAllAppApi.java similarity index 92% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAllAppApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetAllAppApi.java index ee14628..1a17162 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAllAppApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetAllAppApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.AppListInfo; import com.aoleyun.sn.bean.BaseResponse; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAppLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetAppLogApi.java similarity index 91% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAppLogApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetAppLogApi.java index 0e79ae0..40903ca 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAppLogApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetAppLogApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetBatchApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetBatchApi.java similarity index 73% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetBatchApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetBatchApi.java index b382f0a..77dcedb 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetBatchApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetBatchApi.java @@ -1,4 +1,6 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; + +import com.aoleyun.sn.network.UrlAddress; import io.reactivex.rxjava3.core.Observable; import okhttp3.ResponseBody; @@ -8,7 +10,7 @@ import retrofit2.http.POST; public interface GetBatchApi { @FormUrlEncoded - @POST("log/getBatch") + @POST(UrlAddress.GET_BATCH) Observable getBatch( @Field("sn") String sn ); diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDesktopApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetDesktopApi.java similarity index 88% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDesktopApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetDesktopApi.java index 08f93af..c2600ae 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDesktopApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetDesktopApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDeveloperApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetDeveloperApi.java similarity index 89% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDeveloperApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetDeveloperApi.java index 9b947b8..e4678ca 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDeveloperApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetDeveloperApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetEBagCodeApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetEBagCodeApi.java similarity index 91% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetEBagCodeApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetEBagCodeApi.java index 6e4f020..1b2b3d6 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetEBagCodeApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetEBagCodeApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetJpushTagsApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetJpushTagsApi.java similarity index 88% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetJpushTagsApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetJpushTagsApi.java index 85551ff..e26019c 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetJpushTagsApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetJpushTagsApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetLockStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetLockStateApi.java similarity index 77% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetLockStateApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetLockStateApi.java index b607c3c..100606e 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetLockStateApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetLockStateApi.java @@ -1,4 +1,6 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; + +import com.aoleyun.sn.network.UrlAddress; import io.reactivex.rxjava3.core.Observable; import okhttp3.ResponseBody; @@ -8,7 +10,7 @@ import retrofit2.http.POST; public interface GetLockStateApi { @FormUrlEncoded - @POST("Application/getLockState") + @POST(UrlAddress.GET_LOCK_STATE) Observable getLockState( @Field("sn") String sn, @Field("status") String status, diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPoweroffApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetPoweroffApi.java similarity index 92% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPoweroffApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetPoweroffApi.java index 59542a1..c5fab30 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPoweroffApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetPoweroffApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.PoweroffBean; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPublicIPApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetPublicIPApi.java similarity index 90% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPublicIPApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetPublicIPApi.java index 531d37c..61ff874 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPublicIPApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetPublicIPApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetSnRunLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetSnRunLogApi.java similarity index 90% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetSnRunLogApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetSnRunLogApi.java index f1f2066..d480b6e 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetSnRunLogApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetSnRunLogApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.SnRunLog; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadIsLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetUploadIsLogApi.java similarity index 93% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadIsLogApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetUploadIsLogApi.java index 2272121..0512643 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadIsLogApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetUploadIsLogApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.SnRunLog; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetUploadLogApi.java similarity index 93% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadLogApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetUploadLogApi.java index c53c768..b3d5a40 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadLogApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetUploadLogApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.SnRunLog; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetWiFiAliasApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetWiFiAliasApi.java similarity index 93% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/GetWiFiAliasApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/GetWiFiAliasApi.java index 6a14f6f..cad17a5 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetWiFiAliasApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/GetWiFiAliasApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/LogoImgApi.java b/app/src/main/java/com/aoleyun/sn/network/api/LogoImgApi.java similarity index 89% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/LogoImgApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/LogoImgApi.java index 94d2435..70ffaaa 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/LogoImgApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/LogoImgApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.LogoImg; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/MACAddressApi.java b/app/src/main/java/com/aoleyun/sn/network/api/MACAddressApi.java similarity index 96% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/MACAddressApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/MACAddressApi.java index b09988d..05dafe7 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/MACAddressApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/MACAddressApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/NewAppinsideWebApi.java b/app/src/main/java/com/aoleyun/sn/network/api/NewAppinsideWebApi.java similarity index 91% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/NewAppinsideWebApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/NewAppinsideWebApi.java index 721d309..ff62e7a 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/NewAppinsideWebApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/NewAppinsideWebApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/ScreenLockStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/ScreenLockStateApi.java similarity index 89% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/ScreenLockStateApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/ScreenLockStateApi.java index 9926e43..89eb971 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/ScreenLockStateApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/ScreenLockStateApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/SendDownloadInfoApi.java similarity index 93% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadInfoApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/SendDownloadInfoApi.java index 9868ab1..f3f5660 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadInfoApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/SendDownloadInfoApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadTimesApi.java b/app/src/main/java/com/aoleyun/sn/network/api/SendDownloadTimesApi.java similarity index 92% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadTimesApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/SendDownloadTimesApi.java index 0fb9362..6ed6043 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadTimesApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/SendDownloadTimesApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendRestoreTimesApi.java b/app/src/main/java/com/aoleyun/sn/network/api/SendRestoreTimesApi.java similarity index 92% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/SendRestoreTimesApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/SendRestoreTimesApi.java index 81b06b3..81fda6d 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendRestoreTimesApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/SendRestoreTimesApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenStatusApi.java b/app/src/main/java/com/aoleyun/sn/network/api/SendScreenStatusApi.java similarity index 91% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenStatusApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/SendScreenStatusApi.java index 28144c5..d0434a1 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenStatusApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/SendScreenStatusApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.BuildConfig; import com.aoleyun.sn.bean.BaseResponse; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenshotApi.java b/app/src/main/java/com/aoleyun/sn/network/api/SendScreenshotApi.java similarity index 92% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenshotApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/SendScreenshotApi.java index 389ffb8..3f7e836 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenshotApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/SendScreenshotApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SnTimeControlApi.java b/app/src/main/java/com/aoleyun/sn/network/api/SnTimeControlApi.java similarity index 89% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/SnTimeControlApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/SnTimeControlApi.java index dadf226..4bb4aa7 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SnTimeControlApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/SnTimeControlApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/StudentsInfosApi.java b/app/src/main/java/com/aoleyun/sn/network/api/StudentsInfosApi.java similarity index 91% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/StudentsInfosApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/StudentsInfosApi.java index 0609b44..eb415e3 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/StudentsInfosApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/StudentsInfosApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.StudentsInfo; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java b/app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java index 7945200..7275a53 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java @@ -1,15 +1,16 @@ package com.aoleyun.sn.network.api; +import com.aoleyun.sn.network.UrlAddress; + import io.reactivex.rxjava3.core.Observable; import okhttp3.ResponseBody; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; - public interface SystemSettingApi { @FormUrlEncoded - @POST("firmware/get") + @POST(UrlAddress.GET_FIRMWARE) Observable getSystemSettingApi( @Field("key") String key, @Field("sn") String sn diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/TopAppControlApi.java b/app/src/main/java/com/aoleyun/sn/network/api/TopAppControlApi.java similarity index 89% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/TopAppControlApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/TopAppControlApi.java index d13c395..01f19d7 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/TopAppControlApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/TopAppControlApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/UpdateDeviceInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/UpdateDeviceInfoApi.java similarity index 93% rename from app/src/main/java/com/aoleyun/sn/network/api/newapi/UpdateDeviceInfoApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/UpdateDeviceInfoApi.java index af11853..f3385c1 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/UpdateDeviceInfoApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/UpdateDeviceInfoApi.java @@ -1,4 +1,4 @@ -package com.aoleyun.sn.network.api.newapi; +package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.network.UrlAddress; diff --git a/app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java index ca02502..44923cd 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java @@ -1,6 +1,7 @@ package com.aoleyun.sn.network.api; import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.UrlAddress; import io.reactivex.rxjava3.core.Observable; import retrofit2.http.Field; @@ -9,7 +10,7 @@ import retrofit2.http.POST; public interface UploadAppInfoApi { @FormUrlEncoded - @POST("log/index") + @POST(UrlAddress.UPLOAD_APPINFO) Observable getUploadAppInfoApi( @Field("key") String key, @Field("sn") String sn, diff --git a/app/src/main/java/com/aoleyun/sn/service/GuardService.java b/app/src/main/java/com/aoleyun/sn/service/GuardService.java index f3db556..b93d38f 100644 --- a/app/src/main/java/com/aoleyun/sn/service/GuardService.java +++ b/app/src/main/java/com/aoleyun/sn/service/GuardService.java @@ -28,10 +28,8 @@ import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.PackageNames; import com.aoleyun.sn.manager.AmapManager; -import com.aoleyun.sn.network.HTTPInterface; import com.aoleyun.sn.network.NetInterfaceManager; -import com.aoleyun.sn.network.api.newapi.GetLockStateApi; -import com.aoleyun.sn.network.api.newapi.SendScreenStatusApi; +import com.aoleyun.sn.network.api.SendScreenStatusApi; import com.aoleyun.sn.receiver.BootReceiver; import com.aoleyun.sn.receiver.NewAppReceiver; import com.aoleyun.sn.rlog.LogDBManager; @@ -339,6 +337,11 @@ public class GuardService extends Service { }); } + /** + * @param status + * @param time + * 和锁屏状态无关,记录设备使用时长的 + */ private void getLockState(String status, String time) { if (JGYUtils.isOfficialVersion()) { return; @@ -558,6 +561,7 @@ public class GuardService extends Service { @Download.onTaskFail void taskFail(DownloadTask task, Exception e) { try { + Aria.download(this).resumeAllTask(); final String filepath = task.getFilePath(); final String packageName = task.getExtendField(); JSONObject jsonObject = JSON.parseObject(task.getExtendField()); 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 index 3023154..8d81931 100644 --- a/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java +++ b/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java @@ -1,174 +1,169 @@ package com.aoleyun.sn.service.main; -import android.view.View; - import com.aoleyun.sn.base.BasePresenter; import com.aoleyun.sn.base.BaseView; -import com.google.gson.JsonObject; public class MainSContact { public interface Presenter extends BasePresenter { - //获取学生信息 - void getStudesInfo(); - //获取设备锁定状态 + + /*分支1*/ + /*获取设备锁定状态*/ void getLockedState(String key); - //是否第一次联网 - void getFirstConnect(); - //关闭所有功能 - void setDisableSetting(); - //发送mac地址 - void sendMACAddress(); - //更新设备信息 - void updateDeviceInfo(); - //获取时间管控 - void getSnTimeControl(); - //获取电子书包激活码 - void getEBagCode(); - //设置极光推送别名 - void setJpushAlias(); - //设置极光推送平台标签 - void setJpushPlatformTags(int platform); - //获取应用市场更新 - void checkStoreUpdate(); - //获取设备信息更新 - void checkInfoUpdate(); - //获取桌面升级 - void checkDesktopUpdate(); - //获取通知升级 - void checkNotifyUpdate(); - //获取浏览器升级 - void checkBrowserUpdate(); - //手动获取设备信息更新 - void buttonCheckUpdate(View view); - //获取测试应用更新 - void checkTestUpdate(); - //开始 - //设置极光推送标签 + /*设置极光推送标签*/ void setPushTags(); - //获取开发者选项 - void getDeveloper(); - //获取设备后台设置 - void getSystemSettingbegin(); - //获取可被写入的安装包名 - void getAppLimit(); - //获取设备批次 - void getDeviceBatch(String packageList); - //获取强制下载apk + /*获取设备批次*/ + void getDeviceBatch(); + + + /*分支2 基本信息*/ + /*是否第一次联网*/ + void getFirstConnect(); + /*获取学生信息*/ + void getStudesInfo(); + + /*分支3 上传信息*/ + /*发送mac地址*/ + void sendMACAddress(); + /*更新设备信息*/ + void updateDeviceInfo(); + /*上传安装的应用列表*/ + void sendInstalled(); + + /*分支4 获取应用*/ + /*获取设备信息更新*/ + void checkInfoUpdate(); + /*获取应用市场更新*/ + void checkStoreUpdate(); + /*获取桌面升级*/ + void checkDesktopUpdate(); + /*获取通知升级*/ + void checkNotifyUpdate(); + /*获取浏览器升级*/ + void checkBrowserUpdate(); + /*获取测试应用更新*/ + void checkTestUpdate(); + /*获取强制下载apk*/ void getForceDownload(); - //获取浏览器上网管控设置 - void getBrowserList(); - //获取浏览器书签设置管控 - void getBrowserBookmarks(String whitelist); - //设置白名单的url - void getBrowserWhiteList(); - //获取应用图标桌面可见性管控 - void getDesktopIcon(); - //获取应用自启升级和网络权限管理 - void getAppAutoStartUpdateAndNet(); - //获取第三方应用子页面ID连网限制 - void getAppIDControl(); - //获取第三方应用内部网页跳转屏蔽 - void setAppinsideWeb(); - //获取系统其他管控设置 - void setSystemSetting(); - //获取系统默认程序设置 - void getDefaultApp(); - //获取自定义版本内置app - void getROMApp(); - //设置开机动画 - void setLogoImg(); - //应用霸屏 - void setTopApp(); - //获取桌面 + /*获取桌面*/ void getDefaultDesktop(); - //获取关机时间 + /*设置开机动画*/ + void setLogoImg(); + + /*分支5 获取管控*/ + /*获取开发者选项*/ + void getDeveloper(); + /*获取设备后台设置*/ + void getSystemSettingBegin(); + /*获取可被写入的安装包名*/ + void getAppLimit(); + /*获取自定义内置app*/ + void getROMApp(); + /*获取浏览器书签设置管控*/ + void getBrowserBookmarks(); + /*设置白名单的url 单独*/ + void getBrowserWhiteList(); + /*获取应用图标桌面可见性管控*/ + void getDesktopIcon(); + /*获取应用自启升级和网络权限管理*/ + void getAppAutoStartUpdateAndNet(); + /*获取第三方应用子页面ID连网限制*/ + void getAppIDControl(); + /*获取第三方应用内部网页跳转屏蔽*/ + void setAppinsideWeb(); + /*获取系统其他管控设置*/ + void setSystemSetting(); + /*获取系统默认程序设置*/ + void getDefaultApp(); + /*应用霸屏*/ + void setTopApp(); + /*获取关机时间*/ void getPoweroffTime(); - //获取wifi密码 + /*获取时间管控*/ + void getSnTimeControl(); + /*获取电子书包激活码*/ + void getEBagCode(); + /*获取wifi密码*/ void getWiFiPasswd(); - /* - * MainService - * */ - //获取屏幕锁状态 + /*获取屏幕锁状态*/ void getScreenLockState(); } public interface MainView extends BaseView { - //获取设备锁定状态 - void setLockedState(boolean loocked); - //是否第一次联网 - void setFirstConnect(boolean state); - //发送mac地址 - void sendMACFinish(); - //更新设备信息 - void updateDeviceInfoFinish(); - //获取时间管控 - void getSnTimeControlFinish(); - //获取电子书包激活码 - void getEBagCodeFinish(); - //设置极光推送别名 - void setAliasFinish(); - //设置极光推送平台标签 - void setJpushPlatformTagsFinish(); - //获取应用市场更新 - void checkStoreUpdateFinish(); - //获取设备信息更新 - void checkInfoUpdateFinish(); - //获取桌面升级 - void checkDesktopUpdateFinish(); - //获取通知升级 - void checkNotifyUpdateFinish(); - //获取浏览器升级 - void checkBrowserUpdateFinish(); - //手动获取设备信息更新 - void buttonCheckUpdateFinish(boolean update, JsonObject jsonObject); - //获取测试应用更新 - void checkTestUpdateFinish(); - //开始 - //设置极光推送标签 - void setTagsFinish(boolean noTag); - //获取开发者选项结束 - void getDeveloperFinish(); - //设置设备后台设置 - void getSystemSettingbegin(); - //获取可被写入的安装包名结束 - void getAppLimitFinish(String packageList); - //获取设备批次结束 - void getDeviceBatchFinish(); - //获取强制下载apk结束 - void getForceDownloadFinish(); - //获取浏览器上网管控设置结束 - void getBrowserListFinish(String whitelist); - //获取浏览器书签设置管控结束 - void getBrowserBookmarksFinish(); - //获取应用图标桌面可见性管控结束 - void getDesktopIconFinish(); - //获取应用自启升级和网络权限管理结束 - void getAppAutoStartUpdateAndNetFinish(); - //获取第三方应用子页面ID连网限制结束 - void getAppIDControlFinish(); - //获取第三方应用内部网页跳转屏蔽结束 - void setAppinsideWebFinish(); - //获取系统其他管控设置结束 - void setSystemSettingFinish(); - //获取系统默认程序设置 - void setDefaultAppFinish(); - //获取自定义版本内置app - void getROMAppFinish(); - //设置开机动画 - void setLogoImgFinish(); - //获取应用霸屏结束 - void setTopAppFinish(); - //获取桌面结束 + /*获取设备锁定状态*/ + void setLockedState(boolean loocked); + /*设置极光推送标签*/ + void setTagsFinish(boolean noTag); + /*获取设备批次结束*/ + void getDeviceBatchFinish(); + + + /*是否第一次联网*/ + void setFirstConnect(boolean state); + /*获取学生信息*/ + void setStudesInfo(); + + /*发送mac地址*/ + void sendMACFinish(); + /*更新设备信息*/ + void updateDeviceInfoFinish(); + /*上传安装的应用列表*/ + void sendInstalledFinish(); + + /*获取设备信息更新*/ + void checkInfoUpdateFinish(); + /*获取应用市场更新*/ + void checkStoreUpdateFinish(); + /*获取桌面升级*/ + void checkDesktopUpdateFinish(); + /*获取通知升级*/ + void checkNotifyUpdateFinish(); + /*获取浏览器升级*/ + void checkBrowserUpdateFinish(); + /*获取测试应用更新*/ + void checkTestUpdateFinish(); + /*获取强制下载apk结束*/ + void getForceDownloadFinish(); + /*获取桌面结束*/ void getDefaultDesktopFinish(); - //获取关机时间 + /*设置开机动画*/ + void setLogoImgFinish(); + + /*获取开发者选项结束*/ + void getDeveloperFinish(); + /*设置设备后台设置*/ + void setSystemSetting(); + /*获取可被写入的安装包名结束*/ + void getAppLimitFinish(); + /*获取自定义内置app*/ + void getROMAppFinish(); + /*获取浏览器书签设置管控结束*/ + void getBrowserBookmarksFinish(); + /*设置白名单的url 单独*/ + void setBrowserWhiteList(); + /*获取应用图标桌面可见性管控结束*/ + void getDesktopIconFinish(); + /*获取应用自启升级和网络权限管理结束*/ + void getAppAutoStartUpdateAndNetFinish(); + /*获取第三方应用子页面ID连网限制结束*/ + void getAppIDControlFinish(); + /*获取第三方应用内部网页跳转屏蔽结束*/ + void setAppinsideWebFinish(); + /*获取系统其他管控设置结束*/ + void setSystemSettingFinish(); + /*获取系统默认程序设置*/ + void setDefaultAppFinish(); + /*获取应用霸屏结束*/ + void setTopAppFinish(); + /*获取关机时间*/ void setPoweroffTime(); - //获取wifi密码结束 + /*获取时间管控*/ + void getSnTimeControlFinish(); + /*获取电子书包激活码*/ + void getEBagCodeFinish(); + /*获取wifi密码结束*/ void setWiFiPasswd(); - /* - * MainService - * */ - //设置屏幕锁状态结束 + /*设置屏幕锁状态结束*/ void setScreenLockStateFinish(boolean locked, String tips); } } diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java b/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java index d416b29..c3170ee 100644 --- a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java +++ b/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java @@ -1,14 +1,11 @@ package com.aoleyun.sn.service.main; -import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; -import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.provider.Settings; import android.text.TextUtils; import android.util.Log; -import android.view.View; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -28,12 +25,10 @@ import com.aoleyun.sn.comm.JGYActions; import com.aoleyun.sn.comm.PackageNames; import com.aoleyun.sn.network.HTTPInterface; import com.aoleyun.sn.network.NetInterfaceManager; -import com.aoleyun.sn.utils.AES.CXAESUtil; import com.aoleyun.sn.utils.ApkUtils; import com.aoleyun.sn.utils.ForegroundAppUtil; import com.aoleyun.sn.utils.JGYUtils; import com.aoleyun.sn.utils.SPUtils; -import com.aoleyun.sn.utils.SysSettingUtils; import com.aoleyun.sn.utils.TimeUtils; import com.aoleyun.sn.utils.ToastUtil; import com.aoleyun.sn.utils.URLUtils; @@ -70,7 +65,7 @@ import okhttp3.ResponseBody; //import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.sequence; /** - * MainActivity和MainService 的 Presenter + * MainService 的 Presenter * * @author jgy02 */ @@ -80,6 +75,10 @@ public class MainSPresenter implements MainSContact.Presenter { private Context mContext; private MMKV mMMKV = MMKV.defaultMMKV(); + private static final long ONE_MINUTE_TIME = 60 * 1000; + private static final long TEN_MINUTE_TIME = ONE_MINUTE_TIME * 10; + private static final long HALF_HOUR_TIME = TEN_MINUTE_TIME * 3; + private static final long ONE_HOUR_TIME = HALF_HOUR_TIME * 2; public static final String GET_SETTING_FINISH_TIME = "GET_SETTING_FINISH_TIME"; @@ -118,79 +117,11 @@ public class MainSPresenter implements MainSContact.Presenter { } /** - * 通过sn获取用户信息 + * 1 */ - @Override - public void getStudesInfo() { - NetInterfaceManager.getInstance() - .getStudesInfoObservable() - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e(TAG + ":" + "getStudesInfo", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse studentsInfoBaseResponse) { - requestSucceeded = true; - Log.e(TAG + ":" + "getStudesInfo", "onNext: " + studentsInfoBaseResponse.data); - if (studentsInfoBaseResponse.code == OK) { - String sno = studentsInfoBaseResponse.data.getSno(); - String realname = studentsInfoBaseResponse.data.getRealname(); - String classes = studentsInfoBaseResponse.data.getClasses(); - String batch = studentsInfoBaseResponse.data.getBatch(); - String head_img = studentsInfoBaseResponse.data.getHead_img(); - if (TextUtils.isEmpty(sno)) { - SPUtils.put(mContext, CommonConfig.STUDENT_ID, DEFAULT_INFO); - } else { - SPUtils.put(mContext, CommonConfig.STUDENT_ID, sno); - } - if (TextUtils.isEmpty(realname)) { - SPUtils.put(mContext, CommonConfig.REALNAME, DEFAULT_INFO); - } else { - SPUtils.put(mContext, CommonConfig.REALNAME, realname); - } - if (TextUtils.isEmpty(classes)) { - SPUtils.put(mContext, CommonConfig.CLASS_NAME, DEFAULT_INFO); - } else { - SPUtils.put(mContext, CommonConfig.CLASS_NAME, classes); - } - if (TextUtils.isEmpty(batch)) { - SPUtils.put(mContext, CommonConfig.BATCH_NAME, DEFAULT_INFO); - } else { - SPUtils.put(mContext, CommonConfig.BATCH_NAME, batch); - } - if (TextUtils.isEmpty(head_img)) { - SPUtils.put(mContext, CommonConfig.HEAD_IMG, ""); - } else { - SPUtils.put(mContext, CommonConfig.HEAD_IMG, head_img); - } - - SPUtils.put(mContext, CommonConfig.ADMIN_ID, studentsInfoBaseResponse.data.getAdmin_id()); - } else { - /* - * 没有获取到的时候显示缓存 - * */ - Log.e(TAG + ":" + "getStudesInfo", "onNext: " + studentsInfoBaseResponse.toString()); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Log.e(TAG + ":" + "getStudesInfo", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e(TAG + ":" + "getStudesInfo", "onComplete: "); - } - }); - } - @Override public void getLockedState(String key) { + Log.e(TAG, "getLockedState: " + key); NetInterfaceManager.getInstance() .getDevicesLockedStateObservable() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) @@ -245,205 +176,6 @@ public class MainSPresenter implements MainSContact.Presenter { }); } - /** - * 第一次连接 - */ - @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); - } - - @Override - public void setDisableSetting() { - Log.e(TAG, "setDisableSetting: "); - //设置系统管控 - SysSettingUtils.setDisableSetting(mContext); - } - - - private long lastSendMACTime; - - @Override - public void sendMACAddress() { - if (System.currentTimeMillis() - lastSendMACTime < 60 * 60 * 1000) { - mView.sendMACFinish(); - return; - } - lastSendMACTime = System.currentTimeMillis(); - String macJson = (String) SPUtils.get(mContext, "macJson", ""); - String jsonString = JGYUtils.getInstance().getMacJson(); -// Log.e(TAG, "sendMACAddress: macJson = " + macJson); -// Log.e(TAG, "sendMACAddress: jsonString = " + jsonString); - if (macJson.equals(jsonString)) { - mView.sendMACFinish(); - return; - } - NetInterfaceManager.getInstance() - .sendMACAddressObservable() - .observeOn(Schedulers.io()) - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e(TAG + ":" + "sendMACAddress", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse response) { - requestSucceeded = true; - if (response.code == OK) { - Log.e(TAG + ":" + "sendMACAddress", response.msg); - SPUtils.put(mContext, "macJson", JGYUtils.getInstance().getMacJson()); - } else { - Log.e(TAG + ":" + "sendMACAddress", response.toString()); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Log.e(TAG + ":" + "sendMACAddress", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e(TAG + ":" + "sendMACAddress", "onComplete: "); - lastSendMACTime = System.currentTimeMillis(); - mView.sendMACFinish(); - } - }); - } - - @Override - public void updateDeviceInfo() { - if (JGYUtils.isOfficialVersion()) { - mView.updateDeviceInfoFinish(); - return; - } - NetInterfaceManager.getInstance().updateDeviceInfo(new NetInterfaceManager.ObserverCallback() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onNext(BaseResponse response) { - requestSucceeded = true; - } - - @Override - public void onError(Throwable e) { - - } - - @Override - public void onComplete() { - mView.updateDeviceInfoFinish(); - } - }); - } - - @Override - public void getSnTimeControl() { - if (JGYUtils.isOfficialVersion()) { - mView.getSnTimeControlFinish(); - return; - } - NetInterfaceManager.getInstance() - .getSnTimeObservable() - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e(TAG + ":" + "getSnTimeControl", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse response) { - requestSucceeded = true; - Log.e(TAG + ":" + "getSnTimeControl", "onNext: "); - int code = response.code; - if (code == OK) { - JSONObject jsonObject = (JSONObject) JSON.toJSON(response.data); - String start_time = jsonObject.getString("start_time"); - String end_time = jsonObject.getString("end_time"); - TimeUtils.ContralTime c = TimeUtils.String2ContralTime(mContext, start_time + "-" + end_time); - if (null != c) { - Log.e(TAG + ":" + "getTimeControl", "OK:" + c.toString()); - } - } else { - TimeUtils.setEmpty(mContext); - TimeUtils.ContralTime c = TimeUtils.getDefaltContralTime(mContext); - if (null != c) { - Log.e(TAG + ":" + "getTimeControl", c.toString()); - } - } - } - - @Override - public void onError(@NonNull Throwable e) { - Log.e(TAG + ":" + "getSnTimeControl", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e(TAG + ":" + "getSnTimeControl", "onComplete: "); - Intent intent = new Intent(); - intent.setAction(MainService.TimeChangedReceiver.ACTION_UPDATE); - mContext.sendBroadcast(intent); - mView.getSnTimeControlFinish(); - } - }); - - } - - @Override - public void getEBagCode() { - NetInterfaceManager.getInstance() - .getEBagCodeControl() - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { - Log.e(TAG + ":" + "getEBagCode", "onSubscribe: "); - } - - @Override - public void onNext(BaseResponse baseResponse) { - requestSucceeded = true; - Log.e(TAG + ":" + "getEBagCode", "onNext: " + baseResponse); - int code = baseResponse.code; - if (code == OK) { - JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(baseResponse.data)).getAsJsonObject(); - String ebagCode = jsonObject.get("ebagCode").getAsString(); - SPUtils.put(mContext, "ebagCode", ebagCode); - } else { - Log.e(TAG + ":" + "getEBagCode", "onNext: " + baseResponse.data); - } - } - - @Override - public void onError(Throwable e) { - Log.e(TAG + ":" + "getEBagCode", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e(TAG + ":" + "getEBagCode", "onComplete: "); - mView.getEBagCodeFinish(); - } - }); - } - - @Override - public void setJpushAlias() { - mView.setAliasFinish(); - } - @Override public void setPushTags() { NetInterfaceManager.getInstance() @@ -514,57 +246,217 @@ public class MainSPresenter implements MainSContact.Presenter { } @Override - public void setJpushPlatformTags(int platform) { - mView.setJpushPlatformTagsFinish(); + public void getDeviceBatch() { + int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0); + Log.e(TAG, "getDeviceBatch: " + locked); + if (locked == 0) { + JGYUtils.getInstance().deleteOtherApp(); + mView.getDeviceBatchFinish(); + } } + /** + * 第一次连接 + */ @Override - public void checkStoreUpdate() { - checkUpdateStore(); + 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); } - private void checkUpdateStore() { + /** + * 2 + */ + /** + * 通过sn获取用户信息 + */ + @Override + public void getStudesInfo() { NetInterfaceManager.getInstance() - .getUpdateApi() - .getUpdate(PackageNames.APPSTORE, - JGYUtils.getInstance().checkAppPlatform()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) + .getStudesInfoObservable() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer() { + .subscribe(new Observer>() { @Override public void onSubscribe(@NonNull Disposable d) { - Log.e(TAG + ":" + "checkUpdateStore", "onSubscribe: "); + Log.e(TAG + ":" + "getStudesInfo", "onSubscribe: "); } @Override - public void onNext(@NonNull BaseResponse response) { + public void onNext(@NonNull BaseResponse studentsInfoBaseResponse) { requestSucceeded = true; - Log.e(TAG + ":" + "checkUpdateStore", "onNext: " + response.data); - if (response.code == OK) { - JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject(); - JGYUtils.getInstance().installAPK(jsonObject); - } else { - Log.e(TAG + ":" + "checkUpdateStore", "onNext: " + response); - } - Log.e(TAG + ":" + "checkUpdateStore", "onNext: "); + Log.e(TAG + ":" + "getStudesInfo", "onNext: " + studentsInfoBaseResponse.data); + if (studentsInfoBaseResponse.code == OK) { + String sno = studentsInfoBaseResponse.data.getSno(); + String realname = studentsInfoBaseResponse.data.getRealname(); + String classes = studentsInfoBaseResponse.data.getClasses(); + String batch = studentsInfoBaseResponse.data.getBatch(); + String head_img = studentsInfoBaseResponse.data.getHead_img(); + if (TextUtils.isEmpty(sno)) { + SPUtils.put(mContext, CommonConfig.STUDENT_ID, DEFAULT_INFO); + } else { + SPUtils.put(mContext, CommonConfig.STUDENT_ID, sno); + } + if (TextUtils.isEmpty(realname)) { + SPUtils.put(mContext, CommonConfig.REALNAME, DEFAULT_INFO); + } else { + SPUtils.put(mContext, CommonConfig.REALNAME, realname); + } + if (TextUtils.isEmpty(classes)) { + SPUtils.put(mContext, CommonConfig.CLASS_NAME, DEFAULT_INFO); + } else { + SPUtils.put(mContext, CommonConfig.CLASS_NAME, classes); + } + if (TextUtils.isEmpty(batch)) { + SPUtils.put(mContext, CommonConfig.BATCH_NAME, DEFAULT_INFO); + } else { + SPUtils.put(mContext, CommonConfig.BATCH_NAME, batch); + } + if (TextUtils.isEmpty(head_img)) { + SPUtils.put(mContext, CommonConfig.HEAD_IMG, ""); + } else { + SPUtils.put(mContext, CommonConfig.HEAD_IMG, head_img); + } + SPUtils.put(mContext, CommonConfig.ADMIN_ID, studentsInfoBaseResponse.data.getAdmin_id()); + } else { + Log.e(TAG + ":" + "getStudesInfo", "onNext: " + studentsInfoBaseResponse.toString()); + } } @Override public void onError(@NonNull Throwable e) { - Log.e(TAG + ":" + "checkUpdateStore", "onError: " + e.getMessage()); + Log.e(TAG + ":" + "getStudesInfo", "onError: " + e.getMessage()); onComplete(); } @Override public void onComplete() { - Log.e(TAG + ":" + "checkUpdateStore", "onComplete: "); - mView.checkStoreUpdateFinish(); + Log.e(TAG + ":" + "getStudesInfo", "onComplete: "); + mView.setStudesInfo(); } }); } + + /** + * 3 + */ + private static final String sendMACAddress_TIME = "sendMACAddress_key"; + + @Override + public void sendMACAddress() { + long lastTime = mMMKV.decodeLong(sendMACAddress_TIME, 0); + if (System.currentTimeMillis() - ONE_HOUR_TIME < lastTime) { + mView.sendMACFinish(); + return; + } + String macJson = (String) SPUtils.get(mContext, "macJson", ""); + String jsonString = JGYUtils.getInstance().getMacJson(); +// Log.e(TAG, "sendMACAddress: macJson = " + macJson); +// Log.e(TAG, "sendMACAddress: jsonString = " + jsonString); + if (macJson.equals(jsonString)) { + mView.sendMACFinish(); + return; + } + NetInterfaceManager.getInstance() + .sendMACAddressObservable() + .observeOn(Schedulers.io()) + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e(TAG + ":" + "sendMACAddress", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse response) { + mMMKV.encode(sendMACAddress_TIME, System.currentTimeMillis()); + requestSucceeded = true; + if (response.code == OK) { + Log.e(TAG + ":" + "sendMACAddress", response.msg); + SPUtils.put(mContext, "macJson", JGYUtils.getInstance().getMacJson()); + } else { + Log.e(TAG + ":" + "sendMACAddress", response.toString()); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e(TAG + ":" + "sendMACAddress", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e(TAG + ":" + "sendMACAddress", "onComplete: "); + mView.sendMACFinish(); + } + }); + } + + @Override + public void updateDeviceInfo() { + if (JGYUtils.isOfficialVersion()) { + mView.updateDeviceInfoFinish(); + return; + } + NetInterfaceManager.getInstance().updateDeviceInfo(new NetInterfaceManager.ObserverCallback() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(BaseResponse response) { + requestSucceeded = true; + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + mView.updateDeviceInfoFinish(); + } + }); + } + + /** + * 上传安装的应用列表 + */ + @Override + public void sendInstalled() { + NetInterfaceManager.getInstance().sendInstalledAppInfo(new NetInterfaceManager.ObserverCallback() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(BaseResponse response) { + + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + mView.sendInstalledFinish(); + } + }); + } + + + /** + * 4 + */ + @Override public void checkInfoUpdate() { NetInterfaceManager.getInstance() @@ -606,6 +498,49 @@ public class MainSPresenter implements MainSContact.Presenter { }); } + @Override + public void checkStoreUpdate() { + NetInterfaceManager.getInstance() + .getUpdateApi() + .getUpdate(PackageNames.APPSTORE, + JGYUtils.getInstance().checkAppPlatform()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e(TAG + ":" + "checkUpdateStore", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse response) { + requestSucceeded = true; + Log.e(TAG + ":" + "checkUpdateStore", "onNext: " + response.data); + if (response.code == OK) { + JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject(); + JGYUtils.getInstance().installAPK(jsonObject); + } else { + Log.e(TAG + ":" + "checkUpdateStore", "onNext: " + response); + } + Log.e(TAG + ":" + "checkUpdateStore", "onNext: "); + + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e(TAG + ":" + "checkUpdateStore", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e(TAG + ":" + "checkUpdateStore", "onComplete: "); + mView.checkStoreUpdateFinish(); + } + }); + } + @Override public void checkDesktopUpdate() { NetInterfaceManager.getInstance() @@ -729,11 +664,6 @@ public class MainSPresenter implements MainSContact.Presenter { }); } - @Override - public void buttonCheckUpdate(View view) { - - } - /** * 获取灰度测试更新 */ @@ -774,79 +704,6 @@ public class MainSPresenter implements MainSContact.Presenter { }); } - - @Override - public void getSystemSettingbegin() { - //重置设备 - JGYUtils.getInstance().resetDevice(); - mView.getSystemSettingbegin(); - ToastUtil.betaShow("开始获取管控"); - } - - @Override - public void getAppLimit() { - NetInterfaceManager.getInstance() - .getAppLimitObservable() - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e(TAG + ":" + "getAppLimit", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull ResponseBody responseBody) { - requestSucceeded = true; - try { - String bodyString = responseBody.string(); - Log.e(TAG + ":" + "getAppLimit", "onNext: " + bodyString); - JsonObject jsonObject = JsonParser.parseString(bodyString).getAsJsonObject(); - int code = jsonObject.get("code").getAsInt(); - if (code == OK) { - String data = jsonObject.get("data").getAsJsonObject().get("result").getAsString(); - //开机图标 - boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, data); - Log.e(TAG, "onNext: only_jgy_shortcut_list: " + write); - JGYUtils.getInstance().writeAppPackageList(mContext, data); - mView.getAppLimitFinish(data); - } else { - boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, " "); - JGYUtils.getInstance().writeAppPackageList(mContext, ""); - Log.e(TAG, "onNext: only_jgy_shortcut_list: " + write); - Log.e(TAG + ":" + "getAppLimit", "onNext: " + bodyString); - mView.getAppLimitFinish(""); - } - } catch (IOException e) { - e.printStackTrace(); - Log.e(TAG + ":" + "getAppLimit", "onNext: IOException: " + e.getMessage()); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Log.e(TAG + ":" + "getAppLimit", "onError: " + e.getMessage()); - String oldListString = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); - Log.e(TAG + ":" + "getAppLimit", "oldListString: " + oldListString); - mView.getAppLimitFinish(oldListString); - } - - @Override - public void onComplete() { - Log.e(TAG + ":" + "getAppLimit", "onComplete: "); - } - }); - } - - @Override - public void getDeviceBatch(String packageList) { - int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0); - Log.e(TAG, "getDeviceBatch: " + locked); - if (locked == 0) { - JGYUtils.getInstance().deleteOtherApp(); - mView.getDeviceBatchFinish(); - } - } - @Override public void getForceDownload() { NetInterfaceManager.getInstance() @@ -901,13 +758,265 @@ public class MainSPresenter implements MainSContact.Presenter { } @Override - public void getBrowserList() { - Log.e(TAG, "getBrowserList: "); - mView.getBrowserListFinish(""); + public void getDefaultDesktop() { + if (JGYUtils.isOfficialVersion()) { + mView.getDefaultDesktopFinish(); + HTTPInterface.getAppLimit(mContext); + return; + } + NetInterfaceManager.getInstance() + .getDesktopObservable() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e(TAG + ":" + "getDefaultDesktop", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull ResponseBody responseBody) { + requestSucceeded = true; + try { + JSONObject jsonObject = JSONObject.parseObject(responseBody.string()); + Log.e(TAG + ":" + "getDefaultDesktop", "onNext: " + jsonObject.toString()); + int code = jsonObject.getInteger("code"); + if (code == OK) { + JSONObject data = jsonObject.getJSONObject("data"); + JGYUtils.getInstance().installDesktop(data); + } else { + Log.e(TAG + ":" + "getDefaultDesktop", "onNext: " + "删除定制桌面"); + String whiteList = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); + if (!TextUtils.isEmpty(whiteList)) { + if (!whiteList.contains(ApkUtils.desktopAPP.get(0))) { + ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0)); + Log.e(TAG + ":" + "getDefaultDesktop", "skip: " + ApkUtils.desktopAPP.get(0)); + } + if (!whiteList.contains(ApkUtils.desktopAPP.get(1))) { + ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(1)); + Log.e(TAG + ":" + "getDefaultDesktop", "skip: " + ApkUtils.desktopAPP.get(1)); + } + } + } + } catch (IOException e) { + e.printStackTrace(); + Log.e(TAG + ":" + "getDefaultDesktop", "onNext: IOException: " + e.getMessage()); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e(TAG + ":" + "getDefaultDesktop", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e(TAG + ":" + "getDefaultDesktop", "onComplete: "); + HTTPInterface.getAllAppList(mContext); + mView.getDefaultDesktopFinish(); + } + }); } @Override - public void getBrowserBookmarks(String whitelist) { + public void setLogoImg() { + if (JGYUtils.isOfficialVersion()) { + mView.setLogoImgFinish(); + return; + } + NetInterfaceManager.getInstance() + .getLogoImgObservable() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e(TAG + ":" + "setLogoImg", "onSubscribe: "); + + } + + @Override + public void onNext(@NonNull BaseResponse logoImgBaseResponse) { + requestSucceeded = true; + Log.e(TAG + ":" + "setLogoImg", "onNext: " + logoImgBaseResponse.data); + if (logoImgBaseResponse.code == OK) { + LogoImg logoImg = logoImgBaseResponse.data; + String file_url = logoImg.getFile_url(); + String file_md5 = logoImg.getFile_md5(); + String batch = logoImg.getBatch(); + if (TextUtils.isEmpty(file_url)) { + Log.e(TAG + ":" + "setLogoImg", "onNext: file_url is empty"); + } else { + JGYUtils.getInstance().checkBootFile(file_url, file_md5); + } + } else { + Log.e(TAG + ":" + "setLogoImg", "onNext: delete"); + JGYUtils.getInstance().removeBootanimation(); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e(TAG + ":" + "setLogoImg", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e(TAG + ":" + "setLogoImg", "onComplete: "); + mView.setLogoImgFinish(); + } + }); + } + + + /** + * 5 + */ + @Override + public void getDeveloper() { + NetInterfaceManager.getInstance() + .getDeveloperControl() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + Log.e(TAG + ":" + "getDeveloper", "onSubscribe: "); + } + + @Override + public void onNext(BaseResponse baseResponse) { + requestSucceeded = true; + if (baseResponse.code == OK) { + JSONObject jsonObject = (JSONObject) JSON.toJSON(baseResponse.data); + int is_developer = jsonObject.getInteger("is_developer"); + Log.e(TAG + ":" + "getDeveloper", "onNext: " + is_developer); + //后台1是0否 底层0是1否 + JGYUtils.getInstance().setDeveloperOptions(is_developer == 0 ? 1 : 0); + } else { + JGYUtils.getInstance().setDeveloperOptions(1); + } + } + + @Override + public void onError(Throwable e) { + Log.e(TAG + ":" + "getDeveloper", "onError: " + e.getMessage()); + if (!BuildConfig.DEBUG) { + int oldStatus = Settings.System.getInt(mContext.getContentResolver(), "qch_Developeroptions", 1); + Log.e(TAG + ":" + "getDeveloper", "oldStatus: " + oldStatus); + JGYUtils.getInstance().setDeveloperOptions(oldStatus); + } + onComplete(); + } + + @Override + public void onComplete() { + mView.getDeveloperFinish(); + Log.e(TAG + ":" + "getDeveloper", "onComplete: "); + } + }); + } + + @Override + public void getSystemSettingBegin() { + //重置设备 + JGYUtils.getInstance().resetDevice(); + ToastUtil.betaShow("开始获取管控"); + mView.setSystemSetting(); + } + + @Override + public void getAppLimit() { + NetInterfaceManager.getInstance() + .getAppLimitObservable() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e(TAG + ":" + "getAppLimit", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse baseResponse) { + requestSucceeded = true; + Log.e(TAG + ":" + "getAppLimit", "onNext: " + baseResponse); + JsonObject jsonObject = JsonParser.parseString(baseResponse.data.toString()).getAsJsonObject(); + if (baseResponse.code == OK) { + String data = jsonObject.get("result").getAsString(); + //开机图标 + boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, data); + Log.e(TAG, "onNext: only_jgy_shortcut_list: " + write); + JGYUtils.getInstance().writeAppPackageList(mContext, data); + mView.getAppLimitFinish(); + } else { + boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, " "); + JGYUtils.getInstance().writeAppPackageList(mContext, ""); + Log.e(TAG, "onNext: only_jgy_shortcut_list: " + write); + Log.e(TAG + ":" + "getAppLimit", "onNext: " + baseResponse); + mView.getAppLimitFinish(); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e(TAG + ":" + "getAppLimit", "onError: " + e.getMessage()); + String oldListString = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); + Log.e(TAG + ":" + "getAppLimit", "oldListString: " + oldListString); + onComplete(); + } + + @Override + public void onComplete() { + Log.e(TAG + ":" + "getAppLimit", "onComplete: "); + mView.getAppLimitFinish(); + } + }); + } + + @Override + public void getROMApp() { + String customVersion = Utils.getCustomVersion(); + Log.e(TAG, "getROMApp: " + customVersion); + NetInterfaceManager.getInstance().getCustomROMAppApi() + .getROMApp(NetInterfaceManager.HTTP_KEY, customVersion) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + Log.e(TAG + ":" + "getROMApp", "onSubscribe: "); + } + + @Override + public void onNext(BaseResponse baseResponse) { + requestSucceeded = true; + Log.e(TAG + ":" + "getROMApp", "onNext: " + baseResponse); + if (baseResponse.code == OK) { + JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(baseResponse.data)).getAsJsonObject(); + String packageName = jsonObject.get("package_name").getAsString(); + Settings.System.putString(mContext.getContentResolver(), "jgy_customromapp", packageName); + } else { + Log.e(TAG + ":" + "getROMApp", "onNext: " + baseResponse.msg); + Settings.System.putString(mContext.getContentResolver(), "jgy_customromapp", " "); + } + } + + @Override + public void onError(Throwable e) { + Log.e(TAG + ":" + "getROMApp", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e(TAG + ":" + "getROMApp", "onComplete: "); + mView.getROMAppFinish(); + } + }); + } + + @Override + public void getBrowserBookmarks() { HTTPInterface.getHomePageBookmarks(mContext, new HTTPInterface.BookmarksCallback() { @Override public void onSubscribe() { @@ -937,21 +1046,8 @@ public class MainSPresenter implements MainSContact.Presenter { @Override public void getBrowserWhiteList() { -// new URLUtils(mContext).setBrowserWhiteList(); new URLUtils(mContext).setBrowserBlackList(); - -// try { -// int qch_website_isBlackWebUrl = Settings.System.getInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl"); -// String BlackBrowserArray = Settings.System.getString(mContext.getContentResolver(), "BlackBrowserArray"); -// String DeselectBrowserArray = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray"); -// String qch_webblack_url = Settings.System.getString(mContext.getContentResolver(), "qch_webblack_url"); -// Log.e(TAG+":"+"getBrowserWhiteList", "qch_website_isBlackWebUrl: " + qch_website_isBlackWebUrl); -// Log.e(TAG+":"+"getBrowserWhiteList", "BlackBrowserArray: " + BlackBrowserArray); -// Log.e(TAG+":"+"getBrowserWhiteList", "DeselectBrowserArray: " + DeselectBrowserArray); -// Log.e(TAG+":"+"getBrowserWhiteList", "qch_webblack_url: " + qch_webblack_url); -// } catch (Settings.SettingNotFoundException e) { -// e.printStackTrace(); -// } + mView.setBrowserWhiteList(); } @Override @@ -1123,7 +1219,6 @@ public class MainSPresenter implements MainSContact.Presenter { }); } - @Override public void setSystemSetting() { NetInterfaceManager.getInstance() @@ -1224,144 +1319,6 @@ public class MainSPresenter implements MainSContact.Presenter { }); } - @Override - public void getROMApp() { - String customVersion = Utils.getCustomVersion(); - Log.e(TAG, "getROMApp: " + customVersion); - NetInterfaceManager.getInstance().getCustomROMAppApi() - .getROMApp(NetInterfaceManager.HTTP_KEY, customVersion) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { - Log.e(TAG + ":" + "getROMApp", "onSubscribe: "); - } - - @Override - public void onNext(BaseResponse baseResponse) { - requestSucceeded = true; - Log.e(TAG + ":" + "getROMApp", "onNext: " + baseResponse); - if (baseResponse.code == OK) { - JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(baseResponse.data)).getAsJsonObject(); - String packageName = jsonObject.get("package_name").getAsString(); - Settings.System.putString(mContext.getContentResolver(), "jgy_customromapp", packageName); - } else { - Log.e(TAG + ":" + "getROMApp", "onNext: " + baseResponse.msg); - Settings.System.putString(mContext.getContentResolver(), "jgy_customromapp", " "); -// onComplete(); - } - } - - @Override - public void onError(Throwable e) { - Log.e(TAG + ":" + "getROMApp", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e(TAG + ":" + "getROMApp", "onComplete: "); - mView.getROMAppFinish(); - } - }); - } - - @Override - public void getDeveloper() { - NetInterfaceManager.getInstance() - .getDeveloperControl() - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { - Log.e(TAG + ":" + "getDeveloper", "onSubscribe: "); - } - - @Override - public void onNext(BaseResponse baseResponse) { - requestSucceeded = true; - if (baseResponse.code == OK) { - JSONObject jsonObject = (JSONObject) JSON.toJSON(baseResponse.data); - int is_developer = jsonObject.getInteger("is_developer"); - Log.e(TAG + ":" + "getDeveloper", "onNext: " + is_developer); - //后台1是0否 底层0是1否 - JGYUtils.getInstance().setDeveloperOptions(is_developer == 0 ? 1 : 0); - } else { - JGYUtils.getInstance().setDeveloperOptions(1); - } - } - - @Override - public void onError(Throwable e) { - Log.e(TAG + ":" + "getDeveloper", "onError: " + e.getMessage()); - if (!BuildConfig.DEBUG) { - int oldStatus = Settings.System.getInt(mContext.getContentResolver(), "qch_Developeroptions", 1); - Log.e(TAG + ":" + "getDeveloper", "oldStatus: " + oldStatus); - JGYUtils.getInstance().setDeveloperOptions(oldStatus); - } - onComplete(); - } - - @Override - public void onComplete() { - mView.getDeveloperFinish(); - Log.e(TAG + ":" + "getDeveloper", "onComplete: "); - } - }); - } - - @Override - public void setLogoImg() { - if (JGYUtils.isOfficialVersion()) { - mView.setLogoImgFinish(); - return; - } - NetInterfaceManager.getInstance() - .getLogoImgObservable() - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e(TAG + ":" + "setLogoImg", "onSubscribe: "); - - } - - @Override - public void onNext(@NonNull BaseResponse logoImgBaseResponse) { - requestSucceeded = true; - Log.e(TAG + ":" + "setLogoImg", "onNext: " + logoImgBaseResponse.data); - if (logoImgBaseResponse.code == OK) { - LogoImg logoImg = logoImgBaseResponse.data; - String file_url = logoImg.getFile_url(); - String file_md5 = logoImg.getFile_md5(); - String batch = logoImg.getBatch(); - if (TextUtils.isEmpty(file_url)) { - Log.e(TAG + ":" + "setLogoImg", "onNext: file_url is empty"); - } else { - JGYUtils.getInstance().checkBootFile(file_url, file_md5); - } - } else { - Log.e(TAG + ":" + "setLogoImg", "onNext: delete"); - JGYUtils.getInstance().removeBootanimation(); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Log.e(TAG + ":" + "setLogoImg", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e(TAG + ":" + "setLogoImg", "onComplete: "); - mView.setLogoImgFinish(); - } - }); - } - @Override public void setTopApp() { if (JGYUtils.isOfficialVersion()) { @@ -1408,16 +1365,184 @@ public class MainSPresenter implements MainSContact.Presenter { }); } - //上次运行的时间 - private long lastRunTime; + @Override + public void getPoweroffTime() { + NetInterfaceManager.getInstance() + .getPoweroffTimeControl() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer>>() { + @Override + public void onSubscribe(Disposable d) { + Log.e("getPoweroffTime", "onSubscribe: "); + } + + @Override + public void onNext(BaseResponse> listBaseResponse) { + requestSucceeded = true; + Log.e("getPoweroffTime", "onNext: " + listBaseResponse); + if (listBaseResponse.code == OK) { + List poweroffBeanList = listBaseResponse.data; + String poweroffTime = new Gson().toJson(poweroffBeanList); + mMMKV.encode("poweroffTime", poweroffTime); + } else { + mMMKV.encode("PoweroffTime", ""); + } + } + + @Override + public void onError(Throwable e) { + Log.e("getPoweroffTime", "onError: " + e.getLocalizedMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e("getPoweroffTime", "onComplete: "); + mView.setPoweroffTime(); + } + }); + } + + @Override + public void getSnTimeControl() { + if (JGYUtils.isOfficialVersion()) { + mView.getSnTimeControlFinish(); + return; + } + NetInterfaceManager.getInstance() + .getSnTimeObservable() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e(TAG + ":" + "getSnTimeControl", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse response) { + requestSucceeded = true; + Log.e(TAG + ":" + "getSnTimeControl", "onNext: "); + int code = response.code; + if (code == OK) { + JSONObject jsonObject = (JSONObject) JSON.toJSON(response.data); + String start_time = jsonObject.getString("start_time"); + String end_time = jsonObject.getString("end_time"); + TimeUtils.ContralTime c = TimeUtils.String2ContralTime(mContext, start_time + "-" + end_time); + if (null != c) { + Log.e(TAG + ":" + "getTimeControl", "OK:" + c.toString()); + } + } else { + TimeUtils.setEmpty(mContext); + TimeUtils.ContralTime c = TimeUtils.getDefaltContralTime(mContext); + if (null != c) { + Log.e(TAG + ":" + "getTimeControl", c.toString()); + } + } + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e(TAG + ":" + "getSnTimeControl", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e(TAG + ":" + "getSnTimeControl", "onComplete: "); + Intent intent = new Intent(); + intent.setAction(MainService.TimeChangedReceiver.ACTION_UPDATE); + mContext.sendBroadcast(intent); + mView.getSnTimeControlFinish(); + } + }); + + } + + @Override + public void getEBagCode() { + NetInterfaceManager.getInstance() + .getEBagCodeControl() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + Log.e(TAG + ":" + "getEBagCode", "onSubscribe: "); + } + + @Override + public void onNext(BaseResponse baseResponse) { + requestSucceeded = true; + Log.e(TAG + ":" + "getEBagCode", "onNext: " + baseResponse); + int code = baseResponse.code; + if (code == OK) { + JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(baseResponse.data)).getAsJsonObject(); + String ebagCode = jsonObject.get("ebagCode").getAsString(); + SPUtils.put(mContext, "ebagCode", ebagCode); + } else { + Log.e(TAG + ":" + "getEBagCode", "onNext: " + baseResponse.data); + } + } + + @Override + public void onError(Throwable e) { + Log.e(TAG + ":" + "getEBagCode", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e(TAG + ":" + "getEBagCode", "onComplete: "); + mView.getEBagCodeFinish(); + } + }); + } + + @Override + public void getWiFiPasswd() { + NetInterfaceManager.getInstance().getWiFiControl() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer>>() { + @Override + public void onSubscribe(Disposable d) { + Log.e("getWiFiPasswd", "onSubscribe: "); + } + + @Override + public void onNext(BaseResponse> listBaseResponse) { + Log.e("getWiFiPasswd", "onNext: "); + if (listBaseResponse.code == OK) { + WiFiUtils.saveWiFiPasswd(listBaseResponse.data); + mMMKV.encode("WiFiPassword", JsonParser.parseString(new Gson().toJson(listBaseResponse.data)).toString()); + } else { + Log.e("getWiFiPasswd", "onNext: msg = " + listBaseResponse.msg); + WiFiUtils.saveWiFiPasswd(listBaseResponse.data); + mMMKV.encode("WiFiPassword", ""); + } + } + + @Override + public void onError(Throwable e) { + Log.e("getWiFiPasswd", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e("getWiFiPasswd", "onComplete: "); + mView.setWiFiPasswd(); + } + }); + } + + private static final String GET_SCREEN_LOCK_STATE_TIME = "getScreenLockState_key"; @Override synchronized public void getScreenLockState() { - if (System.currentTimeMillis() - lastRunTime < 60 * 1000) { - Log.e(TAG, "getScreenLockState: " + lastRunTime); + long lastTime = mMMKV.decodeLong(GET_SCREEN_LOCK_STATE_TIME, 0); + Log.e(TAG, "getScreenLockState: " + lastTime); + if (System.currentTimeMillis() - TEN_MINUTE_TIME < lastTime) { return; } - lastRunTime = System.currentTimeMillis(); int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0); if (JGYUtils.isOfficialVersion() || locked == 1) { mView.setScreenLockStateFinish(false, ""); @@ -1434,6 +1559,7 @@ public class MainSPresenter implements MainSContact.Presenter { @Override public void onNext(@NonNull BaseResponse response) { + mMMKV.encode(GET_SCREEN_LOCK_STATE_TIME, System.currentTimeMillis()); requestSucceeded = true; Log.e(TAG + ":" + "getScreenLockState", "onNext: "); if (response.code == OK) { @@ -1459,145 +1585,8 @@ public class MainSPresenter implements MainSContact.Presenter { @Override public void onComplete() { - lastRunTime = System.currentTimeMillis(); Log.e(TAG + ":" + "getScreenLockState", "onComplete: "); } }); } - - @Override - public void getDefaultDesktop() { - if (JGYUtils.isOfficialVersion()) { - mView.getDefaultDesktopFinish(); - HTTPInterface.getAppLimit(mContext); - return; - } - NetInterfaceManager.getInstance() - .getDesktopObservable() - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e(TAG + ":" + "getDefaultDesktop", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull ResponseBody responseBody) { - requestSucceeded = true; - try { - JSONObject jsonObject = JSONObject.parseObject(responseBody.string()); - Log.e(TAG + ":" + "getDefaultDesktop", "onNext: " + jsonObject.toString()); - int code = jsonObject.getInteger("code"); - if (code == OK) { - JSONObject data = jsonObject.getJSONObject("data"); - JGYUtils.getInstance().installDesktop(data); - } else { - Log.e(TAG + ":" + "getDefaultDesktop", "onNext: " + "删除定制桌面"); - String whiteList = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST); - if (!TextUtils.isEmpty(whiteList)) { - if (!whiteList.contains(ApkUtils.desktopAPP.get(0))) { - ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0)); - Log.e(TAG + ":" + "getDefaultDesktop", "skip: " + ApkUtils.desktopAPP.get(0)); - } - if (!whiteList.contains(ApkUtils.desktopAPP.get(1))) { - ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(1)); - Log.e(TAG + ":" + "getDefaultDesktop", "skip: " + ApkUtils.desktopAPP.get(1)); - } - } - } - } catch (IOException e) { - e.printStackTrace(); - Log.e(TAG + ":" + "getDefaultDesktop", "onNext: IOException: " + e.getMessage()); - } - } - - @Override - public void onError(@NonNull Throwable e) { - Log.e(TAG + ":" + "getDefaultDesktop", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e(TAG + ":" + "getDefaultDesktop", "onComplete: "); - HTTPInterface.getAllAppList(mContext); - mView.getDefaultDesktopFinish(); - } - }); - } - - @Override - public void getPoweroffTime() { - NetInterfaceManager.getInstance() - .getPoweroffTimeControl() - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer>>() { - @Override - public void onSubscribe(Disposable d) { - Log.e("getPoweroffTime", "onSubscribe: "); - } - - @Override - public void onNext(BaseResponse> listBaseResponse) { - requestSucceeded = true; - Log.e("getPoweroffTime", "onNext: " + listBaseResponse); - if (listBaseResponse.code == 200) { - List poweroffBeanList = listBaseResponse.data; - String poweroffTime = new Gson().toJson(poweroffBeanList); - mMMKV.encode("poweroffTime", poweroffTime); - } else { - mMMKV.encode("PoweroffTime", ""); - } - } - - @Override - public void onError(Throwable e) { - Log.e("getPoweroffTime", "onError: " + e.getLocalizedMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e("getPoweroffTime", "onComplete: "); - mView.setPoweroffTime(); - } - }); - } - - @Override - public void getWiFiPasswd() { - NetInterfaceManager.getInstance().getWiFiControl() - .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer>>() { - @Override - public void onSubscribe(Disposable d) { - Log.e("getWiFiPasswd", "onSubscribe: "); - } - - @Override - public void onNext(BaseResponse> listBaseResponse) { - Log.e("getWiFiPasswd", "onNext: "); - if (listBaseResponse.code == 200) { - WiFiUtils.saveWiFiPasswd(listBaseResponse.data); - mMMKV.encode("WiFiPassword", JsonParser.parseString(new Gson().toJson(listBaseResponse.data)).toString()); - } else { - Log.e("getWiFiPasswd", "onNext: msg = " + listBaseResponse.msg); - WiFiUtils.saveWiFiPasswd(listBaseResponse.data); - mMMKV.encode("WiFiPassword", ""); - } - } - - @Override - public void onError(Throwable e) { - Log.e("getWiFiPasswd", "onError: " + e.getMessage()); - onComplete(); - } - - @Override - public void onComplete() { - Log.e("getWiFiPasswd", "onComplete: "); - mView.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 082cb8b..0610d6b 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 @@ -5,11 +5,9 @@ import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.Service; import android.content.BroadcastReceiver; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; -import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.PixelFormat; import android.net.ConnectivityManager; @@ -18,7 +16,6 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; import android.os.IBinder; -import android.os.SystemClock; import android.provider.Settings; import android.text.TextUtils; import android.util.DisplayMetrics; @@ -37,14 +34,12 @@ import com.alibaba.fastjson.JSONObject; import com.aoleyun.sn.BuildConfig; import com.aoleyun.sn.R; import com.aoleyun.sn.activity.main.MainAPresenter; -import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.PoweroffBean; import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.JGYActions; import com.aoleyun.sn.comm.PackageNames; import com.aoleyun.sn.manager.ConnectManager; import com.aoleyun.sn.network.NetInterfaceManager; -import com.aoleyun.sn.receiver.BootReceiver; import com.aoleyun.sn.rlog.LogDBManager; import com.aoleyun.sn.utils.ApkUtils; import com.aoleyun.sn.utils.ForegroundAppUtil; @@ -57,7 +52,6 @@ import com.aoleyun.sn.utils.ToastUtil; import com.aoleyun.sn.utils.Utils; import com.blankj.utilcode.util.NetworkUtils; import com.google.gson.Gson; -import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.tencent.mmkv.MMKV; import com.trello.rxlifecycle4.LifecycleProvider; @@ -87,7 +81,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo @SuppressLint("StaticFieldLeak") public static MainSPresenter mPresenter; - public static boolean netWorkIsRunning = false; private MMKV mMMKV = MMKV.defaultMMKV(); @Override @@ -109,6 +102,9 @@ public class MainService extends Service implements MainSContact.MainView, Netwo start.onstar(WiFiAlias); } } + if (!checkAoleyunApp()){ + mPresenter.checkInfoUpdate(); + } } private final BehaviorSubject lifecycleSubject = BehaviorSubject.create(); @@ -198,7 +194,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo } } - private interface Start { void onstar(String key); } @@ -215,25 +210,24 @@ public class MainService extends Service implements MainSContact.MainView, Netwo private Observer timeObserver = new Observer() { @Override public void onSubscribe(Disposable d) { - + Log.e("timeObserver", "onSubscribe: "); } @Override public void onNext(String string) { connectKey = string; - Log.e("TimeObserver", "onNext: " + string); - mPresenter.getFirstConnect(); + Log.e("timeObserver", "onNext: " + string); mPresenter.getLockedState(string); } @Override public void onError(Throwable e) { - + Log.e("timeObserver", "onError: " + e.getMessage()); } @Override public void onComplete() { - + Log.e("timeObserver", "onComplete: "); } }; @@ -254,6 +248,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo mPresenter = new MainSPresenter(this); mPresenter.attachView(this); mPresenter.setLifecycle(lifecycleSubject); + Observable.create(subscribe) .throttleFirst(1, TimeUnit.MINUTES) .subscribe(timeObserver); @@ -263,24 +258,23 @@ public class MainService extends Service implements MainSContact.MainView, Netwo if ((int) SPUtils.get(this, CommonConfig.JGY_FIRST_CONNECT, 0) == 0) { // TODO: 2021/5/26 待底层修改,临时解决办法 Log.e(TAG, "onCreate: " + "Disable All Settings"); - mPresenter.setDisableSetting(); + SysSettingUtils.setDisableSetting(this); + start.onstar(ConnectManager.REBOOT_LAST_ONNECT_TIME); } int oldVersionCode = (int) SPUtils.get(this, CommonConfig.SN_VERSIONCODE, 0); if (oldVersionCode < BuildConfig.VERSION_CODE) { Log.e(TAG, "onCreate: " + "upgrade successful"); } else { // if (ConnectManager.getInstance().isRebootFistConnect()) { - start.onstar(ConnectManager.REBOOT_LAST_ONNECT_TIME); + start.onstar(ConnectManager.REBOOT_LAST_ONNECT_TIME); // } } SPUtils.put(this, CommonConfig.SN_VERSIONCODE, BuildConfig.VERSION_CODE); registerReceivers(); NetworkUtils.registerNetworkStatusChangedListener(this); addShortcut(); -// cleanLauncherCache(); timeChangedStart.onstar(System.currentTimeMillis()); setStatusbar(); - //发送设备mac地址和信息 setFloatingWindow(this); createNotificationChannel(); sendSimpleNotification(); @@ -289,6 +283,9 @@ public class MainService extends Service implements MainSContact.MainView, Netwo @Override public int onStartCommand(Intent intent, int flags, int startId) { JGYUtils.getInstance().wakeUpAppstore(); + if (!checkAoleyunApp()){ + mPresenter.checkInfoUpdate(); + } return START_STICKY; } @@ -301,6 +298,18 @@ public class MainService extends Service implements MainSContact.MainView, Netwo mPresenter.detachView(); } + private boolean checkAoleyunApp() { + if (!ApkUtils.isAvailable(this, PackageNames.APPSTORE)) return false; + if (!ApkUtils.isAvailable(this, PackageNames.DESKTOP)) return false; + if (!ApkUtils.isAvailable(this, PackageNames.NOTIFICATIONS)) return false; + if (!ApkUtils.isAvailable(this, PackageNames.BROWSER)) return false; + return true; + } + + private static final String CHANNEL_ID = "CHANNEL_ID"; + private static final String channel_name = "系统通知"; + private static final String channel_description = "我的设备系统通知"; + private void createNotificationChannel() { // Create the NotificationChannel, but only on API 26+ because // the NotificationChannel class is new and not in the support library @@ -317,10 +326,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo } } - private static final String CHANNEL_ID = "CHANNEL_ID"; - private static final String channel_name = "系统通知"; - private static final String channel_description = "我的设备系统通知"; - private void sendSimpleNotification() { NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "CHANNEL_ID") .setSmallIcon(R.mipmap.ic_launcher) @@ -337,7 +342,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo } private void addShortcut() { - ApkUtils.addShortcut(MainService.this); + ApkUtils.addShortcut(this); } private void setStatusbar() { @@ -571,8 +576,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo } private void checkShutdownTime() { - MMKV mmkv = MMKV.defaultMMKV(); - String poweroffTime = mmkv.decodeString("poweroffTime", ""); + String poweroffTime = mMMKV.decodeString("poweroffTime", ""); Log.e("checkShutdownTime", "poweroffTime: " + poweroffTime); Gson gson = new Gson(); Type listType = new TypeToken>() { @@ -597,7 +601,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo private static final String UPLOAD_LOG_TIME = "23:00:00"; private void checkUploadLogTime() { - int is_log_type = (int) SPUtils.get(MainService.this, CommonConfig.UPLOAD_LOG_TYPE, 0); + int is_log_type = (int) SPUtils.get(this, CommonConfig.UPLOAD_LOG_TYPE, 0); if (is_log_type == 0) { Log.e(TAG, "checkUploadLogTime: " + "is_log_type = " + is_log_type); } else { @@ -614,7 +618,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo synchronized private void setFloatingWindow(Context context) { ForegroundAppUtil.openTopApp(context); long nowTime = System.currentTimeMillis(); - TimeUtils.ContralTime contralTime = TimeUtils.getDefaltContralTime(MainService.this); + TimeUtils.ContralTime contralTime = TimeUtils.getDefaltContralTime(this); Log.e(TAG, "setFloatingWindow: " + contralTime); Log.e(TAG, "setFloatingWindow: screenlocked: " + screenlocked); if (null != contralTime) { @@ -700,57 +704,38 @@ public class MainService extends Service implements MainSContact.MainView, Netwo Log.e(TAG, "installApkByPackage: " + "packageName: " + pkg + " not in whitelist"); } else { Log.e(TAG, "installApkByPackage: " + "packageName: " + pkg); - ApkUtils.installApp(MainService.this, filePath); + ApkUtils.installApp(this, filePath); } } @Override public void setLockedState(boolean loocked) { - Log.e(TAG, "netWorkIsRunning: " + netWorkIsRunning); - //发送设备mac地址和信息 - mPresenter.sendMACAddress(); - //设置极光推送别名 - mPresenter.setJpushAlias(); - //设置极光推送标签 - mPresenter.setPushTags(); if (loocked) { ToastUtil.betaShow("设备已上锁"); - //上传APP信息 - NetInterfaceManager.getInstance().sendInstalledAppInfo(new NetInterfaceManager.ObserverCallback() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onNext(BaseResponse response) { - - } - - @Override - public void onError(Throwable e) { - - } - - @Override - public void onComplete() { - - } - }); - + mPresenter.setPushTags(); + mPresenter.getDeveloper(); SaveListUtils.getList(); - if (netWorkIsRunning) { - //如果正在执行,不执行 -// return; - } - netWorkIsRunning = true; } else { ToastUtil.betaShow("设备已解锁"); - netWorkIsRunning = false; SysSettingUtils.setEnableSetting(this); } } + @Override + public void setTagsFinish(boolean noTag) { + if (noTag) { + //没有批次就没有管控 + Log.e(TAG, "setTagsFinish: " + "not set tag"); + } else { + mPresenter.getDeviceBatch(); + } + } + + @Override + public void getDeviceBatchFinish() { + mPresenter.getFirstConnect(); + } + /** * 首次使用默认关闭所有功能 * @@ -760,12 +745,22 @@ public class MainService extends Service implements MainSContact.MainView, Netwo public void setFirstConnect(boolean state) { Log.e(TAG, "isFirstConnect: " + "end request: " + state); if (state) { - mPresenter.setDisableSetting(); + Log.e(TAG, "setDisableSetting: "); + //设置系统管控 + SysSettingUtils.setDisableSetting(this); } else { } + mPresenter.getStudesInfo(); } + @Override + public void setStudesInfo() { + Log.e(TAG, "setStudesInfo: " + "基本信息获取完毕"); + mPresenter.sendMACAddress(); + } + + @Override public void sendMACFinish() { mPresenter.updateDeviceInfo(); @@ -773,36 +768,23 @@ public class MainService extends Service implements MainSContact.MainView, Netwo @Override public void updateDeviceInfoFinish() { - mPresenter.getSnTimeControl(); + mPresenter.sendInstalled(); } @Override - public void getSnTimeControlFinish() { - mPresenter.getEBagCode(); + public void sendInstalledFinish() { + Log.e(TAG, "sendInstalledFinish: "); + mPresenter.checkInfoUpdate(); } - @Override - public void getEBagCodeFinish() { - - } @Override - public void setAliasFinish() { + public void checkInfoUpdateFinish() { mPresenter.checkStoreUpdate(); } - @Override - public void setJpushPlatformTagsFinish() { - - } - @Override public void checkStoreUpdateFinish() { - mPresenter.checkInfoUpdate(); - } - - @Override - public void checkInfoUpdateFinish() { mPresenter.checkDesktopUpdate(); } @@ -821,61 +803,54 @@ public class MainService extends Service implements MainSContact.MainView, Netwo mPresenter.checkTestUpdate(); } - @Override - public void buttonCheckUpdateFinish(boolean update, JsonObject jsonObject) { - - } - @Override public void checkTestUpdateFinish() { - - } - - @Override - public void setTagsFinish(boolean noTag) { - if (noTag) { - Log.e(TAG, "setTagsFinished: " + "not set tag"); - netWorkIsRunning = false; - Log.e(TAG, "SettingFinished: " + (SystemClock.elapsedRealtime()) + " ms"); - } else { - mPresenter.getSystemSettingbegin(); - } - mPresenter.getDeveloper(); - } - - @Override - public void getDeveloperFinish() { - Log.e(TAG, "getDeveloperFinished: "); - } - - @Override - public void getSystemSettingbegin() { - mPresenter.getAppLimit(); - } - - @Override - public void getAppLimitFinish(String packageList) { - mPresenter.getDeviceBatch(packageList); - } - - @Override - public void getDeviceBatchFinish() { mPresenter.getForceDownload(); } @Override public void getForceDownloadFinish() { - mPresenter.getBrowserList(); + mPresenter.getDefaultDesktop(); } @Override - public void getBrowserListFinish(String whitelist) { - mPresenter.getBrowserBookmarks(whitelist); + public void getDefaultDesktopFinish() { + mPresenter.setLogoImg(); + } + + @Override + public void setLogoImgFinish() { + Log.e(TAG, "setLogoImgFinish: "); + } + + + @Override + public void getDeveloperFinish() { + mPresenter.getSystemSettingBegin(); + } + + @Override + public void setSystemSetting() { + mPresenter.getAppLimit(); + } + + @Override + public void getAppLimitFinish() { + mPresenter.getROMApp(); + } + + @Override + public void getROMAppFinish() { + mPresenter.getBrowserBookmarks(); } @Override public void getBrowserBookmarksFinish() { mPresenter.getBrowserWhiteList(); + } + + @Override + public void setBrowserWhiteList() { mPresenter.getDesktopIcon(); } @@ -906,39 +881,33 @@ public class MainService extends Service implements MainSContact.MainView, Netwo @Override public void setDefaultAppFinish() { - mPresenter.getROMApp(); - } - - @Override - public void getROMAppFinish() { - mPresenter.setLogoImg(); - } - - @Override - public void setLogoImgFinish() { mPresenter.setTopApp(); } @Override public void setTopAppFinish() { - mPresenter.getDefaultDesktop(); - } - - @Override - public void getDefaultDesktopFinish() { mPresenter.getPoweroffTime(); } @Override public void setPoweroffTime() { + mPresenter.getSnTimeControl(); + } + + @Override + public void getSnTimeControlFinish() { + mPresenter.getEBagCode(); + } + + @Override + public void getEBagCodeFinish() { mPresenter.getWiFiPasswd(); } @Override public void setWiFiPasswd() { - MMKV.defaultMMKV().encode(MainAPresenter.GET_SETTING_FINISH_TIME, System.currentTimeMillis()); - netWorkIsRunning = false; - Log.e(TAG, "SettingFinished: " + (SystemClock.elapsedRealtime()) + " ms"); + mMMKV.encode(MainAPresenter.GET_SETTING_FINISH_TIME, System.currentTimeMillis()); + mPresenter.getScreenLockState(); } @Override @@ -948,15 +917,17 @@ public class MainService extends Service implements MainSContact.MainView, Netwo showFloatingWindow(tips); } screenlocked = true; - SPUtils.put(MainService.this, "is_screen_lock", true); - SPUtils.put(MainService.this, "screen_tips", tips); + SPUtils.put(this, "is_screen_lock", true); + SPUtils.put(this, "screen_tips", tips); } else { if (!timelocked) { hideFloatingWindow(); } screenlocked = false; - SPUtils.put(MainService.this, "is_screen_lock", false); - SPUtils.put(MainService.this, "screen_tips", ""); + SPUtils.put(this, "is_screen_lock", false); + SPUtils.put(this, "screen_tips", ""); } } + + }