version:1.0
update:2021-10-16 18:50:25 fix:增减检查弹窗,修复第一次启动不能自动下载 add:切换到奥乐云平台
This commit is contained in:
@@ -1,404 +0,0 @@
|
||||
package com.aoleyun.sn.manager;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
|
||||
import com.aoleyun.sn.BuildConfig;
|
||||
import com.aoleyun.sn.bean.Appground;
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.BrowserBookmarks;
|
||||
import com.aoleyun.sn.bean.BrowserData;
|
||||
import com.aoleyun.sn.bean.DefaultApp;
|
||||
import com.aoleyun.sn.bean.ForceDownloadBean;
|
||||
import com.aoleyun.sn.bean.ForceDownloadData;
|
||||
import com.aoleyun.sn.bean.LogoImg;
|
||||
import com.aoleyun.sn.bean.NetAndLaunchBean;
|
||||
import com.aoleyun.sn.bean.StudentsInfo;
|
||||
import com.aoleyun.sn.network.api.AppLimitApi;
|
||||
import com.aoleyun.sn.network.api.DeselectIDApi;
|
||||
import com.aoleyun.sn.network.api.ForceDownloadApi;
|
||||
import com.aoleyun.sn.network.api.NetAndLaunchApi;
|
||||
import com.aoleyun.sn.network.api.SystemSettingApi;
|
||||
import com.aoleyun.sn.network.api.UploadAppInfoApi;
|
||||
import com.aoleyun.sn.network.api.newapi.AppinsideWebApi;
|
||||
import com.aoleyun.sn.network.api.newapi.BrowserBookmarksApi;
|
||||
import com.aoleyun.sn.network.api.newapi.BrowserListApi;
|
||||
import com.aoleyun.sn.network.api.newapi.CheckTestUpdateApi;
|
||||
import com.aoleyun.sn.network.api.newapi.CheckUpdateApi;
|
||||
import com.aoleyun.sn.network.api.newapi.CustomROMAppApi;
|
||||
import com.aoleyun.sn.network.api.newapi.DefaultAppApi;
|
||||
import com.aoleyun.sn.network.api.newapi.DesktopIconApi;
|
||||
import com.aoleyun.sn.network.api.newapi.DevicesLockedStateApi;
|
||||
import com.aoleyun.sn.network.api.newapi.GetAllAppApi;
|
||||
import com.aoleyun.sn.network.api.newapi.GetAppLogApi;
|
||||
import com.aoleyun.sn.network.api.newapi.GetBatchApi;
|
||||
import com.aoleyun.sn.network.api.newapi.GetDesktopApi;
|
||||
import com.aoleyun.sn.network.api.newapi.GetDeveloperApi;
|
||||
import com.aoleyun.sn.network.api.newapi.GetEBagCodeApi;
|
||||
import com.aoleyun.sn.network.api.newapi.GetLockStateApi;
|
||||
import com.aoleyun.sn.network.api.newapi.GetJpushTagsApi;
|
||||
import com.aoleyun.sn.network.api.newapi.LogoImgApi;
|
||||
import com.aoleyun.sn.network.api.newapi.MACAddressApi;
|
||||
import com.aoleyun.sn.network.api.newapi.NewAppinsideWebApi;
|
||||
import com.aoleyun.sn.network.api.newapi.ScreenLockStateApi;
|
||||
import com.aoleyun.sn.network.api.newapi.SendDownloadInfoApi;
|
||||
import com.aoleyun.sn.network.api.newapi.SendDownloadTimesApi;
|
||||
import com.aoleyun.sn.network.api.newapi.SendScreenshotApi;
|
||||
import com.aoleyun.sn.network.api.newapi.SnTimeControlApi;
|
||||
import com.aoleyun.sn.network.api.newapi.StudentsInfosApi;
|
||||
import com.aoleyun.sn.network.api.newapi.TopAppControlApi;
|
||||
import com.aoleyun.sn.network.api.newapi.UpdateDeviceInfoApi;
|
||||
import com.aoleyun.sn.utils.Utils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import cn.jpush.android.api.JPushInterface;
|
||||
import io.reactivex.Observable;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import okhttp3.Cache;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.CallAdapter;
|
||||
import retrofit2.Converter;
|
||||
import retrofit2.Retrofit;
|
||||
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
|
||||
import retrofit2.converter.gson.GsonConverterFactory;
|
||||
|
||||
public class NetInterfaceManager {
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
private static NetInterfaceManager INSTANCE;
|
||||
private Context mContext;
|
||||
private Retrofit mRetrofit;
|
||||
private OkHttpClient okHttpClient;
|
||||
|
||||
//超时时间
|
||||
private int timeOut = 5;
|
||||
// 缓存文件最大限制大小20M
|
||||
private long cacheSize = 1024 * 1024 * 64;
|
||||
|
||||
private Converter.Factory gsonConverterFactory = GsonConverterFactory.create();
|
||||
private CallAdapter.Factory rxJavaCallAdapterFactory = RxJava2CallAdapterFactory.create();
|
||||
|
||||
public static final String ROOT_URL = BuildConfig.ROOT_URL;
|
||||
public static final String WEBSOCKET_URL = BuildConfig.WebsocketURL;
|
||||
public static final String HTTP_KEY = "YTM3YTAxNTJmMmZmNzkyM2E2YzIwZjlhZTc0NzNmMGI=";
|
||||
|
||||
private NetInterfaceManager(Context context) {
|
||||
this.mContext = context;
|
||||
if (okHttpClient == null) {
|
||||
//如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了
|
||||
OkHttpClient.Builder builder = new OkHttpClient.Builder();
|
||||
builder.connectTimeout(timeOut, TimeUnit.SECONDS); // 设置连接超时时间
|
||||
builder.writeTimeout(timeOut, TimeUnit.SECONDS);// 设置写入超时时间
|
||||
builder.readTimeout(timeOut, TimeUnit.SECONDS);// 设置读取数据超时时间
|
||||
builder.retryOnConnectionFailure(true);// 设置进行连接失败重试
|
||||
// 设置缓存文件路径
|
||||
String cacheDirectory = mContext.getExternalCacheDir().getAbsolutePath() + "/OkHttpCache";
|
||||
Cache cache = new Cache(new File(cacheDirectory), cacheSize);
|
||||
builder.cache(cache);// 设置缓存
|
||||
okHttpClient = builder.build();
|
||||
}
|
||||
|
||||
if (null == mRetrofit) {
|
||||
mRetrofit = new Retrofit.Builder()
|
||||
.client(okHttpClient)
|
||||
.baseUrl(ROOT_URL)
|
||||
.addConverterFactory(gsonConverterFactory)
|
||||
.addCallAdapterFactory(rxJavaCallAdapterFactory)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
public static void init(Context context) {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = new NetInterfaceManager(context);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static NetInterfaceManager getInstance() {
|
||||
if (INSTANCE == null) {
|
||||
throw new IllegalStateException("You must be init NetworkManager first");
|
||||
}
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
public OkHttpClient getOkHttpClient() {
|
||||
return okHttpClient;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过sn获取设备的信息
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Observable<BaseResponse<StudentsInfo>> getStudesInfoObservable() {
|
||||
return mRetrofit.create(StudentsInfosApi.class)
|
||||
.getStudentsInfo(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取设备锁状态
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Observable<BaseResponse> getDevicesLockedStateObservable() {
|
||||
return mRetrofit.create(DevicesLockedStateApi.class)
|
||||
.getLockedState(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送设备mac地址
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Observable<BaseResponse> sendMACAddressObservable() {
|
||||
return mRetrofit.create(MACAddressApi.class)
|
||||
.sendMACaddress(Utils.getSerial(),
|
||||
Utils.getAndroid10MAC(mContext),
|
||||
JPushInterface.getRegistrationID(mContext),
|
||||
Utils.getCustomVersion(),
|
||||
BuildConfig.VERSION_NAME,
|
||||
Utils.getAPPVersionName(mContext),
|
||||
Utils.getAndroid7MAC()
|
||||
)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取极光推送的tag
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Observable<BaseResponse> getJpushTagsObservable() {
|
||||
return mRetrofit.create(GetJpushTagsApi.class)
|
||||
.getJpushTags(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<BrowserData>> getBrowserListSettingObservable() {
|
||||
return mRetrofit.create(BrowserListApi.class)
|
||||
.getBrowserList(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<BrowserBookmarks>> getBrowserBookmarksObservable() {
|
||||
return mRetrofit.create(BrowserBookmarksApi.class)
|
||||
.getBrowserBookmarks(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse> getDesktopIconObservable() {
|
||||
return mRetrofit.create(DesktopIconApi.class)
|
||||
.getDesktopIcon(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<NetAndLaunchBean> getAppAutoStartUpdateAndNetObservable() {
|
||||
return mRetrofit.create(NetAndLaunchApi.class)
|
||||
.getNetAndLaunchApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<ResponseBody> getAppIDControlObservable() {
|
||||
return mRetrofit.create(DeselectIDApi.class)
|
||||
.getDeselectIDApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<List<Appground>>> getAppinsideWebObservable() {
|
||||
return mRetrofit.create(AppinsideWebApi.class)
|
||||
.getAppinsideWeb(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse> getNewAppinsideWebObservable() {
|
||||
return mRetrofit.create(NewAppinsideWebApi.class)
|
||||
.getAppinsideWeb(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<ResponseBody> getSystemSettingObservable() {
|
||||
return mRetrofit.create(SystemSettingApi.class)
|
||||
.getSystemSettingApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<ResponseBody> getAppLimitObservable() {
|
||||
return mRetrofit.create(AppLimitApi.class)
|
||||
.getAppLimitApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<ForceDownloadBean> getForceDownloadObservable() {
|
||||
return mRetrofit.create(ForceDownloadApi.class)
|
||||
.getForceDownloadApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<List<ForceDownloadData>>> getTestUpdateObservable() {
|
||||
return mRetrofit.create(CheckTestUpdateApi.class)
|
||||
.getTestUpdate(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse> getSnTimeObservable() {
|
||||
return mRetrofit.create(SnTimeControlApi.class)
|
||||
.getSnTimeControl(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse> getScreenLockObservable() {
|
||||
return mRetrofit.create(ScreenLockStateApi.class)
|
||||
.getScreenLockState(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<ResponseBody> getDesktopObservable() {
|
||||
return mRetrofit.create(GetDesktopApi.class)
|
||||
.getDesktop(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<ResponseBody> getBatchObservable() {
|
||||
return mRetrofit.create(GetBatchApi.class)
|
||||
.getBatch(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<LogoImg>> getLogoImgObservable() {
|
||||
return mRetrofit.create(LogoImgApi.class)
|
||||
.getLogoImg(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse> getTopAppControl() {
|
||||
return mRetrofit.create(TopAppControlApi.class)
|
||||
.getSnAppControl(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse> getDeveloperControl() {
|
||||
return mRetrofit.create(GetDeveloperApi.class)
|
||||
.getDeveloperState(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse> getEBagCodeControl() {
|
||||
return mRetrofit.create(GetEBagCodeApi.class)
|
||||
.getEBagCode(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<DefaultApp>> getDefaultAppApi() {
|
||||
return mRetrofit.create(DefaultAppApi.class)
|
||||
.getDefaultApp(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* API
|
||||
*
|
||||
* */
|
||||
public UploadAppInfoApi getUploadAppInfoApi() {
|
||||
return mRetrofit.create(UploadAppInfoApi.class);
|
||||
}
|
||||
|
||||
public DeselectIDApi getDeselectIDApi() {
|
||||
return mRetrofit.create(DeselectIDApi.class);
|
||||
}
|
||||
|
||||
public AppLimitApi getAppLimitApi() {
|
||||
return mRetrofit.create(AppLimitApi.class);
|
||||
}
|
||||
|
||||
public SystemSettingApi getSystemSettingApi() {
|
||||
return mRetrofit.create(SystemSettingApi.class);
|
||||
}
|
||||
|
||||
public NetAndLaunchApi getNetAndLaunchApi() {
|
||||
return mRetrofit.create(NetAndLaunchApi.class);
|
||||
}
|
||||
|
||||
public ForceDownloadApi getForceDownloadApi() {
|
||||
return mRetrofit.create(ForceDownloadApi.class);
|
||||
}
|
||||
|
||||
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 SnTimeControlApi getSnTimeControlApi() {
|
||||
return mRetrofit.create(SnTimeControlApi.class);
|
||||
}
|
||||
|
||||
public TopAppControlApi getTopAppControlApi() {
|
||||
return mRetrofit.create(TopAppControlApi.class);
|
||||
}
|
||||
|
||||
public CheckUpdateApi getUpdateApi() {
|
||||
return mRetrofit.create(CheckUpdateApi.class);
|
||||
}
|
||||
|
||||
public CustomROMAppApi getCustomROMAppApi() {
|
||||
return mRetrofit.create(CustomROMAppApi.class);
|
||||
}
|
||||
|
||||
public GetAllAppApi GetAllAppApi() {
|
||||
return mRetrofit.create(GetAllAppApi.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 SendScreenshotApi getScreenshotApi() {
|
||||
return mRetrofit.create(SendScreenshotApi.class);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user