From 9b3a1c8b9248395c5baa0d1a87e02fdc1dd4bcd1 Mon Sep 17 00:00:00 2001
From: Godfather <981964879@qq.com>
Date: Mon, 28 Mar 2022 09:53:30 +0800
Subject: [PATCH] =?UTF-8?q?version:=20fix:=E4=BC=98=E5=8C=96=E8=AF=B7?=
=?UTF-8?q?=E6=B1=82=E6=AC=A1=E6=95=B0=20add:?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/build.gradle | 52 +-
app/src/main/AndroidManifest.xml | 319 +++-
.../com/uiui/sn/activity/GuideActivity.java | 93 --
.../sn/activity/PrivacyPolicyActivity.java | 89 --
.../com/uiui/sn/activity/SNUidActivity.java | 65 -
.../uiui/sn/activity/ScreenLockActivity.java | 41 -
.../com/uiui/sn/activity/SplashActivity.java | 43 +
.../sn/activity/UserAgreementActivity.java | 89 --
.../uiui/sn/activity/main/MainAContact.java | 31 +
.../uiui/sn/activity/main/MainAPresenter.java | 181 +++
.../uiui/sn/activity/main/MainActivity.java | 624 +-------
.../uiui/sn/activity/main/MainContact.java | 90 --
.../selectegrade/SelecteGradeActivity.java | 382 -----
.../selectegrade/SelecteGradeContact.java | 30 -
.../selectegrade/SelecteGradePresenter.java | 163 --
.../com/uiui/sn/adapter/SNUidAdapter.java | 60 -
.../uiui/sn/{utils => amap}/AmapUtils.java | 2 +-
.../CheckPermissionsActivity.java | 2 +-
.../java/com/uiui/sn/base/BaseActivity.java | 84 +-
.../com/uiui/sn/base/BaseApplication.java | 51 +-
.../uiui/sn/{mvp => base}/BasePresenter.java | 2 +-
.../com/uiui/sn/{mvp => base}/BaseView.java | 2 +-
.../com/uiui/sn/bean/{zuoye => }/AppInfo.java | 2 +-
.../com/uiui/sn/bean/{zuoye => }/AppJump.java | 2 +-
.../uiui/sn/bean/{zuoye => }/AppStart.java | 2 +-
.../sn/bean/{zuoye => }/AppUploadInfo.java | 2 +-
.../com/uiui/sn/bean/{zuoye => }/AppUsed.java | 2 +-
.../sn/bean/{zuoye => }/BaseResponse.java | 2 +-
.../com/uiui/sn/bean/{zuoye => }/Label.java | 2 +-
.../sn/bean/{zuoye => }/LocalAppInfo.java | 2 +-
.../uiui/sn/bean/{zuoye => }/Response.java | 2 +-
.../uiui/sn/bean/{zuoye => }/SNUidBean.java | 2 +-
.../main/java/com/uiui/sn/bean/SnInfo.java | 163 ++
.../sn/bean/{zuoye => }/SystemSettings.java | 2 +-
.../sn/bean/{zuoye => }/UserAvatarInfo.java | 2 +-
.../{zuoye => }/browser/BrowserApiData.java | 2 +-
.../bean/{zuoye => }/browser/BrowserBean.java | 2 +-
.../com/uiui/sn/bean/gankao/ActiveUser.java | 6 -
.../uiui/sn/bean/gankao/AvailableProduct.java | 80 -
.../uiui/sn/bean/gankao/CancelUserPower.java | 26 -
.../uiui/sn/bean/gankao/CreateUserBean.java | 53 -
.../sn/bean/gankao/GankaoBaseResponse.java | 28 -
.../com/uiui/sn/bean/gankao/PowerUser.java | 129 --
.../com/uiui/sn/bean/gankao/UserProduct.java | 130 --
.../uiui/sn/bean/gankao/UserProductCards.java | 17 -
.../java/com/uiui/sn/bean/zuoye/UserInfo.java | 137 --
.../{Configs.java => CommonConfig.java} | 12 +-
.../java/com/uiui/sn/config/CommonData.java | 28 -
.../main/java/com/uiui/sn/config/Scheme.java | 114 --
.../sn/fragment/AppletQRCodeFragment.java | 8 +-
.../com/uiui/sn/fragment/QRCodeFragment.java | 4 +-
.../java/com/uiui/sn/manager/AmapManager.java | 1 +
.../com/uiui/sn/manager/ConnectManager.java | 81 +
.../com/uiui/sn/manager/ControlManager.java | 2 +-
.../uiui/sn/manager/NetInterfaceManager.java | 386 -----
.../com/uiui/sn/network/HTTPInterface.java | 246 +--
.../uiui/sn/network/NetInterfaceManager.java | 647 ++++++++
.../java/com/uiui/sn/network/UrlAddress.java | 30 +-
.../java/com/uiui/sn/network/api/APPJump.java | 6 +-
.../uiui/sn/network/api/AddAppInstall.java | 4 +-
.../com/uiui/sn/network/api/AppUsedApi.java | 18 -
.../java/com/uiui/sn/network/api/Applog.java | 4 +-
.../com/uiui/sn/network/api/BindDevices.java | 4 +-
.../java/com/uiui/sn/network/api/Browser.java | 6 +-
.../com/uiui/sn/network/api/BrowserLabel.java | 6 +-
.../com/uiui/sn/network/api/ForceInstall.java | 6 +-
.../com/uiui/sn/network/api/GetBatchApi.java | 4 +-
.../network/api/GetControlScreenshotApi.java | 4 +-
.../com/uiui/sn/network/api/GetGuideApi.java | 4 +-
.../uiui/sn/network/api/GetGuideApiTest.java | 2 +-
.../uiui/sn/network/api/GetPublicIPApi.java | 20 +
.../com/uiui/sn/network/api/GetSnUidApi.java | 15 -
.../uiui/sn/network/api/NewestAppUpdate.java | 6 +-
.../com/uiui/sn/network/api/QRCodeApi.java | 4 +-
.../com/uiui/sn/network/api/QueryAllApp.java | 6 +-
.../uiui/sn/network/api/QueryAppInside.java | 4 +-
.../uiui/sn/network/api/QuerySnAppStart.java | 6 +-
.../com/uiui/sn/network/api/RunningApp.java | 4 +-
.../com/uiui/sn/network/api/SNInfoApi.java | 8 +-
.../com/uiui/sn/network/api/SaveSnUidApi.java | 20 -
.../com/uiui/sn/network/api/ScreenLock.java | 4 +-
.../com/uiui/sn/network/api/ScreenState.java | 4 +-
.../java/com/uiui/sn/network/api/Setting.java | 4 +-
.../com/uiui/sn/network/api/TimeControl.java | 4 +-
.../uiui/sn/network/api/UpdateAdminSn.java | 4 +-
.../uiui/sn/network/api/UploadScreenshot.java | 4 +-
.../com/uiui/sn/network/api/UserInfoApi.java | 6 +-
.../uiui/sn/network/api/UserInfoControl.java | 6 +-
.../uiui/sn/receiver/APKinstallReceiver.java | 18 +-
.../com/uiui/sn/receiver/BootReceiver.java | 3 +-
.../com/uiui/sn/receiver/MyJPushReceiver.java | 34 +-
.../main/java/com/uiui/sn/rlog/LogBean.java | 73 +
.../java/com/uiui/sn/rlog/LogDBHelper.java | 36 +
.../java/com/uiui/sn/rlog/LogDBManager.java | 207 +++
.../com/uiui/sn/service/DownloadService.java | 17 +
.../java/com/uiui/sn/service/MainService.java | 413 -----
.../com/uiui/sn/service/ManagerService.java | 33 +-
.../com/uiui/sn/service/RemoteService.java | 6 +-
.../uiui/sn/service/main/MainSContact.java | 52 +
.../main/MainSPresenter.java} | 428 +----
.../com/uiui/sn/service/main/MainService.java | 451 ++++++
.../java/com/uiui/sn/tpush/Constants.java | 17 +
.../com/uiui/sn/tpush/MessageReceiver.java | 1380 +++++++++++++++++
.../uiui/sn/tpush/common/DBOpenHelper.java | 23 +
.../sn/tpush/common/NotificationService.java | 134 ++
.../com/uiui/sn/tpush/po/XGNotification.java | 83 +
.../main/java/com/uiui/sn/utils/ApkUtils.java | 7 +-
.../com/uiui/sn/utils/AppsManagerUtils.java | 2 +-
.../main/java/com/uiui/sn/utils/JGYUtils.java | 12 +-
.../java/com/uiui/sn/utils/LaunchTools.java | 205 ---
.../java/com/uiui/sn/utils/TimeUtils.java | 21 +
.../main/java/com/uiui/sn/utils/URLUtils.java | 15 +-
.../main/java/com/uiui/sn/utils/Utils.java | 38 +-
app/src/main/res/layout/activity_home.xml | 16 +-
app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 4570 -> 7688 bytes
app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 4570 -> 7688 bytes
app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4570 -> 7688 bytes
.../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 4570 -> 7688 bytes
.../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 4570 -> 7688 bytes
app/src/main/res/values/strings.xml | 2 +-
120 files changed, 4455 insertions(+), 4319 deletions(-)
delete mode 100644 app/src/main/java/com/uiui/sn/activity/GuideActivity.java
delete mode 100644 app/src/main/java/com/uiui/sn/activity/PrivacyPolicyActivity.java
delete mode 100644 app/src/main/java/com/uiui/sn/activity/SNUidActivity.java
delete mode 100644 app/src/main/java/com/uiui/sn/activity/ScreenLockActivity.java
create mode 100644 app/src/main/java/com/uiui/sn/activity/SplashActivity.java
delete mode 100644 app/src/main/java/com/uiui/sn/activity/UserAgreementActivity.java
create mode 100644 app/src/main/java/com/uiui/sn/activity/main/MainAContact.java
create mode 100644 app/src/main/java/com/uiui/sn/activity/main/MainAPresenter.java
delete mode 100644 app/src/main/java/com/uiui/sn/activity/main/MainContact.java
delete mode 100644 app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradeActivity.java
delete mode 100644 app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradeContact.java
delete mode 100644 app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradePresenter.java
delete mode 100644 app/src/main/java/com/uiui/sn/adapter/SNUidAdapter.java
rename app/src/main/java/com/uiui/sn/{utils => amap}/AmapUtils.java (99%)
rename app/src/main/java/com/uiui/sn/{base => amap}/CheckPermissionsActivity.java (99%)
rename app/src/main/java/com/uiui/sn/{mvp => base}/BasePresenter.java (80%)
rename app/src/main/java/com/uiui/sn/{mvp => base}/BaseView.java (54%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/AppInfo.java (99%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/AppJump.java (95%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/AppStart.java (98%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/AppUploadInfo.java (96%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/AppUsed.java (95%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/BaseResponse.java (93%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/Label.java (95%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/LocalAppInfo.java (99%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/Response.java (86%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/SNUidBean.java (97%)
create mode 100644 app/src/main/java/com/uiui/sn/bean/SnInfo.java
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/SystemSettings.java (99%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/UserAvatarInfo.java (96%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/browser/BrowserApiData.java (94%)
rename app/src/main/java/com/uiui/sn/bean/{zuoye => }/browser/BrowserBean.java (94%)
delete mode 100644 app/src/main/java/com/uiui/sn/bean/gankao/ActiveUser.java
delete mode 100644 app/src/main/java/com/uiui/sn/bean/gankao/AvailableProduct.java
delete mode 100644 app/src/main/java/com/uiui/sn/bean/gankao/CancelUserPower.java
delete mode 100644 app/src/main/java/com/uiui/sn/bean/gankao/CreateUserBean.java
delete mode 100644 app/src/main/java/com/uiui/sn/bean/gankao/GankaoBaseResponse.java
delete mode 100644 app/src/main/java/com/uiui/sn/bean/gankao/PowerUser.java
delete mode 100644 app/src/main/java/com/uiui/sn/bean/gankao/UserProduct.java
delete mode 100644 app/src/main/java/com/uiui/sn/bean/gankao/UserProductCards.java
delete mode 100644 app/src/main/java/com/uiui/sn/bean/zuoye/UserInfo.java
rename app/src/main/java/com/uiui/sn/config/{Configs.java => CommonConfig.java} (57%)
delete mode 100644 app/src/main/java/com/uiui/sn/config/CommonData.java
delete mode 100644 app/src/main/java/com/uiui/sn/config/Scheme.java
create mode 100644 app/src/main/java/com/uiui/sn/manager/ConnectManager.java
delete mode 100644 app/src/main/java/com/uiui/sn/manager/NetInterfaceManager.java
create mode 100644 app/src/main/java/com/uiui/sn/network/NetInterfaceManager.java
delete mode 100644 app/src/main/java/com/uiui/sn/network/api/AppUsedApi.java
create mode 100644 app/src/main/java/com/uiui/sn/network/api/GetPublicIPApi.java
delete mode 100644 app/src/main/java/com/uiui/sn/network/api/GetSnUidApi.java
delete mode 100644 app/src/main/java/com/uiui/sn/network/api/SaveSnUidApi.java
create mode 100644 app/src/main/java/com/uiui/sn/rlog/LogBean.java
create mode 100644 app/src/main/java/com/uiui/sn/rlog/LogDBHelper.java
create mode 100644 app/src/main/java/com/uiui/sn/rlog/LogDBManager.java
delete mode 100644 app/src/main/java/com/uiui/sn/service/MainService.java
create mode 100644 app/src/main/java/com/uiui/sn/service/main/MainSContact.java
rename app/src/main/java/com/uiui/sn/{activity/main/MainPresenter.java => service/main/MainSPresenter.java} (54%)
create mode 100644 app/src/main/java/com/uiui/sn/service/main/MainService.java
create mode 100644 app/src/main/java/com/uiui/sn/tpush/Constants.java
create mode 100644 app/src/main/java/com/uiui/sn/tpush/MessageReceiver.java
create mode 100644 app/src/main/java/com/uiui/sn/tpush/common/DBOpenHelper.java
create mode 100644 app/src/main/java/com/uiui/sn/tpush/common/NotificationService.java
create mode 100644 app/src/main/java/com/uiui/sn/tpush/po/XGNotification.java
delete mode 100644 app/src/main/java/com/uiui/sn/utils/LaunchTools.java
diff --git a/app/build.gradle b/app/build.gradle
index 3b1aa0b..05fd5e1 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,12 +60,14 @@ android {
productFlavors {
beta {
flavorDimensions "default"
- versionCode 6
- versionName "1.5"
+ versionCode 9
+ versionName "1.8"
manifestPlaceholders = [
JPUSH_PKGNAME: "com.uiui.sn",
JPUSH_APPKEY : "1a1e405ca5a1a5cd50e9f734", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
+ XG_ACCESS_ID : "1500026387",
+ XG_ACCESS_KEY: "AG2PUQL7TEX5",
]
buildConfigField "String", "SCREEN_URL", '"https://led.aolelearn.cn:3018/wm/is_online"'
buildConfigField "String", "WEBSOCKET_URL", '"wss://led.aolelearn.cn:3018"'
@@ -79,6 +81,8 @@ android {
JPUSH_PKGNAME: "com.uiui.sn",
JPUSH_APPKEY : "1a1e405ca5a1a5cd50e9f734", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
+ XG_ACCESS_ID : "1500026387",
+ XG_ACCESS_KEY: "AG2PUQL7TEX5",
]
buildConfigField "String", "SCREEN_URL", '"https://led.aolelearn.cn:3018/wm/is_online"'
buildConfigField "String", "WEBSOCKET_URL", '"wss://led.aolelearn.cn:3018"'
@@ -194,11 +198,12 @@ dependencies {
// implementation fileTree(dir: 'libs', include: ['*.jar'])
compileOnly files('libs/framework.jar')
- implementation 'androidx.appcompat:appcompat:1.3.1'
//implementation 'com.android.support:multidex:1.0.3'
- implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.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'
@@ -209,21 +214,24 @@ dependencies {
//动态权限框架
implementation 'com.hjq:xxpermissions:6.0'
//okhttp
- implementation 'com.squareup.okhttp3:okhttp:4.9.1'
+ implementation 'com.squareup.okhttp3:okhttp:4.9.3'
//Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
- implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'
- //RxJava
- implementation 'io.reactivex.rxjava2:rxjava:2.2.12'
- implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
- //生命周期管理
- implementation 'com.trello.rxlifecycle2:rxlifecycle:2.2.2'
- implementation 'com.trello.rxlifecycle2:rxlifecycle-android:2.2.2'
- implementation 'com.trello.rxlifecycle2:rxlifecycle-components:2.2.2'
+ implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
- implementation 'com.google.code.gson:gson:2.8.7'
- implementation 'com.google.zxing:core:3.3.2'
+ //RxJava
+ 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'
+ implementation 'com.trello.rxlifecycle4:rxlifecycle-components:4.0.2'
+ implementation 'com.trello.rxlifecycle4:rxlifecycle-components-preference:4.0.2'
+ implementation 'com.trello.rxlifecycle4:rxlifecycle-android-lifecycle:4.0.2'
+
+ implementation 'com.google.code.gson:gson:2.9.0'
+ implementation 'com.google.zxing:core:3.4.1'
implementation 'com.alibaba:fastjson:1.2.76'
@@ -233,11 +241,13 @@ dependencies {
implementation "org.java-websocket:Java-WebSocket:1.4.1"
//MMKV
- implementation 'com.tencent:mmkv-static:1.2.10'
+ implementation 'com.tencent:mmkv-static:1.2.12'
+ //腾讯移动推送 TPNS
+ implementation 'com.tencent.tpns:tpns:1.3.2.0-release'
//高德地图定位
implementation 'com.amap.api:location:5.1.0'
- //屏幕适配方案
- implementation 'com.blankj:utilcodex:1.30.6'
+ //工具类
+ implementation 'com.blankj:utilcodex:1.31.0'
//autosize会改变第三方view的大小
//https://github.com/JessYanCoding/AndroidAutoSize
//implementation 'me.jessyan:autosize:1.2.1'
@@ -245,15 +255,15 @@ dependencies {
implementation 'com.github.chrisbanes:PhotoView:2.0.0'
- implementation 'com.github.bumptech.glide:glide:4.11.0'
- annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
+ implementation 'com.github.bumptech.glide:glide:4.13.1'
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.13.1'
implementation 'com.jakewharton:butterknife:10.2.1'
// If you are using Kotlin, replace annotationProcessor with kapt.
// annotationProcessor rootProject.ext.dependencies["butterknife-compiler"]
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
//沉浸状态栏
- implementation 'com.gitee.zackratos:UltimateBarX:0.7.1'
+ implementation 'com.gitee.zackratos:UltimateBarX:0.8.0'
}
preBuild {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3eff373..3a13033 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -16,76 +16,97 @@
-
-
+
+
+
+ android:protectionLevel="signature" />
+
+
-
-
-
-
-
+ tools:ignore="ProtectedPermissions" />
+
+
+
+
+
+
+
+
+
-
+
+
+
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:theme="@style/ImmerseTheme"
+ tools:replace="android:allowBackup">
+
-
-
-
-
-
-
+ android:exported="true" />
@@ -104,8 +125,13 @@
+
+
@@ -137,10 +163,6 @@
-
-
-
+
+
+
+ tools:replace="android:exported" />
+
-
+
+
+
-
+
+
+ tools:replace="android:authorities" />
+
+
-
+
+
+ tools:replace="android:authorities" />
+
-
+
+
+
@@ -258,10 +292,12 @@
-
+
+
+ android:exported="false" />
+
-
+
+
+
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:value="${JPUSH_APPKEY}" />
+
diff --git a/app/src/main/java/com/uiui/sn/activity/GuideActivity.java b/app/src/main/java/com/uiui/sn/activity/GuideActivity.java
deleted file mode 100644
index b646552..0000000
--- a/app/src/main/java/com/uiui/sn/activity/GuideActivity.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package com.uiui.sn.activity;
-
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.View;
-
-import androidx.constraintlayout.widget.ConstraintLayout;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.bumptech.glide.Glide;
-import com.github.chrisbanes.photoview.PhotoView;
-import com.uiui.sn.R;
-import com.uiui.sn.base.BaseActivity;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.manager.NetInterfaceManager;
-
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
-
-public class GuideActivity extends BaseActivity {
-
- private PhotoView mPhotoView;
- private ConstraintLayout root;
-
- @Override
- public int getLayoutId() {
- return R.layout.activity_guide;
- }
-
- @Override
- public void initView() {
- mPhotoView = findViewById(R.id.photoView);
- root = findViewById(R.id.root);
- root.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- finish();
- }
- });
- mPhotoView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- finish();
- }
- });
- }
-
- @Override
- public void initData() {
- getGuidePic();
- }
-
- private void getGuidePic() {
- NetInterfaceManager.getInstance()
- .getGetGuideControl()
- .compose(this.bindToLifecycle())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("getGuidePic", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse baseResponse) {
- Log.e("getGuidePic", "onNext: ");
- int code = baseResponse.code;
- if (code == 200) {
- JSONObject jsonObject = JSON.parseObject(JSONObject.toJSONString(baseResponse.data));
- String file = jsonObject.getString("file");
- if (!TextUtils.isEmpty(file)) {
- Log.e("getGuidePic", "onNext: " + file);
- Glide.with(GuideActivity.this).load(file).into(mPhotoView);
- }
- } else {
-
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getGuidePic", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("getGuidePic", "onComplete: ");
- }
- });
- }
-
-
-}
diff --git a/app/src/main/java/com/uiui/sn/activity/PrivacyPolicyActivity.java b/app/src/main/java/com/uiui/sn/activity/PrivacyPolicyActivity.java
deleted file mode 100644
index 9c7136d..0000000
--- a/app/src/main/java/com/uiui/sn/activity/PrivacyPolicyActivity.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.uiui.sn.activity;
-
-import android.util.Log;
-import android.view.View;
-import android.webkit.WebSettings;
-import android.webkit.WebView;
-
-import com.uiui.sn.R;
-import com.uiui.sn.base.BaseActivity;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
-
-public class PrivacyPolicyActivity extends BaseActivity {
- private WebView webView;
-
- @Override
- public int getLayoutId() {
- return R.layout.activity_privacypolicy;
- }
-
- @Override
- public void initView() {
- webView = findViewById(R.id.webView);
-
- }
-
- @Override
- public void initData() {
- initWebView();
- webView.loadDataWithBaseURL(null, readAsset("privacy_policy.html"), "text/html", "UTF-8", null);
- }
-
- private void initWebView() {
- WebSettings webSettings = webView.getSettings();
- webSettings.setJavaScriptEnabled(true);
- webSettings.setBlockNetworkImage(false);
- //webSettings.setBuiltInZoomControls(true);
- //webSettings.setSupportZoom(true);
- webSettings.setUseWideViewPort(true);
- webSettings.setLoadWithOverviewMode(true);
- webSettings.setAllowFileAccess(true);
- webSettings.setSupportMultipleWindows(true);
- webSettings.setDomStorageEnabled(true);
- webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
- webSettings.setTextZoom(100);
- webSettings.setDefaultFontSize(200); //设置显示字体的大小
- if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
- webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
- }
- //控制webview不可点击
-// webView.setOnTouchListener(new View.OnTouchListener() {
-// @Override
-// public boolean onTouch(View v, MotionEvent event) {
-// return true;
-// }
-// });
- webView.setOnLongClickListener(new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View view) {
- return true;
- }
- });
- }
-
- public String readAsset(String fileName) {
- try {
- //获取文件中的字节
- InputStream inputStream = getResources().getAssets().open(fileName);
- //将字节转换为字符
- InputStreamReader isReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
- //使用bufferReader去读取内容
- BufferedReader reader = new BufferedReader(isReader);
- StringBuffer stringBuffer = new StringBuffer();
- String out = "";
- while ((out = reader.readLine()) != null) {
- stringBuffer.append(out);
- Log.e("TAG", "readAsset: " + out);
- }
- return stringBuffer.toString();
- } catch (IOException e) {
- e.printStackTrace();
- return "";
- }
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/activity/SNUidActivity.java b/app/src/main/java/com/uiui/sn/activity/SNUidActivity.java
deleted file mode 100644
index 2245cb7..0000000
--- a/app/src/main/java/com/uiui/sn/activity/SNUidActivity.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.uiui.sn.activity;
-
-import android.content.Intent;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.constraintlayout.widget.ConstraintLayout;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.uiui.sn.R;
-import com.uiui.sn.adapter.SNUidAdapter;
-import com.uiui.sn.base.BaseActivity;
-import com.uiui.sn.bean.zuoye.SNUidBean;
-import com.uiui.sn.utils.ToastUtil;
-
-import java.util.List;
-
-import butterknife.BindView;
-import butterknife.ButterKnife;
-
-public class SNUidActivity extends BaseActivity {
- @BindView(R.id.recyclerView)
- RecyclerView mRecyclerView;
- @BindView(R.id.root)
- ConstraintLayout root;
- private SNUidAdapter mAdapter = new SNUidAdapter();
-
- @Override
- public int getLayoutId() {
- return R.layout.activity_sn_uid;
- }
-
- @Override
- public void initView() {
- ButterKnife.bind(this);
- mRecyclerView.setLayoutManager(new LinearLayoutManager(SNUidActivity.this));
- mRecyclerView.setAdapter(mAdapter);
- root.setOnClickListener(view -> finish());
- }
-
- @Override
- public void initData() {
- Intent intent = getIntent();
- String jsonString = intent.getStringExtra("json");
- Log.e("TAG", "initData: " + jsonString);
- if (TextUtils.isEmpty(jsonString)) {
- ToastUtil.show("暂未获取到信息");
- finish();
- return;
- }
- JSONObject jsonObject = JSON.parseObject(jsonString);
- JSONArray jsonArray = jsonObject.getJSONArray("card_info");
- List snUidBeads = JSON.parseArray(jsonArray.toJSONString(), SNUidBean.class);
- if (snUidBeads == null) {
-
- } else {
- mAdapter.setSnUidBeans(snUidBeads);
- }
- }
-
-}
diff --git a/app/src/main/java/com/uiui/sn/activity/ScreenLockActivity.java b/app/src/main/java/com/uiui/sn/activity/ScreenLockActivity.java
deleted file mode 100644
index 49b13d1..0000000
--- a/app/src/main/java/com/uiui/sn/activity/ScreenLockActivity.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.uiui.sn.activity;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.KeyEvent;
-import android.view.WindowManager;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.uiui.sn.R;
-
-
-public class ScreenLockActivity extends AppCompatActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
- setContentView(R.layout.activity_screen_lock);
-
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- startActivity(new Intent(this, this.getClass()));
- }
-
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
- return false;
- }
- return super.onKeyDown(keyCode, event);
- }
-
- @Override
- public void onBackPressed() {
-
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/activity/SplashActivity.java b/app/src/main/java/com/uiui/sn/activity/SplashActivity.java
new file mode 100644
index 0000000..bf4957c
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/activity/SplashActivity.java
@@ -0,0 +1,43 @@
+package com.uiui.sn.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Handler;
+import android.view.WindowManager;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.uiui.sn.R;
+import com.uiui.sn.activity.main.MainActivity;
+import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
+
+
+public class SplashActivity extends AppCompatActivity {
+ private static String TAG = SplashActivity.class.getSimpleName();
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ setBar();
+ setContentView(R.layout.activity_home);
+
+ new Handler().postDelayed(() -> {
+ startActivity(new Intent(SplashActivity.this, MainActivity.class));
+ finish();
+ }, 2000);
+ }
+
+ private void setBar() {
+ UltimateBarX.statusBar(this)
+ .transparent()
+ .colorRes(R.color.colorPrimaryDark)
+ .light(true)
+ .apply();
+ UltimateBarX.navigationBar(this)
+ .transparent()
+ .colorRes(R.color.colorPrimaryDark)
+ .light(true)
+ .apply();
+ }
+}
diff --git a/app/src/main/java/com/uiui/sn/activity/UserAgreementActivity.java b/app/src/main/java/com/uiui/sn/activity/UserAgreementActivity.java
deleted file mode 100644
index 82264c0..0000000
--- a/app/src/main/java/com/uiui/sn/activity/UserAgreementActivity.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.uiui.sn.activity;
-
-import android.util.Log;
-import android.view.View;
-import android.webkit.WebSettings;
-import android.webkit.WebView;
-
-import com.uiui.sn.R;
-import com.uiui.sn.base.BaseActivity;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
-
-public class UserAgreementActivity extends BaseActivity {
- private WebView webView;
-
- @Override
- public int getLayoutId() {
- return R.layout.activity_useragreement;
- }
-
- @Override
- public void initView() {
- webView = findViewById(R.id.webView);
-
- }
-
- @Override
- public void initData() {
- initWebView();
- webView.loadDataWithBaseURL(null, readAsset("user_agreement.html"), "text/html", "UTF-8", null);
- }
-
- private void initWebView() {
- WebSettings webSettings = webView.getSettings();
- webSettings.setJavaScriptEnabled(true);
- webSettings.setBlockNetworkImage(false);
- //webSettings.setBuiltInZoomControls(true);
- //webSettings.setSupportZoom(true);
- webSettings.setUseWideViewPort(true);
- webSettings.setLoadWithOverviewMode(true);
- webSettings.setAllowFileAccess(true);
- webSettings.setSupportMultipleWindows(true);
- webSettings.setDomStorageEnabled(true);
- webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
- webSettings.setTextZoom(100);
- webSettings.setDefaultFontSize(200); //设置显示字体的大小
- if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
- webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
- }
- //控制webview不可点击
-// webView.setOnTouchListener(new View.OnTouchListener() {
-// @Override
-// public boolean onTouch(View v, MotionEvent event) {
-// return true;
-// }
-// });
- webView.setOnLongClickListener(new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View view) {
- return true;
- }
- });
- }
-
- public String readAsset(String fileName) {
- try {
- //获取文件中的字节
- InputStream inputStream = getResources().getAssets().open(fileName);
- //将字节转换为字符
- InputStreamReader isReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
- //使用bufferReader去读取内容
- BufferedReader reader = new BufferedReader(isReader);
- StringBuffer stringBuffer = new StringBuffer();
- String out = "";
- while ((out = reader.readLine()) != null) {
- stringBuffer.append(out);
- Log.e("TAG", "readAsset: " + out);
- }
- return stringBuffer.toString();
- } catch (IOException e) {
- e.printStackTrace();
- return "";
- }
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/activity/main/MainAContact.java b/app/src/main/java/com/uiui/sn/activity/main/MainAContact.java
new file mode 100644
index 0000000..630434c
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/activity/main/MainAContact.java
@@ -0,0 +1,31 @@
+package com.uiui.sn.activity.main;
+
+import android.graphics.Bitmap;
+
+import com.uiui.sn.base.BasePresenter;
+import com.uiui.sn.base.BaseView;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.SnInfo;
+
+public class MainAContact {
+ public interface MainView extends BaseView {
+ void setSnInfo(BaseResponse response);
+ void setAppletQRCode(String url);
+ void setQRCode(Bitmap bitmap);
+ void checkUpdateFinish();
+ void setForceInstall();
+ }
+
+ interface Presenter extends BasePresenter {
+ /*获取设备信息*/
+ void getSnInfo();
+ /*获取小程序二维码*/
+ void getAppletQRCode();
+ /*获取二维码*/
+ void getQRCode();
+ /*检查更新*/
+ void checkUpdate();
+ /*获取强制下载*/
+ void getForceInstall();
+ }
+}
diff --git a/app/src/main/java/com/uiui/sn/activity/main/MainAPresenter.java b/app/src/main/java/com/uiui/sn/activity/main/MainAPresenter.java
new file mode 100644
index 0000000..56c8225
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/activity/main/MainAPresenter.java
@@ -0,0 +1,181 @@
+package com.uiui.sn.activity.main;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.ActivityEvent;
+import com.uiui.sn.bean.AppInfo;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.SnInfo;
+import com.uiui.sn.config.CommonConfig;
+import com.uiui.sn.network.HTTPInterface;
+import com.uiui.sn.network.NetInterfaceManager;
+import com.uiui.sn.utils.ApkUtils;
+import com.uiui.sn.utils.CXAESUtil;
+import com.uiui.sn.utils.JGYUtils;
+import com.uiui.sn.utils.SPUtils;
+import com.uiui.sn.utils.Utils;
+
+import java.util.HashSet;
+import java.util.List;
+
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.subjects.BehaviorSubject;
+
+/**
+ * @author jgy02
+ */
+public class MainAPresenter implements MainAContact.Presenter {
+ private String TAG = MainAPresenter.class.getSimpleName();
+
+ private MainAContact.MainView mView;
+ private Context mContext;
+
+ public MainAPresenter(Context context) {
+ this.mContext = context;
+ }
+
+ private BehaviorSubject lifecycle;
+
+ public void setLifecycle(BehaviorSubject lifecycle) {
+ this.lifecycle = lifecycle;
+ }
+
+ public BehaviorSubject getLifecycle() {
+ return lifecycle;
+ }
+
+ @Override
+ public void attachView(MainAContact.MainView view) {
+ this.mView = view;
+ }
+
+ @Override
+ public void detachView() {
+ this.mView = null;
+ }
+
+ @Override
+ public void getSnInfo() {
+ NetInterfaceManager.getInstance()
+ .getSnInfo(lifecycle, new NetInterfaceManager.ObserverCallback() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(BaseResponse response) {
+ mView.setSnInfo(response);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ @Override
+ public void getAppletQRCode() {
+ NetInterfaceManager.getInstance()
+ .getQRCodeApiControl()
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ Log.e("getAppletQRCode", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(BaseResponse baseResponse) {
+ Log.e("getAppletQRCode", "onNext: ");
+ if (baseResponse.code == 200) {
+ JSONObject jsonObject = (JSONObject) JSON.toJSON(baseResponse.data);
+ String url = jsonObject.getString("file");
+ mView.setAppletQRCode(url);
+ } else {
+ mView.setAppletQRCode("");
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ Log.e("getAppletQRCode", "onError: " + e.getMessage());
+ mView.setAppletQRCode("");
+ onComplete();
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("getAppletQRCode", "onComplete: ");
+ }
+ });
+ }
+
+ @Override
+ public void getQRCode() {
+ String encryptString = CXAESUtil.encrypt(CommonConfig.AES_KEY, Utils.getSerial());
+ Log.e(TAG + TAG, "setImageAndText: " + encryptString);
+ Bitmap bitmap = Utils.createQRImage(encryptString, 400, 400);
+ mView.setQRCode(bitmap);
+ }
+
+ @Override
+ public void checkUpdate() {
+ mView.checkUpdateFinish();
+ }
+
+ @Override
+ public void getForceInstall() {
+ NetInterfaceManager.getInstance()
+ .getForceInstallControl()
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
+ .subscribe(new Observer>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ Log.e(TAG + "getForceInstall", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(BaseResponse> listBaseResponse) {
+ Log.e(TAG + "getForceInstall", "onNext: " + listBaseResponse);
+ int code = listBaseResponse.code;
+ if (code == 200) {
+ List appInfos = listBaseResponse.data;
+ if (null != appInfos && appInfos.size() != 0) {
+ HTTPInterface.getForceInstallState(mContext, appInfos);
+ }
+ } else {
+ boolean qch_force_app = JGYUtils.putString(mContext.getContentResolver(), "qch_force_app", "invalid");
+ Log.e(TAG + TAG, "qch_force_app: invalid: " + qch_force_app);
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ Log.e(TAG + "getForceInstall", "onError: " + e.getMessage());
+ onComplete();
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e(TAG + "getForceInstall", "onComplete: ");
+ mView.setForceInstall();
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/uiui/sn/activity/main/MainActivity.java b/app/src/main/java/com/uiui/sn/activity/main/MainActivity.java
index 663dccf..5858f83 100644
--- a/app/src/main/java/com/uiui/sn/activity/main/MainActivity.java
+++ b/app/src/main/java/com/uiui/sn/activity/main/MainActivity.java
@@ -1,68 +1,46 @@
package com.uiui.sn.activity.main;
+import android.annotation.SuppressLint;
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.net.Uri;
import android.os.AsyncTask;
import android.os.SystemClock;
-import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.KeyEvent;
-import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
-import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
-import androidx.viewpager.widget.ViewPager;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.blankj.utilcode.util.NetworkUtils;
import com.bumptech.glide.Glide;
-import com.flyco.tablayout.SlidingTabLayout;
import com.uiui.sn.BuildConfig;
import com.uiui.sn.R;
-import com.uiui.sn.activity.GuideActivity;
-import com.uiui.sn.activity.PrivacyPolicyActivity;
-import com.uiui.sn.activity.SNUidActivity;
-import com.uiui.sn.activity.UserAgreementActivity;
-import com.uiui.sn.activity.selectegrade.SelecteGradeActivity;
import com.uiui.sn.base.BaseActivity;
-import com.uiui.sn.bean.gankao.AvailableProduct;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.UserInfo;
-import com.uiui.sn.config.Configs;
-import com.uiui.sn.config.Scheme;
-import com.uiui.sn.dialog.ActivationDialog;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.SnInfo;
+import com.uiui.sn.config.CommonConfig;
import com.uiui.sn.dialog.UserDebugDialog;
import com.uiui.sn.fragment.AppletQRCodeFragment;
import com.uiui.sn.fragment.BaseFragmentPagerAdapter;
import com.uiui.sn.fragment.QRCodeFragment;
-import com.uiui.sn.jpush.ExampleUtil;
-import com.uiui.sn.jpush.LocalBroadcastManager;
-import com.uiui.sn.jpush.TagAliasOperatorHelper;
-import com.uiui.sn.manager.NetInterfaceManager;
-import com.uiui.sn.network.HTTPInterface;
-import com.uiui.sn.receiver.BootReceiver;
+import com.uiui.sn.manager.ControlManager;
+import com.uiui.sn.manager.DeviceManager;
import com.uiui.sn.service.ControlPanelService;
import com.uiui.sn.service.DownloadService;
import com.uiui.sn.service.GuardService;
-import com.uiui.sn.service.MainService;
import com.uiui.sn.service.ManagerService;
import com.uiui.sn.service.StepService;
-import com.uiui.sn.manager.ControlManager;
-import com.uiui.sn.manager.DeviceManager;
+import com.uiui.sn.service.main.MainService;
import com.uiui.sn.utils.JGYUtils;
-import com.uiui.sn.utils.LaunchTools;
import com.uiui.sn.utils.SPUtils;
import com.uiui.sn.utils.TimeUtils;
import com.uiui.sn.utils.ToastUtil;
@@ -71,21 +49,14 @@ import com.uiui.sn.utils.Utils;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import butterknife.BindView;
import butterknife.ButterKnife;
import cn.jpush.android.api.JPushInterface;
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
-import static com.uiui.sn.jpush.TagAliasOperatorHelper.ACTION_SET;
-
-public class MainActivity extends BaseActivity implements MainContact.MainView, NetworkUtils.OnNetworkStatusChangedListener {
- private final String TAG = MainActivity.class.getSimpleName();
+public class MainActivity extends BaseActivity implements MainAContact.MainView, NetworkUtils.OnNetworkStatusChangedListener {
+ private static final String TAG = MainActivity.class.getSimpleName();
@BindView(R.id.tv_exit)
TextView tv_exit;
@@ -106,10 +77,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
@BindView(R.id.iv_exit)
ImageView iv_exit;
- private MainPresenter mPresenter = new MainPresenter(this);
- private long time0;
- private long timeMillis;
- public static boolean isForeground = false;
+ private MainAPresenter mPresenter = new MainAPresenter(this);
@Override
public void onDisconnected() {
@@ -126,37 +94,37 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
return R.layout.activity_main;
}
+ @SuppressLint("SetTextI18n")
@Override
public void initView() {
Utils.getAndroiodScreenProperty(this);
+
ButterKnife.bind(this);
- mPresenter.setProvider(this);
+ mPresenter.setLifecycle(lifecycleSubject);
mPresenter.attachView(this);
- mPresenter.setAlias();
+
NetworkUtils.registerNetworkStatusChangedListener(this);
setOnClickListener();
- String rom = JGYUtils.getCustomVersion();
- tv_customversion.setText(rom);
+ tv_customversion.setText(JGYUtils.getCustomVersion());
tv_sn.setText("SN:" + Utils.getSerial());
tv_version.setText(BuildConfig.VERSION_NAME);
- initTabLayout();
- readOldData();
- TimeTask task = new TimeTask();
+
+ task = new TimeTask();
task.execute("ntp.aliyun.com");
- getQRCodeURL();
+
//更新设备信息之后停止停止这两个应用以免获取不到信息
int versionCode = (int) SPUtils.get(this, "versionCode", 0);
if (versionCode < BuildConfig.VERSION_CODE) {
-// JGYUtils.getInstance().killBackgroundProcesses(this, "com.jiaoguanyi.os");
-// JGYUtils.getInstance().killBackgroundProcesses(this, "com.gankao.gkwxhd");
SPUtils.put(this, "versionCode", BuildConfig.VERSION_CODE);
}
JGYUtils.getInstance().wakeUpAppstore();
JGYUtils.getInstance().wakeUpUpdateTools();
}
- private class TimeTask extends AsyncTask {
+ private TimeTask task;
+
+ private static class TimeTask extends AsyncTask {
@Override
protected Long doInBackground(String... strings) {
return TimeUtils.getTimeFromNtpServer(strings[0]);
@@ -171,15 +139,12 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
@Override
public void initData() {
- HTTPInterface.setBrowserWhiteList(this);
if (DeviceManager.isDebugMode()) {
Log.e(TAG, "getAllSPUtils: " + JSONObject.toJSONString(SPUtils.getAll(this)));
-// TimeUtils.setSystemTime(1627702095000L);
Log.e(TAG, "getWeekDay: " + TimeUtils.inWeekDay());
Log.e(TAG, "getWeekDay: " + TimeUtils.inWeekDay(1627702095000L));
Log.e(TAG, "getWeekDayString: " + new TimeUtils().getWeekDayString());
Log.e(TAG, "getWeekDayString: " + new TimeUtils().getWeekDayString(1627702095000L));
-// DeviceManager.doMasterClear();
}
JPushInterface.init(this);
if (DeviceManager.isDebugMode()) {
@@ -187,47 +152,27 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
}
startService();
registerReceiver();
- setJpush();
- HTTPInterface.sendAppUsed(this);
- HTTPInterface.sendRunningApp(this);
- HTTPInterface.getAPPinfo(this);
- time0 = System.currentTimeMillis();
- timeMillis = System.currentTimeMillis();
- mPresenter.getQRCode();
-// mPresenter.getInfo();
- mPresenter.getUserInfo();
- mPresenter.queryPowerUserList();
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- mPresenter.detachView();
- NetworkUtils.unregisterNetworkStatusChangedListener(this);
- startService();
}
@Override
protected void onResume() {
super.onResume();
- mPresenter.getUserInfo();
mPresenter.getSnInfo();
- isForeground = true;
}
@Override
protected void onPause() {
super.onPause();
- isForeground = false;
}
@Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == KeyEvent.ACTION_DOWN) {
- exit();
- return true;
- }
- return super.onKeyDown(keyCode, event);
+ protected void onDestroy() {
+ super.onDestroy();
+ task.cancel(true);
+ task = null;
+ mPresenter.detachView();
+ NetworkUtils.unregisterNetworkStatusChangedListener(this);
+ startService();
}
@Override
@@ -238,53 +183,20 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
}
}
- private void getQRCodeURL() {
- NetInterfaceManager.getInstance()
- .getQRCodeApiControl()
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("getQRCodeURL", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse baseResponse) {
- Log.e("getQRCodeURL", "onNext: ");
- if (baseResponse.code == 200) {
- JSONObject jsonObject = (JSONObject) JSON.toJSON(baseResponse.data);
- String url = jsonObject.getString("file");
- if (!TextUtils.isEmpty(url)) {
- Glide.with(iv_appqrcode)
- .load(url)
- .dontAnimate()
- .placeholder(getDrawable(R.drawable.applet_qrcode))
- .into(iv_appqrcode);
- } else {
- iv_appqrcode.setImageDrawable(getDrawable(R.drawable.applet_qrcode));
- }
- } else {
- iv_appqrcode.setImageDrawable(getDrawable(R.drawable.applet_qrcode));
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getQRCodeURL", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("getQRCodeURL", "onComplete: ");
- }
- });
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == KeyEvent.ACTION_DOWN) {
+ lazyExit();
+ return true;
+ }
+ return super.onKeyDown(keyCode, event);
}
-
private boolean isDebugMode() {
if (DeviceManager.isDebugMode()) {
return true;
} else {
- return (boolean) SPUtils.get(this, Configs.userDebugMode, false);
+ return (boolean) SPUtils.get(this, CommonConfig.userDebugMode, false);
}
}
@@ -299,7 +211,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
mDEBUGHits[mDEBUGHits.length - 1] = SystemClock.uptimeMillis();
if (mDEBUGHits[0] >= SystemClock.uptimeMillis() - DEBUGDURATION) {
mDEBUGHits = new long[DEBUGCOUNTS]; //重新初始化数组
- if ((boolean) SPUtils.get(MainActivity.this, Configs.EnableDebug, false)) {
+ if ((boolean) SPUtils.get(MainActivity.this, CommonConfig.EnableDebug, false)) {
ToastUtil.show("已经是Debug模式");
} else {
showDebugDialog();
@@ -313,7 +225,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
@Override
public void onPositiveClick() {
if ("53680320".equals(dialog.getEdittext())) {
- SPUtils.put(MainActivity.this, Configs.EnableDebug, true);
+ SPUtils.put(MainActivity.this, CommonConfig.EnableDebug, true);
ToastUtil.show("进入用户Debug模式");
} else {
ToastUtil.show("密码错误");
@@ -340,49 +252,11 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
BaseFragmentPagerAdapter adapter = new BaseFragmentPagerAdapter(fragmentManager, fragmentList);
}
- private void setJpush() {
- String rid = JPushInterface.getRegistrationID(this);
- if (TextUtils.isEmpty(rid)) {
- ToastUtil.debugShow("RegId:" + rid);
- Log.e("RegId", rid);
- }
- }
-
- private long mExitTime;
-
- private void exit() {
- if (System.currentTimeMillis() - this.mExitTime > (long) 2000) {
- ToastUtil.show("再按一次退出程序");
- this.mExitTime = System.currentTimeMillis();
- } else {
- this.finish();
- }
- }
-
- private void readOldData() {
- int statu = (int) SPUtils.get(this, Configs.isLogined, 0);
- switch (statu) {
- default:
- break;
- case 0:
-// tv_note.setText("设备未绑定");
- break;
- case 1:
-// tv_note.setText("设备已绑定");
- break;
- case 2:
-// tv_note.setText("未经验证的设备,请联系客服");
- break;
- }
- }
-
private void setOnClickListener() {
iv_exit.setOnClickListener(view -> lazyExit());
tv_title.setOnClickListener(view -> {
if (isDebugMode()) {
enterUserDebug();
- } else {
-
}
});
}
@@ -398,222 +272,6 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
}
}
- private void showActivationDialog() {
- ActivationDialog dialog = new ActivationDialog(this);
- dialog.setMessage("是否激活学习系统")
- .setTitle("激活")
- .setPositive("确定")
- .setNegtive("取消")
- .setOnClickBottomListener(new ActivationDialog.OnClickBottomListener() {
- @Override
- public void onPositiveClick() {
-// mPresenter.checkSN();
- dialog.dismiss();
- }
-
- @Override
- public void onNegtiveClick() {
- dialog.dismiss();
- }
- });
- dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
- dialog.show();
- }
-
- private void toDesktop() {
- try {
- Intent intent = new Intent(activation);
- ComponentName componentName = new ComponentName("com.android.uiuios", "com.android.uiuios.activity.MainActivity");
- intent.setComponent(componentName);
- startActivity(intent);
- } catch (Exception e) {
- ToastUtil.show("未安装桌面");
- Log.e("toDesktop", "Exception: " + e.getMessage());
- }
- }
-
- @Override
- public void setPowerUserList(String date) {
-
- }
-
- @Override
- public void checkSNFinish(int code) {
- switch (code) {
- case 200:
- case 300:
- mPresenter.getGankaoUID();
- ToastUtil.show("设备验证成功");
- break;
- case 400:
- ToastUtil.show("此设备未经授权,禁止激活");
- break;
- case 404:
- ToastUtil.show("网络连接失败,稍后重试");
- break;
- default:
- break;
- }
- }
-
- @Override
- public void setGankaoUID(@NotNull String gankaoUID) {
- if (TextUtils.isEmpty(gankaoUID)) {
- ToastUtil.show("用户注册失败");
- } else {
- ToastUtil.show("用户注册成功");
- mPresenter.queryAvailableProduct(gankaoUID);
- }
- }
-
- @Override
- public void setAvailableProduct(@NotNull List availableProductList, String gankaoUID) {
- setGrade(availableProductList, gankaoUID);
- }
-
- /**
- * @param list 通过年纪获取对应的产品id
- */
- private void setGrade(List list, String gankaoUID) {
- if (list == null || list.size() == 0) {
- ToastUtil.show("获取激活套餐失败");
- } else {
- AvailableProduct defaultProduct = null;
- AvailableProduct primary = null;
- AvailableProduct junior = null;
- AvailableProduct high = null;
- for (AvailableProduct product : list) {
- if (product.getDuration().contains("全学段")) {
- defaultProduct = product;
- }
- if (product.getDuration().contains("小学")) {
- primary = product;
- }
- if (product.getDuration().contains("初中")) {
- junior = product;
- }
- if (product.getDuration().contains("高中")) {
- high = product;
- }
- }
- String grade = Settings.System.getString(getContentResolver(), "UserInfo_grade");
- if (TextUtils.isEmpty(grade)) {
- grade = "一年级";
- }
- switch (grade) {
- default:
- activeUser(defaultProduct, gankaoUID);
- break;
-// case "一年级":
-// case "二年级":
-// case "三年级":
-// case "四年级":
-// case "五年级":
-// case "六年级":
-// activeUser(junior);
-// break;
-// case "七年级":
-// case "八年级":
-// case "九年级":
-// activeUser(primary);
-// break;
-// case "高一":
-// case "高二":
-// case "高三":
-// activeUser(high);
-// break;
- }
- }
- }
-
- /**
- * @param product 通过产品id激活设备
- */
- private void activeUser(AvailableProduct product, String gankaoUID) {
- if (product == null) {
- ToastUtil.show("获取激活套餐失败");
- return;
- }
- mPresenter.activeUser(product, gankaoUID);
- }
-
- @Override
- public void activeUserFinish(int code) {
- switch (code) {
- case 10000:
- ToastUtil.show("授权成功");
- toGankaoApp();
- break;
- case 50000:
- ToastUtil.show("已经授权");
- toGankaoApp();
- break;
- case 0:
- default:
- ToastUtil.show("授权失败");
- break;
- }
- }
-
- @Override
- public void setAlias() {
- setJpushAlias();
- Log.e(TAG, "setAlias: " + "finish");
- mPresenter.getBatch();
- }
-
- private void setJpushAlias() {
- String alias = Utils.getSerial();
- TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
- tagAliasBean.action = ACTION_SET;
- TagAliasOperatorHelper.sequence++;
- tagAliasBean.alias = alias;
- tagAliasBean.isAliasAction = true;
- TagAliasOperatorHelper.getInstance().handleAction(this, TagAliasOperatorHelper.sequence, tagAliasBean);
- }
-
- private void setTag(Set set) {
- TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
- tagAliasBean.action = ACTION_SET;
- TagAliasOperatorHelper.sequence++;
- tagAliasBean.tags = set;
- tagAliasBean.isAliasAction = false;
- TagAliasOperatorHelper.getInstance().handleAction(this, TagAliasOperatorHelper.sequence, tagAliasBean);
- }
-
- @Override
- public void setBatch(String batch) {
- HashSet hashSet = new HashSet();
- hashSet.add(batch);
- hashSet.removeIf(o -> TextUtils.isEmpty(o.toString()));
- if (hashSet.size() != 0) {
- setTag(hashSet);
- } else {
- Log.e(TAG, "setBatch: " + "hashSet size is 0");
- }
- }
-
- private void toGankaoApp() {
- String gankaoUID = (String) SPUtils.get(MainActivity.this, "gankaoUID", "");
- if (TextUtils.isEmpty(gankaoUID)) {
- ToastUtil.show("获取用户信息失败");
- return;
- }
- HashMap keys = new HashMap();
- //device_id 传入赶考 UID 可实现账户公用,不会创建新账号
- keys.put("device_id", Uri.encode(gankaoUID));
- keys.put("partner_id", Scheme.partner_id);
- keys.put("macaddr", Uri.encode(Utils.getAndroid7MAC()));
- try {
- String uri = LaunchTools.toUserCenter(MainActivity.this, keys, Uri.encode(Scheme.ownCenter));
-// Scheme.openScheme(MainActivity.this, Scheme.getLogin(MainActivity.this));
- Scheme.openScheme(MainActivity.this, uri);
-// LaunchTools.goGankao(MainActivity.this, "", "");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
private final int COUNTS = 4; // 点击次数
private final long DURATION = 2 * 1000; // 规定有效时间
private long[] mHits = new long[COUNTS];
@@ -629,8 +287,6 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
}
}
- public static String activation = "gankao_activation";
-
private void startService() {
startService(new Intent(this, MainService.class));
startService(new Intent(this, GuardService.class));
@@ -638,11 +294,9 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
startService(new Intent(this, DownloadService.class));
startService(new Intent(this, ManagerService.class));
startService(new Intent(this, ControlPanelService.class));
-
}
private void registerReceiver() {
- registerMessageReceiver();
registerRefreshReceiver();
}
@@ -666,189 +320,63 @@ public class MainActivity extends BaseActivity implements MainContact.MainView,
}
}
- //for receive customer msg from jpush server
- private MessageReceiver mMessageReceiver = new MessageReceiver();
- private String MESSAGE_RECEIVED_ACTION = "com.uiui.sn.MESSAGE_RECEIVED_ACTION";
- private String KEY_TITLE = "title";
- private String KEY_MESSAGE = "message";
- private String KEY_EXTRAS = "extras";
-
- private void registerMessageReceiver() {
- IntentFilter filter = new IntentFilter();
- filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
- filter.addAction(MESSAGE_RECEIVED_ACTION);
- LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter);
+ @Override
+ public void setSnInfo(BaseResponse response) {
+ if (response != null) {
+ int code = response.code;
+ setDeviceBindStatu(code);
+ }
}
- class MessageReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- 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");
- }
- }
+ private void setDeviceBindStatu(int code) {
+ //设备已经绑定
+ if (code == 200) {
+ tv_bind.setText(getString(R.string.bind_succeed));
+ mPresenter.getAppletQRCode();
}
+ //设备没有绑定
+ else if (code == 300) {
+ tv_bind.setText(getString(R.string.scan_tips));
+ ControlManager.getInstance().setDisableSetting();
+ mPresenter.getAppletQRCode();
+ }
+ //没有授权的设备
+ else if (code == 400) {
+ tv_bind.setText(getString(R.string.device_unauthorized));
+ ToastUtil.show(getString(R.string.device_unauthorized));
+ Log.e(TAG, "setSnInfo: " + getString(R.string.device_unauthorized));
+ ControlManager.getInstance().setDisableSetting();
+ }
+ }
+
+ @Override
+ public void setAppletQRCode(String url) {
+ if (!TextUtils.isEmpty(url)) {
+ Glide.with(iv_appqrcode)
+ .load(url)
+ .dontAnimate()
+ .placeholder(getDrawable(R.drawable.applet_qrcode))
+ .into(iv_appqrcode);
+ } else {
+ iv_appqrcode.setImageDrawable(getDrawable(R.drawable.applet_qrcode));
+ }
+ mPresenter.getQRCode();
}
@Override
public void setQRCode(@NotNull Bitmap bitmap) {
qr_code.setImageBitmap(bitmap);
- mPresenter.initAmap();
- }
-
- @Override
- public void setSnInfo(BaseResponse response) {
- if (response != null) {
- int code = response.code;
- //设备已经绑定
- if (code == 200) {
- tv_bind.setText(getString(R.string.bind_succeed));
- UserInfo userInfo = response.data;
- boolean username = Settings.System.putString(getContentResolver(), "UserInfo_username", userInfo.getSn_name());
- boolean gread = Settings.System.putString(getContentResolver(), "UserInfo_grade", userInfo.getGrade());
- SPUtils.put(this, "member_id", userInfo.getMember_id());
- SPUtils.put(this, "sn_id", userInfo.getId());
- if (!TextUtils.isEmpty(userInfo.getSn_name())) {
- SPUtils.put(this, "USERINFO_NAME", userInfo.getSn_name());
- }
- if (!TextUtils.isEmpty(userInfo.getSchool())) {
- SPUtils.put(this, "USERINFO_SCHOOL", userInfo.getSchool());
- }
- if (!TextUtils.isEmpty(userInfo.getGrade())) {
- SPUtils.put(this, "USERINFO_GRADE", userInfo.getGrade());
- }
- mPresenter.getLocked();
- }
- //设备没有绑定
- else if (code == 300) {
- tv_bind.setText(getString(R.string.scan_tips));
- ControlManager.getInstance().setDisableSetting();
- }
- //没有授权的设备
- else if (code == 400) {
- tv_bind.setText("设备未经授权");
- ToastUtil.show("设备未经授权");
- Log.e(TAG, "setInfo: " + "设备未经授权");
- ControlManager.getInstance().setDisableSetting();
- }
- }
- Log.e(TAG, "setInfo: " + (System.currentTimeMillis() - time0) + "ms");
- mPresenter.getSnUid();
- }
-
- private String SnUidJSON;
-
- @Override
- public void setSnUid(JSONObject jsonObject) {
- if (jsonObject != null) {
- this.SnUidJSON = jsonObject.toJSONString();
- String uid = jsonObject.getString("uid");
- if (!TextUtils.isEmpty(uid)) {
- Settings.System.putString(getContentResolver(), "gankaoUID", uid);
- }
-// long activate_time = jsonObject.getLong("activate_time");
-// String card_info = jsonObject.getString("card_info");
-// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-// Date d1 = new Date(activate_time * 1000);
-// int grade = jsonObject.getIntValue("grade");
-// SPUtils.put(MainActivity.this, "int_grade", grade);
-// String t1 = format.format(d1);
-// tv_vip.setText(card_info);
-// tv_activate.setText(t1 + " 激活");
- } else {
- mPresenter.registerGankao();
- }
- }
-
- @Override
- public void setGankao(String gankaoUID) {
-
- }
-
- @Override
- public void setUserInfo() {
-
- }
-
- @Override
- public void setLocked(int lockedStatus) {
- switch (lockedStatus) {
- case 0:
-// tv_note.setText("设备未绑定");
- ControlManager.getInstance().setDisableSetting();
- break;
- case 1:
-// tv_note.setText("设备已绑定");
- break;
- case 2:
- ControlManager.getInstance().setDisableSetting();
-// tv_note.setText("未经验证的设备,请联系客服");
- break;
- default:
- break;
- }
mPresenter.checkUpdate();
}
- @Override
- public void onLocationChanged() {
- HTTPInterface.updateAdminInfo(this);
- }
-
@Override
public void checkUpdateFinish() {
- mPresenter.getAllApp();
- }
-
- @Override
- public void getAllAppFinish() {
- mPresenter.getAppInside();
- }
-
- @Override
- public void setAppInside() {
mPresenter.getForceInstall();
}
@Override
public void setForceInstall() {
- mPresenter.getSystemSettings();
- }
- @Override
- public void setSystemSettings() {
- mPresenter.getBrowserLabel();
}
-
- @Override
- public void setBrowserLabel() {
- mPresenter.getBrowserWhiteList();
- }
-
- @Override
- public void setBrowserWhiteList() {
- mPresenter.getAppStart();
- }
-
- @Override
- public void setAppStart() {
- mPresenter.getTimeControl();
- }
-
- @Override
- public void setTimeControl() {
- mPresenter.getScreenLock();
- }
-
- @Override
- public void setScreenLock() {
- Log.e(TAG, "SettingFinished: " + (System.currentTimeMillis() - timeMillis) + " ms");
- }
-
}
diff --git a/app/src/main/java/com/uiui/sn/activity/main/MainContact.java b/app/src/main/java/com/uiui/sn/activity/main/MainContact.java
deleted file mode 100644
index 72a358e..0000000
--- a/app/src/main/java/com/uiui/sn/activity/main/MainContact.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.uiui.sn.activity.main;
-
-import android.graphics.Bitmap;
-
-import com.alibaba.fastjson.JSONObject;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.UserInfo;
-import com.uiui.sn.bean.gankao.AvailableProduct;
-import com.uiui.sn.mvp.BasePresenter;
-import com.uiui.sn.mvp.BaseView;
-
-import java.util.List;
-
-public class MainContact {
- public interface MainView extends BaseView {
- void setPowerUserList(String date);
- void checkSNFinish(int code);
- void setGankaoUID(String gankaoUID);
- void setAvailableProduct(List availableProductList, String gankaoUID);
- void activeUserFinish(int code);
-
- void setAlias();
- void setBatch(String batch);
- void setQRCode(Bitmap bitmap);
- void setSnInfo(BaseResponse response);
- void setSnUid(JSONObject jsonObject);
- void setGankao(String gankaoUID);
- void setUserInfo();
- void setLocked(int lockedStatus);
- void onLocationChanged();
- void checkUpdateFinish();
- void getAllAppFinish();
- void setAppInside();
- void setForceInstall();
- void setSystemSettings();
- void setBrowserLabel();
- void setBrowserWhiteList();
- void setAppStart();
- void setTimeControl();
- void setScreenLock();
- }
-
- interface Presenter extends BasePresenter {
- void queryPowerUserList();
- void checkSN();
- void getGankaoUID();
- void queryAvailableProduct(String gankaoUID);
- void activeUser(AvailableProduct product, String gankaoUID);
-
- //设置别名
- void setAlias();
- //获取班级id
- void getBatch();
- //获取二维码
- void getQRCode();
- //获取设备信息
- void getSnInfo();
- //获取激活时间
- void getSnUid();
- //注册赶考账号
- void registerGankao();
- //获取头像昵称
- void getUserInfo();
- //获取锁定状态
- void getLocked();
- //初始化地图
- void initAmap();
- //检查更新
- void checkUpdate();
- //获取所有app包名
- void getAllApp();
- //获取id管控
- void getAppInside();
- //获取强制下载
- void getForceInstall();
- //获取系统设置
- void getSystemSettings();
- //获取浏览器书签
- void getBrowserLabel();
- //获取浏览器黑白名单
- void getBrowserWhiteList();
- //应用自启
- void getAppStart();
- //获取时间管控、
- void getTimeControl();
- //获取锁屏管控
- void getScreenLock();
-
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradeActivity.java b/app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradeActivity.java
deleted file mode 100644
index fd6e6c8..0000000
--- a/app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradeActivity.java
+++ /dev/null
@@ -1,382 +0,0 @@
-package com.uiui.sn.activity.selectegrade;
-
-import android.net.Uri;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.Button;
-import android.widget.RadioButton;
-import android.widget.RadioGroup;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.uiui.sn.R;
-import com.uiui.sn.base.BaseActivity;
-import com.uiui.sn.bean.gankao.AvailableProduct;
-import com.uiui.sn.bean.gankao.PowerUser;
-import com.uiui.sn.config.Scheme;
-import com.uiui.sn.utils.LaunchTools;
-import com.uiui.sn.utils.SPUtils;
-import com.uiui.sn.utils.ToastUtil;
-import com.uiui.sn.utils.Utils;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.TimeZone;
-
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
-
-public class SelecteGradeActivity extends BaseActivity implements SelecteGradeContact.MainView {
- @BindView(R.id.radioGroup1)
- RadioGroup radioGroup1;
- @BindView(R.id.radioGroup2)
- RadioGroup radioGroup2;
- @BindView(R.id.radioGroup3)
- RadioGroup radioGroup3;
- @BindView(R.id.radioGroup4)
- RadioGroup radioGroup4;
- @BindView(R.id.radioButton1)
- RadioButton radioButton1;
- @BindView(R.id.radioButton2)
- RadioButton radioButton2;
- @BindView(R.id.radioButton3)
- RadioButton radioButton3;
- @BindView(R.id.radioButton4)
- RadioButton radioButton4;
- @BindView(R.id.radioButton5)
- RadioButton radioButton5;
- @BindView(R.id.radioButton6)
- RadioButton radioButton6;
- @BindView(R.id.radioButton7)
- RadioButton radioButton7;
- @BindView(R.id.radioButton8)
- RadioButton radioButton8;
- @BindView(R.id.radioButton9)
- RadioButton radioButton9;
- @BindView(R.id.radioButton10)
- RadioButton radioButton10;
- @BindView(R.id.radioButton11)
- RadioButton radioButton11;
- @BindView(R.id.radioButton12)
- RadioButton radioButton12;
-
- @BindView(R.id.bt_unactivation)
- Button bt_unactivation;
- @BindView(R.id.bt_activation)
- Button bt_activation;
-
-
- @OnClick({R.id.radioButton1, R.id.radioButton2, R.id.radioButton3, R.id.radioButton4, R.id.radioButton5, R.id.radioButton6,
- R.id.radioButton7, R.id.radioButton8, R.id.radioButton9, R.id.radioButton10, R.id.radioButton11, R.id.radioButton12})
- public void onClick(View v) {
- switch (v.getId()) {
- default:
- break;
- case R.id.radioButton1:
- showGroup1();
- grade = 1;
- break;
- case R.id.radioButton2:
- showGroup1();
- grade = 2;
- break;
- case R.id.radioButton3:
- showGroup1();
- grade = 3;
- break;
- case R.id.radioButton4:
- showGroup2();
- grade = 4;
- break;
- case R.id.radioButton5:
- showGroup2();
- grade = 5;
- break;
- case R.id.radioButton6:
- showGroup2();
- grade = 6;
- break;
- case R.id.radioButton7:
- showGroup3();
- grade = 7;
- break;
- case R.id.radioButton8:
- showGroup3();
- grade = 8;
- break;
- case R.id.radioButton9:
- showGroup3();
- grade = 9;
- break;
- case R.id.radioButton10:
- showGroup4();
- grade = 10;
- break;
- case R.id.radioButton11:
- showGroup4();
- grade = 11;
- break;
- case R.id.radioButton12:
- showGroup4();
- grade = 12;
- break;
- }
- }
-
- private int grade;
- private SelecteGradePresenter mPresenter = new SelecteGradePresenter(this);
-
- private void showGroup1() {
- radioGroup2.clearCheck();
- radioGroup3.clearCheck();
- radioGroup4.clearCheck();
- }
-
- private void showGroup2() {
- radioGroup1.clearCheck();
- radioGroup3.clearCheck();
- radioGroup4.clearCheck();
- }
-
- private void showGroup3() {
- radioGroup1.clearCheck();
- radioGroup2.clearCheck();
- radioGroup4.clearCheck();
- }
-
- private void showGroup4() {
- radioGroup1.clearCheck();
- radioGroup2.clearCheck();
- radioGroup3.clearCheck();
- }
-
- @Override
- public int getLayoutId() {
- return R.layout.activity_selecte_grade;
- }
-
- @Override
- public void initView() {
- ButterKnife.bind(this);
- mPresenter.setProvider(this);
- mPresenter.attachView(this);
- }
-
- @Override
- public void initData() {
- setOnclick();
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- mPresenter.detachView();
- }
-
- private void setOnclick() {
- bt_unactivation.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- finish();
- }
- });
- bt_activation.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- checkGrade();
- }
- });
- }
-
- private void checkGrade() {
- if (grade == 0) {
- ToastUtil.show("请选择激活年级");
- return;
- }
-
- mPresenter.checkSN();
- }
-
- @Override
- public void checkSNResult(int code) {
- switch (code) {
- case 200:
- case 300:
- mPresenter.getGankaoUID();
- ToastUtil.show("设备验证成功");
- break;
- case 400:
- ToastUtil.show("此设备未经授权,禁止激活");
- break;
- case 404:
- ToastUtil.show("网络连接失败,稍后重试");
- break;
- default:
- break;
- }
- }
-
- @Override
- public void setGankaoUID(String gankaoUID) {
- if (TextUtils.isEmpty(gankaoUID)) {
- ToastUtil.show("用户注册失败");
- } else {
- ToastUtil.show("用户注册成功");
- mPresenter.queryAvailableProduct();
- }
- }
-
- private HashMap mAvailableProductHashMap = new HashMap<>();
-
- @Override
- public void setAvailableProduct(List availableProductList) {
- for (AvailableProduct product : availableProductList) {
- mAvailableProductHashMap.put(product.getDuration(), product.getSpecification_id());
- }
- setGrade(availableProductList);
- }
-
- private void setGrade(List list) {
- if (list == null || list.size() == 0) {
- ToastUtil.show("获取激活套餐失败");
- } else {
- AvailableProduct defaultProduct = null;
- AvailableProduct primary = null;
- AvailableProduct junior = null;
- AvailableProduct high = null;
- for (AvailableProduct product : list) {
- if (product.getDuration().contains("全学段")) {
- defaultProduct = product;
- }
- if (product.getDuration().contains("小学")) {
- primary = product;
- }
- if (product.getDuration().contains("初中")) {
- junior = product;
- }
- if (product.getDuration().contains("高中")) {
- high = product;
- }
- }
- switch (grade) {
- default:
- break;
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- activeUser(primary, grade);
- break;
- case 7:
- case 8:
- case 9:
- activeUser(junior, grade);
- break;
- case 10:
- case 11:
- case 12:
- activeUser(high, grade);
- break;
- }
- SPUtils.put(SelecteGradeActivity.this, "int_grade", grade);
- }
- }
-
- /**
- * @param product 通过产品id激活设备
- */
- private void activeUser(AvailableProduct product, int grade) {
- if (product == null) {
- ToastUtil.show("获取激活套餐失败");
- return;
- }
- mPresenter.activeUser(product, grade);
- }
-
- @Override
- public void activeUserFinish(int code, int grade) {
- switch (code) {
- case 10000:
- ToastUtil.show("授权成功");
- break;
- case 50000:
- ToastUtil.show("已经授权");
- break;
- case 0:
- default:
- ToastUtil.show("授权失败");
- break;
- }
- mPresenter.queryPowerUserList(grade);
- }
-
- @Override
- public void queryPowerUserListFinish(List powerUserList, int grade) {
- JSONArray jsonArray = new JSONArray();
- if (powerUserList != null && powerUserList.size() != 0) {
- for (PowerUser powerUser : powerUserList) {
- if (powerUser.getUserID().equals(Utils.getSerial())) {
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("card_info", powerUser.getAuthorityName());
- jsonObject.put("grade", powerUser.getGrade());
- jsonObject.put("activate_time", getTime(powerUser.getAuthorizationDate()));
- jsonObject.put("user_power_id", powerUser.getAuthorizationNumber());
- jsonObject.put("specification_id", mAvailableProductHashMap.get(powerUser.getAuthorityName()));
- jsonArray.add(jsonObject);
- }
- }
- }
- mPresenter.sendUid(jsonArray.toJSONString(), grade);
- }
-
- private String getTime(String timestamp) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S'Z'");
- sdf.setTimeZone(TimeZone.getTimeZone("GMT+00"));
- SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- try {
- Date date = sdf.parse(timestamp);//拿到Date对象.
- String str = sdf2.format(date);
- return str;
- } catch (ParseException e) {
- e.printStackTrace();
- return timestamp;
- }
- }
-
- @Override
- public void sendUidFinish(int code) {
- if (code == 200) {
- toGankaoApp();
- finish();
- } else {
- ToastUtil.show("保存信息失败请重试");
- }
- }
-
- private void toGankaoApp() {
- String gankaoUID = (String) SPUtils.get(SelecteGradeActivity.this, "gankaoUID", "");
- if (TextUtils.isEmpty(gankaoUID)) {
- ToastUtil.show("获取用户信息失败");
- return;
- }
- HashMap keys = new HashMap();
- //device_id 传入赶考 UID 可实现账户公用,不会创建新账号
- keys.put("device_id", Uri.encode(gankaoUID));
- keys.put("partner_id", Scheme.partner_id);
- keys.put("macaddr", Uri.encode(Utils.getAndroid7MAC()));
- try {
- String uri = LaunchTools.toUserCenter(SelecteGradeActivity.this, keys, Uri.encode(Scheme.ownCenter));
-// Scheme.openScheme(MainActivity.this, Scheme.getLogin(MainActivity.this));
- Scheme.openScheme(SelecteGradeActivity.this, uri);
-// LaunchTools.goGankao(MainActivity.this, "", "");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradeContact.java b/app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradeContact.java
deleted file mode 100644
index b98864b..0000000
--- a/app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradeContact.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.uiui.sn.activity.selectegrade;
-
-import com.uiui.sn.bean.gankao.AvailableProduct;
-import com.uiui.sn.bean.gankao.PowerUser;
-import com.uiui.sn.mvp.BasePresenter;
-import com.uiui.sn.mvp.BaseView;
-
-import java.util.List;
-
-public class SelecteGradeContact {
- public interface MainView extends BaseView {
- void checkSNResult(int code);
- void setGankaoUID(String gankaoUID);
- void setAvailableProduct(List availableProductList);
- void activeUserFinish(int code,int grade);
- void queryPowerUserListFinish(List powerUserList, int grade);
- void sendUidFinish(int code);
- }
-
- interface Presenter extends BasePresenter {
- void checkSN();
- void getGankaoUID();
- void queryAvailableProduct();
- void activeUser(AvailableProduct product,int grade);
- void queryPowerUserList(int grade);
- void sendUid(String jsonString,int grade);
- }
-
-
-}
diff --git a/app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradePresenter.java b/app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradePresenter.java
deleted file mode 100644
index 117e403..0000000
--- a/app/src/main/java/com/uiui/sn/activity/selectegrade/SelecteGradePresenter.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package com.uiui.sn.activity.selectegrade;
-
-import android.content.Context;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.util.Log;
-
-import com.alibaba.fastjson.JSONObject;
-import com.google.gson.Gson;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import com.google.gson.reflect.TypeToken;
-import com.uiui.sn.activity.main.MainActivity;
-import com.uiui.sn.activity.main.MainPresenter;
-import com.uiui.sn.bean.gankao.AvailableProduct;
-import com.uiui.sn.bean.gankao.CreateUserBean;
-import com.uiui.sn.bean.gankao.GankaoBaseResponse;
-import com.uiui.sn.bean.gankao.PowerUser;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.Response;
-import com.uiui.sn.bean.zuoye.UserInfo;
-import com.uiui.sn.config.Scheme;
-import com.uiui.sn.manager.NetInterfaceManager;
-import com.uiui.sn.utils.LaunchTools;
-import com.uiui.sn.utils.SPUtils;
-import com.uiui.sn.utils.ToastUtil;
-import com.uiui.sn.utils.Utils;
-import com.trello.rxlifecycle2.LifecycleProvider;
-import com.trello.rxlifecycle2.android.ActivityEvent;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
-
-public class SelecteGradePresenter implements SelecteGradeContact.Presenter {
- private String TAG;
-
- private SelecteGradeContact.MainView mView;
- private Context mContext;
-
- SelecteGradePresenter(Context context) {
- this.mContext = context;
- TAG = context.getClass().getSimpleName() + "." + MainPresenter.class.getSimpleName() + ":";
- }
-
- private LifecycleProvider provider;
-
- public void setProvider(LifecycleProvider provider) {
- this.provider = provider;
- }
-
- public LifecycleProvider getProvider() {
- return provider;
- }
-
- @Override
- public void attachView(SelecteGradeContact.MainView view) {
- this.mView = view;
- }
-
- @Override
- public void detachView() {
- this.mView = null;
- }
-
- @Override
- public void checkSN() {
- NetInterfaceManager.getInstance()
- .getsnInfoControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer>() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e(TAG + "checkSN", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse userInfoBaseResponse) {
- Log.e(TAG + "checkSN", "onNext: ");
- int code = userInfoBaseResponse.code;
- mView.checkSNResult(code);
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e(TAG + "checkSN", "onError: " + e.getMessage());
- mView.checkSNResult(404);
- onComplete();
- }
-
- @Override
- public void onComplete() {
- Log.e(TAG + TAG + "checkSN", "onComplete: ");
- }
- });
- }
-
- @Override
- public void getGankaoUID() {
-
- }
-
- @Override
- public void queryAvailableProduct() {
-
- }
-
- @Override
- public void activeUser(AvailableProduct product, int grade) {
-
- }
-
- @Override
- public void queryPowerUserList(int grade) {
-
- }
-
- @Override
- public void sendUid(String jsonString, int grade) {
- String gankaoUID = Settings.System.getString(mContext.getContentResolver(), "gankaoUID");
- if (TextUtils.isEmpty(gankaoUID)) {
- ToastUtil.show("获取设备UID失败,请重新激活");
- }
- Log.e(TAG, "sendUid: " + jsonString);
- NetInterfaceManager.getInstance()
- .getSaveSnUidApiControl()
- .saveSnUid(Utils.getSerial(), gankaoUID, grade, jsonString)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e(TAG + "sendUid", "onSubscribe: ");
- }
-
- @Override
- public void onNext(Response response) {
- Log.e(TAG + "sendUid", "onNext: " + JSONObject.toJSONString(response));
- mView.sendUidFinish(response.code);
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e(TAG + "sendUid", "onError: " + e.getMessage());
- mView.sendUidFinish(404);
- onComplete();
- }
-
- @Override
- public void onComplete() {
- Log.e(TAG + "sendUid", "onComplete: ");
- }
- });
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/adapter/SNUidAdapter.java b/app/src/main/java/com/uiui/sn/adapter/SNUidAdapter.java
deleted file mode 100644
index 58a5d67..0000000
--- a/app/src/main/java/com/uiui/sn/adapter/SNUidAdapter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.uiui.sn.adapter;
-
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.uiui.sn.R;
-import com.uiui.sn.bean.zuoye.SNUidBean;
-
-import java.util.List;
-
-public class SNUidAdapter extends RecyclerView.Adapter {
-
- private List snUidBeans;
-
- public void setSnUidBeans(List uidBeads) {
- this.snUidBeans = uidBeads;
- notifyDataSetChanged();
- }
-
- @NonNull
- @Override
- public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
- View v = View.inflate(parent.getContext(), R.layout.item_snuid, null);
- v.setLayoutParams(layoutParams);
- return new ViewHolder(v);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
- SNUidBean snUidBean = snUidBeans.get(position);
- holder.tv_name.setText(snUidBean.getCard_info());
- holder.tv_grade.setText(String.valueOf(snUidBean.getGrade()));
- holder.tv_time.setText(snUidBean.getActivate_time());
- }
-
- @Override
- public int getItemCount() {
- return snUidBeans == null ? 0 : snUidBeans.size();
- }
-
- class ViewHolder extends RecyclerView.ViewHolder {
- TextView tv_name;
- TextView tv_grade;
- TextView tv_time;
-
- ViewHolder(@NonNull View itemView) {
- super(itemView);
- tv_name = itemView.findViewById(R.id.tv_name);
- tv_grade = itemView.findViewById(R.id.tv_grade);
- tv_time = itemView.findViewById(R.id.tv_time);
- }
- }
-
-}
diff --git a/app/src/main/java/com/uiui/sn/utils/AmapUtils.java b/app/src/main/java/com/uiui/sn/amap/AmapUtils.java
similarity index 99%
rename from app/src/main/java/com/uiui/sn/utils/AmapUtils.java
rename to app/src/main/java/com/uiui/sn/amap/AmapUtils.java
index 6157f41..498a546 100644
--- a/app/src/main/java/com/uiui/sn/utils/AmapUtils.java
+++ b/app/src/main/java/com/uiui/sn/amap/AmapUtils.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.uiui.sn.utils;
+package com.uiui.sn.amap;
import android.content.Context;
import android.content.pm.PackageInfo;
diff --git a/app/src/main/java/com/uiui/sn/base/CheckPermissionsActivity.java b/app/src/main/java/com/uiui/sn/amap/CheckPermissionsActivity.java
similarity index 99%
rename from app/src/main/java/com/uiui/sn/base/CheckPermissionsActivity.java
rename to app/src/main/java/com/uiui/sn/amap/CheckPermissionsActivity.java
index b25c6ab..f1a161e 100644
--- a/app/src/main/java/com/uiui/sn/base/CheckPermissionsActivity.java
+++ b/app/src/main/java/com/uiui/sn/amap/CheckPermissionsActivity.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.uiui.sn.base;
+package com.uiui.sn.amap;
import android.Manifest;
import android.annotation.TargetApi;
diff --git a/app/src/main/java/com/uiui/sn/base/BaseActivity.java b/app/src/main/java/com/uiui/sn/base/BaseActivity.java
index c8e4bf8..ac515b6 100644
--- a/app/src/main/java/com/uiui/sn/base/BaseActivity.java
+++ b/app/src/main/java/com/uiui/sn/base/BaseActivity.java
@@ -4,15 +4,31 @@ import android.app.ActivityManager;
import android.os.Build;
import android.os.Bundle;
+import androidx.annotation.CallSuper;
+import androidx.annotation.CheckResult;
+import androidx.annotation.ContentView;
+import androidx.annotation.LayoutRes;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+import com.trello.rxlifecycle4.LifecycleProvider;
+import com.trello.rxlifecycle4.LifecycleTransformer;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.ActivityEvent;
+import com.trello.rxlifecycle4.android.RxLifecycleAndroid;
+import com.trello.rxlifecycle4.components.support.RxAppCompatActivity;
import com.uiui.sn.BuildConfig;
import com.uiui.sn.R;
-import com.trello.rxlifecycle2.components.support.RxAppCompatActivity;
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.subjects.BehaviorSubject;
+
+
+public abstract class BaseActivity extends AppCompatActivity implements LifecycleProvider {
+ public final BehaviorSubject lifecycleSubject = BehaviorSubject.create();
-public abstract class BaseActivity extends RxAppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -53,4 +69,68 @@ public abstract class BaseActivity extends RxAppCompatActivity {
*/
public abstract void initData();
+ public BaseActivity() {
+ super();
+ }
+
+ @ContentView
+ public BaseActivity(@LayoutRes int contentLayoutId) {
+ super(contentLayoutId);
+ }
+
+ @Override
+ @NonNull
+ @CheckResult
+ public final Observable lifecycle() {
+ return lifecycleSubject.hide();
+ }
+
+ @Override
+ @NonNull
+ @CheckResult
+ public final LifecycleTransformer bindUntilEvent(@NonNull ActivityEvent event) {
+ return RxLifecycle.bindUntilEvent(lifecycleSubject, event);
+ }
+
+ @Override
+ @NonNull
+ @CheckResult
+ public final LifecycleTransformer bindToLifecycle() {
+ return RxLifecycleAndroid.bindActivity(lifecycleSubject);
+ }
+
+ @Override
+ @CallSuper
+ protected void onStart() {
+ super.onStart();
+ lifecycleSubject.onNext(ActivityEvent.START);
+ }
+
+ @Override
+ @CallSuper
+ protected void onResume() {
+ super.onResume();
+ lifecycleSubject.onNext(ActivityEvent.RESUME);
+ }
+
+ @Override
+ @CallSuper
+ protected void onPause() {
+ lifecycleSubject.onNext(ActivityEvent.PAUSE);
+ super.onPause();
+ }
+
+ @Override
+ @CallSuper
+ protected void onStop() {
+ lifecycleSubject.onNext(ActivityEvent.STOP);
+ super.onStop();
+ }
+
+ @Override
+ @CallSuper
+ protected void onDestroy() {
+ lifecycleSubject.onNext(ActivityEvent.DESTROY);
+ super.onDestroy();
+ }
}
diff --git a/app/src/main/java/com/uiui/sn/base/BaseApplication.java b/app/src/main/java/com/uiui/sn/base/BaseApplication.java
index cbc5566..0b36466 100644
--- a/app/src/main/java/com/uiui/sn/base/BaseApplication.java
+++ b/app/src/main/java/com/uiui/sn/base/BaseApplication.java
@@ -8,16 +8,21 @@ import android.os.Looper;
import android.util.Log;
import com.arialyy.aria.core.Aria;
+import com.tencent.android.tpush.XGIOperateCallback;
+import com.tencent.android.tpush.XGPushConfig;
+import com.tencent.android.tpush.XGPushManager;
import com.tencent.mmkv.MMKV;
import com.uiui.sn.BuildConfig;
import com.uiui.sn.jpush.TagAliasOperatorHelper;
import com.uiui.sn.manager.AmapManager;
+import com.uiui.sn.manager.ConnectManager;
import com.uiui.sn.manager.ControlPanelManager;
-import com.uiui.sn.manager.NetInterfaceManager;
+import com.uiui.sn.network.NetInterfaceManager;
import com.uiui.sn.manager.ControlManager;
import com.uiui.sn.manager.DeviceManager;
import com.uiui.sn.network.HTTPInterface;
import com.uiui.sn.network.UrlAddress;
+import com.uiui.sn.rlog.LogDBManager;
import com.uiui.sn.utils.AppUsedTimeUtils;
import com.uiui.sn.utils.JGYUtils;
import com.uiui.sn.utils.ToastUtil;
@@ -26,15 +31,17 @@ import com.uiui.sn.utils.Utils;
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
import java.util.concurrent.TimeUnit;
import cn.jpush.android.api.JPushInterface;
import cn.jpush.android.api.JPushMessage;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.core.ObservableEmitter;
+import io.reactivex.rxjava3.core.ObservableOnSubscribe;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
@@ -78,11 +85,14 @@ public class BaseApplication extends Application {
if (!BuildConfig.DEBUG) {
catchException();
}
+ tPushInit();
// 设置开启日志,发布时请关闭日志
JPushInterface.setDebugMode(true);
JPushInterface.requestPermission(this);
String rootDir = MMKV.initialize(this);
Log.i(TAG, "mmkv root: " + rootDir);
+ LogDBManager.init(this);
+ ConnectManager.init(this);
Aria.init(this);
Aria.download(this).resumeAllTask();
JGYUtils.init(this);
@@ -125,6 +135,34 @@ public class BaseApplication extends Application {
});
}
+ private void tPushInit() {
+ XGPushConfig.enableDebug(this, true);
+ XGPushManager.registerPush(this, new XGIOperateCallback() {
+ @Override
+ public void onSuccess(Object data, int flag) {
+ //token在设备卸载重装的时候有可能会变
+ Log.e("TPush", "注册成功,设备token为:" + data);
+ List accountInfoList = new ArrayList<>();
+ accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), Utils.getSerial()));
+ XGPushManager.upsertAccounts(getAppContext(), accountInfoList, new XGIOperateCallback() {
+ @Override
+ public void onSuccess(Object data, int flag) {
+ Log.e("TPush", "onSuccess, data:" + data + ", flag:" + flag);
+ }
+
+ @Override
+ public void onFail(Object data, int errCode, String msg) {
+ Log.e("TPush", "onFail, data:" + data + ", code:" + errCode + ", msg:" + msg);
+ }
+ });
+ }
+
+ @Override
+ public void onFail(Object data, int errCode, String msg) {
+ Log.e("TPush", "注册失败,错误码:" + errCode + ",错误信息:" + msg);
+ }
+ });
+ }
public void onAliasOperatorResult(JPushMessage jPushMessage) {
if (jPushMessage == null) {
@@ -149,7 +187,6 @@ public class BaseApplication extends Application {
public static void setJpushTags() {
Log.e(TAG, "30s后重新设置tags");
- HTTPInterface.setJpushTags(context);
}
private static OnAliasResult onAliasResult;
diff --git a/app/src/main/java/com/uiui/sn/mvp/BasePresenter.java b/app/src/main/java/com/uiui/sn/base/BasePresenter.java
similarity index 80%
rename from app/src/main/java/com/uiui/sn/mvp/BasePresenter.java
rename to app/src/main/java/com/uiui/sn/base/BasePresenter.java
index b9cbddf..63468e5 100644
--- a/app/src/main/java/com/uiui/sn/mvp/BasePresenter.java
+++ b/app/src/main/java/com/uiui/sn/base/BasePresenter.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.mvp;
+package com.uiui.sn.base;
public interface BasePresenter {
void attachView(V view);
diff --git a/app/src/main/java/com/uiui/sn/mvp/BaseView.java b/app/src/main/java/com/uiui/sn/base/BaseView.java
similarity index 54%
rename from app/src/main/java/com/uiui/sn/mvp/BaseView.java
rename to app/src/main/java/com/uiui/sn/base/BaseView.java
index 67ce675..80262c0 100644
--- a/app/src/main/java/com/uiui/sn/mvp/BaseView.java
+++ b/app/src/main/java/com/uiui/sn/base/BaseView.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.mvp;
+package com.uiui.sn.base;
public interface BaseView {
}
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/AppInfo.java b/app/src/main/java/com/uiui/sn/bean/AppInfo.java
similarity index 99%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/AppInfo.java
rename to app/src/main/java/com/uiui/sn/bean/AppInfo.java
index b3bedf0..f75fb83 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/AppInfo.java
+++ b/app/src/main/java/com/uiui/sn/bean/AppInfo.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import java.io.Serializable;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/AppJump.java b/app/src/main/java/com/uiui/sn/bean/AppJump.java
similarity index 95%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/AppJump.java
rename to app/src/main/java/com/uiui/sn/bean/AppJump.java
index b47d98c..c2e1e9c 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/AppJump.java
+++ b/app/src/main/java/com/uiui/sn/bean/AppJump.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import androidx.annotation.NonNull;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/AppStart.java b/app/src/main/java/com/uiui/sn/bean/AppStart.java
similarity index 98%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/AppStart.java
rename to app/src/main/java/com/uiui/sn/bean/AppStart.java
index f4ee1bc..95c093c 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/AppStart.java
+++ b/app/src/main/java/com/uiui/sn/bean/AppStart.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import java.io.Serializable;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/AppUploadInfo.java b/app/src/main/java/com/uiui/sn/bean/AppUploadInfo.java
similarity index 96%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/AppUploadInfo.java
rename to app/src/main/java/com/uiui/sn/bean/AppUploadInfo.java
index 6bd0956..1fc8b91 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/AppUploadInfo.java
+++ b/app/src/main/java/com/uiui/sn/bean/AppUploadInfo.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import java.io.Serializable;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/AppUsed.java b/app/src/main/java/com/uiui/sn/bean/AppUsed.java
similarity index 95%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/AppUsed.java
rename to app/src/main/java/com/uiui/sn/bean/AppUsed.java
index 3fbddfc..6d129f0 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/AppUsed.java
+++ b/app/src/main/java/com/uiui/sn/bean/AppUsed.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import java.io.Serializable;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/BaseResponse.java b/app/src/main/java/com/uiui/sn/bean/BaseResponse.java
similarity index 93%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/BaseResponse.java
rename to app/src/main/java/com/uiui/sn/bean/BaseResponse.java
index 3c76817..6944dac 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/BaseResponse.java
+++ b/app/src/main/java/com/uiui/sn/bean/BaseResponse.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import androidx.annotation.NonNull;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/Label.java b/app/src/main/java/com/uiui/sn/bean/Label.java
similarity index 95%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/Label.java
rename to app/src/main/java/com/uiui/sn/bean/Label.java
index d8a002e..fbea318 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/Label.java
+++ b/app/src/main/java/com/uiui/sn/bean/Label.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import java.io.Serializable;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/LocalAppInfo.java b/app/src/main/java/com/uiui/sn/bean/LocalAppInfo.java
similarity index 99%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/LocalAppInfo.java
rename to app/src/main/java/com/uiui/sn/bean/LocalAppInfo.java
index 37a30db..4392512 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/LocalAppInfo.java
+++ b/app/src/main/java/com/uiui/sn/bean/LocalAppInfo.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import android.graphics.drawable.Drawable;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/Response.java b/app/src/main/java/com/uiui/sn/bean/Response.java
similarity index 86%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/Response.java
rename to app/src/main/java/com/uiui/sn/bean/Response.java
index afb8a27..321c97d 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/Response.java
+++ b/app/src/main/java/com/uiui/sn/bean/Response.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import java.io.Serializable;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/SNUidBean.java b/app/src/main/java/com/uiui/sn/bean/SNUidBean.java
similarity index 97%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/SNUidBean.java
rename to app/src/main/java/com/uiui/sn/bean/SNUidBean.java
index cbeaa49..aa67a7d 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/SNUidBean.java
+++ b/app/src/main/java/com/uiui/sn/bean/SNUidBean.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import java.io.Serializable;
diff --git a/app/src/main/java/com/uiui/sn/bean/SnInfo.java b/app/src/main/java/com/uiui/sn/bean/SnInfo.java
new file mode 100644
index 0000000..119f95e
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/bean/SnInfo.java
@@ -0,0 +1,163 @@
+package com.uiui.sn.bean;
+
+import androidx.annotation.NonNull;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonParser;
+
+import java.io.Serializable;
+
+public class SnInfo implements Serializable {
+ private static final long serialVersionUID = -5268233433601073239L;
+
+ int id;
+ String sn_value;
+ int is_log;
+ int is_log_type;
+ int sex;
+ int age;
+ String height;
+ String weight;
+ String devices_version;
+ String sn_name;
+ String school;
+ String is_lock;
+ String is_reset;
+ String name;
+ int admin_id;
+ String grade;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getSn_value() {
+ return sn_value;
+ }
+
+ public void setSn_value(String sn_value) {
+ this.sn_value = sn_value;
+ }
+
+ public int getIs_log() {
+ return is_log;
+ }
+
+ public void setIs_log(int is_log) {
+ this.is_log = is_log;
+ }
+
+ public int getIs_log_type() {
+ return is_log_type;
+ }
+
+ public void setIs_log_type(int is_log_type) {
+ this.is_log_type = is_log_type;
+ }
+
+ public int getSex() {
+ return sex;
+ }
+
+ public void setSex(int sex) {
+ this.sex = sex;
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ public void setAge(int age) {
+ this.age = age;
+ }
+
+ public String getHeight() {
+ return height;
+ }
+
+ public void setHeight(String height) {
+ this.height = height;
+ }
+
+ public String getWeight() {
+ return weight;
+ }
+
+ public void setWeight(String weight) {
+ this.weight = weight;
+ }
+
+ public String getDevices_version() {
+ return devices_version;
+ }
+
+ public void setDevices_version(String devices_version) {
+ this.devices_version = devices_version;
+ }
+
+ public String getSn_name() {
+ return sn_name;
+ }
+
+ public void setSn_name(String sn_name) {
+ this.sn_name = sn_name;
+ }
+
+ public String getSchool() {
+ return school;
+ }
+
+ public void setSchool(String school) {
+ this.school = school;
+ }
+
+ public String getIs_lock() {
+ return is_lock;
+ }
+
+ public void setIs_lock(String is_lock) {
+ this.is_lock = is_lock;
+ }
+
+ public String getIs_reset() {
+ return is_reset;
+ }
+
+ public void setIs_reset(String is_reset) {
+ this.is_reset = is_reset;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getAdmin_id() {
+ return admin_id;
+ }
+
+ public void setAdmin_id(int admin_id) {
+ this.admin_id = admin_id;
+ }
+
+ public String getGrade() {
+ return grade;
+ }
+
+ public void setGrade(String grade) {
+ this.grade = grade;
+ }
+
+ @NonNull
+ @Override
+ public String toString() {
+ return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString();
+ }
+}
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/SystemSettings.java b/app/src/main/java/com/uiui/sn/bean/SystemSettings.java
similarity index 99%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/SystemSettings.java
rename to app/src/main/java/com/uiui/sn/bean/SystemSettings.java
index ebcd8a2..78e585f 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/SystemSettings.java
+++ b/app/src/main/java/com/uiui/sn/bean/SystemSettings.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import com.google.gson.Gson;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/UserAvatarInfo.java b/app/src/main/java/com/uiui/sn/bean/UserAvatarInfo.java
similarity index 96%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/UserAvatarInfo.java
rename to app/src/main/java/com/uiui/sn/bean/UserAvatarInfo.java
index 9b251b7..ed520bc 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/UserAvatarInfo.java
+++ b/app/src/main/java/com/uiui/sn/bean/UserAvatarInfo.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye;
+package com.uiui.sn.bean;
import java.io.Serializable;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/browser/BrowserApiData.java b/app/src/main/java/com/uiui/sn/bean/browser/BrowserApiData.java
similarity index 94%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/browser/BrowserApiData.java
rename to app/src/main/java/com/uiui/sn/bean/browser/BrowserApiData.java
index abe8f82..21f0f13 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/browser/BrowserApiData.java
+++ b/app/src/main/java/com/uiui/sn/bean/browser/BrowserApiData.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye.browser;
+package com.uiui.sn.bean.browser;
import com.google.gson.annotations.SerializedName;
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/browser/BrowserBean.java b/app/src/main/java/com/uiui/sn/bean/browser/BrowserBean.java
similarity index 94%
rename from app/src/main/java/com/uiui/sn/bean/zuoye/browser/BrowserBean.java
rename to app/src/main/java/com/uiui/sn/bean/browser/BrowserBean.java
index 9eef94d..390a402 100644
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/browser/BrowserBean.java
+++ b/app/src/main/java/com/uiui/sn/bean/browser/BrowserBean.java
@@ -1,4 +1,4 @@
-package com.uiui.sn.bean.zuoye.browser;
+package com.uiui.sn.bean.browser;
import androidx.annotation.NonNull;
diff --git a/app/src/main/java/com/uiui/sn/bean/gankao/ActiveUser.java b/app/src/main/java/com/uiui/sn/bean/gankao/ActiveUser.java
deleted file mode 100644
index 1327fd8..0000000
--- a/app/src/main/java/com/uiui/sn/bean/gankao/ActiveUser.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.uiui.sn.bean.gankao;
-
-import java.io.Serializable;
-
-public class ActiveUser implements Serializable {
-}
diff --git a/app/src/main/java/com/uiui/sn/bean/gankao/AvailableProduct.java b/app/src/main/java/com/uiui/sn/bean/gankao/AvailableProduct.java
deleted file mode 100644
index eeb4e41..0000000
--- a/app/src/main/java/com/uiui/sn/bean/gankao/AvailableProduct.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.uiui.sn.bean.gankao;
-
-import java.io.Serializable;
-
-public class AvailableProduct implements Serializable {
- private static final long serialVersionUID = -4302961917717416837L;
-
- String productname;
- String product_id;
- String specification_id;
- String duration;
- String register_autobind;
- String max_apply_preuser;
- String product_id_onweb;
- String month;
-
- public String getProductname() {
- return productname;
- }
-
- public void setProductname(String productname) {
- this.productname = productname;
- }
-
- public String getProduct_id() {
- return product_id;
- }
-
- public void setProduct_id(String product_id) {
- this.product_id = product_id;
- }
-
- public String getSpecification_id() {
- return specification_id;
- }
-
- public void setSpecification_id(String specification_id) {
- this.specification_id = specification_id;
- }
-
- public String getDuration() {
- return duration;
- }
-
- public void setDuration(String duration) {
- this.duration = duration;
- }
-
- public String getRegister_autobind() {
- return register_autobind;
- }
-
- public void setRegister_autobind(String register_autobind) {
- this.register_autobind = register_autobind;
- }
-
- public String getMax_apply_preuser() {
- return max_apply_preuser;
- }
-
- public void setMax_apply_preuser(String max_apply_preuser) {
- this.max_apply_preuser = max_apply_preuser;
- }
-
- public String getProduct_id_onweb() {
- return product_id_onweb;
- }
-
- public void setProduct_id_onweb(String product_id_onweb) {
- this.product_id_onweb = product_id_onweb;
- }
-
- public String getMonth() {
- return month;
- }
-
- public void setMonth(String month) {
- this.month = month;
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/bean/gankao/CancelUserPower.java b/app/src/main/java/com/uiui/sn/bean/gankao/CancelUserPower.java
deleted file mode 100644
index 98020c3..0000000
--- a/app/src/main/java/com/uiui/sn/bean/gankao/CancelUserPower.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.uiui.sn.bean.gankao;
-
-import java.io.Serializable;
-
-public class CancelUserPower implements Serializable {
- private static final long serialVersionUID = 6582192006004247173L;
-
- boolean success;
- String user_power_id;
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public String getUser_power_id() {
- return user_power_id;
- }
-
- public void setUser_power_id(String user_power_id) {
- this.user_power_id = user_power_id;
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/bean/gankao/CreateUserBean.java b/app/src/main/java/com/uiui/sn/bean/gankao/CreateUserBean.java
deleted file mode 100644
index f777fbf..0000000
--- a/app/src/main/java/com/uiui/sn/bean/gankao/CreateUserBean.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.uiui.sn.bean.gankao;
-
-import java.io.Serializable;
-
-public class CreateUserBean implements Serializable {
- private static final long serialVersionUID = -7317008486626554260L;
-
- public String gankaoPartnerUID;
- public int gankaoUID;
- public int isNew;
- public String mobile;
- public String gankaoUserRegAt;
-
- public String getGankaoPartnerUID() {
- return gankaoPartnerUID;
- }
-
- public void setGankaoPartnerUID(String gankaoPartnerUID) {
- this.gankaoPartnerUID = gankaoPartnerUID;
- }
-
- public int getGankaoUID() {
- return gankaoUID;
- }
-
- public void setGankaoUID(int gankaoUID) {
- this.gankaoUID = gankaoUID;
- }
-
- public int getIsNew() {
- return isNew;
- }
-
- public void setIsNew(int isNew) {
- this.isNew = isNew;
- }
-
- public String getMobile() {
- return mobile;
- }
-
- public void setMobile(String mobile) {
- this.mobile = mobile;
- }
-
- public String getGankaoUserRegAt() {
- return gankaoUserRegAt;
- }
-
- public void setGankaoUserRegAt(String gankaoUserRegAt) {
- this.gankaoUserRegAt = gankaoUserRegAt;
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/bean/gankao/GankaoBaseResponse.java b/app/src/main/java/com/uiui/sn/bean/gankao/GankaoBaseResponse.java
deleted file mode 100644
index 910135b..0000000
--- a/app/src/main/java/com/uiui/sn/bean/gankao/GankaoBaseResponse.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.uiui.sn.bean.gankao;
-
-import androidx.annotation.NonNull;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-
-import java.io.Serializable;
-
-public class GankaoBaseResponse implements Serializable {
- private static final long serialVersionUID = -2581656663382362871L;
-
- public int code;
- public int status;
- public String msg;
- public long serverTime;
- public String tokenOK;
- public T data;
-
- @NonNull
- @Override
- public String toString() {
- Gson gson = new Gson();
- JsonObject jsonObject = JsonParser.parseString(gson.toJson(this)).getAsJsonObject();
- return jsonObject.toString();
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/bean/gankao/PowerUser.java b/app/src/main/java/com/uiui/sn/bean/gankao/PowerUser.java
deleted file mode 100644
index 74ca3e8..0000000
--- a/app/src/main/java/com/uiui/sn/bean/gankao/PowerUser.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.uiui.sn.bean.gankao;
-
-import com.google.gson.annotations.SerializedName;
-
-import java.io.Serializable;
-
-public class PowerUser implements Serializable {
- private static final long serialVersionUID = -6368881020242541651L;
- @SerializedName("合作方用户id")
- private String userID;
- @SerializedName("赶考内部PUID")
- private int pUID;
- @SerializedName("赶考UID")
- private int gankaoUID;
- @SerializedName("姓名")
- private String name;
- @SerializedName("年级")
- private int grade;
- @SerializedName("身份")
- private String identity;
- @SerializedName("授权记录编号")
- private int authorizationNumber;
- @SerializedName("授权日期")
- private String authorizationDate;
- @SerializedName("权限规格ID")
- private int authorityID;
- @SerializedName("权限名称")
- private String authorityName;
- @SerializedName("回款价")
- private float returnPrice;
- @SerializedName("有效期")
- private String validPeriod;
-
- public String getUserID() {
- return userID;
- }
-
- public void setUserID(String userID) {
- this.userID = userID;
- }
-
- public int getpUID() {
- return pUID;
- }
-
- public void setpUID(int pUID) {
- this.pUID = pUID;
- }
-
- public int getGankaoUID() {
- return gankaoUID;
- }
-
- public void setGankaoUID(int gankaoUID) {
- this.gankaoUID = gankaoUID;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getGrade() {
- return grade;
- }
-
- public void setGrade(int grade) {
- this.grade = grade;
- }
-
- public String getIdentity() {
- return identity;
- }
-
- public void setIdentity(String identity) {
- this.identity = identity;
- }
-
- public int getAuthorizationNumber() {
- return authorizationNumber;
- }
-
- public void setAuthorizationNumber(int authorizationNumber) {
- this.authorizationNumber = authorizationNumber;
- }
-
- public String getAuthorizationDate() {
- return authorizationDate;
- }
-
- public void setAuthorizationDate(String authorizationDate) {
- this.authorizationDate = authorizationDate;
- }
-
- public int getAuthorityID() {
- return authorityID;
- }
-
- public void setAuthorityID(int authorityID) {
- this.authorityID = authorityID;
- }
-
- public String getAuthorityName() {
- return authorityName;
- }
-
- public void setAuthorityName(String authorityName) {
- this.authorityName = authorityName;
- }
-
- public float getReturnPrice() {
- return returnPrice;
- }
-
- public void setReturnPrice(float returnPrice) {
- this.returnPrice = returnPrice;
- }
-
- public String getValidPeriod() {
- return validPeriod;
- }
-
- public void setValidPeriod(String validPeriod) {
- this.validPeriod = validPeriod;
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/bean/gankao/UserProduct.java b/app/src/main/java/com/uiui/sn/bean/gankao/UserProduct.java
deleted file mode 100644
index b050965..0000000
--- a/app/src/main/java/com/uiui/sn/bean/gankao/UserProduct.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.uiui.sn.bean.gankao;
-
-import androidx.annotation.NonNull;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-
-import java.io.Serializable;
-
-public class UserProduct implements Serializable {
- private static final long serialVersionUID = 7962643432696702587L;
-
- String id;
- String user_id;
- String name;
- boolean isgroup;
- String product_id;
- String user_power_id;
- String specification_id;
- String register_autobind;
- float upgradable;
- String upgradablehint;
- String expired_time;
- String created_at;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getUser_id() {
- return user_id;
- }
-
- public void setUser_id(String user_id) {
- this.user_id = user_id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public boolean isIsgroup() {
- return isgroup;
- }
-
- public void setIsgroup(boolean isgroup) {
- this.isgroup = isgroup;
- }
-
- public String getProduct_id() {
- return product_id;
- }
-
- public void setProduct_id(String product_id) {
- this.product_id = product_id;
- }
-
- public String getUser_power_id() {
- return user_power_id;
- }
-
- public void setUser_power_id(String user_power_id) {
- this.user_power_id = user_power_id;
- }
-
- public String getSpecification_id() {
- return specification_id;
- }
-
- public void setSpecification_id(String specification_id) {
- this.specification_id = specification_id;
- }
-
- public String getRegister_autobind() {
- return register_autobind;
- }
-
- public void setRegister_autobind(String register_autobind) {
- this.register_autobind = register_autobind;
- }
-
- public float getUpgradable() {
- return upgradable;
- }
-
- public void setUpgradable(float upgradable) {
- this.upgradable = upgradable;
- }
-
- public String getUpgradablehint() {
- return upgradablehint;
- }
-
- public void setUpgradablehint(String upgradablehint) {
- this.upgradablehint = upgradablehint;
- }
-
- public String getExpired_time() {
- return expired_time;
- }
-
- public void setExpired_time(String expired_time) {
- this.expired_time = expired_time;
- }
-
- public String getCreated_at() {
- return created_at;
- }
-
- public void setCreated_at(String created_at) {
- this.created_at = created_at;
- }
-
- @NonNull
- @Override
- public String toString() {
- Gson gson = new Gson();
- JsonObject jsonObject = JsonParser.parseString(gson.toJson(this)).getAsJsonObject();
- return jsonObject.toString();
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/bean/gankao/UserProductCards.java b/app/src/main/java/com/uiui/sn/bean/gankao/UserProductCards.java
deleted file mode 100644
index 0197376..0000000
--- a/app/src/main/java/com/uiui/sn/bean/gankao/UserProductCards.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.uiui.sn.bean.gankao;
-
-import java.io.Serializable;
-
-public class UserProductCards implements Serializable {
- private static final long serialVersionUID = 2956193416718626851L;
-
- T cards;
-
- public T getCards() {
- return cards;
- }
-
- public void setCards(T cards) {
- this.cards = cards;
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/bean/zuoye/UserInfo.java b/app/src/main/java/com/uiui/sn/bean/zuoye/UserInfo.java
deleted file mode 100644
index f151e84..0000000
--- a/app/src/main/java/com/uiui/sn/bean/zuoye/UserInfo.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package com.uiui.sn.bean.zuoye;
-
-import androidx.annotation.NonNull;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonParser;
-
-import java.io.Serializable;
-
-public class UserInfo implements Serializable {
-
- private static final long serialVersionUID = -5268233433601073239L;
-
- private int id;
- private String sn_value;
- private String sn_name;
- private String sn_phone;
- private String grade;
- private String sn_app;
- private String sn_area;
- private int admin_id;
- private String is_delete;
- private String is_reset;
- private String is_lock;
- private String school;
- private String createtime;
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getSn_value() {
- return sn_value;
- }
-
- public void setSn_value(String sn_value) {
- this.sn_value = sn_value;
- }
-
- public String getSn_name() {
- return sn_name;
- }
-
- public void setSn_name(String sn_name) {
- this.sn_name = sn_name;
- }
-
- public String getSn_phone() {
- return sn_phone;
- }
-
- public void setSn_phone(String sn_phone) {
- this.sn_phone = sn_phone;
- }
-
- public String getGrade() {
- return grade;
- }
-
- public void setGrade(String grade) {
- this.grade = grade;
- }
-
- public String getSn_app() {
- return sn_app;
- }
-
- public void setSn_app(String sn_app) {
- this.sn_app = sn_app;
- }
-
- public String getSn_area() {
- return sn_area;
- }
-
- public void setSn_area(String sn_area) {
- this.sn_area = sn_area;
- }
-
- public int getMember_id() {
- return admin_id;
- }
-
- public void setMember_id(int admin_id) {
- this.admin_id = admin_id;
- }
-
- public String getIs_delete() {
- return is_delete;
- }
-
- public void setIs_delete(String is_delete) {
- this.is_delete = is_delete;
- }
-
- public String getIs_reset() {
- return is_reset;
- }
-
- public void setIs_reset(String is_reset) {
- this.is_reset = is_reset;
- }
-
- public String getIs_lock() {
- return is_lock;
- }
-
- public void setIs_lock(String is_lock) {
- this.is_lock = is_lock;
- }
-
- public String getCreatetime() {
- return createtime;
- }
-
- public void setCreatetime(String createtime) {
- this.createtime = createtime;
- }
-
- public String getSchool() {
- return school;
- }
-
- public void setSchool(String school) {
- this.school = school;
- }
-
- @NonNull
- @Override
- public String toString() {
- return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString();
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/config/Configs.java b/app/src/main/java/com/uiui/sn/config/CommonConfig.java
similarity index 57%
rename from app/src/main/java/com/uiui/sn/config/Configs.java
rename to app/src/main/java/com/uiui/sn/config/CommonConfig.java
index dcb6633..07c84a2 100644
--- a/app/src/main/java/com/uiui/sn/config/Configs.java
+++ b/app/src/main/java/com/uiui/sn/config/CommonConfig.java
@@ -1,6 +1,16 @@
package com.uiui.sn.config;
-public class Configs {
+public class CommonConfig {
+ /*保存的应用版本号*/
+ public final static String SN_VERSIONCODE = "SN_VERSIONCODE";
+ /*首次连接*/
+ public final static String JGY_FIRST_CONNECT = "first_connect";
+ /*后台的白名单*/
+ public final static String ONLY_SHORTCUT_LIST = "only_jgy_shortcut_list";
+ /*底层白名单*/
+ public final static String QCH_APP_FORBID = "qch_app_forbid";
+
+
public static String isLogined = "isLogined";
public static String AES_KEY = "0123456789ABCDEF";
public static String HTTP_KEY = "YTM3YTAxNTJmMmZmNzkyM2E2YzIwZjlhZTc0NzNmMGI=";
diff --git a/app/src/main/java/com/uiui/sn/config/CommonData.java b/app/src/main/java/com/uiui/sn/config/CommonData.java
deleted file mode 100644
index 79411db..0000000
--- a/app/src/main/java/com/uiui/sn/config/CommonData.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.uiui.sn.config;
-
-
-
-public class CommonData {
-
- public static final String MAJOR_ACTION = "MAJOR_ACTION";
- public static final String FLAG_FIRST_ENTER = "first_enter";
- public static final String SP_USER_ID = "user_ID";
- public static final String SP_USER_PHONE = "user_phone";
- public static final String SP_USER_NAME = "user_name";
- public static final String SP_USER_IDCARD = "user_idcard";
- public static final String SP_USER_PASSWORD = "user_pass";
- public static final String SP_RECOMMEND_PHONE = "recommend_phone";
- public static final String SP_RECOMMEND_NAME = "sup_name";
- public static final String SP_USER_LEVEL = "user_level";
- public static final String SP_ISLOGINED = "user_islogined";
-
-
- public static final String NEXT_PAGE = "next_page";
-
- public static final String BANK_NAME = "bank_name";
- public static final String OPERATOR_NAME = "bank_name";
-
- public static final String PRODUCT_LINK = "product_link";
- public static final String PRODUCT_NAME = "product_name";
-
-}
diff --git a/app/src/main/java/com/uiui/sn/config/Scheme.java b/app/src/main/java/com/uiui/sn/config/Scheme.java
deleted file mode 100644
index b7beff0..0000000
--- a/app/src/main/java/com/uiui/sn/config/Scheme.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package com.uiui.sn.config;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.text.TextUtils;
-import android.util.Log;
-
-
-import com.uiui.sn.utils.CXAESUtil;
-import com.uiui.sn.utils.Hash;
-import com.uiui.sn.utils.Utils;
-
-import java.io.UnsupportedEncodingException;
-
-public class Scheme {
- private static String TAG = Scheme.class.getSimpleName();
-
- //激活
- public static final String Login = "gankao://loginFromPartner";
- //个人中心scheme地址
- public static final String ownCenter = "gankao://ownCenter";
- //app_id 渠道号 partnerID 都是这个
- public static final String partner_id = "colorful";
- //加密的
- public static final String key = "845a5d93669264baddc109a98493d8f930f641e65f4a7b8864aa934b3b98ccc9c24ba8454b0271576d7867aa623d30bd";
- //AI
- public static final String AIzhijianshidu = "gankao://dotRead";
- public static final String AIzhijiancidian = "gankao://dotReadWords";
- public static final String Yingweizuowenpigai = "";
- public static final String Zhijianjuzifanyi = "gankao://dotReadSentences";
- public static final String AIkousuanpigai = "";
- public static final String Paozhaosouti = "gankao://photoSearch";
- public static final String Yuwenzuowenpigai = "";
-
- //系统测
- public static final String YueduAI = "gankao://web?https://daoxue.gankao.com/evaluation";
- public static final String Kouyupingce = "gankao://capabilityAssessment";
- public static final String Yuedunenglice = "gankao://capabilityAssessment";
-
- //同步课程
- public static final String Tongbukecheng = "gankao://courseList";
- public static final String Zhishidian = "gankao://knowlegeCourse";
- public static final String Zhuantikecheng = "gankao://zhuanTiCourse";
- public static final String Quweikecheng = "gankao://interestLessons";
- public static final String Tongbutingxie = "gankao://aiTingxie";
- public static final String Tongbushufa = "gankao://bishunCalligraphy";
- public static final String Tongbukousuan = "gankao://aiKousuan";
- public static final String Tongbulangdu = "gankao://courseRead";
-
- //针对练
- public static final String Zaixianzuoti = "gankao://questionBankCenter";
- public static final String Mingxiaoshijuan = "gankao://schoolExamPaper";
- public static final String Banjizuoye = "gankao://classHomework";
- public static final String Jiucuoben = "gankao://wrongTitle";
-
- //AI升学
- public static final String Youshengxiao = "gankao://web?https://lubo.gankao.com/tag/guoxue";
- public static final String Xiaoshengchu = "gankao://web?https://lubo.gankao.com/tag/xscxj";
- public static final String Aoshujingjiang = "gankao://aoshujingjiang";
-
- //扩展
- public static final String Guoxue = "gankao://web?https://lubo.gankao.com/guoxue";
- public static final String Gushici = "gankao://ancientPoetry";
- public static final String Jiaoyu = "gankao://homeEducation";
- public static final String Zuowen = "gankao://selectCompositions";
- public static final String Mingzhu = "gankao://kewaiMingzhu";
- public static final String FM = "gankao://chengzhangying";
- public static final String Huyi = "";
-
-
- public static void openScheme(Activity context, String uri) {
- if (TextUtils.isEmpty(uri)) {
- return;
- }
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
- try {
- context.startActivity(intent);
- } catch (Exception e) {
- Log.e(TAG, "openScheme: " + e.getMessage());
- }
- }
-
- public static String getPublicSecret() {
- try {
- return CXAESUtil.decrypt(CXAESUtil.HEX, key);
- } catch (Exception e) {
- e.printStackTrace();
- return "";
- }
- }
-
- public static String getSign(Context context) {
- String device_id = Utils.getAndroid7MAC();
- String sign = "partner_id=" + partner_id +
- "&" + "device_id=" + Uri.encode(device_id, "utf-8") +
- "&" + "macaddr=" + Uri.encode(Utils.getAndroid10MAC(context), "utf-8")
- + Uri.encode(getPublicSecret(), "utf-8");
- Log.e(TAG, "getLogin: " + sign);
- return Hash.md5(sign);
- }
-
- public static String getLogin(Context context) throws UnsupportedEncodingException {
- String device_id = Utils.getAndroid7MAC();
- String login = Login + "?" +
- "partner_id=" + partner_id +
- "&" + "device_id=" + Uri.encode(device_id, "utf-8") +
- "&" + "macaddr=" + Uri.encode(Utils.getAndroid10MAC(context), "utf-8") +
- "&" + "sign=" + getSign(context);
- Log.e(TAG, "getLogin: " + login);
- return login;
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/fragment/AppletQRCodeFragment.java b/app/src/main/java/com/uiui/sn/fragment/AppletQRCodeFragment.java
index 63dea19..701231d 100644
--- a/app/src/main/java/com/uiui/sn/fragment/AppletQRCodeFragment.java
+++ b/app/src/main/java/com/uiui/sn/fragment/AppletQRCodeFragment.java
@@ -15,11 +15,11 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.bumptech.glide.Glide;
import com.uiui.sn.R;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.manager.NetInterfaceManager;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.network.NetInterfaceManager;
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
/**
diff --git a/app/src/main/java/com/uiui/sn/fragment/QRCodeFragment.java b/app/src/main/java/com/uiui/sn/fragment/QRCodeFragment.java
index 820a91c..854ad9f 100644
--- a/app/src/main/java/com/uiui/sn/fragment/QRCodeFragment.java
+++ b/app/src/main/java/com/uiui/sn/fragment/QRCodeFragment.java
@@ -12,7 +12,7 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import com.uiui.sn.R;
-import com.uiui.sn.config.Configs;
+import com.uiui.sn.config.CommonConfig;
import com.uiui.sn.utils.CXAESUtil;
import com.uiui.sn.utils.Utils;
@@ -70,7 +70,7 @@ public class QRCodeFragment extends Fragment {
mView = inflater.inflate(R.layout.fragment_qrcode, container, false);
qr_code =mView.findViewById(R.id.qr_code);
try {
- String encryptString = CXAESUtil.encrypt(Configs.AES_KEY, Utils.getSerial());
+ String encryptString = CXAESUtil.encrypt(CommonConfig.AES_KEY, Utils.getSerial());
Bitmap bitmap = Utils.createQRImage(encryptString, 300, 300);
qr_code.setImageBitmap(bitmap);
} catch (Exception e) {
diff --git a/app/src/main/java/com/uiui/sn/manager/AmapManager.java b/app/src/main/java/com/uiui/sn/manager/AmapManager.java
index 76acb3e..d27849f 100644
--- a/app/src/main/java/com/uiui/sn/manager/AmapManager.java
+++ b/app/src/main/java/com/uiui/sn/manager/AmapManager.java
@@ -76,6 +76,7 @@ public class AmapManager {
SPUtils.put(mContext, "AmapAddress", aMapLocation.getAddress());
SPUtils.put(mContext, "longitude", aMapLocation.getLongitude());
SPUtils.put(mContext, "latitude", aMapLocation.getLatitude());
+ SPUtils.put(mContext, "AmapError", "");
} else {
//定位失败
sb.append("定位失败" + "\n");
diff --git a/app/src/main/java/com/uiui/sn/manager/ConnectManager.java b/app/src/main/java/com/uiui/sn/manager/ConnectManager.java
new file mode 100644
index 0000000..419be29
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/manager/ConnectManager.java
@@ -0,0 +1,81 @@
+package com.uiui.sn.manager;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.util.Log;
+
+import com.tencent.mmkv.MMKV;
+import com.uiui.sn.utils.TimeUtils;
+
+public class ConnectManager {
+ private static final String TAG = ConnectManager.class.getSimpleName();
+
+ /*重启后连接成功的时间*/
+ public static final String REBOOT_LAST_ONNECT_TIME = "reboot_last_connect_time";
+ /*WiFi连接后连接成功的时间*/
+ public static final String WIFI_LAST_CONNECT_TIME = "WiFi_last_connect_time";
+ /*打开设备信息连接成功的时间*/
+ public static final String OPENINFO_LAST_ONNECT_TIME = "opneinfo_last_connect_time";
+
+
+ @SuppressLint("StaticFieldLeak")
+ private static ConnectManager sInstance;
+ private Context mContext;
+ private MMKV mMMKV = MMKV.defaultMMKV();
+
+ private ConnectManager(Context context) {
+ if (context == null) {
+ throw new RuntimeException("Context is NULL");
+ }
+ this.mContext = context;
+
+ }
+
+ public static void init(Context context) {
+ if (sInstance == null) {
+ Log.e(TAG, "init: ");
+ sInstance = new ConnectManager(context);
+ }
+ }
+
+ public static ConnectManager getInstance() {
+ if (sInstance == null) {
+ throw new IllegalStateException("You must be init ConnectManager first");
+ }
+ return sInstance;
+ }
+
+
+ /**
+ * @return 今天重启后是否连接
+ */
+ public boolean isRebootFistConnect() {
+ long time = mMMKV.decodeLong(REBOOT_LAST_ONNECT_TIME, 0);
+ return !TimeUtils.isTodayTime(time);
+ }
+
+ /**
+ * @return 今天WiFi连接是否有连接
+ */
+ public boolean isWiFiFistConnect() {
+ long time = mMMKV.decodeLong(WIFI_LAST_CONNECT_TIME, 0);
+ return !TimeUtils.isTodayTime(time);
+ }
+
+ /**
+ * @return 今天打开设备信息后是否连接
+ */
+ public boolean isOpenInfoFistConnect() {
+ long time = mMMKV.decodeLong(OPENINFO_LAST_ONNECT_TIME, 0);
+ return !TimeUtils.isTodayTime(time);
+ }
+
+ /**
+ * @param WiFiAlias
+ * @return 今天切换WiFi后是否连接
+ */
+ public boolean isWiFiCutoverFistConnect(String WiFiAlias) {
+ long time = mMMKV.decodeLong(WiFiAlias, 0);
+ return !TimeUtils.isTodayTime(time);
+ }
+}
diff --git a/app/src/main/java/com/uiui/sn/manager/ControlManager.java b/app/src/main/java/com/uiui/sn/manager/ControlManager.java
index df34d0a..ba1bf3c 100644
--- a/app/src/main/java/com/uiui/sn/manager/ControlManager.java
+++ b/app/src/main/java/com/uiui/sn/manager/ControlManager.java
@@ -12,7 +12,7 @@ import android.util.Log;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.uiui.sn.bean.zuoye.SystemSettings;
+import com.uiui.sn.bean.SystemSettings;
import com.uiui.sn.utils.ApkUtils;
import com.uiui.sn.utils.JGYUtils;
import com.uiui.sn.utils.SPUtils;
diff --git a/app/src/main/java/com/uiui/sn/manager/NetInterfaceManager.java b/app/src/main/java/com/uiui/sn/manager/NetInterfaceManager.java
deleted file mode 100644
index 8763766..0000000
--- a/app/src/main/java/com/uiui/sn/manager/NetInterfaceManager.java
+++ /dev/null
@@ -1,386 +0,0 @@
-package com.uiui.sn.manager;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.util.Log;
-
-import com.uiui.sn.bean.zuoye.AppInfo;
-import com.uiui.sn.bean.zuoye.AppStart;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.Label;
-import com.uiui.sn.bean.zuoye.UserAvatarInfo;
-import com.uiui.sn.bean.zuoye.UserInfo;
-import com.uiui.sn.bean.zuoye.browser.BrowserApiData;
-import com.uiui.sn.network.UrlAddress;
-import com.uiui.sn.network.api.APPJump;
-import com.uiui.sn.network.api.AddAppInstall;
-import com.uiui.sn.network.api.AppUsedApi;
-import com.uiui.sn.network.api.BindDevices;
-import com.uiui.sn.network.api.Browser;
-import com.uiui.sn.network.api.BrowserLabel;
-import com.uiui.sn.network.api.ForceInstall;
-import com.uiui.sn.network.api.GetBatchApi;
-import com.uiui.sn.network.api.GetControlScreenshotApi;
-import com.uiui.sn.network.api.GetGuideApi;
-import com.uiui.sn.network.api.GetSnUidApi;
-import com.uiui.sn.network.api.NewestAppUpdate;
-import com.uiui.sn.network.api.QRCodeApi;
-import com.uiui.sn.network.api.QueryAllApp;
-import com.uiui.sn.network.api.QueryAppInside;
-import com.uiui.sn.network.api.QuerySnAppStart;
-import com.uiui.sn.network.api.RunningApp;
-import com.uiui.sn.network.api.SNInfoApi;
-import com.uiui.sn.network.api.SaveSnUidApi;
-import com.uiui.sn.network.api.ScreenLock;
-import com.uiui.sn.network.api.ScreenState;
-import com.uiui.sn.network.api.Setting;
-import com.uiui.sn.network.api.TimeControl;
-import com.uiui.sn.network.api.UpdateAdminSn;
-import com.uiui.sn.network.api.UploadScreenshot;
-import com.uiui.sn.network.api.UserInfoControl;
-import com.uiui.sn.utils.MD5Util;
-import com.uiui.sn.utils.Utils;
-
-import org.jetbrains.annotations.NotNull;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.TimeUnit;
-
-import io.reactivex.Observable;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.schedulers.Schedulers;
-import okhttp3.Cache;
-import okhttp3.Interceptor;
-import okhttp3.OkHttpClient;
-import okhttp3.Protocol;
-import okhttp3.Request;
-import okhttp3.Response;
-import retrofit2.Retrofit;
-import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
-import retrofit2.converter.gson.GsonConverterFactory;
-
-public class NetInterfaceManager {
- @SuppressLint("StaticFieldLeak")
- private static NetInterfaceManager INSTANCE;
- private Context mContext;
- private Retrofit mRetrofit;
- private OkHttpClient okHttpClient;
-// private Retrofit mGankaoRetrofit;
- private final ConcurrentHashMap requestIdsMap = new ConcurrentHashMap<>();
-
- //超时时间
- private static int timeOut = 5;
- // 缓存文件最大限制大小20M
- private static long cacheSize = 1024 * 1024 * 64;
- public static final String CUSTOM_REPEAT_REQ_PROTOCOL = "MY_CUSTOM_REPEAT_REQ_PROTOCOL";
-
- private NetInterfaceManager(Context context) {
- mContext = context;
-
- if (null == mRetrofit) {
- if (okHttpClient == null) {
- Interceptor myHttpInterceptor = new Interceptor() {
- @NotNull
- @Override
- public Response intercept(@NotNull Chain chain) throws IOException {
- Request request = chain.request();
- String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString());
- Response response = chain.proceed(request); //准备返回Response
- synchronized (requestIdsMap) {
- requestIdsMap.remove(requestKey); //在这里移除正常的请求登记
- Log.e("REPEAT-REQUEST", "移除请求2:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
- }
- return response;
- }
- };
- Interceptor mRequestInterceptor = new Interceptor() {
- @NotNull
- @Override
- public Response intercept(@NotNull Chain chain) throws IOException {
- Request request = chain.request();
- //拦截处理重复的HTTP 请求,类似 防止快速点击按钮去重 可以不去处理了,全局统一处理
- String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString());
- synchronized (requestIdsMap) {
- if (requestIdsMap.get(requestKey) == null) {
-// Log.e("REPEAT-REQUEST", "intercept: " + requestIdsMap);
- requestIdsMap.put(requestKey, System.currentTimeMillis());
- Log.e("REPEAT-REQUEST", "注册请求:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
- } else {
- //如果是重复的请求,抛出一个自定义的错误,这个错误大家根据自己的业务定义吧
- Log.e("REPEAT-REQUEST", "重复请求:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
- return new Response.Builder()
- .protocol(Protocol.get(CUSTOM_REPEAT_REQ_PROTOCOL))
- .request(request) //multi thread
- .build();
- }
- }
- Response originalResponse = chain.proceed(request);
- return originalResponse.newBuilder().build();
- }
- };
- Interceptor interceptor = new Interceptor() {
- @NotNull
- @Override
- public Response intercept(@NotNull Chain chain) throws IOException {
- Request request = chain.request();
- //相同的请求
- String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString());
- long time = System.currentTimeMillis();//请求时间
- try {
- if (requestIdsMap.size() > 0 && requestIdsMap.containsKey(requestKey)) {
- Log.e("REPEAT-REQUEST", "重复请求:" + requestKey + " Method @" + request.method() + " --- " + " URL = " + request.url());
- chain.call().cancel();
- return new Response.Builder()
- .protocol(Protocol.get(CUSTOM_REPEAT_REQ_PROTOCOL))
- .request(request) //multi thread
- .build();
- }
- requestIdsMap.put(requestKey, time);
- Log.e("REPEAT-REQUEST", "注册请求:" + requestKey + " Method @" + request.method() + " --- " + " URL = " + request.url());
-// Request.Builder builder = request.newBuilder();
-// builder.addHeader("header", jsonObject.toString());
- return chain.proceed(request);
- } catch (IOException e) {
- throw e;
- } finally {
- if (requestIdsMap.containsKey(requestKey) && requestIdsMap.containsValue(time)) {//请求任务完成删除map中的数据
- requestIdsMap.remove(requestKey);
- Log.e("REPEAT-REQUEST", "移除请求:" + requestKey + " Method @" + request.method() + " --- " + " URL = " + request.url());
- }
- }
- }
- };
-
- //如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了
- OkHttpClient.Builder builder = new OkHttpClient.Builder();
- builder.connectTimeout(timeOut, TimeUnit.SECONDS); // 设置连接超时时间
- builder.writeTimeout(timeOut, TimeUnit.SECONDS);// 设置写入超时时间
- builder.readTimeout(timeOut, TimeUnit.SECONDS);// 设置读取数据超时时间
- builder.retryOnConnectionFailure(true);// 设置进行连接失败重试
- builder.addInterceptor(interceptor);
-// builder.addInterceptor(myHttpInterceptor);
-// builder.addNetworkInterceptor(mRequestInterceptor);
-
- // 设置缓存文件路径
- String cacheDirectory = mContext.getExternalCacheDir().getAbsolutePath() + "/OkHttpCache";
- Cache cache = new Cache(new File(cacheDirectory), cacheSize);
- builder.cache(cache);// 设置缓存
- okHttpClient = builder.build();
- }
-
- mRetrofit = new Retrofit.Builder()
- .client(okHttpClient)
- .baseUrl(UrlAddress.ROOT_URL)
- .addConverterFactory(GsonConverterFactory.create())
- .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
- .build();
- }
-// if (null == mGankaoRetrofit) {
-// mGankaoRetrofit = new Retrofit.Builder()
-// .client(okHttpClient)
-// .baseUrl(UrlAddress.GANKAN_ROOT_URL)
-// .addConverterFactory(GsonConverterFactory.create())
-// .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
-// .build();
-// }
- }
-
- public static void init(Context context) {
- if (INSTANCE == null) {
- INSTANCE = new NetInterfaceManager(context);
- }
- }
-
- public static NetInterfaceManager getInstance() {
- if (INSTANCE == null) {
- throw new IllegalStateException("You must be init NetworkManager first");
- }
- return INSTANCE;
- }
-
- public OkHttpClient getOkHttpClient() {
- return okHttpClient;
- }
-
- public Observable> getsnInfoControl() {
- return mRetrofit.create(SNInfoApi.class)
- .getsninfo(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable getsettingControl() {
- return mRetrofit.create(Setting.class)
- .getSetting(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable>> getForceInstallControl() {
- return mRetrofit.create(ForceInstall.class)
- .getForceInstall(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable> getBrowserControl() {
- return mRetrofit.create(Browser.class)
- .getBrowser(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable> getLabelControl() {
- return mRetrofit.create(BrowserLabel.class)
- .getLabel(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable>> getAppStartControl() {
- return mRetrofit.create(QuerySnAppStart.class)
- .getAppStatu(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable>> getQueryAllAppControl() {
- return mRetrofit.create(QueryAllApp.class)
- .getAllApp(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable getTimeControl() {
- return mRetrofit.create(TimeControl.class)
- .getTimeControl(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable> getUserAvatarInfoControl() {
- return mRetrofit.create(UserInfoControl.class)
- .getUserAvatarInfo(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable getRunningAppObservable(String json) {
- return mRetrofit.create(RunningApp.class)
- .sendAppInfo(Utils.getSerial(), json)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable getQRCodeApiControl() {
- return mRetrofit.create(QRCodeApi.class)
- .getQRCodeApi()
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable getAppInsideControl() {
- return mRetrofit.create(QueryAppInside.class)
- .getAppInside(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable getGetGuideControl() {
- return mRetrofit.create(GetGuideApi.class)
- .getGuidePic(2)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable getSnUidApiControl() {
- return mRetrofit.create(GetSnUidApi.class)
- .getSnUid(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public Observable getBatchApiControl() {
- return mRetrofit.create(GetBatchApi.class)
- .getBatch(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread());
- }
-
- public BindDevices getbindDevicesControl() {
- return mRetrofit.create(BindDevices.class);
- }
-
- public AddAppInstall getAddAppInstallControl() {
- return mRetrofit.create(AddAppInstall.class);
- }
-
- public APPJump getAppJumpControl() {
- return mRetrofit.create(APPJump.class);
- }
-
- public UpdateAdminSn getUpdateAdminSnControl() {
- return mRetrofit.create(UpdateAdminSn.class);
- }
-
- public NewestAppUpdate getNewestAppUpdateControl() {
- return mRetrofit.create(NewestAppUpdate.class);
- }
-
- public UploadScreenshot getUploadScreenshotControl() {
- return mRetrofit.create(UploadScreenshot.class);
- }
-
- public ScreenLock getScreenLockControl() {
- return mRetrofit.create(ScreenLock.class);
- }
-
- public ScreenState setScreen() {
- return mRetrofit.create(ScreenState.class);
- }
-
- public SaveSnUidApi getSaveSnUidApiControl() {
- return mRetrofit.create(SaveSnUidApi.class);
- }
-
- public AppUsedApi getAppUsedControl() {
- return mRetrofit.create(AppUsedApi.class);
- }
-
- public GetControlScreenshotApi getControlScreenshotApi() {
- return mRetrofit.create(GetControlScreenshotApi.class);
- }
-
-// //赶考
-//
-// public CreateUserApi getCreateUserControl() {
-// return mGankaoRetrofit.create(CreateUserApi.class);
-// }
-//
-// public ActiveUserApi getActiveUserControl() {
-// return mGankaoRetrofit.create(ActiveUserApi.class);
-// }
-//
-// public QueryProductApi getQueryProductControl() {
-// return mGankaoRetrofit.create(QueryProductApi.class);
-// }
-//
-// public QueryPowerUserListApi getQueryPowerUserListControl() {
-// return mGankaoRetrofit.create(QueryPowerUserListApi.class);
-// }
-//
-// public UserProductsApi getUserProductsControl() {
-// return mGankaoRetrofit.create(UserProductsApi.class);
-// }
-//
-// public CancelUserPowerApi getCancelUserPowerControl() {
-// return mGankaoRetrofit.create(CancelUserPowerApi.class);
-// }
-//
-// public UpgradeUserPowerApi getUpgradeUserPowerControl() {
-// return mGankaoRetrofit.create(UpgradeUserPowerApi.class);
-// }
-}
diff --git a/app/src/main/java/com/uiui/sn/network/HTTPInterface.java b/app/src/main/java/com/uiui/sn/network/HTTPInterface.java
index 22e0827..17413e3 100644
--- a/app/src/main/java/com/uiui/sn/network/HTTPInterface.java
+++ b/app/src/main/java/com/uiui/sn/network/HTTPInterface.java
@@ -6,8 +6,6 @@ import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
import android.os.Build;
import android.os.Environment;
import android.provider.Settings;
@@ -19,27 +17,20 @@ import androidx.core.content.ContextCompat;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.blankj.utilcode.util.ImageUtils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
import com.uiui.sn.BuildConfig;
-import com.uiui.sn.Statistics.AppInformation;
-import com.uiui.sn.Statistics.StatisticsInfo;
-import com.uiui.sn.bean.zuoye.AppInfo;
-import com.uiui.sn.bean.zuoye.AppStart;
-import com.uiui.sn.bean.zuoye.AppUploadInfo;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.Label;
-import com.uiui.sn.bean.zuoye.browser.BrowserApiData;
-import com.uiui.sn.bean.zuoye.browser.BrowserBean;
-import com.uiui.sn.jpush.TagAliasOperatorHelper;
+import com.uiui.sn.bean.AppInfo;
+import com.uiui.sn.bean.AppStart;
+import com.uiui.sn.bean.AppUploadInfo;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.Label;
+import com.uiui.sn.bean.browser.BrowserApiData;
+import com.uiui.sn.bean.browser.BrowserBean;
+import com.uiui.sn.config.CommonConfig;
import com.uiui.sn.manager.ControlManager;
-import com.uiui.sn.manager.NetInterfaceManager;
-import com.uiui.sn.network.api.GetControlScreenshotApi;
import com.uiui.sn.network.api.NewestAppUpdate;
import com.uiui.sn.network.api.UpdateAdminSn;
-import com.uiui.sn.network.api.UploadScreenshot;
import com.uiui.sn.service.ManagerService;
import com.uiui.sn.utils.ApkUtils;
import com.uiui.sn.utils.AppUsedTimeUtils;
@@ -51,78 +42,33 @@ import com.uiui.sn.utils.TimeUtils;
import com.uiui.sn.utils.URLUtils;
import com.uiui.sn.utils.Utils;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import java.util.stream.Collectors;
import cn.jpush.android.api.JPushInterface;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.ObservableSource;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.annotations.NonNull;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.functions.BiFunction;
-import io.reactivex.functions.Function;
-import io.reactivex.schedulers.Schedulers;
-import kotlin.io.OnErrorAction;
+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.BiFunction;
+import io.reactivex.rxjava3.functions.Function;
+import io.reactivex.rxjava3.schedulers.Schedulers;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
-import static com.uiui.sn.jpush.TagAliasOperatorHelper.ACTION_SET;
-
public class HTTPInterface {
private static String TAG = HTTPInterface.class.getSimpleName();
- public static void SendAppInstall(String jsonString) {
-// if (packageName.equals(packages)) {
-// Log.e("SendAppInstall", installOrRemove + "return: " + packages);
-// return;
-// }
-// Log.e(TAG, "SendAppInstall: " + jsonString);
- NetInterfaceManager.getInstance()
- .getAddAppInstallControl()
- .installorRemove(
- Utils.getSerial(), jsonString
- ).subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(@NonNull Disposable d) {
-
- }
-
- @Override
- public void onNext(@NonNull BaseResponse baseResponse) {
- int code = baseResponse.code;
- String msg = baseResponse.msg;
- Log.e("SendAppInstall", "onNext: " + "code" + code + ",msg:" + msg);
- }
-
- @Override
- public void onError(@NonNull Throwable e) {
- Log.e("SendAppInstall", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("SendAppInstall", "onComplete: ");
-
- }
- });
- }
public static void setBrowserWhiteList(Context context) {
Observable.zip(NetInterfaceManager.getInstance().getLabelControl(),
@@ -343,7 +289,6 @@ public class HTTPInterface {
}
}
-
public static void getAppStart(final Context context, List appInfoList) {
NetInterfaceManager.getInstance()
.getAppStartControl()
@@ -434,7 +379,6 @@ public class HTTPInterface {
ApkUtils.addShortcut(context);
}
-
//应用自启动
public static void setAppAutoStart(Context context, List list) {
String auto_allow = "";
@@ -734,7 +678,7 @@ public class HTTPInterface {
public void onNext(@NonNull BaseResponse> listBaseResponse) {
int code = listBaseResponse.code;
if (code == 200) {
- Log.e("getAllappPackage", "onNext: " + listBaseResponse.msg);
+ Log.e("getAllappPackage", "onNext: " + listBaseResponse);
List appInfoList = listBaseResponse.data;
if (null != appInfoList && appInfoList.size() != 0) {
HashSet allAppPkg = new HashSet<>();
@@ -742,15 +686,14 @@ public class HTTPInterface {
allAppPkg.add(appInfo.getApp_package());
}
String allPkgSet = String.join(",", allAppPkg);
- Settings.System.putString(context.getContentResolver(), "only_jgy_shortcut_list", allPkgSet);
+ Settings.System.putString(context.getContentResolver(), CommonConfig.ONLY_SHORTCUT_LIST, allPkgSet);
ApkUtils.writeAppPackageList(context, allPkgSet);
HTTPInterface.getAppStart(context, appInfoList);
} else {
- ApkUtils.writeAppPackageList(context, "Invalid");
+ ApkUtils.writeAppPackageList(context, "");
}
} else {
- ApkUtils.writeAppPackageList(context, "Invalid");
-
+ ApkUtils.writeAppPackageList(context, "");
}
}
@@ -782,7 +725,7 @@ public class HTTPInterface {
if (null != appInfos && appInfos.size() != 0) {
getForceInstallState(context, appInfos);
}
- JGYUtils.getInstance().deleteOtherApp();
+// JGYUtils.getInstance().deleteOtherApp();
} else {
boolean qch_force_app = JGYUtils.putString(context.getContentResolver(), "qch_force_app", "invalid");
Log.e(TAG, "qch_force_app:" + qch_force_app + ":" + "invalid");
@@ -939,7 +882,6 @@ public class HTTPInterface {
});
}
-
synchronized public static void getTimeControl(final Context context) {
NetInterfaceManager.getInstance()
.getTimeControl()
@@ -996,36 +938,6 @@ public class HTTPInterface {
});
}
- public static void sendAppUsed(Context context) {
- String statistics = Utils.getAppUsedStatistics(context);
- Log.e(TAG, "sendAppUsed: " + statistics);
- NetInterfaceManager.getInstance().getAppUsedControl()
- .getAppUsed(Utils.getSerial(), statistics)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("sendAppUsed", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse response) {
- Log.e("sendAppUsed", "onNext: " + JSONObject.toJSONString(response));
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("sendAppUsed", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("sendAppUsed", "onComplete: ");
- }
- });
- }
-
public static void sendRunningApp(Context context) {
String packageName = AppUsedTimeUtils.getInstance().getAppPackageName();
long time = AppUsedTimeUtils.getInstance().getStartTime();
@@ -1176,115 +1088,5 @@ public class HTTPInterface {
});
}
- private static List factoryApp = new ArrayList() {{
- this.add("com.gankao.gkwxhd");
- this.add("com.jiaoguanyi.os");
- }};
- public static void getAPPinfo(Context context) {
- Observable.create((ObservableOnSubscribe>) emitter -> {
- PackageManager pm = context.getPackageManager();
- List list = pm.getInstalledPackages(0);
- List uploadInfos = new ArrayList<>();
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.addCategory(Intent.CATEGORY_LAUNCHER);
- List appsWithLauncher = pm.queryIntentActivities(intent, 0);
- HashSet pkgs = new HashSet<>();
- for (ResolveInfo info : appsWithLauncher) {
- pkgs.add(info.activityInfo.packageName);
- }
- Log.e(TAG, "getAPPinfo: " + pkgs);
- for (PackageInfo info : list) {
- if (!pkgs.contains(info.packageName)) {
- continue;
- }
-// if (((info.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) && !factoryApp.contains(info.packageName)) {
-// continue;
-// }
- AppUploadInfo uploadInfo = new AppUploadInfo();
- uploadInfo.setApp_package(info.packageName);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- uploadInfo.setApp_version_code(info.getLongVersionCode());
- } else {
- uploadInfo.setApp_version_code(info.versionCode);
- }
- uploadInfo.setFirstInstallTime(info.firstInstallTime / 1000);
- uploadInfo.setLastUpdateTime(info.lastUpdateTime / 1000);
- uploadInfos.add(uploadInfo);
- }
- emitter.onNext(uploadInfos);
- })
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer>() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("getAPPinfo", "onSubscribe: ");
- }
-
- @Override
- public void onNext(List appUploadInfos) {
- String json = JSONArray.toJSONString(appUploadInfos);
- Log.e("getAPPinfo", "onNext: " + json);
- HTTPInterface.SendAppInstall(json);
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getAPPinfo", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("getAPPinfo", "onComplete: ");
- }
- });
- }
-
- public static void setJpushTags(Context context) {
- NetInterfaceManager.getInstance()
- .getBatchApiControl()
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("getBatch", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse baseResponse) {
- Log.e("getBatch", "onNext: " + baseResponse);
- if (baseResponse.code == 200) {
- Gson gson = new Gson();
- JsonObject jsonObject = JsonParser.parseString(gson.toJson(baseResponse.data)).getAsJsonObject();
- int batch_id = jsonObject.get("batch_id").getAsInt();
- Log.e("getBatch", "onNext: " + batch_id);
- Set set = new HashSet();
- set.add(batch_id);
- setTag(context, set);
- } else {
- Log.e("getBatch", "onNext: " + baseResponse.msg);
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getBatch", "onError: " + e.getMessage());
- onComplete();
- }
-
- @Override
- public void onComplete() {
- Log.e("getBatch", "onComplete: ");
- }
- });
- }
-
- private static void setTag(Context context, Set set) {
- TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
- tagAliasBean.action = ACTION_SET;
- TagAliasOperatorHelper.sequence++;
- tagAliasBean.tags = set;
- tagAliasBean.isAliasAction = false;
- TagAliasOperatorHelper.getInstance().handleAction(context, TagAliasOperatorHelper.sequence, tagAliasBean);
- }
}
diff --git a/app/src/main/java/com/uiui/sn/network/NetInterfaceManager.java b/app/src/main/java/com/uiui/sn/network/NetInterfaceManager.java
new file mode 100644
index 0000000..7007929
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/network/NetInterfaceManager.java
@@ -0,0 +1,647 @@
+package com.uiui.sn.network;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.Build;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.alibaba.fastjson.JSONArray;
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import com.tencent.android.tpush.XGIOperateCallback;
+import com.tencent.android.tpush.XGPushManager;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.ActivityEvent;
+import com.uiui.sn.bean.AppInfo;
+import com.uiui.sn.bean.AppStart;
+import com.uiui.sn.bean.AppUploadInfo;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.Label;
+import com.uiui.sn.bean.UserAvatarInfo;
+import com.uiui.sn.bean.SnInfo;
+import com.uiui.sn.bean.browser.BrowserApiData;
+import com.uiui.sn.config.CommonConfig;
+import com.uiui.sn.network.api.APPJump;
+import com.uiui.sn.network.api.AddAppInstall;
+import com.uiui.sn.network.api.BindDevices;
+import com.uiui.sn.network.api.Browser;
+import com.uiui.sn.network.api.BrowserLabel;
+import com.uiui.sn.network.api.ForceInstall;
+import com.uiui.sn.network.api.GetBatchApi;
+import com.uiui.sn.network.api.GetControlScreenshotApi;
+import com.uiui.sn.network.api.GetGuideApi;
+import com.uiui.sn.network.api.GetPublicIPApi;
+import com.uiui.sn.network.api.NewestAppUpdate;
+import com.uiui.sn.network.api.QRCodeApi;
+import com.uiui.sn.network.api.QueryAllApp;
+import com.uiui.sn.network.api.QueryAppInside;
+import com.uiui.sn.network.api.QuerySnAppStart;
+import com.uiui.sn.network.api.RunningApp;
+import com.uiui.sn.network.api.SNInfoApi;
+import com.uiui.sn.network.api.ScreenLock;
+import com.uiui.sn.network.api.ScreenState;
+import com.uiui.sn.network.api.Setting;
+import com.uiui.sn.network.api.TimeControl;
+import com.uiui.sn.network.api.UpdateAdminSn;
+import com.uiui.sn.network.api.UploadScreenshot;
+import com.uiui.sn.network.api.UserInfoControl;
+import com.uiui.sn.utils.JGYUtils;
+import com.uiui.sn.utils.MD5Util;
+import com.uiui.sn.utils.SPUtils;
+import com.uiui.sn.utils.Utils;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+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;
+import okhttp3.Interceptor;
+import okhttp3.OkHttpClient;
+import okhttp3.Protocol;
+import okhttp3.Request;
+import okhttp3.Response;
+import okhttp3.ResponseBody;
+import retrofit2.Retrofit;
+import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory;
+import retrofit2.converter.gson.GsonConverterFactory;
+
+public class NetInterfaceManager {
+ @SuppressLint("StaticFieldLeak")
+ private static NetInterfaceManager INSTANCE;
+ private Context mContext;
+ private Retrofit mRetrofit;
+ private OkHttpClient okHttpClient;
+ private final ConcurrentHashMap requestIdsMap = new ConcurrentHashMap<>();
+
+ //超时时间
+ private static int timeOut = 5;
+ // 缓存文件最大限制大小20M
+ private static long cacheSize = 1024 * 1024 * 64;
+ public static final String CUSTOM_REPEAT_REQ_PROTOCOL = "MY_CUSTOM_REPEAT_REQ_PROTOCOL";
+ private String TAG = NetInterfaceManager.class.getSimpleName();
+
+ private NetInterfaceManager(Context context) {
+ mContext = context;
+
+ if (null == mRetrofit) {
+ if (okHttpClient == null) {
+ Interceptor myHttpInterceptor = new Interceptor() {
+ @NotNull
+ @Override
+ public Response intercept(@NotNull Chain chain) throws IOException {
+ Request request = chain.request();
+ String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString());
+ Response response = chain.proceed(request); //准备返回Response
+ synchronized (requestIdsMap) {
+ requestIdsMap.remove(requestKey); //在这里移除正常的请求登记
+ Log.e("REPEAT-REQUEST", "移除请求2:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
+ }
+ return response;
+ }
+ };
+ Interceptor mRequestInterceptor = new Interceptor() {
+ @NotNull
+ @Override
+ public Response intercept(@NotNull Chain chain) throws IOException {
+ Request request = chain.request();
+ //拦截处理重复的HTTP 请求,类似 防止快速点击按钮去重 可以不去处理了,全局统一处理
+ String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString());
+ synchronized (requestIdsMap) {
+ if (requestIdsMap.get(requestKey) == null) {
+// Log.e("REPEAT-REQUEST", "intercept: " + requestIdsMap);
+ requestIdsMap.put(requestKey, System.currentTimeMillis());
+ Log.e("REPEAT-REQUEST", "注册请求:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
+ } else {
+ //如果是重复的请求,抛出一个自定义的错误,这个错误大家根据自己的业务定义吧
+ Log.e("REPEAT-REQUEST", "重复请求:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
+ return new Response.Builder()
+ .protocol(Protocol.get(CUSTOM_REPEAT_REQ_PROTOCOL))
+ .request(request) //multi thread
+ .build();
+ }
+ }
+ Response originalResponse = chain.proceed(request);
+ return originalResponse.newBuilder().build();
+ }
+ };
+ Interceptor interceptor = new Interceptor() {
+ @NotNull
+ @Override
+ public Response intercept(@NotNull Chain chain) throws IOException {
+ Request request = chain.request();
+ //相同的请求
+ String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString());
+ long time = System.currentTimeMillis();//请求时间
+ try {
+ if (requestIdsMap.size() > 0 && requestIdsMap.containsKey(requestKey)) {
+ Log.e("REPEAT-REQUEST", "重复请求:" + requestKey + " Method @" + request.method() + " --- " + " URL = " + request.url());
+// chain.call().cancel();
+ return new Response.Builder()
+ .protocol(Protocol.get(CUSTOM_REPEAT_REQ_PROTOCOL))
+ .request(request) //multi thread
+ .build();
+ }
+ requestIdsMap.put(requestKey, time);
+ Log.e("REPEAT-REQUEST", "注册请求:" + requestKey + " Method @" + request.method() + " --- " + " URL = " + request.url());
+// Request.Builder builder = request.newBuilder();
+// builder.addHeader("header", jsonObject.toString());
+ return chain.proceed(request);
+ } catch (IOException e) {
+ Log.e(TAG, "intercept: " + e.getMessage());
+ throw e;
+ } finally {
+ if (requestIdsMap.containsKey(requestKey) && requestIdsMap.containsValue(time)) {//请求任务完成删除map中的数据
+ requestIdsMap.remove(requestKey);
+ Log.e("REPEAT-REQUEST", "移除请求:" + requestKey + " Method @" + request.method() + " --- " + " URL = " + request.url());
+ }
+ }
+ }
+ };
+
+ //如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了
+ OkHttpClient.Builder builder = new OkHttpClient.Builder();
+ builder.connectTimeout(timeOut, TimeUnit.SECONDS); // 设置连接超时时间
+ builder.writeTimeout(timeOut, TimeUnit.SECONDS);// 设置写入超时时间
+ builder.readTimeout(timeOut, TimeUnit.SECONDS);// 设置读取数据超时时间
+ builder.retryOnConnectionFailure(true);// 设置进行连接失败重试
+ builder.addInterceptor(interceptor);
+// builder.addInterceptor(myHttpInterceptor);
+// builder.addNetworkInterceptor(mRequestInterceptor);
+
+ // 设置缓存文件路径
+ String cacheDirectory = mContext.getExternalCacheDir().getAbsolutePath() + "/OkHttpCache";
+ Cache cache = new Cache(new File(cacheDirectory), cacheSize);
+ builder.cache(cache);// 设置缓存
+ okHttpClient = builder.build();
+ }
+
+ mRetrofit = new Retrofit.Builder()
+ .client(okHttpClient)
+ .baseUrl(UrlAddress.ROOT_URL)
+ .addConverterFactory(GsonConverterFactory.create())
+ .addCallAdapterFactory(RxJava3CallAdapterFactory.create())
+ .build();
+ }
+// if (null == mGankaoRetrofit) {
+// mGankaoRetrofit = new Retrofit.Builder()
+// .client(okHttpClient)
+// .baseUrl(UrlAddress.GANKAN_ROOT_URL)
+// .addConverterFactory(GsonConverterFactory.create())
+// .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+// .build();
+// }
+ }
+
+ public static void init(Context context) {
+ if (INSTANCE == null) {
+ INSTANCE = new NetInterfaceManager(context);
+ }
+ }
+
+ public static NetInterfaceManager getInstance() {
+ if (INSTANCE == null) {
+ throw new IllegalStateException("You must be init NetworkManager first");
+ }
+ return INSTANCE;
+ }
+
+ public OkHttpClient getOkHttpClient() {
+ return okHttpClient;
+ }
+
+ public Observable> getsnInfoControl() {
+ return mRetrofit.create(SNInfoApi.class)
+ .getsninfo(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable getsettingControl() {
+ return mRetrofit.create(Setting.class)
+ .getSetting(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable>> getForceInstallControl() {
+ return mRetrofit.create(ForceInstall.class)
+ .getForceInstall(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable> getBrowserControl() {
+ return mRetrofit.create(Browser.class)
+ .getBrowser(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable> getLabelControl() {
+ return mRetrofit.create(BrowserLabel.class)
+ .getLabel(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable>> getAppStartControl() {
+ return mRetrofit.create(QuerySnAppStart.class)
+ .getAppStatu(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable>> getQueryAllAppControl() {
+ return mRetrofit.create(QueryAllApp.class)
+ .getAllApp(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable getTimeControl() {
+ return mRetrofit.create(TimeControl.class)
+ .getTimeControl(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable> getUserAvatarInfoControl() {
+ return mRetrofit.create(UserInfoControl.class)
+ .getUserAvatarInfo(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable getRunningAppObservable(String json) {
+ return mRetrofit.create(RunningApp.class)
+ .sendAppInfo(Utils.getSerial(), json)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable getQRCodeApiControl() {
+ return mRetrofit.create(QRCodeApi.class)
+ .getQRCodeApi()
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable getAppInsideControl() {
+ return mRetrofit.create(QueryAppInside.class)
+ .getAppInside(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable getGetGuideControl() {
+ return mRetrofit.create(GetGuideApi.class)
+ .getGuidePic(2)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+ public Observable getBatchApiControl() {
+ return mRetrofit.create(GetBatchApi.class)
+ .getBatch(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
+
+ public BindDevices getbindDevicesControl() {
+ return mRetrofit.create(BindDevices.class);
+ }
+
+ public AddAppInstall getAddAppInstallControl() {
+ return mRetrofit.create(AddAppInstall.class);
+ }
+
+ public APPJump getAppJumpControl() {
+ return mRetrofit.create(APPJump.class);
+ }
+
+ public UpdateAdminSn getUpdateAdminSnControl() {
+ return mRetrofit.create(UpdateAdminSn.class);
+ }
+
+ public NewestAppUpdate getNewestAppUpdateControl() {
+ return mRetrofit.create(NewestAppUpdate.class);
+ }
+
+ public UploadScreenshot getUploadScreenshotControl() {
+ return mRetrofit.create(UploadScreenshot.class);
+ }
+
+ public ScreenLock getScreenLockControl() {
+ return mRetrofit.create(ScreenLock.class);
+ }
+
+ public ScreenState setScreen() {
+ return mRetrofit.create(ScreenState.class);
+ }
+
+ public GetControlScreenshotApi getControlScreenshotApi() {
+ return mRetrofit.create(GetControlScreenshotApi.class);
+ }
+
+
+ public interface PublicIP {
+ void set(String ip);
+ }
+
+ /**
+ * 获取设备公网IP
+ *
+ * @param publicIP
+ */
+ public void getPublicIP(PublicIP publicIP) {
+ Retrofit retrofit = new Retrofit.Builder()
+ .client(NetInterfaceManager.getInstance().getOkHttpClient())
+ .baseUrl(UrlAddress.SHOUHU_CITYJSON)
+ .addConverterFactory(GsonConverterFactory.create())
+ .addCallAdapterFactory(RxJava3CallAdapterFactory.create())
+ .build();
+ retrofit.create(GetPublicIPApi.class)
+ .getPublicIP()
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ Log.e("getPublicIP", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(ResponseBody responseBody) {
+ try {
+ String s = responseBody.string();
+ Log.e("getPublicIP", "onNext: " + s);
+ if (!TextUtils.isEmpty(s)) {
+ //var returnCitySN = {"cip": "183.11.74.141", "cid": "440300", "cname": "广东省深圳市"};
+ if (s.contains("{")) {
+ String jsonString = s.substring(s.indexOf("{"), s.lastIndexOf("}") + 1);
+ JsonObject jsonObject = JsonParser.parseString(jsonString).getAsJsonObject();
+ String ip = jsonObject.get("cip").getAsString();
+ if (!TextUtils.isEmpty(ip)) {
+ publicIP.set(ip);
+ } else {
+ publicIP.set("");
+ }
+ } else {
+ publicIP.set("");
+ }
+ } else {
+ publicIP.set("");
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ Log.e("getPublicIP", "IOException: " + e.getMessage());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ Log.e("getPublicIP", "onError: " + e.getMessage());
+ publicIP.set("");
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("getPublicIP", "onComplete: ");
+ }
+ });
+ }
+
+
+ public interface ObserverCallback {
+ void onSubscribe(Disposable d);
+
+ void onNext(BaseResponse response);
+
+ void onError(Throwable e);
+
+ void onComplete();
+ }
+
+
+ public void getSnInfo(BehaviorSubject provider, ObserverCallback callback) {
+ NetInterfaceManager.getInstance()
+ .getsnInfoControl()
+ .compose(RxLifecycle.bindUntilEvent(provider, ActivityEvent.DESTROY))
+ .subscribe(new Observer>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ Log.e( "getSnInfo", "onSubscribe: ");
+ callback.onSubscribe(d);
+ }
+
+ @Override
+ public void onNext(BaseResponse userInfoBaseResponse) {
+ Log.e( "getSnInfo", "onNext: " + userInfoBaseResponse);
+ SPUtils.put(mContext, CommonConfig.JGY_FIRST_CONNECT, 1);
+ callback.onNext(userInfoBaseResponse);
+ int code = userInfoBaseResponse.code;
+ if (code == 200) {
+ SPUtils.put(mContext, CommonConfig.isLogined, 1);
+ SnInfo snInfo = userInfoBaseResponse.data;
+ Settings.System.putString(mContext.getContentResolver(), "UserInfo_username", snInfo.getSn_name());
+ Settings.System.putString(mContext.getContentResolver(), "UserInfo_grade", snInfo.getGrade());
+ SPUtils.put(mContext, "sn_id", snInfo.getId());
+ if (!TextUtils.isEmpty(snInfo.getSn_name())) {
+ SPUtils.put(mContext, "USERINFO_NAME", snInfo.getSn_name());
+ }
+ if (!TextUtils.isEmpty(snInfo.getSchool())) {
+ SPUtils.put(mContext, "USERINFO_SCHOOL", snInfo.getSchool());
+ }
+ if (!TextUtils.isEmpty(snInfo.getGrade())) {
+ SPUtils.put(mContext, "USERINFO_GRADE", snInfo.getGrade());
+ }
+ } else if (code == 300) {
+ SPUtils.put(mContext, CommonConfig.isLogined, 0);
+ } else if (code == 400) {
+ SPUtils.put(mContext, CommonConfig.isLogined, 2);
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ Log.e( "getSnInfo", "onError: " + e.getMessage());
+ callback.onError(e);
+ onComplete();
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("getSnInfo", "onComplete: ");
+ callback.onComplete();
+ }
+ });
+ }
+
+
+ /**
+ * 设置推送标签
+ *
+ * @param provider
+ * @param callback
+ */
+ public void setPushTags(BehaviorSubject provider, ObserverCallback callback) {
+ NetInterfaceManager.getInstance()
+ .getBatchApiControl()
+ .compose(RxLifecycle.bindUntilEvent(provider, ActivityEvent.DESTROY))
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ Log.e(TAG + ":" + "setPushTags", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse response) {
+ Log.e(TAG + ":" + "setPushTags", "onNext: " + response);
+ if (response.code == 200) {
+ JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
+ if (jsonObject.get("batch_id") == null) return;
+ String batch = jsonObject.get("batch_id").getAsString();
+ Log.e(TAG + ":" + "setPushTags", "onNext: " + batch);
+ if (!TextUtils.isEmpty(batch)) {
+ Set set = new HashSet();
+ set.add(batch);
+ JGYUtils.getInstance().getAppPlatform(platform -> {
+ if (platform == JGYUtils.MTKPlatform) {
+ set.add(JGYUtils.MTKTag);
+ } else if (platform == JGYUtils.ZhanruiPlatform) {
+ set.add(JGYUtils.ZhanruiTag);
+ }
+ });
+ Set tagsSet = new HashSet<>(set);
+ XGPushManager.clearAndAppendTags(mContext, "clearAndAppendTags :" + System.currentTimeMillis(), tagsSet, new XGIOperateCallback() {
+ @Override
+ public void onSuccess(Object o, int i) {
+ Log.e("setPushTags", "onSuccess: " + o);
+ }
+
+ @Override
+ public void onFail(Object o, int i, String s) {
+ Log.e("setPushTags", "onFail: " + o);
+ }
+ });
+ } else {
+ Log.e(TAG + ":" + "setPushTags", "onNext: " + "batch empty");
+ }
+ } else {
+ Log.e(TAG + ":" + "setPushTags", "onNext: " + response.toString());
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e(TAG + ":" + "setPushTags", "onError: " + e.getMessage());
+ onComplete();
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e(TAG + ":" + "setPushTags", "onComplete: ");
+ }
+ });
+ }
+
+
+ /**
+ * 发送app安装情况
+ */
+ public void SendAppInstallInfo() {
+ Observable.create(new ObservableOnSubscribe() {
+ @Override
+ public void subscribe(@NonNull ObservableEmitter emitter) throws Throwable {
+ PackageManager pm = mContext.getPackageManager();
+ List list = pm.getInstalledPackages(0);
+ List uploadInfos = new ArrayList<>();
+ Intent intent = new Intent(Intent.ACTION_MAIN);
+ intent.addCategory(Intent.CATEGORY_LAUNCHER);
+ List appsWithLauncher = pm.queryIntentActivities(intent, 0);
+ List pkgs = new ArrayList<>();
+ for (ResolveInfo info : appsWithLauncher) {
+ pkgs.add(info.activityInfo.packageName);
+ }
+ Log.e(TAG, "SendAppInstallInfo: " + pkgs);
+ for (PackageInfo info : list) {
+ if (!pkgs.contains(info.packageName)) {
+ continue;
+ }
+ AppUploadInfo uploadInfo = new AppUploadInfo();
+ uploadInfo.setApp_package(info.packageName);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+ uploadInfo.setApp_version_code(info.getLongVersionCode());
+ } else {
+ uploadInfo.setApp_version_code(info.versionCode);
+ }
+ uploadInfo.setFirstInstallTime(info.firstInstallTime / 1000);
+ uploadInfo.setLastUpdateTime(info.lastUpdateTime / 1000);
+ uploadInfos.add(uploadInfo);
+ }
+ String json = JSONArray.toJSONString(uploadInfos);
+ emitter.onNext(json);
+ }
+ })
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .concatMap(new Function>() {
+ @Override
+ public ObservableSource apply(String s) throws Throwable {
+ Log.e("SendAppInstallInfo", "apply: " + s);
+ return getAddAppInstallControl()
+ .installorRemove(Utils.getSerial(), s);
+ }
+ }).subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ Log.e("SendAppInstallInfo", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse baseResponse) {
+ Log.e("SendAppInstallInfo", "onNext: " + baseResponse);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("SendAppInstallInfo", "onError: " + e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("SendAppInstallInfo", "onComplete: ");
+ }
+ });
+
+ }
+
+}
diff --git a/app/src/main/java/com/uiui/sn/network/UrlAddress.java b/app/src/main/java/com/uiui/sn/network/UrlAddress.java
index df651f1..51263a9 100644
--- a/app/src/main/java/com/uiui/sn/network/UrlAddress.java
+++ b/app/src/main/java/com/uiui/sn/network/UrlAddress.java
@@ -3,7 +3,7 @@ package com.uiui.sn.network;
public class UrlAddress {
//主页接口
public static final String ROOT_URL = "https://led.aolelearn.cn/android/";
- //获取班级ID
+ //获取批次
public static final String GET_BATCH = "sn/getBatch";
//设备信息接口
public static final String SNINFO = "sn/getSnInfo";
@@ -33,7 +33,7 @@ public class UrlAddress {
public final static String GET_APP_START = "sn/querySnAppStart";
//发app跳转管控
public final static String GET_APP_JUMP = "sn/querySnJump";
- //发app跳转管控
+ //app内部管控
public final static String QUERY_APP_INSIDE = "control/queryAppInside";
//发送卸载或者安装信息
public final static String SEND_INSTALLEDORREMOVED = "app/addAppInstall";
@@ -49,12 +49,6 @@ public class UrlAddress {
public final static String GET_TIME_CONTROL = "sn/getTimeControl";
//获取用户头像和信息
public static final String GET_USER_AVATAR_INFO = "sn/getUserAvatarInfo";
- //上传设备赶考的UID
- public static final String POST_USER_SAVESNUID = "sn/saveSnUid";
- //获取激活时间和赶考UID
- public static final String GET_SN_UID = "sn/getSnUid";
- //获取app使用信息
- public static final String UPLOAD_APP_USE_INFO = "sn/uploadAppUseInfo";
//获取小程序二维码
public static final String GET_APPLET_QRCODE = "file/getAppletQrCode";
//获取操作指南
@@ -65,24 +59,8 @@ public class UrlAddress {
public static final String GET_APP_AND_WHITE = "getAppAndWhite";
-
-// //赶考
-// public static final String GANKAN_ROOT_URL = "https://www.gankao.com/api/service/";
-// //创建/查询用户
-// public static final String CREATE_USER = "createUser";
-// //用户授权/激活权限
-// public static final String ACTIVE_USER = "activeUser";
-// //获得可用的权限产品规格
-// public static final String QUERY_AVAILABLE_PRODUCT_SPECIFICATIONS = "queryAvailableProductSpecifications";
-// //获取机构的接口授权记录
-// public static final String QUERY_POWER_USER_LIST = "queryPowerUserList";
-// //获取用户已获得的产品列表(权限、单体课程、套餐等)
-// public static final String GET_USER_PRODUCTS = "getUserProducts";
-// //升级用户会员权限的学段
-// public static final String UPGRADE_USER_POWER = "upgradeUserPower";
-// //撤销指定的用户授权记录
-// public static final String CANCEL_USER_POWER = "cancelUserPower";
-
+ /*获取公网IP*/
+ public static final String SHOUHU_CITYJSON = "http://pv.sohu.com/cityjson/";
/*
* 极光
diff --git a/app/src/main/java/com/uiui/sn/network/api/APPJump.java b/app/src/main/java/com/uiui/sn/network/api/APPJump.java
index 3db5170..b4f47dc 100644
--- a/app/src/main/java/com/uiui/sn/network/api/APPJump.java
+++ b/app/src/main/java/com/uiui/sn/network/api/APPJump.java
@@ -1,12 +1,12 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.AppJump;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.AppJump;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
import java.util.List;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/AddAppInstall.java b/app/src/main/java/com/uiui/sn/network/api/AddAppInstall.java
index 0da2cc1..4922967 100644
--- a/app/src/main/java/com/uiui/sn/network/api/AddAppInstall.java
+++ b/app/src/main/java/com/uiui/sn/network/api/AddAppInstall.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/uiui/sn/network/api/AppUsedApi.java b/app/src/main/java/com/uiui/sn/network/api/AppUsedApi.java
deleted file mode 100644
index 9680515..0000000
--- a/app/src/main/java/com/uiui/sn/network/api/AppUsedApi.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.uiui.sn.network.api;
-
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.network.UrlAddress;
-
-import io.reactivex.Observable;
-import retrofit2.http.Field;
-import retrofit2.http.FormUrlEncoded;
-import retrofit2.http.POST;
-
-public interface AppUsedApi {
- @FormUrlEncoded
- @POST(UrlAddress.UPLOAD_APP_USE_INFO)
- Observable getAppUsed(
- @Field("sn") String sn,
- @Field("appInfo") String appinfo
- );
-}
diff --git a/app/src/main/java/com/uiui/sn/network/api/Applog.java b/app/src/main/java/com/uiui/sn/network/api/Applog.java
index fadc01b..44ce647 100644
--- a/app/src/main/java/com/uiui/sn/network/api/Applog.java
+++ b/app/src/main/java/com/uiui/sn/network/api/Applog.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/BindDevices.java b/app/src/main/java/com/uiui/sn/network/api/BindDevices.java
index c25c4b2..3283aaf 100644
--- a/app/src/main/java/com/uiui/sn/network/api/BindDevices.java
+++ b/app/src/main/java/com/uiui/sn/network/api/BindDevices.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/Browser.java b/app/src/main/java/com/uiui/sn/network/api/Browser.java
index 5e0a7ab..9d98dd2 100644
--- a/app/src/main/java/com/uiui/sn/network/api/Browser.java
+++ b/app/src/main/java/com/uiui/sn/network/api/Browser.java
@@ -1,10 +1,10 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.browser.BrowserApiData;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.browser.BrowserApiData;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/BrowserLabel.java b/app/src/main/java/com/uiui/sn/network/api/BrowserLabel.java
index 286d817..9604dfa 100644
--- a/app/src/main/java/com/uiui/sn/network/api/BrowserLabel.java
+++ b/app/src/main/java/com/uiui/sn/network/api/BrowserLabel.java
@@ -1,10 +1,10 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.Label;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.Label;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/ForceInstall.java b/app/src/main/java/com/uiui/sn/network/api/ForceInstall.java
index a83d510..165878e 100644
--- a/app/src/main/java/com/uiui/sn/network/api/ForceInstall.java
+++ b/app/src/main/java/com/uiui/sn/network/api/ForceInstall.java
@@ -1,12 +1,12 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.AppInfo;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.AppInfo;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
import java.util.List;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/GetBatchApi.java b/app/src/main/java/com/uiui/sn/network/api/GetBatchApi.java
index e825a10..968f954 100644
--- a/app/src/main/java/com/uiui/sn/network/api/GetBatchApi.java
+++ b/app/src/main/java/com/uiui/sn/network/api/GetBatchApi.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/GetControlScreenshotApi.java b/app/src/main/java/com/uiui/sn/network/api/GetControlScreenshotApi.java
index 6aabf03..27e3644 100644
--- a/app/src/main/java/com/uiui/sn/network/api/GetControlScreenshotApi.java
+++ b/app/src/main/java/com/uiui/sn/network/api/GetControlScreenshotApi.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/uiui/sn/network/api/GetGuideApi.java b/app/src/main/java/com/uiui/sn/network/api/GetGuideApi.java
index 87ccac7..393e817 100644
--- a/app/src/main/java/com/uiui/sn/network/api/GetGuideApi.java
+++ b/app/src/main/java/com/uiui/sn/network/api/GetGuideApi.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/GetGuideApiTest.java b/app/src/main/java/com/uiui/sn/network/api/GetGuideApiTest.java
index 51c6305..1b54bb5 100644
--- a/app/src/main/java/com/uiui/sn/network/api/GetGuideApiTest.java
+++ b/app/src/main/java/com/uiui/sn/network/api/GetGuideApiTest.java
@@ -2,7 +2,7 @@ package com.uiui.sn.network.api;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/GetPublicIPApi.java b/app/src/main/java/com/uiui/sn/network/api/GetPublicIPApi.java
new file mode 100644
index 0000000..77f722c
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/network/api/GetPublicIPApi.java
@@ -0,0 +1,20 @@
+package com.uiui.sn.network.api;
+
+
+import com.uiui.sn.network.UrlAddress;
+
+import io.reactivex.rxjava3.core.Observable;
+import okhttp3.ResponseBody;
+import retrofit2.http.GET;
+
+/**
+ * @author : fanhuitong
+ * e-mail :
+ * @date : 2021/10/1814:39
+ * desc :
+ * version: 1.0
+ */
+public interface GetPublicIPApi {
+ @GET(UrlAddress.SHOUHU_CITYJSON)
+ Observable getPublicIP();
+}
diff --git a/app/src/main/java/com/uiui/sn/network/api/GetSnUidApi.java b/app/src/main/java/com/uiui/sn/network/api/GetSnUidApi.java
deleted file mode 100644
index 023858f..0000000
--- a/app/src/main/java/com/uiui/sn/network/api/GetSnUidApi.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.uiui.sn.network.api;
-
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.network.UrlAddress;
-
-import io.reactivex.Observable;
-import retrofit2.http.GET;
-import retrofit2.http.Query;
-
-public interface GetSnUidApi {
- @GET(UrlAddress.GET_SN_UID)
- Observable getSnUid(
- @Query("sn") String sn
- );
-}
diff --git a/app/src/main/java/com/uiui/sn/network/api/NewestAppUpdate.java b/app/src/main/java/com/uiui/sn/network/api/NewestAppUpdate.java
index 19b1c82..0ce3a54 100644
--- a/app/src/main/java/com/uiui/sn/network/api/NewestAppUpdate.java
+++ b/app/src/main/java/com/uiui/sn/network/api/NewestAppUpdate.java
@@ -1,10 +1,10 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.AppInfo;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.AppInfo;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/QRCodeApi.java b/app/src/main/java/com/uiui/sn/network/api/QRCodeApi.java
index 6543e4f..131a68a 100644
--- a/app/src/main/java/com/uiui/sn/network/api/QRCodeApi.java
+++ b/app/src/main/java/com/uiui/sn/network/api/QRCodeApi.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
public interface QRCodeApi {
diff --git a/app/src/main/java/com/uiui/sn/network/api/QueryAllApp.java b/app/src/main/java/com/uiui/sn/network/api/QueryAllApp.java
index f101874..80e5d22 100644
--- a/app/src/main/java/com/uiui/sn/network/api/QueryAllApp.java
+++ b/app/src/main/java/com/uiui/sn/network/api/QueryAllApp.java
@@ -1,12 +1,12 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.AppInfo;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.AppInfo;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
import java.util.List;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/QueryAppInside.java b/app/src/main/java/com/uiui/sn/network/api/QueryAppInside.java
index 7aba2f9..f003fd4 100644
--- a/app/src/main/java/com/uiui/sn/network/api/QueryAppInside.java
+++ b/app/src/main/java/com/uiui/sn/network/api/QueryAppInside.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/QuerySnAppStart.java b/app/src/main/java/com/uiui/sn/network/api/QuerySnAppStart.java
index d34d6ad..645ab4c 100644
--- a/app/src/main/java/com/uiui/sn/network/api/QuerySnAppStart.java
+++ b/app/src/main/java/com/uiui/sn/network/api/QuerySnAppStart.java
@@ -1,12 +1,12 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.AppStart;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.AppStart;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
import java.util.List;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/RunningApp.java b/app/src/main/java/com/uiui/sn/network/api/RunningApp.java
index 5a04fe3..cb2bb7c 100644
--- a/app/src/main/java/com/uiui/sn/network/api/RunningApp.java
+++ b/app/src/main/java/com/uiui/sn/network/api/RunningApp.java
@@ -1,10 +1,10 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/uiui/sn/network/api/SNInfoApi.java b/app/src/main/java/com/uiui/sn/network/api/SNInfoApi.java
index 62e8467..c4d2d82 100644
--- a/app/src/main/java/com/uiui/sn/network/api/SNInfoApi.java
+++ b/app/src/main/java/com/uiui/sn/network/api/SNInfoApi.java
@@ -1,16 +1,16 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.UserInfo;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.SnInfo;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface SNInfoApi {
@GET(UrlAddress.SNINFO)
- Observable> getsninfo(
+ Observable> getsninfo(
@Query("sn") String sn
);
}
diff --git a/app/src/main/java/com/uiui/sn/network/api/SaveSnUidApi.java b/app/src/main/java/com/uiui/sn/network/api/SaveSnUidApi.java
deleted file mode 100644
index d0b64b2..0000000
--- a/app/src/main/java/com/uiui/sn/network/api/SaveSnUidApi.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.uiui.sn.network.api;
-
-import com.uiui.sn.bean.zuoye.Response;
-import com.uiui.sn.network.UrlAddress;
-
-import io.reactivex.Observable;
-import retrofit2.http.Field;
-import retrofit2.http.FormUrlEncoded;
-import retrofit2.http.POST;
-
-public interface SaveSnUidApi {
- @FormUrlEncoded
- @POST(UrlAddress.POST_USER_SAVESNUID)
- Observable saveSnUid(
- @Field("sn") String sn,
- @Field("uid") String uid,
- @Field("grade") int grade,
- @Field("card_info") String card_info
- );
-}
diff --git a/app/src/main/java/com/uiui/sn/network/api/ScreenLock.java b/app/src/main/java/com/uiui/sn/network/api/ScreenLock.java
index 4a40463..e598495 100644
--- a/app/src/main/java/com/uiui/sn/network/api/ScreenLock.java
+++ b/app/src/main/java/com/uiui/sn/network/api/ScreenLock.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/ScreenState.java b/app/src/main/java/com/uiui/sn/network/api/ScreenState.java
index 46af373..c0ec2c8 100644
--- a/app/src/main/java/com/uiui/sn/network/api/ScreenState.java
+++ b/app/src/main/java/com/uiui/sn/network/api/ScreenState.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
import com.uiui.sn.BuildConfig;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/uiui/sn/network/api/Setting.java b/app/src/main/java/com/uiui/sn/network/api/Setting.java
index d45c64f..83cc0cc 100644
--- a/app/src/main/java/com/uiui/sn/network/api/Setting.java
+++ b/app/src/main/java/com/uiui/sn/network/api/Setting.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/TimeControl.java b/app/src/main/java/com/uiui/sn/network/api/TimeControl.java
index ba58bcb..5630005 100644
--- a/app/src/main/java/com/uiui/sn/network/api/TimeControl.java
+++ b/app/src/main/java/com/uiui/sn/network/api/TimeControl.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/uiui/sn/network/api/UpdateAdminSn.java b/app/src/main/java/com/uiui/sn/network/api/UpdateAdminSn.java
index 4f0f163..92370c4 100644
--- a/app/src/main/java/com/uiui/sn/network/api/UpdateAdminSn.java
+++ b/app/src/main/java/com/uiui/sn/network/api/UpdateAdminSn.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/uiui/sn/network/api/UploadScreenshot.java b/app/src/main/java/com/uiui/sn/network/api/UploadScreenshot.java
index 2b58b43..db46aea 100644
--- a/app/src/main/java/com/uiui/sn/network/api/UploadScreenshot.java
+++ b/app/src/main/java/com/uiui/sn/network/api/UploadScreenshot.java
@@ -1,9 +1,9 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/uiui/sn/network/api/UserInfoApi.java b/app/src/main/java/com/uiui/sn/network/api/UserInfoApi.java
index e0e5928..d3888e2 100644
--- a/app/src/main/java/com/uiui/sn/network/api/UserInfoApi.java
+++ b/app/src/main/java/com/uiui/sn/network/api/UserInfoApi.java
@@ -1,10 +1,10 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.UserAvatarInfo;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.UserAvatarInfo;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/uiui/sn/network/api/UserInfoControl.java b/app/src/main/java/com/uiui/sn/network/api/UserInfoControl.java
index f5f41f1..78b9b45 100644
--- a/app/src/main/java/com/uiui/sn/network/api/UserInfoControl.java
+++ b/app/src/main/java/com/uiui/sn/network/api/UserInfoControl.java
@@ -1,10 +1,10 @@
package com.uiui.sn.network.api;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.UserAvatarInfo;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.UserAvatarInfo;
import com.uiui.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/uiui/sn/receiver/APKinstallReceiver.java b/app/src/main/java/com/uiui/sn/receiver/APKinstallReceiver.java
index d764962..726917e 100644
--- a/app/src/main/java/com/uiui/sn/receiver/APKinstallReceiver.java
+++ b/app/src/main/java/com/uiui/sn/receiver/APKinstallReceiver.java
@@ -2,15 +2,14 @@ package com.uiui.sn.receiver;
import android.annotation.SuppressLint;
import android.content.BroadcastReceiver;
-import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.util.Log;
-import com.uiui.sn.config.Configs;
+import com.uiui.sn.config.CommonConfig;
import com.uiui.sn.network.HTTPInterface;
-import com.uiui.sn.service.ManagerService;
+import com.uiui.sn.network.NetInterfaceManager;
import com.uiui.sn.utils.ApkUtils;
import com.uiui.sn.utils.CacheUtils;
import com.uiui.sn.utils.JGYUtils;
@@ -18,10 +17,10 @@ import com.uiui.sn.utils.SPUtils;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.core.ObservableEmitter;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
public class APKinstallReceiver extends BroadcastReceiver {
private static String TAG = APKinstallReceiver.class.getSimpleName();
@@ -71,7 +70,6 @@ public class APKinstallReceiver extends BroadcastReceiver {
//启动升级组件
JGYUtils.getInstance().wakeUpUpdateTools();
}
-
}
private void cleanLauncher3Cache() {
@@ -98,9 +96,9 @@ public class APKinstallReceiver extends BroadcastReceiver {
@Override
public void onNext(String s) {
- int isLogined = (int) SPUtils.get(mContext, Configs.isLogined, 2);
+ int isLogined = (int) SPUtils.get(mContext, CommonConfig.isLogined, 2);
if (isLogined == 2) return;
- HTTPInterface.getAPPinfo(mContext);
+ NetInterfaceManager.getInstance().SendAppInstallInfo();
HTTPInterface.getForceInstall(mContext);
HTTPInterface.getAllappPackage(mContext);
HTTPInterface.getAppInside(mContext);
diff --git a/app/src/main/java/com/uiui/sn/receiver/BootReceiver.java b/app/src/main/java/com/uiui/sn/receiver/BootReceiver.java
index 96b1843..343775f 100644
--- a/app/src/main/java/com/uiui/sn/receiver/BootReceiver.java
+++ b/app/src/main/java/com/uiui/sn/receiver/BootReceiver.java
@@ -12,10 +12,9 @@ import com.uiui.sn.manager.AmapManager;
import com.uiui.sn.network.HTTPInterface;
import com.uiui.sn.service.ControlPanelService;
import com.uiui.sn.service.GuardService;
-import com.uiui.sn.service.MainService;
+import com.uiui.sn.service.main.MainService;
import com.uiui.sn.service.ManagerService;
import com.uiui.sn.service.DownloadService;
-import com.uiui.sn.service.RemoteService;
import com.uiui.sn.service.StepService;
diff --git a/app/src/main/java/com/uiui/sn/receiver/MyJPushReceiver.java b/app/src/main/java/com/uiui/sn/receiver/MyJPushReceiver.java
index 5c24957..93aa922 100644
--- a/app/src/main/java/com/uiui/sn/receiver/MyJPushReceiver.java
+++ b/app/src/main/java/com/uiui/sn/receiver/MyJPushReceiver.java
@@ -26,15 +26,16 @@ import com.android.internal.view.RotationPolicy;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
import com.uiui.sn.R;
-import com.uiui.sn.bean.zuoye.BaseResponse;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.config.CommonConfig;
import com.uiui.sn.dialog.CustomDialog;
import com.uiui.sn.jpush.Logger;
import com.uiui.sn.manager.ControlManager;
import com.uiui.sn.manager.ControlPanelManager;
import com.uiui.sn.manager.DeviceManager;
-import com.uiui.sn.manager.NetInterfaceManager;
+import com.uiui.sn.network.NetInterfaceManager;
import com.uiui.sn.network.HTTPInterface;
-import com.uiui.sn.service.MainService;
+import com.uiui.sn.service.main.MainService;
import com.uiui.sn.service.ManagerService;
import com.uiui.sn.utils.ApkUtils;
import com.uiui.sn.utils.CacheUtils;
@@ -53,16 +54,16 @@ import java.util.HashSet;
import java.util.List;
import cn.jpush.android.api.JPushInterface;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.ObservableSource;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.annotations.NonNull;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.functions.Function;
-import io.reactivex.schedulers.Schedulers;
+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 okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
@@ -564,7 +565,6 @@ public class MyJPushReceiver extends BroadcastReceiver {
synchronized private void sendStartTime(Context context, String jsonString) {
HTTPInterface.updateAdminInfo(context);
HTTPInterface.sendRunningApp(context);
- HTTPInterface.sendAppUsed(context);
if (JGYUtils.getInstance().isScreenOn()) {
HTTPInterface.screenshot(context);
}
@@ -876,7 +876,7 @@ public class MyJPushReceiver extends BroadcastReceiver {
JSONObject jsonObject = JSON.parseObject(jsonString);
String is_upgrade = jsonObject.getString("is_upgrade");
String packageName = jsonObject.getString("package");
- String nowApplist = JGYUtils.getString(context.getContentResolver(), "qch_app_forbid");
+ String nowApplist = JGYUtils.getString(context.getContentResolver(), CommonConfig.QCH_APP_FORBID);
List applist = new ArrayList<>(Arrays.asList(nowApplist.split(",")));
if ("0".equals(is_upgrade)) {
if (applist.contains(packageName)) {
@@ -889,8 +889,8 @@ public class MyJPushReceiver extends BroadcastReceiver {
applist.add(packageName);
}
}
- JGYUtils.putString(context.getContentResolver(), "qch_app_forbid", String.join(",", applist));
- Log.e("setAppUpdate", JGYUtils.getString(context.getContentResolver(), "qch_app_forbid"));
+ JGYUtils.putString(context.getContentResolver(), CommonConfig.QCH_APP_FORBID, String.join(",", applist));
+ Log.e("setAppUpdate", JGYUtils.getString(context.getContentResolver(), CommonConfig.QCH_APP_FORBID));
}
private void setLock_screen(Context context, String jsonString) {
diff --git a/app/src/main/java/com/uiui/sn/rlog/LogBean.java b/app/src/main/java/com/uiui/sn/rlog/LogBean.java
new file mode 100644
index 0000000..3302211
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/rlog/LogBean.java
@@ -0,0 +1,73 @@
+package com.uiui.sn.rlog;
+
+import com.uiui.sn.utils.TimeUtils;
+
+import java.io.Serializable;
+
+public class LogBean implements Serializable {
+ private static final long serialVersionUID = -1608434464416521927L;
+
+ Integer id;
+ String code;
+ Long timestamp;
+ String event;
+ String operate;
+ String content;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public Long getTimestamp() {
+ return timestamp;
+ }
+
+ public void setTimestamp(Long timestamp) {
+ this.timestamp = timestamp;
+ }
+
+ public String getEvent() {
+ return event;
+ }
+
+ public void setEvent(String event) {
+ this.event = event;
+ }
+
+ public String getOperate() {
+ return operate;
+ }
+
+ public void setOperate(String operate) {
+ this.operate = operate;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String toLogString() {
+ return "执行代码:" + code
+ + ",时间: " + TimeUtils.transferLongToDate(timestamp)
+ + ",事件: " + event
+ + ",操作: " + operate
+ + ",内容: " + content
+ ;
+ }
+}
diff --git a/app/src/main/java/com/uiui/sn/rlog/LogDBHelper.java b/app/src/main/java/com/uiui/sn/rlog/LogDBHelper.java
new file mode 100644
index 0000000..9b69ce6
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/rlog/LogDBHelper.java
@@ -0,0 +1,36 @@
+package com.uiui.sn.rlog;
+
+import android.content.Context;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteOpenHelper;
+import android.os.Environment;
+
+import java.io.File;
+
+public class LogDBHelper extends SQLiteOpenHelper {
+ public static final String DATABASE_NAME = "requestlog.db";
+ private static final String DATABASE_FILE_NAME = Environment.getExternalStorageDirectory().getPath() + File.separator + DATABASE_NAME;
+ private static final int DATABASE_VERSION = 1;
+
+ public LogDBHelper(Context context) {
+ super(context, DATABASE_FILE_NAME, null, DATABASE_VERSION);
+ }
+
+ @Override
+ public void onCreate(SQLiteDatabase sqLiteDatabase) {
+ sqLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS logtable (" +
+ "id integer primary key autoincrement," +
+ "code varchar(8)," +
+ "timestamp integer," +
+ "event varchar(64)," +
+ "operate varchar(64)," +
+ "content text" +
+ ")"
+ );
+ }
+
+ @Override
+ public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
+
+ }
+}
diff --git a/app/src/main/java/com/uiui/sn/rlog/LogDBManager.java b/app/src/main/java/com/uiui/sn/rlog/LogDBManager.java
new file mode 100644
index 0000000..d6d5459
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/rlog/LogDBManager.java
@@ -0,0 +1,207 @@
+package com.uiui.sn.rlog;
+
+import android.annotation.SuppressLint;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
+import android.os.Environment;
+import android.util.Log;
+
+import androidx.core.content.ContextCompat;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class LogDBManager {
+ @SuppressLint("StaticFieldLeak")
+ private static LogDBManager sInstance;
+ private Context mContext;
+ private LogDBHelper mDBHelper;
+
+ private static final String TABLE_NAME = "logtable";
+ private static String TAG = LogDBManager.class.getSimpleName();
+
+ private LogDBManager(Context context) {
+ if (context == null) {
+ throw new RuntimeException("Context is NULL");
+ }
+ mContext = context;
+ mDBHelper = new LogDBHelper(context);
+ }
+
+ public static void init(Context context) {
+ if (sInstance == null) {
+ sInstance = new LogDBManager(context);
+ }
+ }
+
+ public static LogDBManager getInstance() {
+ if (sInstance == null) {
+ throw new IllegalStateException("You must be init LogDBManager first");
+ }
+ return sInstance;
+ }
+
+ public LogDBHelper getDBHelper() {
+ if (mDBHelper == null) {
+ mDBHelper = new LogDBHelper(mContext);
+ }
+ return mDBHelper;
+ }
+
+ private static final String LOG_CODE_REBOOT = "1001";
+ private static final String LOG_CODE_NETWORK = "1002";
+ private static final String LOG_CODE_NETCHANGE = "1003";
+
+ private static final String LOG_EVENT_REBOOT = "设备重启";
+ private static final String LOG_EVENT_NETWORK = "首次联网";
+ private static final String LOG_EVENT_NETCHANGE = "网络改变";
+ public static final String LOG_EVENT_BATTERY = "充电改变";
+
+ public void creatRebootLog(String operate, String content) {
+ LogBean logBean = new LogBean();
+ logBean.setCode(LOG_CODE_REBOOT);
+ logBean.setTimestamp(System.currentTimeMillis());
+ logBean.setEvent(LOG_EVENT_REBOOT);
+ logBean.setOperate(operate);
+ logBean.setContent(content);
+ saveLog(logBean);
+ }
+
+ public void creatNetworktLog(String operate, String content) {
+ LogBean logBean = new LogBean();
+ logBean.setCode(LOG_CODE_NETWORK);
+ logBean.setTimestamp(System.currentTimeMillis());
+ logBean.setEvent(LOG_EVENT_NETWORK);
+ logBean.setOperate(operate);
+ logBean.setContent(content);
+ saveLog(logBean);
+ }
+
+ public void creatNetChangeLog(String operate, String content) {
+ LogBean logBean = new LogBean();
+ logBean.setCode(LOG_CODE_NETCHANGE);
+ logBean.setTimestamp(System.currentTimeMillis());
+ logBean.setEvent(LOG_EVENT_NETCHANGE);
+ logBean.setOperate(operate);
+ logBean.setContent(content);
+ saveLog(logBean);
+ }
+
+ public void creatOtherLog(String event, String operate, String content) {
+ LogBean logBean = new LogBean();
+ logBean.setCode("0000");
+ logBean.setTimestamp(System.currentTimeMillis());
+ logBean.setEvent(event);
+ logBean.setOperate(operate);
+ logBean.setContent(content);
+ saveLog(logBean);
+ }
+
+
+ public void saveLog(LogBean logBean) {
+ SQLiteDatabase db = mDBHelper.getWritableDatabase();
+ ContentValues values = new ContentValues();
+ values.put("code", logBean.getCode());
+ values.put("timestamp", logBean.getTimestamp());
+ values.put("event", logBean.getEvent());
+ values.put("operate", logBean.getOperate());
+ values.put("content", logBean.getContent());
+ db.insert(TABLE_NAME, null, values);
+ }
+
+ public void delete(Integer id) {
+ SQLiteDatabase db = mDBHelper.getWritableDatabase();
+ db.delete(TABLE_NAME, "id=?", new String[]{id.toString()});
+ }
+
+ public void deleteAll() {
+ SQLiteDatabase db = mDBHelper.getWritableDatabase();
+ db.delete(TABLE_NAME, "", null);
+ }
+
+ public void update(LogBean logBean) {
+ SQLiteDatabase db = mDBHelper.getWritableDatabase();
+ ContentValues values = new ContentValues();
+ values.put("code", logBean.getCode());
+ values.put("timestamp", logBean.getTimestamp());
+ values.put("event", logBean.getEvent());
+ values.put("operate", logBean.getOperate());
+ values.put("content", logBean.getContent());
+ db.update(TABLE_NAME, values, "id=?", new String[]{logBean.getId().toString()});
+ }
+
+ private long aWeekDayTime = 1000 * 60 * 60 * 24 * 7;
+
+ public List getLogList() {
+ List logBeanList = new ArrayList<>();
+ SQLiteDatabase db = mDBHelper.getReadableDatabase();
+ long time = System.currentTimeMillis() - aWeekDayTime;
+ String sql = "select * from " + TABLE_NAME + " where" + " timestamp > " + time;
+ Cursor cursor = null;
+ try {
+ cursor = db.rawQuery(sql, null);
+ while (cursor.moveToNext()) {
+ LogBean logBean = new LogBean();
+ logBean.setId(cursor.getInt(cursor.getColumnIndex("id")));
+ logBean.setCode(cursor.getString(cursor.getColumnIndex("code")));
+ logBean.setTimestamp(cursor.getLong(cursor.getColumnIndex("timestamp")));
+ logBean.setEvent(cursor.getString(cursor.getColumnIndex("event")));
+ logBean.setOperate(cursor.getString(cursor.getColumnIndex("operate")));
+ logBean.setContent(cursor.getString(cursor.getColumnIndex("content")));
+ logBeanList.add(logBean);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (cursor != null) {
+ cursor.close();
+ }
+ db.close();
+ }
+ return logBeanList;
+ }
+
+ public String saveToFile() {
+ List logBeanList = getLogList();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd-HH_mm_ss");
+ Date date = new Date(System.currentTimeMillis());
+ String fileName = sdf.format(date) + " log.txt";
+ String filePath = ContextCompat.getExternalFilesDirs(mContext, Environment.DIRECTORY_DOCUMENTS)[0].getAbsolutePath()
+ + File.separator + fileName;
+ File logFile = new File(filePath);
+ if (logFile.exists()) {
+ logFile.delete();
+ }
+ StringBuilder stringBuilder = new StringBuilder();
+ for (LogBean logBean : logBeanList) {
+ stringBuilder.append(logBean.toLogString()).append("\n");
+ }
+ byte[] bs = stringBuilder.toString().getBytes();
+ try {
+ OutputStream out = new FileOutputStream(logFile);
+ InputStream is = new ByteArrayInputStream(bs);
+ byte[] buff = new byte[1024];
+ int len = 0;
+ while ((len = is.read(buff)) != -1) {
+ out.write(buff, 0, len);
+ }
+ is.close();
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ Log.e(TAG, "saveToFile: " + logFile.getAbsolutePath());
+ return logFile.getAbsolutePath();
+ }
+
+}
diff --git a/app/src/main/java/com/uiui/sn/service/DownloadService.java b/app/src/main/java/com/uiui/sn/service/DownloadService.java
index 4608200..da06c83 100644
--- a/app/src/main/java/com/uiui/sn/service/DownloadService.java
+++ b/app/src/main/java/com/uiui/sn/service/DownloadService.java
@@ -21,7 +21,9 @@ import com.arialyy.aria.core.task.DownloadTask;
import com.blankj.utilcode.util.ToastUtils;
import com.uiui.sn.KeepAliveConnection;
import com.uiui.sn.R;
+import com.uiui.sn.service.main.MainService;
import com.uiui.sn.utils.ApkUtils;
+import com.uiui.sn.utils.JGYUtils;
import java.io.File;
@@ -142,4 +144,19 @@ public class DownloadService extends Service {
Log.e("taskComplete", task.getExtendField());
Aria.download(this).load(task.getDownloadEntity().getId()).cancel();
}
+
+ @Download.onTaskFail
+ void taskFail(DownloadTask task, Exception e) {
+ Aria.download(this).resumeAllTask();
+ final String filepath = task.getFilePath();
+ final String packageName = task.getExtendField();
+ Log.e("aria", "taskFail: " + packageName + "filepath: " + filepath + "Exception: " + e.getMessage());
+
+// Aria.download(this)
+// .load(task.getDownloadEntity().getRealUrl()) //读取下载地址
+// .setFilePath(task.getFilePath())
+// .ignoreFilePathOccupy()
+// .setExtendField(task.getExtendField())
+// .create(); //启动下载}
+ }
}
diff --git a/app/src/main/java/com/uiui/sn/service/MainService.java b/app/src/main/java/com/uiui/sn/service/MainService.java
deleted file mode 100644
index 8ea4389..0000000
--- a/app/src/main/java/com/uiui/sn/service/MainService.java
+++ /dev/null
@@ -1,413 +0,0 @@
-package com.uiui.sn.service;
-
-import android.app.Service;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.graphics.Bitmap;
-import android.os.IBinder;
-import android.os.SystemClock;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.util.Log;
-
-import com.alibaba.fastjson.JSONObject;
-import com.blankj.utilcode.util.NetworkUtils;
-import com.uiui.sn.activity.main.MainActivity;
-import com.uiui.sn.activity.main.MainContact;
-import com.uiui.sn.activity.main.MainPresenter;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.UserInfo;
-import com.uiui.sn.bean.gankao.AvailableProduct;
-import com.uiui.sn.config.Configs;
-import com.uiui.sn.jpush.TagAliasOperatorHelper;
-import com.uiui.sn.manager.ControlManager;
-import com.uiui.sn.network.HTTPInterface;
-import com.uiui.sn.utils.SPUtils;
-import com.uiui.sn.utils.ToastUtil;
-import com.uiui.sn.utils.Utils;
-import com.trello.rxlifecycle2.LifecycleProvider;
-import com.trello.rxlifecycle2.LifecycleTransformer;
-import com.trello.rxlifecycle2.RxLifecycle;
-import com.trello.rxlifecycle2.android.ActivityEvent;
-import com.trello.rxlifecycle2.android.RxLifecycleAndroid;
-
-import org.jetbrains.annotations.NotNull;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import cn.jpush.android.api.JPushInterface;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.subjects.BehaviorSubject;
-
-import static com.uiui.sn.jpush.TagAliasOperatorHelper.ACTION_SET;
-
-/**
- * @author jgy02
- */
-public class MainService extends Service implements MainContact.MainView, NetworkUtils.OnNetworkStatusChangedListener, LifecycleProvider {
- private String TAG = MainService.class.getSimpleName();
- public static MainPresenter mPresenter;
-
- //执行所有请求的时间
- long runningTime = 0;
-
- //MainService上次执行时间
- long startCommandTime = 0;
-
- private final BehaviorSubject lifecycleSubject = BehaviorSubject.create();
-
- @NotNull
- @Override
- public Observable lifecycle() {
- return lifecycleSubject.hide();
- }
-
- @NotNull
- @Override
- public LifecycleTransformer bindUntilEvent(@NotNull ActivityEvent event) {
- return RxLifecycle.bindUntilEvent(lifecycleSubject, event);
- }
-
- @NotNull
- @Override
- public LifecycleTransformer bindToLifecycle() {
- return RxLifecycleAndroid.bindActivity(lifecycleSubject);
- }
-
- @Override
- public void onDisconnected() {
- Log.e(TAG, "网络未连接");
- ToastUtil.show("网络未连接");
- }
-
- @Override
- public void onConnected(NetworkUtils.NetworkType networkType) {
- mPresenter.getUserInfo();
- HTTPInterface.checkUpdate(this);
- Log.e(TAG, "网络已连接");
- ToastUtil.show("网络已连接");
- Log.e(TAG, "onConnected: wifi ssid = " + Utils.getWifiSSID(this));
- SPUtils.put(this, "wifi_last_connect_time", System.currentTimeMillis());
- mPresenter.checkUpdate();
- }
-
- private interface Start {
- void onstar(long time);
- }
-
- private Start start;
-
- private final ObservableOnSubscribe subscribe = new ObservableOnSubscribe() {
- @Override
- public void subscribe(ObservableEmitter emitter) throws Exception {
- start = new Start() {
- @Override
- public void onstar(long time) {
- emitter.onNext(time);
- }
- };
- }
- };
-
- private Observer timeObserver = new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
-
- }
-
- @Override
- public void onNext(Long aLong) {
- Log.e("TimeObserver", "onNext: $aLong");
- startCommandTime = runningTime = SystemClock.elapsedRealtime();
- mPresenter.checkUpdate();
- mPresenter.initAmap();
- mPresenter.getUserInfo();
- HTTPInterface.sendAppUsed(MainService.this);
- HTTPInterface.sendRunningApp(MainService.this);
- HTTPInterface.getAPPinfo(MainService.this);
- startService();
- mPresenter.setAlias();
- }
-
- @Override
- public void onError(Throwable e) {
-
- }
-
- @Override
- public void onComplete() {
-
- }
- };
-
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
-
- @Override
- public void onCreate() {
- super.onCreate();
- lifecycleSubject.onNext(ActivityEvent.CREATE);
- JPushInterface.init(this);
- mPresenter = new MainPresenter(this);
- mPresenter.setProvider(this);
- mPresenter.attachView(this);
- NetworkUtils.registerNetworkStatusChangedListener(this);
- Observable.create(subscribe)
- .throttleFirst(60, TimeUnit.SECONDS)
- .subscribe(timeObserver);
- PackageManager packageManager = getPackageManager();
- try {
-// packageManager.setApplicationEnabledSetting("com.jiaoguanyi.appstore", PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0)
-// packageManager.setApplicationEnabledSetting("com.jiaoguanyi.store", PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0)
- } catch (Exception e) {
- Log.e(TAG, "onCreate: " + e.getMessage());
- }
- ControlManager.getInstance().setDefaultUSBstate();
- mPresenter.setAlias();
- }
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- JPushInterface.init(this);
- if (MainActivity.isForeground) {
- Log.e(TAG, "onStartCommand: MainActivity: isForeground: " + MainActivity.isForeground);
- } else {
- JPushInterface.init(this);
- start.onstar(startCommandTime);
- Log.e(TAG, "onStartCommand: " + (SystemClock.elapsedRealtime() - startCommandTime) + "ms");
- }
- return START_STICKY;
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- lifecycleSubject.onNext(ActivityEvent.DESTROY);
- NetworkUtils.unregisterNetworkStatusChangedListener(this);
- mPresenter.detachView();
- }
-
- private void startService() {
- startService(new Intent(this, GuardService.class));
- startService(new Intent(this, StepService.class));
- startService(new Intent(this, DownloadService.class));
- }
-
- public static MainPresenter getPresenter() {
- return mPresenter;
- }
-
- @Override
- public void setPowerUserList(String date) {
-
- }
-
- @Override
- public void checkSNFinish(int code) {
-
- }
-
- @Override
- public void setGankaoUID(String gankaoUID) {
-
- }
-
- @Override
- public void setAvailableProduct(List availableProductList, String gankaoUID) {
-
- }
-
- @Override
- public void activeUserFinish(int code) {
-
- }
-
- @Override
- public void setAlias() {
- setJpushAlias();
- Log.e(TAG, "setAlias: " + "finish");
- mPresenter.getBatch();
- }
-
- private void setJpushAlias() {
- String alias = Utils.getSerial();
- TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
- tagAliasBean.action = ACTION_SET;
- TagAliasOperatorHelper.sequence++;
- tagAliasBean.alias = alias;
- tagAliasBean.isAliasAction = true;
- TagAliasOperatorHelper.getInstance().handleAction(this, TagAliasOperatorHelper.sequence, tagAliasBean);
- }
-
- private void setTag(Set set) {
- TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
- tagAliasBean.action = ACTION_SET;
- TagAliasOperatorHelper.sequence++;
- tagAliasBean.tags = set;
- tagAliasBean.isAliasAction = false;
- TagAliasOperatorHelper.getInstance().handleAction(this, TagAliasOperatorHelper.sequence, tagAliasBean);
- }
-
- @Override
- public void setBatch(String batch) {
- HashSet hashSet = new HashSet();
- hashSet.add(batch);
- hashSet.removeIf(o -> TextUtils.isEmpty(o.toString()));
- if (hashSet.size() != 0) {
- setTag(hashSet);
- } else {
- Log.e(TAG, "setBatch: " + "hashSet size is 0");
- }
- }
-
- @Override
- public void setQRCode(Bitmap bitmap) {
-
- }
-
- @Override
- public void setSnInfo(BaseResponse response) {
- if (response != null) {
- int code = response.code;
- //设备已经绑定
- if (code == 200) {
- UserInfo userInfo = response.data;
- boolean username = Settings.System.putString(getContentResolver(), "UserInfo_username", userInfo.getSn_name());
- boolean gread = Settings.System.putString(getContentResolver(), "UserInfo_grade", userInfo.getGrade());
- SPUtils.put(this, "member_id", userInfo.getMember_id());
- SPUtils.put(this, "sn_id", userInfo.getId());
- if (!TextUtils.isEmpty(userInfo.getSn_name())) {
- SPUtils.put(this, "USERINFO_NAME", userInfo.getSn_name());
- }
- if (!TextUtils.isEmpty(userInfo.getSchool())) {
- SPUtils.put(this, "USERINFO_SCHOOL", userInfo.getSchool());
- }
- if (!TextUtils.isEmpty(userInfo.getGrade())) {
- SPUtils.put(this, "USERINFO_GRADE", userInfo.getGrade());
- }
-
- mPresenter.getLocked();
- }
- //设备没有绑定
- else if (code == 300) {
- ControlManager.getInstance().setDisableSetting();
- }
- //没有授权的设备
- else if (code == 400) {
- ControlManager.getInstance().setDisableSetting();
- }
- }
- mPresenter.getSnUid();
- }
-
- @Override
- public void setSnUid(JSONObject jsonObject) {
- if (jsonObject != null) {
- String uid = jsonObject.getString("uid");
- if (!TextUtils.isEmpty(uid)) {
- Settings.System.putString(getContentResolver(), "gankaoUID", uid);
- }
-// String uid = jsonObject.getString("uid");
-// long activate_time = jsonObject.getLong("activate_time");
-// String card_info = jsonObject.getString("card_info");
-// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-// Date d1 = new Date(activate_time * 1000);
-// int grade = jsonObject.getIntValue("grade");
-// SPUtils.put(MainService.this, "int_grade", grade);
-// String t1 = format.format(d1);
- } else {
- mPresenter.registerGankao();
- }
- }
-
- @Override
- public void setGankao(String gankaoUID) {
-
- }
-
- @Override
- public void setUserInfo() {
- mPresenter.getSnInfo();
- }
-
- @Override
- public void setLocked(int lockedStatus) {
- switch (lockedStatus) {
- case 0:
- ControlManager.getInstance().setDisableSetting();
- break;
- case 1:
- break;
- case 2:
- ControlManager.getInstance().setDisableSetting();
- break;
- default:
- break;
- }
- mPresenter.checkUpdate();
- }
-
- @Override
- public void onLocationChanged() {
- HTTPInterface.updateAdminInfo(this);
- }
-
- @Override
- public void checkUpdateFinish() {
- mPresenter.getAllApp();
- }
-
- @Override
- public void getAllAppFinish() {
- mPresenter.getAppInside();
- }
-
- @Override
- public void setAppInside() {
- mPresenter.getForceInstall();
- }
-
- @Override
- public void setForceInstall() {
- mPresenter.getSystemSettings();
- }
-
- @Override
- public void setSystemSettings() {
- mPresenter.getBrowserLabel();
- }
-
- @Override
- public void setBrowserLabel() {
- mPresenter.getBrowserWhiteList();
- }
-
- @Override
- public void setBrowserWhiteList() {
- mPresenter.getAppStart();
- }
-
- @Override
- public void setAppStart() {
- mPresenter.getTimeControl();
- }
-
- @Override
- public void setTimeControl() {
- mPresenter.getScreenLock();
- }
-
- @Override
- public void setScreenLock() {
-
- }
-}
diff --git a/app/src/main/java/com/uiui/sn/service/ManagerService.java b/app/src/main/java/com/uiui/sn/service/ManagerService.java
index 05b0083..8a1c07d 100644
--- a/app/src/main/java/com/uiui/sn/service/ManagerService.java
+++ b/app/src/main/java/com/uiui/sn/service/ManagerService.java
@@ -8,7 +8,6 @@ import android.content.IntentFilter;
import android.graphics.Color;
import android.graphics.PixelFormat;
import android.os.Build;
-import android.os.Handler;
import android.os.IBinder;
import android.provider.Settings;
import android.text.TextUtils;
@@ -24,27 +23,25 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.blankj.utilcode.util.NetworkUtils;
import com.uiui.sn.R;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.config.Configs;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.config.CommonConfig;
import com.uiui.sn.manager.ControlManager;
-import com.uiui.sn.manager.NetInterfaceManager;
-import com.uiui.sn.network.HTTPInterface;
+import com.uiui.sn.network.NetInterfaceManager;
import com.uiui.sn.receiver.APKinstallReceiver;
import com.uiui.sn.receiver.BootReceiver;
-import com.uiui.sn.utils.JGYUtils;
import com.uiui.sn.utils.SPUtils;
import com.uiui.sn.utils.TimeUtils;
import com.uiui.sn.utils.Utils;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.core.ObservableEmitter;
+import io.reactivex.rxjava3.core.ObservableOnSubscribe;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
/**
@@ -99,14 +96,10 @@ public class ManagerService extends Service implements NetworkUtils.OnNetworkSta
@Override
public void onNext(Long aLong) {
Log.e("TimeObserver", "onNext: " + aLong);
- int isLogined = (int) SPUtils.get(ManagerService.this, Configs.isLogined, 2);
- if (isLogined == 2) return;
- Handler.getMain().postDelayed(() -> HTTPInterface.checkUpdate(ManagerService.this), 1234);
- Handler.getMain().postDelayed(() -> HTTPInterface.checkUpdate(ManagerService.this, JGYUtils.PACKAGE_APPSTORE), 2345);
- Handler.getMain().postDelayed(() -> HTTPInterface.checkUpdate(ManagerService.this, JGYUtils.PACKAGE_BROWSER), 3456);
- Handler.getMain().postDelayed(() -> HTTPInterface.checkUpdate(ManagerService.this, JGYUtils.PACKAGE_OS), 5678);
- Handler.getMain().postDelayed(() -> HTTPInterface.checkUpdate(ManagerService.this, JGYUtils.PACKAGE_VIDEOPLAYER), 6789);
+ int isLogined = (int) SPUtils.get(ManagerService.this, CommonConfig.isLogined, 2);
+ if (isLogined == 2) {
+ }
}
@Override
diff --git a/app/src/main/java/com/uiui/sn/service/RemoteService.java b/app/src/main/java/com/uiui/sn/service/RemoteService.java
index 8395351..31e70b3 100644
--- a/app/src/main/java/com/uiui/sn/service/RemoteService.java
+++ b/app/src/main/java/com/uiui/sn/service/RemoteService.java
@@ -9,6 +9,7 @@ import android.util.Log;
import com.google.gson.JsonObject;
import com.uiui.sn.IGetInfoInterface;
+import com.uiui.sn.service.main.MainService;
import com.uiui.sn.utils.JGYUtils;
import com.uiui.sn.utils.SPUtils;
import com.uiui.sn.utils.Utils;
@@ -47,12 +48,11 @@ public class RemoteService extends Service {
@Override
public String getUserInfo() throws RemoteException {
- if (MainService.mPresenter != null) {
- MainService.mPresenter.getUserInfo();
+ if (MainService.getPresenter() != null) {
+// MainService.getPresenter().getUserInfo();
}
String username = Settings.System.getString(getContentResolver(), "UserInfo_username");
String avatar = Settings.System.getString(getContentResolver(), "UserInfo_avatar");
-// String gread = Settings.System.getString(getContentResolver(), "UserInfo_grade");
int gread = (int) SPUtils.get(RemoteService.this, "int_grade", 0);
String gankaoUID = Settings.System.getString(getContentResolver(), "gankaoUID");
JsonObject jsonObject = new JsonObject();
diff --git a/app/src/main/java/com/uiui/sn/service/main/MainSContact.java b/app/src/main/java/com/uiui/sn/service/main/MainSContact.java
new file mode 100644
index 0000000..e42517c
--- /dev/null
+++ b/app/src/main/java/com/uiui/sn/service/main/MainSContact.java
@@ -0,0 +1,52 @@
+package com.uiui.sn.service.main;
+
+import com.alibaba.fastjson.JSONObject;
+import com.uiui.sn.base.BasePresenter;
+import com.uiui.sn.base.BaseView;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.SnInfo;
+
+public class MainSContact {
+ public interface MainView extends BaseView {
+ void setSnInfo(BaseResponse response);
+ void setLocked(int lockedStatus);
+ void checkUpdateFinish();
+ void getAllAppFinish();
+ void setAppInside();
+ void setForceInstall();
+ void setSystemSettings();
+ void setBrowserLabel();
+ void setBrowserWhiteList();
+ void setAppStart();
+ void setTimeControl();
+ void setScreenLock();
+ }
+
+ interface Presenter extends BasePresenter {
+ //获取设备信息
+ void getSnInfo();
+ //获取锁定状态
+ void getLocked();
+ //检查更新
+ void checkUpdate();
+ //获取所有app包名
+ void getAllApp();
+ //获取id管控
+ void getAppInside();
+ //获取强制下载
+ void getForceInstall();
+ //获取系统设置
+ void getSystemSettings();
+ //获取浏览器书签
+ void getBrowserLabel();
+ //获取浏览器黑白名单
+ void getBrowserWhiteList();
+ //应用自启
+ void getAppStart();
+ //获取时间管控
+ void getTimeControl();
+ //获取锁屏管控
+ void getScreenLock();
+
+ }
+}
diff --git a/app/src/main/java/com/uiui/sn/activity/main/MainPresenter.java b/app/src/main/java/com/uiui/sn/service/main/MainSPresenter.java
similarity index 54%
rename from app/src/main/java/com/uiui/sn/activity/main/MainPresenter.java
rename to app/src/main/java/com/uiui/sn/service/main/MainSPresenter.java
index 22594d7..baa9163 100644
--- a/app/src/main/java/com/uiui/sn/activity/main/MainPresenter.java
+++ b/app/src/main/java/com/uiui/sn/service/main/MainSPresenter.java
@@ -1,11 +1,9 @@
-package com.uiui.sn.activity.main;
+package com.uiui.sn.service.main;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
-import android.graphics.Bitmap;
import android.os.Build;
-import android.os.Handler;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
@@ -16,84 +14,68 @@ import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationListener;
import com.google.gson.Gson;
-import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import com.google.gson.reflect.TypeToken;
-import com.uiui.sn.bean.gankao.AvailableProduct;
-import com.uiui.sn.bean.gankao.CreateUserBean;
-import com.uiui.sn.bean.gankao.GankaoBaseResponse;
-import com.uiui.sn.bean.gankao.PowerUser;
-import com.uiui.sn.bean.zuoye.AppInfo;
-import com.uiui.sn.bean.zuoye.AppStart;
-import com.uiui.sn.bean.zuoye.BaseResponse;
-import com.uiui.sn.bean.zuoye.Label;
-import com.uiui.sn.bean.zuoye.browser.BrowserApiData;
-import com.uiui.sn.bean.zuoye.browser.BrowserBean;
-import com.uiui.sn.bean.zuoye.UserAvatarInfo;
-import com.uiui.sn.bean.zuoye.UserInfo;
-import com.uiui.sn.config.Configs;
-import com.uiui.sn.config.Scheme;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.ActivityEvent;
+import com.uiui.sn.bean.AppInfo;
+import com.uiui.sn.bean.AppStart;
+import com.uiui.sn.bean.BaseResponse;
+import com.uiui.sn.bean.Label;
+import com.uiui.sn.bean.UserAvatarInfo;
+import com.uiui.sn.bean.SnInfo;
+import com.uiui.sn.bean.browser.BrowserApiData;
+import com.uiui.sn.bean.browser.BrowserBean;
+import com.uiui.sn.config.CommonConfig;
import com.uiui.sn.manager.AmapManager;
import com.uiui.sn.manager.ControlManager;
-import com.uiui.sn.manager.NetInterfaceManager;
import com.uiui.sn.network.HTTPInterface;
+import com.uiui.sn.network.NetInterfaceManager;
import com.uiui.sn.service.ManagerService;
import com.uiui.sn.utils.ApkUtils;
-import com.uiui.sn.utils.CXAESUtil;
import com.uiui.sn.utils.JGYUtils;
-import com.uiui.sn.utils.LaunchTools;
import com.uiui.sn.utils.SPUtils;
import com.uiui.sn.utils.ServiceAliveUtils;
import com.uiui.sn.utils.TimeUtils;
-import com.uiui.sn.utils.ToastUtil;
import com.uiui.sn.utils.URLUtils;
import com.uiui.sn.utils.Utils;
-import com.trello.rxlifecycle2.LifecycleProvider;
-import com.trello.rxlifecycle2.android.ActivityEvent;
-import org.jetbrains.annotations.NotNull;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.stream.Collectors;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
+import io.reactivex.rxjava3.subjects.BehaviorSubject;
import static com.uiui.sn.service.ManagerService.LOCK_STATE;
/**
* @author jgy02
*/
-public class MainPresenter implements MainContact.Presenter {
- private String TAG;
+public class MainSPresenter implements MainSContact.Presenter {
+ private String TAG = MainSPresenter.class.getSimpleName();
- private MainContact.MainView mView;
+ private MainSContact.MainView mView;
private Context mContext;
- public MainPresenter(Context context) {
+ public MainSPresenter(Context context) {
this.mContext = context;
- TAG = context.getClass().getSimpleName() + "." + MainPresenter.class.getSimpleName() + ":";
}
- private LifecycleProvider provider;
+ private BehaviorSubject lifecycle;
- public void setProvider(LifecycleProvider provider) {
- this.provider = provider;
+ public void setLifecycle(BehaviorSubject lifecycle) {
+ this.lifecycle = lifecycle;
}
- public LifecycleProvider getProvider() {
- return provider;
+ public BehaviorSubject getLifecycle() {
+ return lifecycle;
}
@Override
- public void attachView(MainContact.MainView view) {
+ public void attachView(MainSContact.MainView view) {
this.mView = view;
}
@@ -102,300 +84,38 @@ public class MainPresenter implements MainContact.Presenter {
this.mView = null;
}
-
- @Override
- public void queryPowerUserList() {
-
- }
-
- @Override
- public void checkSN() {
- NetInterfaceManager.getInstance()
- .getsnInfoControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer>() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e(TAG + "checkSN", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse userInfoBaseResponse) {
- Log.e(TAG + "checkSN", "onNext: ");
- int code = userInfoBaseResponse.code;
- mView.checkSNFinish(code);
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e(TAG + "checkSN", "onError: " + e.getMessage());
- mView.checkSNFinish(404);
- onComplete();
- }
-
- @Override
- public void onComplete() {
-
- Log.e(TAG + TAG + "checkSN", "onComplete: ");
- }
- });
- }
-
- /**
- * 创建赶考账户
- */
- @Override
- public void getGankaoUID() {
-
- }
-
-
- @Override
- public void queryAvailableProduct(String gankaoUID) {
-
- }
-
- @Override
- public void activeUser(@NotNull AvailableProduct product, String gankaoUID) {
-
- }
-
- @Override
- public void setAlias() {
- mView.setAlias();
- }
-
- @Override
- public void getBatch() {
- NetInterfaceManager.getInstance()
- .getBatchApiControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("getBatch", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse baseResponse) {
- Log.e("getBatch", "onNext: ");
- if (baseResponse.code == 200) {
- Gson gson = new Gson();
- JsonObject jsonObject = JsonParser.parseString(gson.toJson(baseResponse.data)).getAsJsonObject();
- int batch_id = jsonObject.get("batch_id").getAsInt();
- Log.e("getBatch", "onNext: " + batch_id);
- mView.setBatch(String.valueOf(batch_id));
- } else {
- Log.e("getBatch", "onNext: " + baseResponse.msg);
- mView.setBatch("");
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getBatch", "onError: " + e.getMessage());
- mView.setBatch("");
- onComplete();
- }
-
- @Override
- public void onComplete() {
- Log.e("getBatch", "onComplete: ");
- }
- });
- }
-
- @Override
- public void getQRCode() {
- String encryptString = CXAESUtil.encrypt(Configs.AES_KEY, Utils.getSerial());
- Log.e(TAG + TAG, "setImageAndText: " + encryptString);
- Bitmap bitmap = Utils.createQRImage(encryptString, 400, 400);
- mView.setQRCode(bitmap);
- }
-
- private static final String UPDATE_USER_INFO = "UPDATE_USER_INFO";
-
@Override
public void getSnInfo() {
NetInterfaceManager.getInstance()
- .getsnInfoControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer>() {
+ .getSnInfo(lifecycle, new NetInterfaceManager.ObserverCallback() {
@Override
public void onSubscribe(Disposable d) {
- Log.e(TAG + "getInfo", "onSubscribe: ");
+
}
@Override
- public void onNext(BaseResponse userInfoBaseResponse) {
- Log.e(TAG + "getInfo", "onNext: " + userInfoBaseResponse);
- mView.setSnInfo(userInfoBaseResponse);
- int code = userInfoBaseResponse.code;
- if (code == 200) {
- SPUtils.put(mContext, Configs.isLogined, 1);
- UserInfo userInfo = userInfoBaseResponse.data;
- Settings.System.putString(mContext.getContentResolver(), "UserInfo_username", userInfo.getSn_name());
- Settings.System.putString(mContext.getContentResolver(), "UserInfo_grade", userInfo.getGrade());
- SPUtils.put(mContext, "member_id", userInfo.getMember_id());
- SPUtils.put(mContext, "sn_id", userInfo.getId());
- if (!TextUtils.isEmpty(userInfo.getSn_name())) {
- SPUtils.put(mContext, "USERINFO_NAME", userInfo.getSn_name());
- }
- if (!TextUtils.isEmpty(userInfo.getSchool())) {
- SPUtils.put(mContext, "USERINFO_SCHOOL", userInfo.getSchool());
- }
- if (!TextUtils.isEmpty(userInfo.getGrade())) {
- SPUtils.put(mContext, "USERINFO_GRADE", userInfo.getGrade());
- }
- String gankaoUID = Settings.System.getString(mContext.getContentResolver(), "gankaoUID");
- String avatar = Settings.System.getString(mContext.getContentResolver(), "UserInfo_avatar");
- int gread = (int) SPUtils.get(mContext, "int_grade", 0);
-
- JsonObject jsonObject = new JsonObject();
- jsonObject.addProperty("username", userInfo.getSn_name());
- jsonObject.addProperty("avatar", avatar);
- jsonObject.addProperty("grade", gread);
- jsonObject.addProperty("userid", gankaoUID);
- jsonObject.addProperty("sn", Utils.getSerial());
- Log.e(TAG, "getUserInfo:" + jsonObject.toString());
- Intent intent = new Intent(UPDATE_USER_INFO);
- intent.putExtra("user_info", jsonObject.toString());
- intent.setPackage("com.jiaoguanyi.os");
- intent.setPackage("com.tt.ttutils");
- mContext.sendBroadcast(intent);
- } else if (code == 300) {
- SPUtils.put(mContext, Configs.isLogined, 0);
- } else if (code == 400) {
- SPUtils.put(mContext, Configs.isLogined, 2);
- }
+ public void onNext(BaseResponse response) {
+ mView.setSnInfo(response);
}
@Override
public void onError(Throwable e) {
- Log.e(TAG + "getInfo", "onError: " + e.getMessage());
- mView.setSnInfo(null);
- onComplete();
+
}
@Override
public void onComplete() {
- Log.e(TAG + "getInfo", "onComplete: ");
- int isLogined = (int) SPUtils.get(mContext, Configs.isLogined, 2);
- if (isLogined == 2) return;
- Handler.getMain().postDelayed(() -> HTTPInterface.checkUpdate(mContext), 1234);
- Handler.getMain().postDelayed(() -> HTTPInterface.checkUpdate(mContext, JGYUtils.PACKAGE_APPSTORE), 2345);
- Handler.getMain().postDelayed(() -> HTTPInterface.checkUpdate(mContext, JGYUtils.PACKAGE_BROWSER), 3456);
- Handler.getMain().postDelayed(() -> HTTPInterface.checkUpdate(mContext, JGYUtils.PACKAGE_OS), 5678);
- Handler.getMain().postDelayed(() -> HTTPInterface.checkUpdate(mContext, JGYUtils.PACKAGE_VIDEOPLAYER), 6789);
- }
- });
- }
- @Override
- public void getSnUid() {
- NetInterfaceManager.getInstance()
- .getSnUidApiControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("getSnUid", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse baseResponse) {
- Log.e("getSnUid", "onNext: " + JSONObject.toJSONString(baseResponse));
- int code = baseResponse.code;
- if (code == 200) {
- Settings.System.putInt(mContext.getContentResolver(), MainActivity.activation, 1);
- JSONObject jsonObject = JSON.parseObject(JSONObject.toJSONString(baseResponse.data));
- mView.setSnUid(jsonObject);
- } else {
- mView.setSnUid(null);
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getSnUid", "onError: " + e.getMessage());
- mView.setSnUid(null);
- }
-
- @Override
- public void onComplete() {
- Log.e("getSnUid", "onComplete: ");
- }
- });
- }
-
- @Override
- public void registerGankao() {
-
- }
-
- @Override
- public void getUserInfo() {
- NetInterfaceManager.getInstance()
- .getUserAvatarInfoControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer>() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e(TAG + "getUserInfo", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse userAvatarInfoBaseResponse) {
- Log.e(TAG + "getUserInfo", "onNext: ");
- if (userAvatarInfoBaseResponse.code == 200) {
- UserAvatarInfo info = userAvatarInfoBaseResponse.data;
- if (!TextUtils.isEmpty(info.getUsername())) {
- Log.e(TAG + "getUserInfo", "onNext: " + " " + info.getUsername());
- }
- if (!TextUtils.isEmpty(info.getAvatar())) {
- boolean avatar = Settings.System.putString(mContext.getContentResolver(), "UserInfo_avatar", info.getAvatar());
- Log.e(TAG + "getUserInfo", "onNext: " + avatar + " " + info.getAvatar());
- }
- if (!TextUtils.isEmpty(info.getGread())) {
- Log.e(TAG + "getUserInfo", "onNext: " + " " + info.getGread());
- }
- boolean id = Settings.System.putInt(mContext.getContentResolver(), "UserInfo_userid", info.getId());
- Log.e(TAG + "getUserInfo", "onNext: " + id + " " + info.getId());
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e(TAG + "getUserInfo", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e(TAG + "getUserInfo", "onComplete: ");
- mView.setUserInfo();
}
});
}
@Override
public void getLocked() {
- int statu = (int) SPUtils.get(mContext, Configs.isLogined, 0);
+ int statu = (int) SPUtils.get(mContext, CommonConfig.isLogined, 0);
mView.setLocked(statu);
}
- @Override
- public void initAmap() {
- AMapLocationClient aMapLocationClient = AmapManager.getInstance().getLocationClient();
- aMapLocationClient.stopLocation();
- aMapLocationClient.startLocation();
- aMapLocationClient.setLocationListener(new AMapLocationListener() {
- @Override
- public void onLocationChanged(AMapLocation aMapLocation) {
- mView.onLocationChanged();
- }
- });
- }
-
@Override
public void checkUpdate() {
mView.checkUpdateFinish();
@@ -406,16 +126,16 @@ public class MainPresenter implements MainContact.Presenter {
public void getAllApp() {
NetInterfaceManager.getInstance()
.getQueryAllAppControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>>() {
@Override
public void onSubscribe(Disposable d) {
- Log.e(TAG + "getAllApp", "onSubscribe: ");
+ Log.e("getAllApp", "onSubscribe: ");
}
@Override
public void onNext(BaseResponse> listBaseResponse) {
- Log.e(TAG + "getAllApp", "onNext: ");
+ Log.e("getAllApp", "onNext: " + listBaseResponse);
int code = listBaseResponse.code;
if (code == 200) {
List appInfoList = listBaseResponse.data;
@@ -427,8 +147,8 @@ public class MainPresenter implements MainContact.Presenter {
allPkgSet.add(pkg.getApp_package());
}
String allPkgString = String.join(",", allPkgSet);
- Settings.System.putString(mContext.getContentResolver(), "only_jgy_shortcut_list", allPkgString);
- Log.e(TAG + "getAllApp", "onNext: " + allPkgString);
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.ONLY_SHORTCUT_LIST, allPkgString);
+ Log.e("getAllApp", "onNext: " + allPkgString);
ApkUtils.writeAppPackageList(mContext, allPkgString);
HTTPInterface.getAppStart(mContext, appInfoList);
}
@@ -438,13 +158,13 @@ public class MainPresenter implements MainContact.Presenter {
@Override
public void onError(Throwable e) {
- Log.e(TAG + "getAllApp", "onError: " + e.getMessage());
+ Log.e("getAllApp", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onComplete() {
- Log.e(TAG + "getAllApp", "onComplete: ");
+ Log.e("getAllApp", "onComplete: ");
mView.getAllAppFinish();
}
});
@@ -454,7 +174,7 @@ public class MainPresenter implements MainContact.Presenter {
public void getAppInside() {
NetInterfaceManager.getInstance()
.getAppInsideControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
@@ -495,16 +215,16 @@ public class MainPresenter implements MainContact.Presenter {
public void getForceInstall() {
NetInterfaceManager.getInstance()
.getForceInstallControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>>() {
@Override
public void onSubscribe(Disposable d) {
- Log.e(TAG + "getForceInstall", "onSubscribe: ");
+ Log.e("getForceInstall", "onSubscribe: ");
}
@Override
public void onNext(BaseResponse> listBaseResponse) {
- Log.e(TAG + "getForceInstall", "onNext: " + listBaseResponse);
+ Log.e("getForceInstall", "onNext: " + listBaseResponse);
int code = listBaseResponse.code;
if (code == 200) {
List appInfos = listBaseResponse.data;
@@ -513,19 +233,19 @@ public class MainPresenter implements MainContact.Presenter {
}
} else {
boolean qch_force_app = JGYUtils.putString(mContext.getContentResolver(), "qch_force_app", "invalid");
- Log.e(TAG + TAG, "qch_force_app: invalid: " + qch_force_app);
+ Log.e("getForceInstall", "qch_force_app: invalid: " + qch_force_app);
}
}
@Override
public void onError(Throwable e) {
- Log.e(TAG + "getForceInstall", "onError: ");
+ Log.e("getForceInstall", "onError: ");
onComplete();
}
@Override
public void onComplete() {
- Log.e(TAG + "getForceInstall", "onComplete: ");
+ Log.e("getForceInstall", "onComplete: ");
mView.setForceInstall();
}
});
@@ -535,16 +255,16 @@ public class MainPresenter implements MainContact.Presenter {
public void getSystemSettings() {
NetInterfaceManager.getInstance()
.getsettingControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
- Log.e(TAG + "getSystemSettings", "onSubscribe: ");
+ Log.e("getSystemSettings", "onSubscribe: ");
}
@Override
public void onNext(BaseResponse systemSettingsBaseResponse) {
- Log.e(TAG + "getSystemSettings", "onNext: ");
+ Log.e("getSystemSettings", "onNext: ");
SPUtils.put(mContext, "is_first_connection", 0);
int code = systemSettingsBaseResponse.code;
if (code == 200) {
@@ -561,13 +281,13 @@ public class MainPresenter implements MainContact.Presenter {
if ((int) SPUtils.get(mContext, "is_first_connection", 1) == 1) {
ControlManager.getInstance().setDisableSetting();
}
- Log.e(TAG + "getSystemSettings", "onError: " + e.getMessage());
+ Log.e("getSystemSettings", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onComplete() {
- Log.e(TAG + "getSystemSettings", "onComplete: ");
+ Log.e("getSystemSettings", "onComplete: ");
mView.setSystemSettings();
}
});
@@ -576,16 +296,16 @@ public class MainPresenter implements MainContact.Presenter {
@Override
public void getBrowserLabel() {
NetInterfaceManager.getInstance().getLabelControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>() {
@Override
public void onSubscribe(Disposable d) {
- Log.e(TAG + "getBrowserLabel", "onSubscribe: ");
+ Log.e("getBrowserLabel", "onSubscribe: ");
}
@Override
public void onNext(BaseResponse