From f42d63e93cccd8f0475dd2eba521e60f1ddd67d3 Mon Sep 17 00:00:00 2001 From: tongtongstudio Date: Wed, 29 Apr 2026 16:48:25 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96api=E5=8C=85?= =?UTF-8?q?=E5=90=8D=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=87=8F=E5=B0=91=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aoleyun/sn/activity/SplashActivity.java | 2 +- .../sn/activity/main/MainViewModel.java | 12 +- .../java/com/aoleyun/sn/base/BaseService.java | 71 ++ .../sn/network/NetInterfaceManager.java | 924 ++++++++---------- .../sn/network/api/aoleyun/AppControlApi.java | 58 ++ ...ceDownloadApi.java => AppDownloadApi.java} | 25 +- .../sn/network/api/aoleyun/AppImgApi.java | 15 - .../api/aoleyun/AppInstallStrategyApi.java | 53 + .../sn/network/api/aoleyun/AppLimitApi.java | 19 - .../sn/network/api/aoleyun/AppSettingApi.java | 16 - .../network/api/aoleyun/AppinsideWebApi.java | 22 - .../network/api/aoleyun/BatteryInfoApi.java | 31 - .../sn/network/api/aoleyun/BlackListApi.java | 16 - .../api/aoleyun/BrowserBookmarksApi.java | 19 - .../network/api/aoleyun/BrowserListApi.java | 19 - .../network/api/aoleyun/CheckUpdateApi.java | 20 - .../network/api/aoleyun/CloudLessonApi.java | 6 + .../api/aoleyun/CloudLessonAppApi.java | 16 - .../network/api/aoleyun/CustomROMAppApi.java | 19 - .../sn/network/api/aoleyun/DefaultAppApi.java | 16 - .../sn/network/api/aoleyun/DeselectIDApi.java | 21 - .../network/api/aoleyun/DesktopIconApi.java | 18 - .../api/aoleyun/DesktopsDiyUpdateApi.java | 16 - .../api/aoleyun/DevicesLockedStateApi.java | 17 - .../network/api/aoleyun/DevicesStatusApi.java | 62 ++ .../network/api/aoleyun/GetAdminAppApi.java | 18 - .../sn/network/api/aoleyun/GetAllAppApi.java | 21 - .../sn/network/api/aoleyun/GetAppLogApi.java | 19 - .../sn/network/api/aoleyun/GetBatchApi.java | 17 - .../sn/network/api/aoleyun/GetDesktopApi.java | 16 - .../network/api/aoleyun/GetDeveloperApi.java | 16 - .../network/api/aoleyun/GetEBagCodeApi.java | 19 - .../network/api/aoleyun/GetLockStateApi.java | 19 - .../network/api/aoleyun/GetPoweroffApi.java | 20 - .../network/api/aoleyun/GetPushTagsApi.java | 16 - .../network/api/aoleyun/GetSnRunLogApi.java | 16 - .../network/api/aoleyun/GetUploadLogApi.java | 22 - .../network/api/aoleyun/GetWiFiAliasApi.java | 26 - .../{GetUploadIsLogApi.java => LogApi.java} | 20 +- .../sn/network/api/aoleyun/LogoImgApi.java | 16 - .../sn/network/api/aoleyun/MACAddressApi.java | 37 - .../network/api/aoleyun/NetAndLaunchApi.java | 18 - .../api/aoleyun/NetworkConnectApi.java | 18 - .../api/aoleyun/NewAppinsideWebApi.java | 19 - .../network/api/aoleyun/RankCommonAppApi.java | 22 - .../api/aoleyun/ScreenLockStateApi.java | 16 - .../api/aoleyun/SendDownloadInfoApi.java | 22 - .../api/aoleyun/SendDownloadTimesApi.java | 20 - .../api/aoleyun/SendRestoreTimesApi.java | 24 - .../api/aoleyun/SendScreenStatusApi.java | 19 - .../api/aoleyun/SendScreenshotApi.java | 23 - .../api/aoleyun/SendScreenshotCall.java | 22 - .../aoleyun/sn/network/api/aoleyun/SnApi.java | 23 - .../sn/network/api/aoleyun/SnAppAttrApi.java | 18 - .../network/api/aoleyun/SnConfirmBindApi.java | 19 - .../sn/network/api/aoleyun/SnSettingApi.java | 16 - .../network/api/aoleyun/SnTimeControlApi.java | 22 - .../network/api/aoleyun/StudentsInfoApi.java | 18 - .../network/api/aoleyun/SystemCustomApi.java | 39 + .../network/api/aoleyun/SystemSettingApi.java | 83 +- .../network/api/aoleyun/TopAppControlApi.java | 16 - .../api/aoleyun/UpdateDeviceInfoApi.java | 22 - .../network/api/aoleyun/UploadAppImgApi.java | 23 - .../network/api/aoleyun/UploadAppInfoApi.java | 19 - .../sn/network/api/aoleyun/UploadInfoApi.java | 171 ++++ .../sn/network/api/aoleyun/WallpaperApi.java | 16 - .../sn/network/api/aoleyun/WhiteListApi.java | 16 - .../aoleyun/sn/network/cache/CacheEntry.java | 30 + .../sn/network/cache/RxCacheManager.java | 63 ++ .../sn/network/cache/RxCacheRequest.java | 38 + .../sn/network/cache/RxTimeCacheManager.java | 66 ++ .../java/com/aoleyun/sn/push/PushManager.java | 6 +- .../com/aoleyun/sn/service/GuardService.java | 8 +- .../com/aoleyun/sn/service/LogcatService.java | 4 +- .../sn/service/main/MainSPresenter.java | 2 +- .../aoleyun/sn/service/main/MainService.java | 33 +- .../java/com/aoleyun/sn/utils/JgyUtils.java | 34 +- .../main/java/com/aoleyun/sn/utils/Utils.java | 2 +- 78 files changed, 1227 insertions(+), 1634 deletions(-) create mode 100644 app/src/main/java/com/aoleyun/sn/base/BaseService.java create mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppControlApi.java rename app/src/main/java/com/aoleyun/sn/network/api/aoleyun/{ForceDownloadApi.java => AppDownloadApi.java} (54%) delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppImgApi.java create mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppInstallStrategyApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppLimitApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppSettingApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppinsideWebApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BatteryInfoApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BlackListApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BrowserBookmarksApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BrowserListApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CheckUpdateApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CloudLessonAppApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CustomROMAppApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DefaultAppApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DeselectIDApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DesktopIconApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DesktopsDiyUpdateApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesLockedStateApi.java create mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesStatusApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAdminAppApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAllAppApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAppLogApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetBatchApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetDesktopApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetDeveloperApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetEBagCodeApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetLockStateApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetPoweroffApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetPushTagsApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetSnRunLogApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetUploadLogApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetWiFiAliasApi.java rename app/src/main/java/com/aoleyun/sn/network/api/aoleyun/{GetUploadIsLogApi.java => LogApi.java} (51%) delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/LogoImgApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/MACAddressApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NetAndLaunchApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NetworkConnectApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NewAppinsideWebApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/RankCommonAppApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/ScreenLockStateApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendDownloadInfoApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendDownloadTimesApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendRestoreTimesApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenStatusApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenshotApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenshotCall.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnAppAttrApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnConfirmBindApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnSettingApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnTimeControlApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/StudentsInfoApi.java create mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SystemCustomApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/TopAppControlApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UpdateDeviceInfoApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadAppImgApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadAppInfoApi.java create mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadInfoApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/WallpaperApi.java delete mode 100644 app/src/main/java/com/aoleyun/sn/network/api/aoleyun/WhiteListApi.java create mode 100644 app/src/main/java/com/aoleyun/sn/network/cache/CacheEntry.java create mode 100644 app/src/main/java/com/aoleyun/sn/network/cache/RxCacheManager.java create mode 100644 app/src/main/java/com/aoleyun/sn/network/cache/RxCacheRequest.java create mode 100644 app/src/main/java/com/aoleyun/sn/network/cache/RxTimeCacheManager.java diff --git a/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java b/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java index 907abaf..fce121c 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java @@ -170,7 +170,7 @@ public class SplashActivity extends AppCompatActivity { Log.e(TAG, "getCustomVersion: " + Utils.getCustomVersion()); Log.e(TAG, "getRomVersion: " + Utils.getRomVersion()); Log.i(TAG, "debugTest: " + BuildConfig.VERSION_NAME); - Log.i(TAG, "debugTest: " + Utils.getAPPVersionName(PackageNames.APPSTORE, this)); + Log.i(TAG, "debugTest: " + Utils.getAppVersionName(PackageNames.APPSTORE, this)); Log.i(TAG, "debugTest: " + Utils.getAndroid7MAC()); Log.i(TAG, "debugTest: launcher3 " + JgyUtils.getInstance().getStartClassName("com.android.launcher3")); // try { diff --git a/app/src/main/java/com/aoleyun/sn/activity/main/MainViewModel.java b/app/src/main/java/com/aoleyun/sn/activity/main/MainViewModel.java index 4b3eee3..43b90e5 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/main/MainViewModel.java +++ b/app/src/main/java/com/aoleyun/sn/activity/main/MainViewModel.java @@ -141,10 +141,8 @@ public class MainViewModel extends BaseViewModel mUpdateInfoData = new MutableLiveData<>(); public void checkUpdateInfo() { - NetInterfaceManager.getInstance() - .getUpdateApi() - .getUpdate(BuildConfig.APPLICATION_ID, - JgyUtils.getInstance().checkAppPlatform()) + NetInterfaceManager.getInstance().getAppDownloadApi() + .getUpdate(BuildConfig.APPLICATION_ID, JgyUtils.getInstance().checkAppPlatform()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(RxLifecycle.bindUntilEvent(getLifecycle(), ActivityEvent.DESTROY)) @@ -222,7 +220,7 @@ public class MainViewModel extends BaseViewModel, LifecycleOwner { + + private final BehaviorSubject lifecycleSubject = BehaviorSubject.create(); + + public BehaviorSubject getLifecycleSubject() { + return lifecycleSubject; + } + + @Override + public final Observable lifecycle() { + return lifecycleSubject.hide(); + } + + @Override + public final LifecycleTransformer bindUntilEvent(ActivityEvent event) { + return RxLifecycle.bindUntilEvent(lifecycleSubject, event); + } + + @Override + public final LifecycleTransformer bindToLifecycle() { + return RxLifecycleAndroid.bindActivity(lifecycleSubject); + } + + private final LifecycleRegistry lifecycleRegistry = new LifecycleRegistry(this); + + @Override + public Lifecycle getLifecycle() { + return lifecycleRegistry; + } + + @Override + public void onCreate() { + super.onCreate(); + lifecycleSubject.onNext(ActivityEvent.CREATE); + lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE); + //修补在Service中LiveData不能触发 + lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START); + } + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_RESUME); + return super.onStartCommand(intent, flags, startId); + } + + @Override + public void onDestroy() { + super.onDestroy(); + lifecycleSubject.onNext(ActivityEvent.DESTROY); + lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY); + } + +} diff --git a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java index 69fdaad..f523d2b 100644 --- a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java +++ b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java @@ -72,62 +72,17 @@ import com.aoleyun.sn.manager.AllwinnerCubeMdmManager; import com.aoleyun.sn.manager.ConnectManager; import com.aoleyun.sn.manager.ConnectMode; import com.aoleyun.sn.network.api.aolelearn.ExclusiveAdminAppApi; -import com.aoleyun.sn.network.api.aoleyun.AppLimitApi; -import com.aoleyun.sn.network.api.aoleyun.AppSettingApi; -import com.aoleyun.sn.network.api.aoleyun.AppinsideWebApi; -import com.aoleyun.sn.network.api.aoleyun.BatteryInfoApi; -import com.aoleyun.sn.network.api.aoleyun.BlackListApi; -import com.aoleyun.sn.network.api.aoleyun.BrowserBookmarksApi; -import com.aoleyun.sn.network.api.aoleyun.BrowserListApi; -import com.aoleyun.sn.network.api.aoleyun.CheckUpdateApi; +import com.aoleyun.sn.network.api.aoleyun.AppControlApi; +import com.aoleyun.sn.network.api.aoleyun.AppDownloadApi; +import com.aoleyun.sn.network.api.aoleyun.AppInstallStrategyApi; import com.aoleyun.sn.network.api.aoleyun.CloudLessonApi; -import com.aoleyun.sn.network.api.aoleyun.CloudLessonAppApi; -import com.aoleyun.sn.network.api.aoleyun.CustomROMAppApi; -import com.aoleyun.sn.network.api.aoleyun.DefaultAppApi; -import com.aoleyun.sn.network.api.aoleyun.DeselectIDApi; -import com.aoleyun.sn.network.api.aoleyun.DesktopIconApi; -import com.aoleyun.sn.network.api.aoleyun.DesktopsDiyUpdateApi; -import com.aoleyun.sn.network.api.aoleyun.DevicesLockedStateApi; -import com.aoleyun.sn.network.api.aoleyun.ForceDownloadApi; -import com.aoleyun.sn.network.api.aoleyun.GetAdminAppApi; -import com.aoleyun.sn.network.api.aoleyun.GetAllAppApi; -import com.aoleyun.sn.network.api.aoleyun.GetAppLogApi; -import com.aoleyun.sn.network.api.aoleyun.GetBatchApi; -import com.aoleyun.sn.network.api.aoleyun.GetDesktopApi; -import com.aoleyun.sn.network.api.aoleyun.GetDeveloperApi; -import com.aoleyun.sn.network.api.aoleyun.GetEBagCodeApi; -import com.aoleyun.sn.network.api.aoleyun.GetLockStateApi; -import com.aoleyun.sn.network.api.aoleyun.GetPoweroffApi; -import com.aoleyun.sn.network.api.aoleyun.GetPushTagsApi; -import com.aoleyun.sn.network.api.aoleyun.GetSnRunLogApi; -import com.aoleyun.sn.network.api.aoleyun.GetUploadIsLogApi; -import com.aoleyun.sn.network.api.aoleyun.GetUploadLogApi; -import com.aoleyun.sn.network.api.aoleyun.GetWiFiAliasApi; -import com.aoleyun.sn.network.api.aoleyun.LogoImgApi; -import com.aoleyun.sn.network.api.aoleyun.MACAddressApi; -import com.aoleyun.sn.network.api.aoleyun.NetAndLaunchApi; -import com.aoleyun.sn.network.api.aoleyun.NetworkConnectApi; -import com.aoleyun.sn.network.api.aoleyun.NewAppinsideWebApi; -import com.aoleyun.sn.network.api.aoleyun.RankCommonAppApi; -import com.aoleyun.sn.network.api.aoleyun.ScreenLockStateApi; -import com.aoleyun.sn.network.api.aoleyun.SendDownloadInfoApi; -import com.aoleyun.sn.network.api.aoleyun.SendDownloadTimesApi; -import com.aoleyun.sn.network.api.aoleyun.SendRestoreTimesApi; -import com.aoleyun.sn.network.api.aoleyun.SendScreenshotCall; -import com.aoleyun.sn.network.api.aoleyun.SnApi; -import com.aoleyun.sn.network.api.aoleyun.SnAppAttrApi; -import com.aoleyun.sn.network.api.aoleyun.SnConfirmBindApi; -import com.aoleyun.sn.network.api.aoleyun.SnSettingApi; -import com.aoleyun.sn.network.api.aoleyun.SnTimeControlApi; -import com.aoleyun.sn.network.api.aoleyun.StudentsInfoApi; +import com.aoleyun.sn.network.api.aoleyun.DevicesStatusApi; +import com.aoleyun.sn.network.api.aoleyun.LogApi; +import com.aoleyun.sn.network.api.aoleyun.SystemCustomApi; import com.aoleyun.sn.network.api.aoleyun.SystemSettingApi; -import com.aoleyun.sn.network.api.aoleyun.TopAppControlApi; -import com.aoleyun.sn.network.api.aoleyun.UpdateDeviceInfoApi; -import com.aoleyun.sn.network.api.aoleyun.UploadAppImgApi; -import com.aoleyun.sn.network.api.aoleyun.UploadAppInfoApi; -import com.aoleyun.sn.network.api.aoleyun.WallpaperApi; -import com.aoleyun.sn.network.api.aoleyun.WhiteListApi; +import com.aoleyun.sn.network.api.aoleyun.UploadInfoApi; import com.aoleyun.sn.network.api.thirdparty.GetWhoisApi; +import com.aoleyun.sn.network.cache.RxCacheManager; import com.aoleyun.sn.network.interceptor.RepeatRequestInterceptor; import com.aoleyun.sn.rlog.LogDBManager; import com.aoleyun.sn.service.LogcatService; @@ -172,6 +127,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.function.Function; @@ -199,7 +155,6 @@ import okhttp3.Protocol; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; -import okhttp3.ResponseBody; import retrofit2.Call; import retrofit2.Retrofit; import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory; @@ -209,40 +164,50 @@ import static com.google.gson.JsonParser.parseString; public class NetInterfaceManager { private static final String TAG = "NetInterfaceManager"; + private static final RxCacheManager CACHE_MANAGER = RxCacheManager.getInstance(); + + public static void clearAllCache() { + Log.e(TAG, "clearAllCache: "); + CACHE_MANAGER.clearAllCache(); + } + + private static final long CACHE_EXPIRE_ONE_MINUTE = 60 * 1000; + + private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); + + //超时时间 + private static final int TIME_OUT = 5; + // 缓存大小 + private static final long CACHE_SIZE = 1024 * 1024 * 64; + + public static final String HTTP_KEY = "YTM3YTAxNTJmMmZmNzkyM2E2YzIwZjlhZTc0NzNmMGI="; + public static final String CUSTOM_REPEAT_REQ_PROTOCOL = "MY_CUSTOM_REPEAT_REQ_PROTOCOL"; + @SuppressLint("StaticFieldLeak") private static NetInterfaceManager INSTANCE; private Context mContext; private Retrofit mRetrofit; - private OkHttpClient okHttpClient; + private OkHttpClient mOkHttpClient; private Retrofit mAolelearnRetrofit; private OkHttpClient mAolelearnOkHttpClient; + @Deprecated + private CacheHelper cacheHelper; + private Set mUploadIconPkgs; private static final String uploadIconPkgsKey = "UPLOAD_ICON_PACKAGE_KEY"; - private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); - private CacheHelper cacheHelper; - private static final int OK = 200; - private static final int NOTFOUND = -300; private final ConcurrentHashMap requestIdsMap = new ConcurrentHashMap<>(); - //超时时间 - private static int timeOut = 5; - // 缓存大小 - private static long cacheSize = 1024 * 1024 * 64; - - public static final String HTTP_KEY = "YTM3YTAxNTJmMmZmNzkyM2E2YzIwZjlhZTc0NzNmMGI="; - public static final String CUSTOM_REPEAT_REQ_PROTOCOL = "MY_CUSTOM_REPEAT_REQ_PROTOCOL"; - private NetInterfaceManager(Context context) { this.mContext = context; this.cacheHelper = new CacheHelper(mContext); - if (okHttpClient == null) { + if (mOkHttpClient == null) { Interceptor myHttpInterceptor = new Interceptor() { @NotNull @Override @@ -255,7 +220,7 @@ public class NetInterfaceManager { // response = chain.proceed(request); // } catch (Exception e) { // //异常的返回也是完成Http请求。在这里移除请求登记 -// if (!TextUtils.isEmpty(e.toString()) && e.toString().contains(NetInterfaceManager.CUSTOM_REPEAT_REQ_PROTOCOL)) { +// if (!TextUtils.isEmpty(e.toString()) && e.toString().contains(CUSTOM_REPEAT_REQ_PROTOCOL)) { // Log.e("REPEAT-REQUEST", "intercept: " + e.getMessage()); // Log.e("REPEAT-REQUEST", "移除请求1:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url()); // } else { @@ -335,9 +300,9 @@ public class NetInterfaceManager { //如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了 OkHttpClient.Builder builder = new OkHttpClient.Builder(); - builder.connectTimeout(timeOut, TimeUnit.SECONDS); // 设置连接超时时间 - builder.writeTimeout(timeOut, TimeUnit.SECONDS);// 设置写入超时时间 - builder.readTimeout(timeOut, TimeUnit.SECONDS);// 设置读取数据超时时间 + builder.connectTimeout(TIME_OUT, TimeUnit.SECONDS); // 设置连接超时时间 + builder.writeTimeout(TIME_OUT, TimeUnit.SECONDS);// 设置写入超时时间 + builder.readTimeout(TIME_OUT, TimeUnit.SECONDS);// 设置读取数据超时时间 builder.retryOnConnectionFailure(true);// 设置进行连接失败重试 builder.addInterceptor(new RepeatRequestInterceptor()); // builder.addNetworkInterceptor(new PostCacheInterceptor(mDiskLruCacheHelper)); @@ -350,14 +315,14 @@ public class NetInterfaceManager { builder.connectionPool(new ConnectionPool(20, 1, TimeUnit.SECONDS)); // 设置缓存文件路径 String cacheDirectory = mContext.getExternalCacheDir().getAbsolutePath() + "/OkHttpCache"; - Cache cache = new Cache(new File(cacheDirectory), cacheSize); + Cache cache = new Cache(new File(cacheDirectory), CACHE_SIZE); builder.cache(cache);// 设置缓存 - okHttpClient = builder.build(); + mOkHttpClient = builder.build(); } if (mRetrofit == null) { mRetrofit = new Retrofit.Builder() - .client(okHttpClient) + .client(mOkHttpClient) .baseUrl(BuildConfig.ROOT_URL) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) @@ -367,14 +332,14 @@ public class NetInterfaceManager { if (mAolelearnOkHttpClient == null) { //如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了 OkHttpClient.Builder builder = new OkHttpClient.Builder(); - builder.connectTimeout(timeOut, TimeUnit.SECONDS); // 设置连接超时时间 - builder.writeTimeout(timeOut, TimeUnit.SECONDS);// 设置写入超时时间 - builder.readTimeout(timeOut, TimeUnit.SECONDS);// 设置读取数据超时时间 + builder.connectTimeout(TIME_OUT, TimeUnit.SECONDS); // 设置连接超时时间 + builder.writeTimeout(TIME_OUT, TimeUnit.SECONDS);// 设置写入超时时间 + builder.readTimeout(TIME_OUT, TimeUnit.SECONDS);// 设置读取数据超时时间 builder.retryOnConnectionFailure(true);// 设置进行连接失败重试 builder.addInterceptor(new RepeatRequestInterceptor()); // 设置缓存文件路径 String cacheDirectory = mContext.getExternalCacheDir().getAbsolutePath() + "/OkHttpCache"; - Cache cache = new Cache(new File(cacheDirectory), cacheSize); + Cache cache = new Cache(new File(cacheDirectory), CACHE_SIZE); builder.cache(cache);// 设置缓存 mAolelearnOkHttpClient = builder.build(); } @@ -408,7 +373,7 @@ public class NetInterfaceManager { } public OkHttpClient getOkHttpClient() { - return okHttpClient; + return mOkHttpClient; } public static RequestBody convertToRequestBody(Object param) { @@ -432,6 +397,78 @@ public class NetInterfaceManager { return requestBody; } + /** + * 极简调用:仅需 网络请求Observable + 缓存过期时间 + * + * @param networkObservable 原始网络请求 + * @param expireTimeMillis 缓存有效期(毫秒) + * @return 带自动缓存的Observable + */ + public static Observable withCache(Observable networkObservable, String cacheKey, long expireTimeMillis) { + return Observable.defer(() -> { +// Log.e(TAG, "withCache: cacheKey = " + cacheKey); + // 1. 读取缓存 + T cacheData = CACHE_MANAGER.getCache(cacheKey); + if (cacheData != null) { + Log.e(TAG, "withCache: getCache " + cacheKey); + return Observable.just(cacheData); + } + + Log.e(TAG, "withCache: request " + cacheKey); + // 2. 无缓存则发起网络请求,成功后缓存 + return networkObservable + .subscribeOn(Schedulers.io()) + .doOnNext(data -> CACHE_MANAGER.saveCache(cacheKey, data, expireTimeMillis)); + }) + .subscribeOn(Schedulers.io()) // 缓存IO切到子线程 + .observeOn(AndroidSchedulers.mainThread()); + } + + /* + * + * API + * + * */ + public T getApiService(Class tClass) { + return mRetrofit.create(tClass); + } + + public AppControlApi getAppControlApi() { + return getApiService(AppControlApi.class); + } + + public AppDownloadApi getAppDownloadApi() { + return getApiService(AppDownloadApi.class); + } + + public AppInstallStrategyApi getAppInstallStrategyApi() { + return getApiService(AppInstallStrategyApi.class); + } + + public CloudLessonApi getCloudLessonApi() { + return getApiService(CloudLessonApi.class); + } + + public DevicesStatusApi getDevicesStatusApi() { + return getApiService(DevicesStatusApi.class); + } + + public LogApi getLogApi() { + return getApiService(LogApi.class); + } + + public SystemCustomApi getSystemCustomApi() { + return getApiService(SystemCustomApi.class); + } + + public SystemSettingApi getSystemSettingApi() { + return getApiService(SystemSettingApi.class); + } + + public UploadInfoApi getUploadInfoApi() { + return getApiService(UploadInfoApi.class); + } + /** * 获取学习软件 * @@ -444,16 +481,140 @@ public class NetInterfaceManager { .observeOn(AndroidSchedulers.mainThread()); } + /* + * + * Observable + * + * */ + + public Observable schedule(Observable observable, BehaviorSubject lifecycle) { + return observable + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)); + } + + public Observable schedule(Observable observable) { + return observable + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()); + } + + public Observable getAppAutoStartUpdateAndNetObservable() { + return withCache(schedule(getAppControlApi().getNetAndLaunchApi(HTTP_KEY, Utils.getSerial(mContext))), + UrlAddress.NET_AND_LAUNCH_API, + 60 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable>> getSnAppAttrObservable() { + return withCache(schedule(getAppControlApi().getSnAppAttr(Utils.getSerial(mContext))), + UrlAddress.GET_SN_APP_ATTR, + 60 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable> getTopAppControl() { + return withCache(schedule(getAppControlApi().getSnAppControl(Utils.getSerial(mContext))), + UrlAddress.GET_TOP_APP_CONTROL, + 30 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable>> getAppIDControlObservable() { + return withCache(schedule(schedule(getAppControlApi().getDeselectIDApi(HTTP_KEY, Utils.getSerial(mContext)))), + UrlAddress.GET_APPID, + 60 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable getNewAppinsideWebObservable() { + return withCache(schedule(getAppControlApi().getNewAppinsideWeb(HTTP_KEY, Utils.getSerial(mContext))), + UrlAddress.SET_APPINSIDEWEB, + 60 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable>> getAppinsideWebObservable() { + return withCache(schedule(getAppControlApi().getAppinsideWeb(HTTP_KEY, Utils.getSerial(mContext))), + UrlAddress.SET_APPINSIDEWEB, + 60 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable>> getForceDownloadObservable() { + return withCache(schedule(getAppDownloadApi().getForceDownloadApi(HTTP_KEY, Utils.getSerial(mContext))), + UrlAddress.GET_FORCE_INSTALL_LIST, + 10 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable>> getGroupForceDownloadObservable() { + return withCache(schedule(getAppDownloadApi().getGroupForceDownloadApi(HTTP_KEY, Utils.getSerial(mContext))), + UrlAddress.GET_FORCE_INSTALL_LIST, + 10 * CACHE_EXPIRE_ONE_MINUTE); + } + +// @Deprecated +// public Observable> getUpdateObservable(String packageName) { +// return schedule(getAppDownloadApi().getUpdate(packageName, LenovoCsdkUtil.getInstance().getAppPlatformId())); +// } + + public Observable> getUpdateObservable(String packageName) { + TreeMap map = new TreeMap<>(); + map.put("package", packageName); + map.put("type", String.valueOf(JgyUtils.getInstance().checkAppPlatform())); + return withCache(schedule(getAppDownloadApi().getUpdate(map)), + UrlAddress.CHECK_UPDATE + map.toString(), + 360 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable>> getTestUpdateObservable() { + return withCache(schedule(getAppDownloadApi().getTestUpdate(Utils.getSerial(mContext))), + UrlAddress.GET_SN_APP_TEST, + 720 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable> getAppLimitObservable() { + return withCache(schedule(getAppInstallStrategyApi().getAppLimitApi(HTTP_KEY, Utils.getSerial(mContext))), + UrlAddress.SET_WHITE_PACKAGE_LIST, + 720 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable>> getAdminAppObservable() { + return withCache(schedule(getAppInstallStrategyApi().getAdminApp(Utils.getSerial(mContext))), + UrlAddress.GET_ADMIN_APP, + 720 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable>> getRankCommonAppObservable() { + return withCache(schedule(getAppInstallStrategyApi().getRankApp(HTTP_KEY, Utils.getSerial(mContext), "1")), + UrlAddress.HTTP_TAG_COMMOAPP, + 720 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable>> getAllAppControl() { + return withCache(schedule(getAppInstallStrategyApi().getAllAppList(HTTP_KEY, Utils.getSerial(mContext))), + UrlAddress.GET_ALL_APP, + 360 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable> getCustomRomAppControl() { + return withCache(schedule(getAppInstallStrategyApi().getRomApp(HTTP_KEY, Utils.getCustomVersion())), + UrlAddress.GET_ROM_APP, + 1440 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable> getCloudLessonObservable() { + return schedule(getCloudLessonApi().getCloudLessonSetting(Utils.getSerial(mContext))); + } + + public Observable> getCloudLessonAppObservable() { + return schedule(getCloudLessonApi().getCloudLessonApp(Utils.getSerial(mContext))); + } + /** * 通过sn获取设备的信息 * * @return */ public Observable> getStudesInfoObservable() { - return mRetrofit.create(StudentsInfoApi.class) - .getStudentsInfo(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + return withCache(schedule(getDevicesStatusApi().getStudentsInfo(Utils.getSerial(mContext))), + UrlAddress.GET_STUDENTS_INFO, + 720 * CACHE_EXPIRE_ONE_MINUTE); } /** @@ -462,51 +623,9 @@ public class NetInterfaceManager { * @return */ public Observable getDevicesLockedStateObservable() { - return mRetrofit.create(DevicesLockedStateApi.class) - .getLockedState(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - /** - * 发送设备mac地址 - * - * @return - */ - public Observable sendMACAddressObservable() { - return mRetrofit.create(MACAddressApi.class) - .sendMACaddress(Utils.getSerial(mContext), - Utils.getAndroid10MAC(mContext), - MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE).decodeString("XGPushtoken", "未知"), - Utils.getCustomVersion(), - BuildConfig.VERSION_NAME, - Utils.getAPPVersionName(PackageNames.APPSTORE, mContext), - getDesktopAPPVersionName(), - Utils.getAndroid7MAC(), - Utils.obtainWifiInfo(mContext), - mMMKV.decodeString(NetInterfaceManager.PublicIP, ""), - Utils.getIPAddress(mContext), - Utils.getBluetoothList(mContext), - Utils.getWifiAlias(mContext), - Utils.getAPPVersionName(PackageNames.BROWSER, mContext), - Utils.getAPPVersionName(PackageNames.NOTIFICATIONS, mContext), - JgyUtils.getInstance().getAppPlatform(), - mMMKV.decodeString(WHOIS_ADDR, "未知"), - NetworkUtils.getNetworkType(mContext), - NetworkUtils.getOperators(mContext), - NetworkUtils.getPhoneNumber(mContext), - Utils.getDensityDpi(mContext) - ) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - private String getDesktopAPPVersionName() { - if (JgyUtils.getInstance().isAiuduPlatform()) { - return Utils.getAPPVersionName(PackageNames.AIUDUDESKTOP, mContext); - } else { - return Utils.getAPPVersionName(PackageNames.DESKTOP, mContext); - } + return withCache(schedule(getDevicesStatusApi().getLockedState(Utils.getSerial(mContext))), + UrlAddress.GET_DEVICES_LOCKED, + 10 * CACHE_EXPIRE_ONE_MINUTE); } /** @@ -515,388 +634,187 @@ public class NetInterfaceManager { * @return */ public Observable> getPushTagsObservable() { - return mRetrofit.create(GetPushTagsApi.class) - .getPushTags(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getBrowserListSettingObservable() { - return mRetrofit.create(BrowserListApi.class) - .getBrowserList(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getBrowserBookmarksObservable() { - return mRetrofit.create(BrowserBookmarksApi.class) - .getBrowserBookmarks(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable getDesktopIconObservable() { - return mRetrofit.create(DesktopIconApi.class) - .getDesktopIcon(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable getAppAutoStartUpdateAndNetObservable() { - return mRetrofit.create(NetAndLaunchApi.class) - .getNetAndLaunchApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable>> getSnAppAttrObservable() { - return mRetrofit.create(SnAppAttrApi.class) - .getSnAppAttr(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable>> getAppIDControlObservable() { - return mRetrofit.create(DeselectIDApi.class) - .getDeselectIDApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable>> getAppinsideWebObservable() { - return mRetrofit.create(AppinsideWebApi.class) - .getAppinsideWeb(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable getNewAppinsideWebObservable() { - return mRetrofit.create(NewAppinsideWebApi.class) - .getAppinsideWeb(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable getSystemSettingObservable() { - return mRetrofit.create(SystemSettingApi.class) - .getSystemSettingApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getAppLimitObservable() { - return mRetrofit.create(AppLimitApi.class) - .getAppLimitApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable>> getForceDownloadObservable() { - return mRetrofit.create(ForceDownloadApi.class) - .getForceDownloadApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable>> getGroupForceDownloadObservable() { - return mRetrofit.create(ForceDownloadApi.class) - .getGroupForceDownloadApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable>> getTestUpdateObservable() { - return mRetrofit.create(SnApi.class) - .getTestUpdate(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - - public Observable geElectronicFenceObservable() { - return mRetrofit.create(SnApi.class) - .geElectronicFence(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getSnTimeObservable() { - return mRetrofit.create(SnTimeControlApi.class) - .getSnTimeControl(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getTimeObservable() { - return mRetrofit.create(SnTimeControlApi.class) - .getTimeControl(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + return withCache(schedule(getDevicesStatusApi().getPushTags(Utils.getSerial(mContext))), + UrlAddress.GET_DEVICES_TAGS, + 10 * CACHE_EXPIRE_ONE_MINUTE); } public Observable> getScreenLockObservable() { - return mRetrofit.create(ScreenLockStateApi.class) - .getScreenLockState(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getDesktopObservable() { - return mRetrofit.create(GetDesktopApi.class) - .getDesktop(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getDesktopsDiyUpdate() { - return mRetrofit.create(DesktopsDiyUpdateApi.class) - .getDesktopsDiyUpdate(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable getBatchObservable() { - return mRetrofit.create(GetBatchApi.class) - .getBatch(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getLogoImgObservable() { - return mRetrofit.create(LogoImgApi.class) - .getLogoImg(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getTopAppControl() { - return mRetrofit.create(TopAppControlApi.class) - .getSnAppControl(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + return schedule(getDevicesStatusApi().getScreenLockState(Utils.getSerial(mContext))); } public Observable> getDeveloperControl() { - return mRetrofit.create(GetDeveloperApi.class) - .getDeveloperState(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + return withCache(schedule(getDevicesStatusApi().getDeveloperState(Utils.getSerial(mContext))), + UrlAddress.GET_DEVELOPER, + 60 * CACHE_EXPIRE_ONE_MINUTE); } public Observable> getEBagCodeControl() { - return mRetrofit.create(GetEBagCodeApi.class) - .getEBagCode(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getDefaultAppApi() { - return mRetrofit.create(DefaultAppApi.class) - .getDefaultApp(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable getRestoreTimesApi() { - return mRetrofit.create(SendRestoreTimesApi.class) - .sendRestoreTimes(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable>> getWiFiControl() { - return mRetrofit.create(GetWiFiAliasApi.class) - .getWiFiAlias(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable>> getPoweroffTimeControl() { - return mRetrofit.create(GetPoweroffApi.class) - .getPoweroffTime(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + return withCache(schedule(getDevicesStatusApi().getEBagCode(HTTP_KEY, Utils.getSerial(mContext))), + UrlAddress.GET_EBAG_CODE, + 1440 * CACHE_EXPIRE_ONE_MINUTE); } public Observable> getSnRunLogControl() { - return mRetrofit.create(GetSnRunLogApi.class) - .getSnRunLog(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + return schedule(getLogApi().getSnRunLog(Utils.getSerial(mContext))); } - public Observable> getCustomROMAppControl() { - return mRetrofit.create(CustomROMAppApi.class) - .getROMApp(NetInterfaceManager.HTTP_KEY, Utils.getCustomVersion()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + public Observable getSendSnLogControl(Map params, MultipartBody.Part body) { + return schedule(getLogApi().sendSnLog(params, body)); } - public Observable>> getAllAppApiControl() { - return mRetrofit.create(GetAllAppApi.class) - .getAllAppList(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + + public Observable> getDesktopObservable() { + return schedule(getSystemCustomApi().getDesktop(Utils.getSerial(mContext))); } - public Observable getNetworkConnectControl(String time) { - return mRetrofit.create(NetworkConnectApi.class) - .sendNetwork(Utils.getSerial(mContext), time) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + public Observable> getDesktopsDiyUpdate() { + return schedule(getSystemCustomApi().getDesktopsDiyUpdate(Utils.getSerial(mContext))); } - public Observable>> getAdminAppObservable() { - return mRetrofit.create(GetAdminAppApi.class) - .getAdminApp(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + public Observable> getLogoImgObservable() { + return withCache(schedule(getSystemCustomApi().getLogoImg(Utils.getSerial(mContext))), + UrlAddress.GET_LOGO_IMG, + 720 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable> getDefaultAppApi() { + return withCache(schedule(getSystemCustomApi().getDefaultApp(Utils.getSerial(mContext))), + UrlAddress.GET_DEFAULT_APP, + 360 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable> getWallpaperObservable() { + return withCache(schedule(getSystemCustomApi().getWallpaper(Utils.getSerial(mContext))), + UrlAddress.GET_WALLPAPER, + 720 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable> getBrowserListSettingObservable() { + return schedule(getSystemSettingApi().getBrowserList(HTTP_KEY, Utils.getSerial(mContext))); + } + + public Observable> getBrowserBookmarksObservable() { + return schedule(getSystemSettingApi().getBrowserBookmarks(HTTP_KEY, Utils.getSerial(mContext))); + } + + public Observable getDesktopIconObservable() { + return schedule(getSystemSettingApi().getDesktopIcon(HTTP_KEY, Utils.getSerial(mContext))); + } + + public Observable getSystemSettingObservable() { + return withCache(schedule(getSystemSettingApi().getSystemSettings(HTTP_KEY, Utils.getSerial(mContext))), + UrlAddress.GET_FIRMWARE, + 10 * CACHE_EXPIRE_ONE_MINUTE); + } + + public Observable> getSnTimeObservable() { + return schedule(getSystemSettingApi().getSnTimeControl(Utils.getSerial(mContext))); + } + + public Observable> getTimeObservable() { + return schedule(getSystemSettingApi().getTimeControl(Utils.getSerial(mContext))); + + } + + public Observable>> getWiFiControl() { + return schedule(getSystemSettingApi().getWiFiAlias(Utils.getSerial(mContext))); + } + + public Observable>> getPoweroffTimeControl() { + return schedule(getSystemSettingApi().getPoweroffTime(Utils.getSerial(mContext))); } public Observable> getSnSettingObservable() { - return mRetrofit.create(SnSettingApi.class) - .getSnSetting(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + return schedule(getSystemSettingApi().getSnSetting(Utils.getSerial(mContext))); } - public Observable> getCloudLessonObservable() { - return mRetrofit.create(CloudLessonApi.class) - .getCloudLessonSetting(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable> getCloudLessonAppObservable() { - return mRetrofit.create(CloudLessonAppApi.class) - .getCloudLessonApp(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + public Observable geElectronicFenceObservable() { + return schedule(getSystemSettingApi().geElectronicFence(Utils.getSerial(mContext))); } public Observable> getAppSettingObservable() { - return mRetrofit.create(AppSettingApi.class) - .getAppSetting(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + return withCache(schedule(getSystemSettingApi().getAppSetting(Utils.getSerial(mContext))), + UrlAddress.APP_SETTING, + 60 * CACHE_EXPIRE_ONE_MINUTE); } public Observable> getBlackListObservable() { - return mRetrofit.create(BlackListApi.class) - .getBlackList(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + return withCache(schedule(getSystemSettingApi().getBlackList(Utils.getSerial(mContext))), + UrlAddress.APP_SETTING, + 360 * CACHE_EXPIRE_ONE_MINUTE); } public Observable> getWhiteListObservable() { - return mRetrofit.create(WhiteListApi.class) - .getWhiteList(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); + return withCache(schedule(getSystemSettingApi().getWhiteList(Utils.getSerial(mContext))), + UrlAddress.APP_SETTING, + 360 * CACHE_EXPIRE_ONE_MINUTE); } - - public Observable> getWallpaperObservable() { - return mRetrofit.create(WallpaperApi.class) - .getWallpaper(Utils.getSerial(mContext)) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - public Observable>> getRankCommonAppObservable() { - return mRetrofit.create(RankCommonAppApi.class) - .getRankApp(HTTP_KEY, Utils.getSerial(mContext), "1") - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - /* + /** + * 发送设备mac地址 * - * API - * - * */ - - public UploadAppInfoApi getUploadAppInfoApi() { - return mRetrofit.create(UploadAppInfoApi.class); + * @return + */ + public Observable sendMacAddressObservable() { + return schedule(getUploadInfoApi().sendMACaddress(Utils.getSerial(mContext), + Utils.getAndroid10MAC(mContext), + MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE).decodeString("XGPushtoken", "未知"), + Utils.getCustomVersion(), + BuildConfig.VERSION_NAME, + Utils.getAppVersionName(PackageNames.APPSTORE, mContext), + getDesktopAppVersionName(), + Utils.getAndroid7MAC(), + Utils.obtainWifiInfo(mContext), + mMMKV.decodeString(PublicIP, ""), + Utils.getIPAddress(mContext), + Utils.getBluetoothList(mContext), + Utils.getWifiAlias(mContext), + Utils.getAppVersionName(PackageNames.BROWSER, mContext), + Utils.getAppVersionName(PackageNames.NOTIFICATIONS, mContext), + JgyUtils.getInstance().getAppPlatform(), + mMMKV.decodeString(WHOIS_ADDR, "未知"), + NetworkUtils.getNetworkType(mContext), + NetworkUtils.getOperators(mContext), + NetworkUtils.getPhoneNumber(mContext), + Utils.getDensityDpi(mContext) + )); } - public DeselectIDApi getDeselectIDApi() { - return mRetrofit.create(DeselectIDApi.class); + private String getDesktopAppVersionName() { + if (JgyUtils.getInstance().isAiuduPlatform()) { + return Utils.getAppVersionName(PackageNames.AIUDUDESKTOP, mContext); + } else { + return Utils.getAppVersionName(PackageNames.DESKTOP, mContext); + } } - public AppLimitApi getAppLimitApi() { - return mRetrofit.create(AppLimitApi.class); + public Observable getRestoreTimesApi() { + return schedule(getUploadInfoApi().sendRestoreTimes(Utils.getSerial(mContext))); } - public SystemSettingApi getSystemSettingApi() { - return mRetrofit.create(SystemSettingApi.class); + public Observable getNetworkConnectControl(String time) { + return schedule(getUploadInfoApi().sendNetwork(Utils.getSerial(mContext), time)); } - public NetAndLaunchApi getNetAndLaunchApi() { - return mRetrofit.create(NetAndLaunchApi.class); +// public Observable getUploadAppInfoControl(String json) { +// return schedule(getUploadInfoApi().getUploadAppInfoApi(HTTP_KEY, Utils.getSerial(mContext), json)); +// } + + public Observable getUploadAppInfoControl(String json) { + TreeMap map = new TreeMap<>(); + map.put("key", HTTP_KEY); + map.put("sn", Utils.getSerial(mContext)); + map.put("app_infoes", json); + return withCache(schedule(getUploadInfoApi().getUploadAppInfoApi(map)), + UrlAddress.UPLOAD_APPINFO + "_" + MD5Util.packetMD5(map.toString()), + 60 * CACHE_EXPIRE_ONE_MINUTE); } - public ForceDownloadApi getForceDownloadApi() { - return mRetrofit.create(ForceDownloadApi.class); + public Observable getAppLogControl(String random, String data) { + return schedule(getUploadInfoApi().getAppLog(Utils.getSerial(mContext), random, data)); } - public GetLockStateApi getLockState() { - return mRetrofit.create(GetLockStateApi.class); - } - - public UpdateDeviceInfoApi getUpdateDeviceInfo() { - return mRetrofit.create(UpdateDeviceInfoApi.class); - } - - public GetBatchApi getBatchApi() { - return mRetrofit.create(GetBatchApi.class); - } - - public TopAppControlApi getTopAppControlApi() { - return mRetrofit.create(TopAppControlApi.class); - } - - public CheckUpdateApi getUpdateApi() { - return mRetrofit.create(CheckUpdateApi.class); - } - - public GetAppLogApi getAppLogApi() { - return mRetrofit.create(GetAppLogApi.class); - } - - public SendDownloadTimesApi getSendTimesApi() { - return mRetrofit.create(SendDownloadTimesApi.class); - } - - public SendDownloadInfoApi getSendInfoApi() { - return mRetrofit.create(SendDownloadInfoApi.class); - } - - public SendScreenshotCall getScreenshotCall() { - return mRetrofit.create(SendScreenshotCall.class); - } - - public GetUploadLogApi getUploadLogApi() { - return mRetrofit.create(GetUploadLogApi.class); - } - - public GetUploadIsLogApi getUploadIsLogApi() { - return mRetrofit.create(GetUploadIsLogApi.class); - } - - public BatteryInfoApi getBatteryInfoApi() { - return mRetrofit.create(BatteryInfoApi.class); - } - - public SnConfirmBindApi getSnConfirmBindApi() { - return mRetrofit.create(SnConfirmBindApi.class); - } - - public UploadAppImgApi getUploadAppImgApi() { - return mRetrofit.create(UploadAppImgApi.class); - } - - /* * @@ -960,22 +878,22 @@ public class NetInterfaceManager { * @param callback */ public void checkAoleyunUpdate(BehaviorSubject lifecycle, onCompleteCallback callback) { - Observable> infoUpdateObservable = getUpdateApi().getUpdate(BuildConfig.APPLICATION_ID, JgyUtils.getInstance().checkAppPlatform()); - Observable> storeUpdateObservable = getUpdateApi().getUpdate(PackageNames.APPSTORE, JgyUtils.getInstance().checkAppPlatform()); + Observable> infoUpdateObservable = getUpdateObservable(BuildConfig.APPLICATION_ID); + Observable> storeUpdateObservable = getUpdateObservable(PackageNames.APPSTORE); Observable> desktopUpdateObservable; if (JgyUtils.getInstance().isAiuduPlatform()) { - desktopUpdateObservable = getUpdateApi().getUpdate(PackageNames.AIUDUDESKTOP, JgyUtils.getInstance().checkAppPlatform()); + desktopUpdateObservable = getUpdateObservable(PackageNames.AIUDUDESKTOP); } else if (JgyUtils.isAllWinnerDevice()) { - desktopUpdateObservable = getUpdateApi().getUpdate(PackageNames.ALLWINNER_15_DESKTOP, JgyUtils.getInstance().checkAppPlatform()); + desktopUpdateObservable = getUpdateObservable(PackageNames.ALLWINNER_15_DESKTOP); } else if (JgyUtils.getInstance().checkAppPlatform() == JgyUtils.MT6765Platform) { - desktopUpdateObservable = getUpdateApi().getUpdate(PackageNames.NEUTRAL_DESKTOP, JgyUtils.getInstance().checkAppPlatform()); + desktopUpdateObservable = getUpdateObservable(PackageNames.NEUTRAL_DESKTOP); } else { - desktopUpdateObservable = getUpdateApi().getUpdate(PackageNames.DESKTOP, JgyUtils.getInstance().checkAppPlatform()); + desktopUpdateObservable = getUpdateObservable(PackageNames.DESKTOP); } - Observable> notifyUpdateObservable = getUpdateApi().getUpdate(PackageNames.NOTIFICATIONS, JgyUtils.getInstance().checkAppPlatform()); - Observable> browserUpdateObservable = getUpdateApi().getUpdate(PackageNames.BROWSER, JgyUtils.getInstance().checkAppPlatform()); - Observable> learningDesktopObservable = getUpdateApi().getUpdate(PackageNames.LEARNING_DESKTOP, JgyUtils.getInstance().checkAppPlatform()); - Observable> ailogUpdateObservable = getUpdateApi().getUpdate(PackageNames.AILOG, JgyUtils.getInstance().checkAppPlatform()); + Observable> notifyUpdateObservable = getUpdateObservable(PackageNames.NOTIFICATIONS); + Observable> browserUpdateObservable = getUpdateObservable(PackageNames.BROWSER); + Observable> learningDesktopObservable = getUpdateObservable(PackageNames.LEARNING_DESKTOP); + Observable> ailogUpdateObservable = getUpdateObservable(PackageNames.AILOG); Observable.zip(infoUpdateObservable, storeUpdateObservable, desktopUpdateObservable, notifyUpdateObservable, browserUpdateObservable, ailogUpdateObservable, @@ -1105,23 +1023,23 @@ public class NetInterfaceManager { } public void checkAoleyunUpdate(BehaviorSubject lifecycle, UpdateCallback callback) { - Observable> infoUpdateObservable = getUpdateApi().getUpdate(BuildConfig.APPLICATION_ID, JgyUtils.getInstance().checkAppPlatform()); - Observable> storeUpdateObservable = getUpdateApi().getUpdate(PackageNames.APPSTORE, JgyUtils.getInstance().checkAppPlatform()); + Observable> infoUpdateObservable = getUpdateObservable(BuildConfig.APPLICATION_ID); + Observable> storeUpdateObservable = getUpdateObservable(PackageNames.APPSTORE); Observable> desktopUpdateObservable; if (JgyUtils.getInstance().isAiuduPlatform()) { - desktopUpdateObservable = getUpdateApi().getUpdate(PackageNames.AIUDUDESKTOP, JgyUtils.getInstance().checkAppPlatform()); + desktopUpdateObservable = getUpdateObservable(PackageNames.AIUDUDESKTOP); } else if (JgyUtils.isAllWinnerDevice()) { - desktopUpdateObservable = getUpdateApi().getUpdate(PackageNames.ALLWINNER_15_DESKTOP, JgyUtils.getInstance().checkAppPlatform()); + desktopUpdateObservable = getUpdateObservable(PackageNames.ALLWINNER_15_DESKTOP); } else if (JgyUtils.getInstance().checkAppPlatform() == JgyUtils.MT6765Platform) { - desktopUpdateObservable = getUpdateApi().getUpdate(PackageNames.NEUTRAL_DESKTOP, JgyUtils.getInstance().checkAppPlatform()); + desktopUpdateObservable = getUpdateObservable(PackageNames.NEUTRAL_DESKTOP); } else { - desktopUpdateObservable = getUpdateApi().getUpdate(PackageNames.DESKTOP, JgyUtils.getInstance().checkAppPlatform()); + desktopUpdateObservable = getUpdateObservable(PackageNames.DESKTOP); } - Observable> notifyUpdateObservable = getUpdateApi().getUpdate(PackageNames.NOTIFICATIONS, JgyUtils.getInstance().checkAppPlatform()); - Observable> browserUpdateObservable = getUpdateApi().getUpdate(PackageNames.BROWSER, JgyUtils.getInstance().checkAppPlatform()); - Observable> ailogUpdateObservable = getUpdateApi().getUpdate(PackageNames.AILOG, JgyUtils.getInstance().checkAppPlatform()); + Observable> notifyUpdateObservable = getUpdateObservable(PackageNames.NOTIFICATIONS); + Observable> browserUpdateObservable = getUpdateObservable(PackageNames.BROWSER); + Observable> ailogUpdateObservable = getUpdateObservable(PackageNames.AILOG); String desktop = mMMKV.decodeString(CommonConfig.DEFAULT_DESKTOP_PACKAGE); - Observable> learningDesktopObservable = getUpdateApi().getUpdate(desktop, JgyUtils.getInstance().checkAppPlatform()); + Observable> learningDesktopObservable = getUpdateObservable(desktop); Observable.zip(infoUpdateObservable, storeUpdateObservable, desktopUpdateObservable, notifyUpdateObservable, browserUpdateObservable, learningDesktopObservable, ailogUpdateObservable, @@ -1711,18 +1629,18 @@ public class NetInterfaceManager { }); } - public void getCustomROMApp(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { + public void getCustomRomApp(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) { ConnectMode connectMode = ConnectMode.HALF_DAY; if (refresh) { connectMode = ConnectMode.SIX_HOUR; } if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_ROM_APP, connectMode)) { - getCustomROMApp(lifecycle, callback); + getCustomRomApp(lifecycle, callback); } else { String jsonString = cacheHelper.getAsString(UrlAddress.GET_ROM_APP); //为 "" 是已经请求成功的 if (jsonString == null) { - getCustomROMApp(lifecycle, callback); + getCustomRomApp(lifecycle, callback); } else { Gson gson = new Gson(); Type type = new TypeToken() { @@ -1734,8 +1652,8 @@ public class NetInterfaceManager { } } - public void getCustomROMApp(BehaviorSubject lifecycle, onCompleteCallback callback) { - getCustomROMAppControl() + public void getCustomRomApp(BehaviorSubject lifecycle, onCompleteCallback callback) { + getCustomRomAppControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .subscribe(new Observer>() { @Override @@ -2593,7 +2511,7 @@ public class NetInterfaceManager { JgyUtils.getInstance().setAppRestriction(0); JgyUtils.getInstance().setDeveloperOptions(1); } - } else if (response.code == NOTFOUND) { + } else if (response.code == -300) { Settings.System.putInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED); Log.e("getLockedState", "locked: " + false); } @@ -2648,7 +2566,7 @@ public class NetInterfaceManager { } public void sendMACAddress(BehaviorSubject lifecycle, onCompleteCallback callback) { - sendMACAddressObservable() + sendMacAddressObservable() .observeOn(Schedulers.io()) .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .subscribe(new Observer() { @@ -2902,9 +2820,9 @@ public class NetInterfaceManager { private Observable getUpdateDeviceInfoObservable() { String addressJsonString = Utils.getAddressJsonString(mContext); cacheHelper.put(UrlAddress.UPDATE_DEVICEINFO, addressJsonString); - return getUpdateDeviceInfo().updateDeviceInfo( + return getUploadInfoApi().updateDeviceInfo( Utils.getSerial(mContext), - NetInterfaceManager.HTTP_KEY, + HTTP_KEY, Utils.getMachine(mContext), Utils.getHardware(mContext), addressJsonString, @@ -2942,8 +2860,8 @@ public class NetInterfaceManager { public void sendInstalledAppInfo(onCompleteCallback callback) { String jsonString = ApkUtils.getRunningAppInfo(mContext); - getUploadAppInfoApi() - .getUploadAppInfoApi(NetInterfaceManager.HTTP_KEY, + getUploadInfoApi() + .getUploadAppInfoApi(HTTP_KEY, Utils.getSerial(mContext), jsonString) .subscribeOn(Schedulers.io()) @@ -2996,7 +2914,7 @@ public class NetInterfaceManager { MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), fileBody); Map params = new HashMap<>(); params.put("package", convertToRequestBody(packageInfo.packageName)); - Call call = getUploadAppImgApi().uploadAppImg(params, body); + Call call = getUploadInfoApi().uploadAppImg(params, body); call.enqueue(new RetryCallback(call, 1, 30 * 1000) { @Override public void onRequestResponse(Call call, retrofit2.Response response) { @@ -3043,8 +2961,8 @@ public class NetInterfaceManager { //设置一个file文件 MultipartBody.Part body = MultipartBody.Part.createFormData("file", logFile.getName(), fileBody); - getUploadIsLogApi() - .sendSnisLog(params, body) + getLogApi() + .sendSnLog(params, body) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -3584,18 +3502,18 @@ public class NetInterfaceManager { } public void getAllAppList(BehaviorSubject lifecycle, onCompleteCallback callback) { - getAllAppApiControl() + getAllAppControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .subscribe(getAllAppListObserver(callback)); } public void getAllAppList(onCompleteCallback callback) { - getAllAppApiControl() + getAllAppControl() .subscribe(getAllAppListObserver(callback)); } public void getAllAppList() { - getAllAppApiControl() + getAllAppControl() .subscribe(getAllAppListObserver(null)); } @@ -4126,7 +4044,7 @@ public class NetInterfaceManager { public static void getWhois() { Retrofit retrofit = new Retrofit.Builder() - .client(NetInterfaceManager.getInstance().getOkHttpClient()) + .client(getInstance().getOkHttpClient()) .baseUrl(UrlAddress.PCONLINE_WHOIS) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) @@ -4204,7 +4122,7 @@ public class NetInterfaceManager { Log.e("sendAppUsedTime", e.getMessage()); } - getAppLogApi() + getUploadInfoApi() .getAppLog(Utils.getSerial(mContext), random, data.toString()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -4271,7 +4189,7 @@ public class NetInterfaceManager { Log.e(TAG, "sendBatteryInfo: " + "BatteryInfo is NULL"); return; } - getBatteryInfoApi() + getUploadInfoApi() .sendBatteryInfo(Utils.getSerial(mContext), HTTP_KEY, info.getBattery_quantity(), info.getBattery_temperature(), @@ -4341,7 +4259,7 @@ public class NetInterfaceManager { Log.e("getPublicIp", "onNext: " + whoisBean); if (whoisBean != null && !TextUtils.isEmpty(whoisBean.getIp())) { callbak.getPublicIp(whoisBean.getIp()); - MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE).encode(NetInterfaceManager.WHOIS_IP, whoisBean.getIp()); + MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE).encode(WHOIS_IP, whoisBean.getIp()); } else { callbak.getPublicIp("unknown"); } diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppControlApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppControlApi.java new file mode 100644 index 0000000..9aea06c --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppControlApi.java @@ -0,0 +1,58 @@ +package com.aoleyun.sn.network.api.aoleyun; + +import com.aoleyun.sn.bean.AppAttr; +import com.aoleyun.sn.bean.AppID; +import com.aoleyun.sn.bean.Appground; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.NetAndLaunchBean; +import com.aoleyun.sn.bean.TopApp; +import com.aoleyun.sn.network.UrlAddress; + +import java.util.List; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Query; + +public interface AppControlApi { + @FormUrlEncoded + @POST(UrlAddress.NET_AND_LAUNCH_API) + Observable getNetAndLaunchApi( + @Field("key") String key, + @Field("sn") String sn + ); + + @GET(UrlAddress.GET_SN_APP_ATTR) + Observable>> getSnAppAttr( + @Query("sn") String sn + ); + + @GET(UrlAddress.GET_TOP_APP_CONTROL) + Observable> getSnAppControl( + @Query("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.GET_APPID) + Observable>> getDeselectIDApi( + @Field("key") String key, + @Field("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.SET_APPINSIDEWEB) + Observable getNewAppinsideWeb( + @Field("key") String key, + @Field("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.SET_APPINSIDEWEB) + Observable>> getAppinsideWeb( + @Field("key") String key, + @Field("sn") String sn + ); +} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/ForceDownloadApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppDownloadApi.java similarity index 54% rename from app/src/main/java/com/aoleyun/sn/network/api/aoleyun/ForceDownloadApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppDownloadApi.java index 562e4b2..05b0779 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/ForceDownloadApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppDownloadApi.java @@ -1,19 +1,41 @@ package com.aoleyun.sn.network.api.aoleyun; +import com.aoleyun.sn.bean.AppUpdateInfo; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.ForceDownloadData; import com.aoleyun.sn.network.UrlAddress; import java.util.List; +import java.util.Map; import io.reactivex.rxjava3.core.Observable; import retrofit2.http.Field; +import retrofit2.http.FieldMap; import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; import retrofit2.http.POST; import retrofit2.http.Query; -public interface ForceDownloadApi { +public interface AppDownloadApi { + @FormUrlEncoded + @POST(UrlAddress.CHECK_UPDATE) + //1MTK平台 2展锐平台 + Observable> getUpdate( + @Field("package") String packageName, + @Field("type") int type + ); + + @FormUrlEncoded + @POST(UrlAddress.CHECK_UPDATE) + Observable> getUpdate( + @FieldMap Map params + ); + + @GET(UrlAddress.GET_SN_APP_TEST) + Observable>> getTestUpdate( + @Query("sn") String sn + ); + @FormUrlEncoded @POST(UrlAddress.GET_FORCE_INSTALL_LIST) Observable>> getForceDownloadApi( @@ -26,5 +48,4 @@ public interface ForceDownloadApi { @Query("key") String key, @Query("sn") String sn ); - } diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppImgApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppImgApi.java deleted file mode 100644 index 92e16df..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppImgApi.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface AppImgApi { - @GET(UrlAddress.GET_IS_APP_IMG) - Observable getIsAppImg( - @Query("package") String pkg - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppInstallStrategyApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppInstallStrategyApi.java new file mode 100644 index 0000000..f5639f1 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppInstallStrategyApi.java @@ -0,0 +1,53 @@ +package com.aoleyun.sn.network.api.aoleyun; + +import com.aoleyun.sn.bean.AppDateInfo; +import com.aoleyun.sn.bean.AppLimit; +import com.aoleyun.sn.bean.AppListInfo; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.CustomROMApp; +import com.aoleyun.sn.network.UrlAddress; + +import java.util.List; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Query; + +public interface AppInstallStrategyApi { + @FormUrlEncoded + @POST(UrlAddress.SET_WHITE_PACKAGE_LIST) + Observable> getAppLimitApi( + @Field("key") String key, + @Field("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.GET_ALL_APP) + Observable>> getAllAppList( + @Field("key") String key, + @Field("sn") String sn + ); + + @GET(UrlAddress.GET_ADMIN_APP) + Observable>> getAdminApp( + @Query("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.HTTP_TAG_COMMOAPP) + Observable>> getRankApp( + @Field("key") String key, + @Field("sn") String sn, + @Field("page") String page + ); + + @FormUrlEncoded + @POST(UrlAddress.GET_ROM_APP) + Observable> getRomApp( + @Field("key") String key, + @Field("version_number") String version_number + ); +} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppLimitApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppLimitApi.java deleted file mode 100644 index 6753ab2..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppLimitApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.AppLimit; -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface AppLimitApi { - @FormUrlEncoded - @POST(UrlAddress.SET_WHITE_PACKAGE_LIST) - Observable> getAppLimitApi( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppSettingApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppSettingApi.java deleted file mode 100644 index baeb6bc..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppSettingApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.AppSettings; -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface AppSettingApi { - @GET(UrlAddress.APP_SETTING) - Observable> getAppSetting( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppinsideWebApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppinsideWebApi.java deleted file mode 100644 index 6abcf97..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/AppinsideWebApi.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - - -import com.aoleyun.sn.bean.Appground; -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.List; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface AppinsideWebApi { - @FormUrlEncoded - @POST(UrlAddress.SET_APPINSIDEWEB) - Observable>> getAppinsideWeb( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BatteryInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BatteryInfoApi.java deleted file mode 100644 index db53ec3..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BatteryInfoApi.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface BatteryInfoApi { - @FormUrlEncoded - @POST(UrlAddress.SEND_BATTERY_INFO) - Observable sendBatteryInfo( - @Field("sn") String sn, - @Field("key") String key, - @Field("battery_quantity") String battery_quantity, - @Field("battery_temperature") String battery_temperature, - @Field("battery_voltage") String battery_voltage, - @Field("charge_current") String charge_current, - @Field("charge_voltage") String charge_voltage, - @Field("battery_status") String battery_status, - @Field("charge_type") String charge_type, - @Field("charge_current_max") String charge_current_max, - @Field("charge_voltage_max") String charge_voltage_max, - @Field("battery_health") String battery_health, - @Field("quantity_max") String quantity_max, - @Field("battery_desc") String battery_desc, - @Field("charge_speed") String charge_speed - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BlackListApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BlackListApi.java deleted file mode 100644 index 0a066f3..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BlackListApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.BlacklistBean; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface BlackListApi { - @GET(UrlAddress.BLACK_LIST) - Observable> getBlackList( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BrowserBookmarksApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BrowserBookmarksApi.java deleted file mode 100644 index 71d4661..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BrowserBookmarksApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.BrowserBookmarks; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface BrowserBookmarksApi { - @FormUrlEncoded - @POST(UrlAddress.SET_HOMEPAG_TAG) - Observable> getBrowserBookmarks( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BrowserListApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BrowserListApi.java deleted file mode 100644 index 2ac76df..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/BrowserListApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.BrowserData; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface BrowserListApi { - @FormUrlEncoded - @POST(UrlAddress.SET_BROWSER_LIST) - Observable> getBrowserList( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CheckUpdateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CheckUpdateApi.java deleted file mode 100644 index 928caf0..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CheckUpdateApi.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.AppUpdateInfo; -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface CheckUpdateApi { - @FormUrlEncoded - @POST(UrlAddress.CHECK_UPDATE) - //1MTK平台 2展锐平台 - Observable> getUpdate( - @Field("package") String packages, - @Field("type") int type - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CloudLessonApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CloudLessonApi.java index 5f349fb..5e85449 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CloudLessonApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CloudLessonApi.java @@ -1,6 +1,7 @@ package com.aoleyun.sn.network.api.aoleyun; import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.LessonApp; import com.aoleyun.sn.bean.LessonSetting; import com.aoleyun.sn.network.UrlAddress; @@ -13,4 +14,9 @@ public interface CloudLessonApi { Observable> getCloudLessonSetting( @Query("sn") String sn ); + + @GET(UrlAddress.GET_CLOUD_LESSON_APP) + Observable> getCloudLessonApp( + @Query("sn") String sn + ); } diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CloudLessonAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CloudLessonAppApi.java deleted file mode 100644 index 66e6aa9..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CloudLessonAppApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.LessonApp; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface CloudLessonAppApi { - @GET(UrlAddress.GET_CLOUD_LESSON_APP) - Observable> getCloudLessonApp( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CustomROMAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CustomROMAppApi.java deleted file mode 100644 index 2b4dc7a..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/CustomROMAppApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.CustomROMApp; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface CustomROMAppApi { - @FormUrlEncoded - @POST(UrlAddress.GET_ROM_APP) - Observable> getROMApp( - @Field("key") String key, - @Field("version_number") String version_number - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DefaultAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DefaultAppApi.java deleted file mode 100644 index 9fd19a1..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DefaultAppApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.DefaultApp; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface DefaultAppApi { - @GET(UrlAddress.GET_DEFAULT_APP) - Observable> getDefaultApp( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DeselectIDApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DeselectIDApi.java deleted file mode 100644 index 7f8deb9..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DeselectIDApi.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.AppID; -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.List; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface DeselectIDApi { - @FormUrlEncoded - @POST(UrlAddress.GET_APPID) - Observable>> getDeselectIDApi( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DesktopIconApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DesktopIconApi.java deleted file mode 100644 index 248d3a0..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DesktopIconApi.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface DesktopIconApi { - @FormUrlEncoded - @POST(UrlAddress.GET_HIDE_DESKTOPICON) - Observable getDesktopIcon( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DesktopsDiyUpdateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DesktopsDiyUpdateApi.java deleted file mode 100644 index 99253d2..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DesktopsDiyUpdateApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.ForceDownloadData; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface DesktopsDiyUpdateApi { - @GET(UrlAddress.GET_DESKTOPS_DIY_UPDATE) - Observable> getDesktopsDiyUpdate( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesLockedStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesLockedStateApi.java deleted file mode 100644 index fcf6650..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesLockedStateApi.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface DevicesLockedStateApi { - @FormUrlEncoded - @POST(UrlAddress.GET_DEVICES_LOCKED) - Observable getLockedState( - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesStatusApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesStatusApi.java new file mode 100644 index 0000000..21fc055 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/DevicesStatusApi.java @@ -0,0 +1,62 @@ +package com.aoleyun.sn.network.api.aoleyun; + +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.Batch; +import com.aoleyun.sn.bean.DeveloperBean; +import com.aoleyun.sn.bean.EBagCode; +import com.aoleyun.sn.bean.ScreenLockState; +import com.aoleyun.sn.bean.StudentsInfo; +import com.aoleyun.sn.network.UrlAddress; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Query; + +public interface DevicesStatusApi { + @FormUrlEncoded + @POST(UrlAddress.GET_DEVICES_LOCKED) + Observable getLockedState( + @Field("sn") String sn + ); + + @GET(UrlAddress.GET_DEVICES_TAGS) + Observable> getPushTags( + @Query("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.GET_STUDENTS_INFO) + Observable> getStudentsInfo( + @Field("sn") String sn + ); + + @GET(UrlAddress.GET_LOCK_SCREEN_STATE) + Observable> getScreenLockState( + @Query("sn") String sn + ); + + @GET(UrlAddress.GET_DEVELOPER) + Observable> getDeveloperState( + @Query("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.GET_EBAG_CODE) + Observable> getEBagCode( + @Field("key") String key, + @Field("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.SN_CONFIRM_BIND) + Observable snConfirmBind( + @Field("sn") String sn, + @Field("userId") String userId, + @Field("type") int type + ); + + +} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAdminAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAdminAppApi.java deleted file mode 100644 index 037185b..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAdminAppApi.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.AppDateInfo; -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.List; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface GetAdminAppApi { - @GET(UrlAddress.GET_ADMIN_APP) - Observable>> getAdminApp( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAllAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAllAppApi.java deleted file mode 100644 index 291ce2f..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAllAppApi.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.AppListInfo; -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.List; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface GetAllAppApi { - @FormUrlEncoded - @POST(UrlAddress.GET_ALL_APP) - Observable>> getAllAppList( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAppLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAppLogApi.java deleted file mode 100644 index 972b4d9..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetAppLogApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface GetAppLogApi { - @FormUrlEncoded - @POST(UrlAddress.GET_APP_LOG) - Observable getAppLog( - @Field("sn") String sn, - @Field("random") String random, - @Field("data") String data - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetBatchApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetBatchApi.java deleted file mode 100644 index 77491ef..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetBatchApi.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import okhttp3.ResponseBody; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface GetBatchApi { - @FormUrlEncoded - @POST(UrlAddress.GET_BATCH) - Observable getBatch( - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetDesktopApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetDesktopApi.java deleted file mode 100644 index 3fd1ddb..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetDesktopApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.ForceDownloadData; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface GetDesktopApi { - @GET(UrlAddress.GET_DESKTOP) - Observable> getDesktop( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetDeveloperApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetDeveloperApi.java deleted file mode 100644 index 66d7661..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetDeveloperApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.DeveloperBean; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface GetDeveloperApi { - @GET(UrlAddress.GET_DEVELOPER) - Observable> getDeveloperState( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetEBagCodeApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetEBagCodeApi.java deleted file mode 100644 index adab692..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetEBagCodeApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.EBagCode; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface GetEBagCodeApi { - @FormUrlEncoded - @POST(UrlAddress.GET_EBAG_CODE) - Observable> getEBagCode( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetLockStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetLockStateApi.java deleted file mode 100644 index b50e3b9..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetLockStateApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import okhttp3.ResponseBody; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface GetLockStateApi { - @FormUrlEncoded - @POST(UrlAddress.GET_LOCK_STATE) - Observable getLockState( - @Field("sn") String sn, - @Field("status") String status, - @Field("time") String time - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetPoweroffApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetPoweroffApi.java deleted file mode 100644 index 544675e..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetPoweroffApi.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.PoweroffBean; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.List; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface GetPoweroffApi { - @FormUrlEncoded - @POST(UrlAddress.GET_POWEROFF_TIME) - Observable>> getPoweroffTime( - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetPushTagsApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetPushTagsApi.java deleted file mode 100644 index f882cc8..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetPushTagsApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.Batch; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface GetPushTagsApi { - @GET(UrlAddress.GET_DEVICES_TAGS) - Observable> getPushTags( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetSnRunLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetSnRunLogApi.java deleted file mode 100644 index 2e84f06..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetSnRunLogApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.SnRunLog; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface GetSnRunLogApi { - @GET(UrlAddress.GET_LOG_ORDER) - Observable> getSnRunLog( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetUploadLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetUploadLogApi.java deleted file mode 100644 index 6d58d87..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetUploadLogApi.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.Map; - -import io.reactivex.rxjava3.core.Observable; -import okhttp3.MultipartBody; -import retrofit2.http.Multipart; -import retrofit2.http.POST; -import retrofit2.http.Part; -import retrofit2.http.QueryMap; - -public interface GetUploadLogApi { - @Multipart - @POST(UrlAddress.UPLOAD_LOG_FILE) - Observable UploadLog( - @QueryMap Map params, - @Part MultipartBody.Part body - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetWiFiAliasApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetWiFiAliasApi.java deleted file mode 100644 index 0685bec..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetWiFiAliasApi.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.WiFiAlias; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.List; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -/** - * @author : fanhuitong - * e-mail : - * @date : 2021/10/26 10:07 - * desc : - * version: 1.0 - */ -public interface GetWiFiAliasApi { - @GET(UrlAddress.GET_WIFI_ALIAS_PW) - Observable>> getWiFiAlias( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetUploadIsLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/LogApi.java similarity index 51% rename from app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetUploadIsLogApi.java rename to app/src/main/java/com/aoleyun/sn/network/api/aoleyun/LogApi.java index 8356837..9ea6cd1 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/GetUploadIsLogApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/LogApi.java @@ -1,21 +1,37 @@ package com.aoleyun.sn.network.api.aoleyun; import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.SnRunLog; import com.aoleyun.sn.network.UrlAddress; import java.util.Map; import io.reactivex.rxjava3.core.Observable; import okhttp3.MultipartBody; +import retrofit2.http.GET; import retrofit2.http.Multipart; import retrofit2.http.POST; import retrofit2.http.Part; +import retrofit2.http.Query; import retrofit2.http.QueryMap; -public interface GetUploadIsLogApi { +public interface LogApi { + + @GET(UrlAddress.GET_LOG_ORDER) + Observable> getSnRunLog( + @Query("sn") String sn + ); + + @Multipart + @POST(UrlAddress.UPLOAD_LOG_FILE) + Observable uploadLog( + @QueryMap Map params, + @Part MultipartBody.Part body + ); + @Multipart @POST(UrlAddress.UPLOAD_IS_LOG_FILE) - Observable sendSnisLog( + Observable sendSnLog( @QueryMap Map params, @Part MultipartBody.Part body ); diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/LogoImgApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/LogoImgApi.java deleted file mode 100644 index 898904a..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/LogoImgApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.LogoImg; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface LogoImgApi { - @GET(UrlAddress.GET_LOGO_IMG) - Observable> getLogoImg( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/MACAddressApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/MACAddressApi.java deleted file mode 100644 index 1ea1286..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/MACAddressApi.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface MACAddressApi { - @FormUrlEncoded - @POST(UrlAddress.SEND_DEVICES) - Observable sendMACaddress( - @Field("sn") String sn, - @Field("mac") String mac, - @Field("jpush_id") String jpushId, - @Field("devices_version") String devicesVersion, - @Field("appstore_version") String appstoreVersion, - @Field("store_version") String storeVersion, - @Field("desktop_version") String desktop_version, - @Field("local_mac") String local_mac, - @Field("wifi_status") int wifi_status, - @Field("PN_ip") String PN_ip, - @Field("LAN_ip") String LAN_ip, - @Field("bluetooth") String bluetooth, - @Field("wifi_name") String wifi_name, - @Field("browser_version") String browser_version, - @Field("notice_version") String notice_version, - @Field("platform") String platform, - @Field("wifi_operator") String wifi_operator, - @Field("network_type") String network_type, - @Field("network_operator") String network_operator, - @Field("sn_phone") String sn_phone, - @Field("dpi") int dpi - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NetAndLaunchApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NetAndLaunchApi.java deleted file mode 100644 index f362ac4..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NetAndLaunchApi.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.NetAndLaunchBean; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface NetAndLaunchApi { - @FormUrlEncoded - @POST(UrlAddress.NET_AND_LAUNCH_API) - Observable getNetAndLaunchApi( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NetworkConnectApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NetworkConnectApi.java deleted file mode 100644 index 4c958f1..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NetworkConnectApi.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface NetworkConnectApi { - @FormUrlEncoded - @POST(UrlAddress.NETWORK_CONNECT) - Observable sendNetwork( - @Field("sn") String sn, - @Field("time") String time - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NewAppinsideWebApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NewAppinsideWebApi.java deleted file mode 100644 index 1e32b40..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/NewAppinsideWebApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface NewAppinsideWebApi { - @FormUrlEncoded - @POST(UrlAddress.SET_APPINSIDEWEB) - Observable getAppinsideWeb( - @Field("key") String key, - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/RankCommonAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/RankCommonAppApi.java deleted file mode 100644 index dcc4ef7..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/RankCommonAppApi.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.AppDateInfo; -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.List; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface RankCommonAppApi { - @FormUrlEncoded - @POST(UrlAddress.HTTP_TAG_COMMOAPP) - Observable>> getRankApp( - @Field("key") String key, - @Field("sn") String sn, - @Field("page") String page - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/ScreenLockStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/ScreenLockStateApi.java deleted file mode 100644 index a605553..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/ScreenLockStateApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.ScreenLockState; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface ScreenLockStateApi { - @GET(UrlAddress.GET_LOCK_SCREEN_STATE) - Observable> getScreenLockState( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendDownloadInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendDownloadInfoApi.java deleted file mode 100644 index 9418a65..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendDownloadInfoApi.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -@Deprecated -public interface SendDownloadInfoApi { - @FormUrlEncoded - @POST(UrlAddress.SEND_DOWNLOAD_FILE_INFO) - Observable sendDownloadTimes( - @Field("key") String key, - @Field("sn") String sn, - @Field("userId") int userId, - @Field("package_name") String package_name, - @Field("app_size") long app_size - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendDownloadTimesApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendDownloadTimesApi.java deleted file mode 100644 index 07c3e7e..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendDownloadTimesApi.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface SendDownloadTimesApi { - @FormUrlEncoded - @POST(UrlAddress.SEND_DOWNLOAD_TIMES) - Observable sendDownloadTimes( - @Field("key") String key, - @Field("sn") String sn, - @Field("package") String packages, - @Field("app_id") String app_id - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendRestoreTimesApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendRestoreTimesApi.java deleted file mode 100644 index db1e03c..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendRestoreTimesApi.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -/** - * @author : fanhuitong - * e-mail : - * @date : 2021/10/2115:02 - * desc : - * version: 1.0 - */ -public interface SendRestoreTimesApi { - @FormUrlEncoded - @POST(UrlAddress.SEND_RESTORE_TIMES) - Observable sendRestoreTimes( - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenStatusApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenStatusApi.java deleted file mode 100644 index e0a6538..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenStatusApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.BuildConfig; -import com.aoleyun.sn.bean.BaseResponse; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface SendScreenStatusApi { - @FormUrlEncoded - @POST(BuildConfig.SCREEN_URL) - Observable sendScreenStatus( - @Field("key") String key, - @Field("sn") String sn, - @Field("is_online") int is_online - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenshotApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenshotApi.java deleted file mode 100644 index 452e351..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenshotApi.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.Map; - -import io.reactivex.rxjava3.core.Observable; -import okhttp3.MultipartBody; -import retrofit2.http.Multipart; -import retrofit2.http.POST; -import retrofit2.http.Part; -import retrofit2.http.QueryMap; - -@Deprecated -public interface SendScreenshotApi { - @Multipart - @POST(UrlAddress.SEND_SCREENSHOT) - Observable sendScreenshot( - @QueryMap Map params, - @Part MultipartBody.Part body - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenshotCall.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenshotCall.java deleted file mode 100644 index b0c1549..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SendScreenshotCall.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.Map; - -import okhttp3.MultipartBody; -import retrofit2.Call; -import retrofit2.http.Multipart; -import retrofit2.http.POST; -import retrofit2.http.Part; -import retrofit2.http.QueryMap; - -public interface SendScreenshotCall { - @Multipart - @POST(UrlAddress.SEND_SCREENSHOT) - Call sendScreenshot( - @QueryMap Map params, - @Part MultipartBody.Part body - ); -} \ No newline at end of file diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnApi.java deleted file mode 100644 index 403d6de..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnApi.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.ForceDownloadData; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.List; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface SnApi { - @GET(UrlAddress.GET_SN_APP_TEST) - Observable>> getTestUpdate( - @Query("sn") String sn - ); - - @GET(UrlAddress.GET_SN_EFENCE) - Observable geElectronicFence( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnAppAttrApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnAppAttrApi.java deleted file mode 100644 index 6e59c5d..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnAppAttrApi.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.AppAttr; -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.List; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface SnAppAttrApi { - @GET(UrlAddress.GET_SN_APP_ATTR) - Observable>> getSnAppAttr( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnConfirmBindApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnConfirmBindApi.java deleted file mode 100644 index c70bd00..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnConfirmBindApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface SnConfirmBindApi { - @FormUrlEncoded - @POST(UrlAddress.SN_CONFIRM_BIND) - Observable snConfirmBind( - @Field("sn") String sn, - @Field("userId") String userId, - @Field("type") int type - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnSettingApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnSettingApi.java deleted file mode 100644 index 89a5df5..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnSettingApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.SnSetting; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface SnSettingApi { - @GET(UrlAddress.GET_SN_SETTING) - Observable> getSnSetting( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnTimeControlApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnTimeControlApi.java deleted file mode 100644 index 65fface..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SnTimeControlApi.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.SnTimeControl; -import com.aoleyun.sn.bean.TimeControlData; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface SnTimeControlApi { - @GET(UrlAddress.GET_SN_TIME_CONTROL) - Observable> getSnTimeControl( - @Query("sn") String sn - ); - - @GET(UrlAddress.GET_TIME_CONTROL) - Observable> getTimeControl( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/StudentsInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/StudentsInfoApi.java deleted file mode 100644 index 48196e7..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/StudentsInfoApi.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.StudentsInfo; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface StudentsInfoApi { - @FormUrlEncoded - @POST(UrlAddress.GET_STUDENTS_INFO) - Observable> getStudentsInfo( - @Field("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SystemCustomApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SystemCustomApi.java new file mode 100644 index 0000000..0ec3254 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SystemCustomApi.java @@ -0,0 +1,39 @@ +package com.aoleyun.sn.network.api.aoleyun; + +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.DefaultApp; +import com.aoleyun.sn.bean.ForceDownloadData; +import com.aoleyun.sn.bean.LogoImg; +import com.aoleyun.sn.bean.Wallpaper; +import com.aoleyun.sn.network.UrlAddress; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.GET; +import retrofit2.http.Query; + +public interface SystemCustomApi { + @GET(UrlAddress.GET_LOGO_IMG) + Observable> getLogoImg( + @Query("sn") String sn + ); + + @GET(UrlAddress.GET_WALLPAPER) + Observable> getWallpaper( + @Query("sn") String sn + ); + + @GET(UrlAddress.GET_DESKTOP) + Observable> getDesktop( + @Query("sn") String sn + ); + + @GET(UrlAddress.GET_DESKTOPS_DIY_UPDATE) + Observable> getDesktopsDiyUpdate( + @Query("sn") String sn + ); + + @GET(UrlAddress.GET_DEFAULT_APP) + Observable> getDefaultApp( + @Query("sn") String sn + ); +} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SystemSettingApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SystemSettingApi.java index 47bf240..6f50d9b 100644 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SystemSettingApi.java +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/SystemSettingApi.java @@ -1,17 +1,98 @@ package com.aoleyun.sn.network.api.aoleyun; +import com.aoleyun.sn.bean.AppSettings; import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.bean.BlacklistBean; +import com.aoleyun.sn.bean.BrowserBookmarks; +import com.aoleyun.sn.bean.BrowserData; +import com.aoleyun.sn.bean.PoweroffBean; +import com.aoleyun.sn.bean.SnSetting; +import com.aoleyun.sn.bean.SnTimeControl; +import com.aoleyun.sn.bean.TimeControlData; +import com.aoleyun.sn.bean.WhitelistBean; +import com.aoleyun.sn.bean.WiFiAlias; import com.aoleyun.sn.network.UrlAddress; +import java.util.List; + import io.reactivex.rxjava3.core.Observable; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; import retrofit2.http.POST; +import retrofit2.http.Query; public interface SystemSettingApi { @FormUrlEncoded @POST(UrlAddress.GET_FIRMWARE) - Observable getSystemSettingApi( + Observable getSystemSettings( + @Field("key") String key, + @Field("sn") String sn + ); + + @GET(UrlAddress.GET_SN_SETTING) + Observable> getSnSetting( + @Query("sn") String sn + ); + + @GET(UrlAddress.GET_SN_EFENCE) + Observable geElectronicFence( + @Query("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.GET_HIDE_DESKTOPICON) + Observable getDesktopIcon( + @Field("key") String key, + @Field("sn") String sn + ); + + @GET(UrlAddress.GET_SN_TIME_CONTROL) + Observable> getSnTimeControl( + @Query("sn") String sn + ); + + @GET(UrlAddress.GET_TIME_CONTROL) + Observable> getTimeControl( + @Query("sn") String sn + ); + + @GET(UrlAddress.GET_WIFI_ALIAS_PW) + Observable>> getWiFiAlias( + @Query("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.GET_POWEROFF_TIME) + Observable>> getPoweroffTime( + @Field("sn") String sn + ); + + @GET(UrlAddress.APP_SETTING) + Observable> getAppSetting( + @Query("sn") String sn + ); + + @GET(UrlAddress.BLACK_LIST) + Observable> getBlackList( + @Query("sn") String sn + ); + + @GET(UrlAddress.WHITE_LIST) + Observable> getWhiteList( + @Query("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.SET_HOMEPAG_TAG) + Observable> getBrowserBookmarks( + @Field("key") String key, + @Field("sn") String sn + ); + + @FormUrlEncoded + @POST(UrlAddress.SET_BROWSER_LIST) + Observable> getBrowserList( @Field("key") String key, @Field("sn") String sn ); diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/TopAppControlApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/TopAppControlApi.java deleted file mode 100644 index 717b0a6..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/TopAppControlApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.TopApp; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface TopAppControlApi { - @GET(UrlAddress.GET_TOP_APP_CONTROL) - Observable> getSnAppControl( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UpdateDeviceInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UpdateDeviceInfoApi.java deleted file mode 100644 index c0e7df6..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UpdateDeviceInfoApi.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface UpdateDeviceInfoApi { - @FormUrlEncoded - @POST(UrlAddress.UPDATE_DEVICEINFO) - Observable updateDeviceInfo( - @Field("sn") String sn, - @Field("key") String key, - @Field("machine") String machine, - @Field("hardware") String hardware, - @Field("address") String address, - @Field("other") String other - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadAppImgApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadAppImgApi.java deleted file mode 100644 index 5f00ae7..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadAppImgApi.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import java.util.Map; - -import okhttp3.MultipartBody; -import okhttp3.RequestBody; -import retrofit2.Call; -import retrofit2.http.Multipart; -import retrofit2.http.POST; -import retrofit2.http.Part; -import retrofit2.http.PartMap; - -public interface UploadAppImgApi { - @Multipart - @POST(UrlAddress.UPLOAD_APP_IMG) - Call uploadAppImg( - @PartMap Map params, - @Part MultipartBody.Part body - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadAppInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadAppInfoApi.java deleted file mode 100644 index 030bfb3..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadAppInfoApi.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.POST; - -public interface UploadAppInfoApi { - @FormUrlEncoded - @POST(UrlAddress.UPLOAD_APPINFO) - Observable getUploadAppInfoApi( - @Field("key") String key, - @Field("sn") String sn, - @Field("app_infoes") String json - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadInfoApi.java new file mode 100644 index 0000000..a9cb234 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/UploadInfoApi.java @@ -0,0 +1,171 @@ +package com.aoleyun.sn.network.api.aoleyun; + +import com.aoleyun.sn.BuildConfig; +import com.aoleyun.sn.bean.BaseResponse; +import com.aoleyun.sn.network.UrlAddress; + +import java.util.Map; + +import io.reactivex.rxjava3.core.Observable; +import okhttp3.MultipartBody; +import okhttp3.RequestBody; +import okhttp3.ResponseBody; +import retrofit2.Call; +import retrofit2.http.Field; +import retrofit2.http.FieldMap; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.Multipart; +import retrofit2.http.POST; +import retrofit2.http.Part; +import retrofit2.http.PartMap; +import retrofit2.http.Query; +import retrofit2.http.QueryMap; + +public interface UploadInfoApi { + @FormUrlEncoded + @POST(BuildConfig.SCREEN_URL) + @Deprecated + Observable sendScreenStatus( + @Field("key") String key, + @Field("sn") String sn, + @Field("is_online") int is_online + ); + + @FormUrlEncoded + @POST(UrlAddress.UPLOAD_APPINFO) + @Deprecated + Observable getUploadAppInfoApi( + @Field("key") String key, + @Field("sn") String sn, + @Field("app_infoes") String json + ); + + @FormUrlEncoded + @POST(UrlAddress.UPLOAD_APPINFO) + Observable getUploadAppInfoApi( + @FieldMap Map params + ); + + @FormUrlEncoded + @POST(UrlAddress.SEND_DEVICES) + Observable sendMACaddress( + @Field("sn") String sn, + @Field("mac") String mac, + @Field("jpush_id") String jpushId, + @Field("devices_version") String devicesVersion, + @Field("appstore_version") String appstoreVersion, + @Field("store_version") String storeVersion, + @Field("desktop_version") String desktop_version, + @Field("local_mac") String local_mac, + @Field("wifi_status") int wifi_status, + @Field("PN_ip") String PN_ip, + @Field("LAN_ip") String LAN_ip, + @Field("bluetooth") String bluetooth, + @Field("wifi_name") String wifi_name, + @Field("browser_version") String browser_version, + @Field("notice_version") String notice_version, + @Field("platform") String platform, + @Field("wifi_operator") String wifi_operator, + @Field("network_type") String network_type, + @Field("network_operator") String network_operator, + @Field("sn_phone") String sn_phone, + @Field("dpi") int dpi + ); + + @FormUrlEncoded + @POST(UrlAddress.UPDATE_DEVICEINFO) + Observable updateDeviceInfo( + @Field("sn") String sn, + @Field("key") String key, + @Field("machine") String machine, + @Field("hardware") String hardware, + @Field("address") String address, + @Field("other") String other + ); + + @FormUrlEncoded + @POST(UrlAddress.UPDATE_DEVICEINFO) + Observable updateDeviceInfo( + @FieldMap Map params + ); + + @FormUrlEncoded + @POST(UrlAddress.GET_APP_LOG) + Observable getAppLog( + @Field("sn") String sn, + @Field("random") String random, + @Field("data") String data + ); + + @FormUrlEncoded + @POST(UrlAddress.SEND_RESTORE_TIMES) + Observable sendRestoreTimes( + @Field("sn") String sn + ); + + @Multipart + @POST(UrlAddress.SEND_SCREENSHOT) + Call sendScreenshot( + @QueryMap Map params, + @Part MultipartBody.Part body + ); + + @Deprecated + @FormUrlEncoded + @POST(UrlAddress.GET_LOCK_STATE) + Observable getLockState( + @Field("sn") String sn, + @Field("status") String status, + @Field("time") String time + ); + + @FormUrlEncoded + @POST(UrlAddress.SEND_BATTERY_INFO) + Observable sendBatteryInfo( + @Field("sn") String sn, + @Field("key") String key, + @Field("battery_quantity") String battery_quantity, + @Field("battery_temperature") String battery_temperature, + @Field("battery_voltage") String battery_voltage, + @Field("charge_current") String charge_current, + @Field("charge_voltage") String charge_voltage, + @Field("battery_status") String battery_status, + @Field("charge_type") String charge_type, + @Field("charge_current_max") String charge_current_max, + @Field("charge_voltage_max") String charge_voltage_max, + @Field("battery_health") String battery_health, + @Field("quantity_max") String quantity_max, + @Field("battery_desc") String battery_desc, + @Field("charge_speed") String charge_speed + ); + + @FormUrlEncoded + @POST(UrlAddress.NETWORK_CONNECT) + Observable sendNetwork( + @Field("sn") String sn, + @Field("time") String time + ); + + @Deprecated + @FormUrlEncoded + @POST(UrlAddress.SEND_DOWNLOAD_TIMES) + Observable sendDownloadTimes( + @Field("key") String key, + @Field("sn") String sn, + @Field("package") String packages, + @Field("app_id") String app_id + ); + + @GET(UrlAddress.GET_IS_APP_IMG) + Observable getIsAppImg( + @Query("package") String pkg + ); + + @Multipart + @POST(UrlAddress.UPLOAD_APP_IMG) + Call uploadAppImg( + @PartMap Map params, + @Part MultipartBody.Part body + ); +} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/WallpaperApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/WallpaperApi.java deleted file mode 100644 index a042c48..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/WallpaperApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.Wallpaper; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface WallpaperApi { - @GET(UrlAddress.GET_WALLPAPER) - Observable> getWallpaper( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/WhiteListApi.java b/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/WhiteListApi.java deleted file mode 100644 index 9c79157..0000000 --- a/app/src/main/java/com/aoleyun/sn/network/api/aoleyun/WhiteListApi.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aoleyun.sn.network.api.aoleyun; - -import com.aoleyun.sn.bean.BaseResponse; -import com.aoleyun.sn.bean.WhitelistBean; -import com.aoleyun.sn.network.UrlAddress; - -import io.reactivex.rxjava3.core.Observable; -import retrofit2.http.GET; -import retrofit2.http.Query; - -public interface WhiteListApi { - @GET(UrlAddress.WHITE_LIST) - Observable> getWhiteList( - @Query("sn") String sn - ); -} diff --git a/app/src/main/java/com/aoleyun/sn/network/cache/CacheEntry.java b/app/src/main/java/com/aoleyun/sn/network/cache/CacheEntry.java new file mode 100644 index 0000000..71146f7 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/cache/CacheEntry.java @@ -0,0 +1,30 @@ +package com.aoleyun.sn.network.cache; + +/** + * 缓存实体:存储请求结果、创建时间、有效期 + * + * @param 接口返回数据类型 + */ +public class CacheEntry { + // 缓存的成功数据 + private final T data; + // 缓存创建时间(毫秒) + private final long createTime; + // 缓存有效期(毫秒) + private final long expireTimeMillis; + + public CacheEntry(T data, long createTime, long expireTimeMillis) { + this.data = data; + this.createTime = createTime; + this.expireTimeMillis = expireTimeMillis; + } + + // 判断缓存是否过期 + public boolean isExpired() { + return System.currentTimeMillis() - createTime > expireTimeMillis; + } + + public T getData() { + return data; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/aoleyun/sn/network/cache/RxCacheManager.java b/app/src/main/java/com/aoleyun/sn/network/cache/RxCacheManager.java new file mode 100644 index 0000000..ab99528 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/cache/RxCacheManager.java @@ -0,0 +1,63 @@ +package com.aoleyun.sn.network.cache; + +import java.util.concurrent.ConcurrentHashMap; + +/** + * 全局缓存管理器:线程安全,存储所有接口缓存 + */ +public class RxCacheManager { + // 单例 + private static volatile RxCacheManager INSTANCE; + // 缓存容器:key=请求唯一标识,value=缓存实体 + private final ConcurrentHashMap> cacheMap; + + private RxCacheManager() { + cacheMap = new ConcurrentHashMap<>(); + } + + public static RxCacheManager getInstance() { + if (INSTANCE == null) { + synchronized (RxCacheManager.class) { + if (INSTANCE == null) { + INSTANCE = new RxCacheManager(); + } + } + } + return INSTANCE; + } + + /** + * 保存缓存 + */ + public void saveCache(String key, T data, long expireTimeMillis) { + if (key == null || data == null) return; + cacheMap.put(key, new CacheEntry<>(data, System.currentTimeMillis(), expireTimeMillis)); + } + + /** + * 获取缓存(自动判断过期) + */ + public T getCache(String key) { + CacheEntry entry = cacheMap.get(key); + if (entry == null || entry.isExpired()) { + // 缓存不存在/已过期,移除并返回null + cacheMap.remove(key); + return null; + } + return (T) entry.getData(); + } + + /** + * 清空所有缓存 + */ + public void clearAllCache() { + cacheMap.clear(); + } + + /** + * 删除指定缓存 + */ + public void removeCache(String key) { + cacheMap.remove(key); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/aoleyun/sn/network/cache/RxCacheRequest.java b/app/src/main/java/com/aoleyun/sn/network/cache/RxCacheRequest.java new file mode 100644 index 0000000..a2d29f0 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/cache/RxCacheRequest.java @@ -0,0 +1,38 @@ +package com.aoleyun.sn.network.cache; + +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.schedulers.Schedulers; + +/** + * 优化后:无需手动传CacheKey,自动从请求获取 + */ +public class RxCacheRequest { + private static final RxCacheManager CACHE_MANAGER = RxCacheManager.getInstance(); + + /** + * 极简调用:仅需 网络请求Observable + 缓存过期时间 + * + * @param networkObservable 原始网络请求 + * @param expireTimeMillis 缓存有效期(毫秒) + * @return 带自动缓存的Observable + */ + public static Observable withCache(Observable networkObservable, String cacheKey, long expireTimeMillis) { + return Observable.defer(() -> { + + // 2. 读取缓存 + T cacheData = CACHE_MANAGER.getCache(cacheKey); + if (cacheData != null) { + return Observable.just(cacheData); + } + + // 3. 无缓存则发起网络请求,成功后缓存 + return networkObservable + .subscribeOn(Schedulers.io()) + .doOnNext(data -> CACHE_MANAGER.saveCache(cacheKey, data, expireTimeMillis)); + }) + .subscribeOn(Schedulers.io()) // 缓存IO切到子线程 + .observeOn(AndroidSchedulers.mainThread()); + } + +} diff --git a/app/src/main/java/com/aoleyun/sn/network/cache/RxTimeCacheManager.java b/app/src/main/java/com/aoleyun/sn/network/cache/RxTimeCacheManager.java new file mode 100644 index 0000000..692f5e7 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/cache/RxTimeCacheManager.java @@ -0,0 +1,66 @@ +package com.aoleyun.sn.network.cache; + +import java.util.concurrent.ConcurrentHashMap; + +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.ObservableTransformer; + +public class RxTimeCacheManager { + + // Thread-safe memory cache to hold our data and its timestamp + private static final ConcurrentHashMap> cacheMap = new ConcurrentHashMap<>(); + + /** + * Industry Standard RxJava Cache Transformer. + * * @param cacheKey Unique key for this specific request (e.g., URL or Method Name) + * + * @param validTimeMillis How long the data is valid before a new network request is allowed + */ + public static ObservableTransformer applyCache(final String cacheKey, final long validTimeMillis) { + return new ObservableTransformer() { + @Override + public ObservableSource apply(Observable upstream) { + // defer() ensures this logic runs EVERY time someone subscribes, not at initialization + return Observable.defer(() -> { + CacheEntry entry = cacheMap.get(cacheKey); + long currentTime = System.currentTimeMillis(); + + // 1. Check if cache exists and is within the time limit + if (entry != null && (currentTime - entry.timestamp) < validTimeMillis) { + // Cache HIT -> Return cached data immediately, do not trigger network + @SuppressWarnings("unchecked") + T cachedData = (T) entry.data; + return Observable.just(cachedData); + } + + // 2. Cache MISS or EXPIRED -> Trigger upstream (network) and save result + return upstream.doOnNext(data -> { + // Save the fresh data and current timestamp back to the cache + cacheMap.put(cacheKey, new CacheEntry<>(data, System.currentTimeMillis())); + }); + }); + } + }; + } + + /** + * Clears a specific cache key if you need to force a refresh manually. + */ + public static void clearCache(String cacheKey) { + cacheMap.remove(cacheKey); + } + + /** + * Internal wrapper to hold the payload and the time it was fetched. + */ + private static class CacheEntry { + final T data; + final long timestamp; + + CacheEntry(T data, long timestamp) { + this.data = data; + this.timestamp = timestamp; + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/aoleyun/sn/push/PushManager.java b/app/src/main/java/com/aoleyun/sn/push/PushManager.java index 4474d2d..4999fb7 100644 --- a/app/src/main/java/com/aoleyun/sn/push/PushManager.java +++ b/app/src/main/java/com/aoleyun/sn/push/PushManager.java @@ -616,7 +616,7 @@ public class PushManager { Map params = new HashMap<>(); params.put("sn", Utils.getSerial(mContext)); params.put("createtime", String.valueOf(createTime)); - Call call = NetInterfaceManager.getInstance().getScreenshotCall().sendScreenshot(params, body); + Call call = NetInterfaceManager.getInstance().getUploadInfoApi().sendScreenshot(params, body); call.enqueue(new RetryCallback(call, 10, 30 * 1000) { @Override public void onRequestResponse(Call call, Response response) { @@ -1066,7 +1066,7 @@ public class PushManager { Map params = new HashMap<>(); params.put("sn", Utils.getSerial(mContext)); params.put("createtime", String.valueOf(time)); - Call call = NetInterfaceManager.getInstance().getScreenshotCall().sendScreenshot(params, body); + Call call = NetInterfaceManager.getInstance().getUploadInfoApi().sendScreenshot(params, body); call.enqueue(new RetryCallback(call, 10, 30 * 1000) { @Override public void onRequestResponse(Call call, Response response) { @@ -1504,7 +1504,7 @@ public class PushManager { private void bind(final String id, int type) { NetInterfaceManager.getInstance() - .getSnConfirmBindApi() + .getDevicesStatusApi() .snConfirmBind(Utils.getSerial(mContext), id, type) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/aoleyun/sn/service/GuardService.java b/app/src/main/java/com/aoleyun/sn/service/GuardService.java index 978ef1d..8e3cbf5 100644 --- a/app/src/main/java/com/aoleyun/sn/service/GuardService.java +++ b/app/src/main/java/com/aoleyun/sn/service/GuardService.java @@ -27,7 +27,7 @@ import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.gson.GsonUtils; import com.aoleyun.sn.manager.MapManager; import com.aoleyun.sn.network.NetInterfaceManager; -import com.aoleyun.sn.network.api.aoleyun.SendScreenStatusApi; +import com.aoleyun.sn.network.api.aoleyun.UploadInfoApi; import com.aoleyun.sn.receiver.NewAppReceiver; import com.aoleyun.sn.rlog.LogDBManager; import com.aoleyun.sn.service.main.MainService; @@ -387,8 +387,8 @@ public class GuardService extends Service { .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) .build(); - SendScreenStatusApi sendScreenStatusApi = retrofit.create(SendScreenStatusApi.class); - sendScreenStatusApi.sendScreenStatus(NetInterfaceManager.HTTP_KEY, Utils.getSerial(this), status) + UploadInfoApi uploadInfoApi = retrofit.create(UploadInfoApi.class); + uploadInfoApi.sendScreenStatus(NetInterfaceManager.HTTP_KEY, Utils.getSerial(this), status) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -424,7 +424,7 @@ public class GuardService extends Service { return; } NetInterfaceManager.getInstance() - .getLockState() + .getUploadInfoApi() .getLockState(Utils.getSerial(this), status, time) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/aoleyun/sn/service/LogcatService.java b/app/src/main/java/com/aoleyun/sn/service/LogcatService.java index 0e27b7c..0719e09 100644 --- a/app/src/main/java/com/aoleyun/sn/service/LogcatService.java +++ b/app/src/main/java/com/aoleyun/sn/service/LogcatService.java @@ -268,8 +268,8 @@ public class LogcatService extends Service { //设置一个file文件 MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), fileBody); - NetInterfaceManager.getInstance().getUploadLogApi() - .UploadLog(params, body) + NetInterfaceManager.getInstance().getLogApi() + .uploadLog(params, body) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java b/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java index 829fe10..b1b3403 100644 --- a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java +++ b/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java @@ -309,7 +309,7 @@ public class MainSPresenter implements MainSContact.Presenter { String customVersion = Utils.getCustomVersion(); Log.e(TAG, "getROMApp: " + customVersion); NetInterfaceManager.getInstance() - .getCustomROMApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { + .getCustomRomApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { @Override public void onComplete() { mView.getRomAppFinish(); diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainService.java b/app/src/main/java/com/aoleyun/sn/service/main/MainService.java index 0b3e7e0..feddb12 100644 --- a/app/src/main/java/com/aoleyun/sn/service/main/MainService.java +++ b/app/src/main/java/com/aoleyun/sn/service/main/MainService.java @@ -6,7 +6,6 @@ import android.app.AlarmManager; import android.app.IActivityManager; import android.app.NotificationChannel; import android.app.NotificationManager; -import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -44,6 +43,7 @@ import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory; import com.aoleyun.sn.BuildConfig; import com.aoleyun.sn.R; import com.aoleyun.sn.activity.main.MainActivity; +import com.aoleyun.sn.base.BaseService; import com.aoleyun.sn.bean.PoweroffBean; import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.JGYActions; @@ -68,10 +68,7 @@ import com.google.gson.reflect.TypeToken; import com.hjq.toast.Toaster; import com.tencent.mmkv.MMKV; import com.trello.rxlifecycle4.LifecycleProvider; -import com.trello.rxlifecycle4.LifecycleTransformer; -import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.android.ActivityEvent; -import com.trello.rxlifecycle4.android.RxLifecycleAndroid; import java.lang.reflect.Type; import java.text.SimpleDateFormat; @@ -86,14 +83,14 @@ 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.subjects.BehaviorSubject; -public class MainService extends Service implements MainSContact.MainView, NetworkUtils.OnNetworkStatusChangedListener, LifecycleProvider { +public class MainService extends BaseService implements MainSContact.MainView, NetworkUtils.OnNetworkStatusChangedListener, LifecycleProvider { private static final String TAG = "MainService"; - public MainSPresenter mPresenter; private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); + public MainSPresenter mPresenter; + private static final String JXW_LAUNCHER = "com.wyt.wangkexueximvvm"; @Override @@ -278,23 +275,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo } }; - private final BehaviorSubject lifecycleSubject = BehaviorSubject.create(); - - @Override - public Observable lifecycle() { - return lifecycleSubject.hide(); - } - - @Override - public LifecycleTransformer bindUntilEvent(ActivityEvent event) { - return RxLifecycle.bindUntilEvent(lifecycleSubject, event); - } - - @Override - public LifecycleTransformer bindToLifecycle() { - return RxLifecycleAndroid.bindActivity(lifecycleSubject); - } - private WifiReceiver mWifiReceiver; private void registerWiFiReceiver() { @@ -382,6 +362,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo String action = intent.getAction(); Log.e("RefreshReceiver", "onReceive: " + action); if (!TextUtils.isEmpty(action)) { + NetInterfaceManager.clearAllCache(); mPresenter.getLockedState(); } } @@ -465,10 +446,9 @@ public class MainService extends Service implements MainSContact.MainView, Netwo public void onCreate() { super.onCreate(); Log.e(TAG, "onCreate: "); - lifecycleSubject.onNext(ActivityEvent.CREATE); mPresenter = new MainSPresenter(this); mPresenter.attachView(this); - mPresenter.setLifecycle(lifecycleSubject); + mPresenter.setLifecycle(getLifecycleSubject()); if ("YX-T01".equalsIgnoreCase(Build.MODEL)) { JgyUtils.getInstance().setTongyiAppTop(); } @@ -647,7 +627,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo @Override public void onDestroy() { super.onDestroy(); - lifecycleSubject.onNext(ActivityEvent.DESTROY); unRegisterReceivers(); NetworkUtils.unregisterNetworkStatusChangedListener(this); mPresenter.detachView(); diff --git a/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java b/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java index 3f92417..1304efd 100644 --- a/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java @@ -434,35 +434,7 @@ public class JgyUtils { public String getAppPlatform() { String platform = BuildConfig.platform; - if (MTKTag.equalsIgnoreCase(platform)) { - return MTKTag; - } else if (ZhanruiTag.equalsIgnoreCase(platform)) { - return ZhanruiTag; - } -// else if (CubeTag.equalsIgnoreCase(platform)) { -// return CubeTag; -// } - else if (MTK11Tag.equalsIgnoreCase(platform)) { - return MTK11Tag; - } else if (TeclastP20sTag.equalsIgnoreCase(platform)) { - return TeclastP20sTag; - } else if (AH6016Tag.equalsIgnoreCase(platform)) { - return AH6016Tag; - } else if (ZR6016Tag.equalsIgnoreCase(platform)) { - return ZR6016Tag; - } else if (HRAD13Tag.equalsIgnoreCase(platform)) { - return HRAD13Tag; - } else if (G10PTag.equalsIgnoreCase(platform)) { - return G10PTag; - } else if (C2Tag.equalsIgnoreCase(platform)) { - return C2Tag; - } else if (YXPD1TAG.equalsIgnoreCase(platform)) { - return YXPD1TAG; - } else if (G11TAG.equalsIgnoreCase(platform)) { - return G11TAG; - } else { - return Other; - } + return platform; } public static boolean isOfficialVersion() { @@ -2945,8 +2917,8 @@ public class JgyUtils { jsonObject.addProperty("jpush_id", PushServiceFactory.getCloudPushService().getDeviceId()); jsonObject.addProperty("devices_version", Utils.getCustomVersion()); jsonObject.addProperty("appstore_version", BuildConfig.VERSION_NAME); - jsonObject.addProperty("store_version", Utils.getAPPVersionName(PackageNames.APPSTORE, mContext)); - jsonObject.addProperty("desktop_version", Utils.getAPPVersionName("com.aoleyun.os", mContext)); + jsonObject.addProperty("store_version", Utils.getAppVersionName(PackageNames.APPSTORE, mContext)); + jsonObject.addProperty("desktop_version", Utils.getAppVersionName("com.aoleyun.os", mContext)); jsonObject.addProperty("local_mac", Utils.getAndroid7MAC()); // jsonObject.addProperty("wifi_status", Utils.obtainWifiInfo(mContext)); jsonObject.addProperty("PN_ip", mMMKV.decodeString(NetInterfaceManager.PublicIP, "")); diff --git a/app/src/main/java/com/aoleyun/sn/utils/Utils.java b/app/src/main/java/com/aoleyun/sn/utils/Utils.java index 2d1bb82..ee2848c 100644 --- a/app/src/main/java/com/aoleyun/sn/utils/Utils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/Utils.java @@ -741,7 +741,7 @@ public class Utils { } //获取App版本号 - public static String getAPPVersionName(String pck, Context context) { + public static String getAppVersionName(String pck, Context context) { PackageManager pm = context.getPackageManager(); String versionName; try {