version:1.0
update:2021-10-13 18:52:13 fix:去除okgo,rxAndroid1,优化依赖 add:切换到奥乐云平台
This commit is contained in:
856
app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java
Normal file
856
app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java
Normal file
@@ -0,0 +1,856 @@
|
||||
package com.aoleyun.sn.network;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aoleyun.sn.action.JGYActions;
|
||||
import com.arialyy.aria.core.Aria;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.aoleyun.sn.base.BaseApplication;
|
||||
import com.aoleyun.sn.bean.AppListInfo;
|
||||
import com.aoleyun.sn.bean.BrowserBookmarks;
|
||||
import com.aoleyun.sn.bean.BrowserData;
|
||||
import com.aoleyun.sn.bean.ForceDownloadBean;
|
||||
import com.aoleyun.sn.bean.ForceDownloadData;
|
||||
import com.aoleyun.sn.utils.CacheUtils;
|
||||
import com.aoleyun.sn.utils.JGYUtils;
|
||||
import com.aoleyun.sn.utils.Logutils;
|
||||
import com.aoleyun.sn.utils.URLUtils;
|
||||
import com.aoleyun.sn.bean.Appground;
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.NetAndLaunchBean;
|
||||
import com.aoleyun.sn.jpush.TagAliasOperatorHelper;
|
||||
import com.aoleyun.sn.manager.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.api.newapi.SnTimeControlApi;
|
||||
import com.aoleyun.sn.network.api.newapi.TopAppControlApi;
|
||||
import com.aoleyun.sn.network.api.newapi.UpdateDeviceInfoApi;
|
||||
import com.aoleyun.sn.service.MainService;
|
||||
import com.aoleyun.sn.utils.ApkUtils;
|
||||
import com.aoleyun.sn.utils.ForegroundAppUtil;
|
||||
import com.aoleyun.sn.utils.Logger;
|
||||
import com.aoleyun.sn.utils.SPUtils;
|
||||
import com.aoleyun.sn.utils.TimeUtils;
|
||||
import com.aoleyun.sn.utils.Utils;
|
||||
import com.trello.rxlifecycle2.android.ActivityEvent;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import okhttp3.Call;
|
||||
import okhttp3.Response;
|
||||
import okhttp3.ResponseBody;
|
||||
|
||||
import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.ACTION_SET;
|
||||
import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.sequence;
|
||||
|
||||
public class HTTPInterface {
|
||||
private static final String TAG = HTTPInterface.class.getSimpleName();
|
||||
private static final int OK = 200;
|
||||
|
||||
private static void installTestAPK(final Context context, JSONObject jsonObject) {
|
||||
final String url = jsonObject.getString("app_url");
|
||||
int versionCode = jsonObject.getInteger("app_version_code");
|
||||
final String packageName = jsonObject.getString("app_package");
|
||||
String app_name = jsonObject.getString("app_name");
|
||||
String app_md5 = jsonObject.getString("app_md5");
|
||||
final com.alibaba.fastjson.JSONObject object = new com.alibaba.fastjson.JSONObject();
|
||||
object.put("app_name", app_name);
|
||||
object.put("app_package", packageName);
|
||||
object.put("MD5", app_md5);
|
||||
PackageManager pm = context.getPackageManager();
|
||||
PackageInfo packageInfo = null;
|
||||
try {
|
||||
packageInfo = pm.getPackageInfo(packageName, 0);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (packageInfo == null || packageInfo.versionCode < versionCode) {
|
||||
Utils.ariaDownload(context, url, object);
|
||||
} else {
|
||||
Logutils.e("installTestAPK", "APK: " + "无更新");
|
||||
}
|
||||
}
|
||||
|
||||
synchronized public static void setJpushTags(final Context context) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getJpushTagsObservable()
|
||||
.subscribe(new Observer<BaseResponse>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Logutils.e(TAG + ":" + "setJpushTags", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse response) {
|
||||
if (response.code == 200) {
|
||||
JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
|
||||
String batch = jsonObject.get("batch").getAsString();
|
||||
Logutils.e(TAG + ":" + "setJpushTags", "onNext: " + batch);
|
||||
if (!TextUtils.isEmpty(batch)) {
|
||||
Set set = new HashSet();
|
||||
set.add(batch);
|
||||
JGYUtils.getInstance().getAppPlatform(new JGYUtils.GetAppPlatformCallback() {
|
||||
@Override
|
||||
public void AppPlatform(int platform) {
|
||||
if (platform == JGYUtils.MTKPlatform) {
|
||||
set.add(JGYUtils.MTKTag);
|
||||
} else if (platform == JGYUtils.ZhanruiPlatform) {
|
||||
set.add(JGYUtils.ZhanruiTag);
|
||||
}
|
||||
}
|
||||
});
|
||||
setTag(context, set);
|
||||
} else {
|
||||
Logutils.e(TAG + ":" + "setJpushTags", "onNext: " + "batch empty");
|
||||
}
|
||||
} else {
|
||||
Logutils.e(TAG + ":" + "setJpushTags", "onNext: " + response.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Logutils.e(TAG + ":" + "setJpushTags", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e(TAG + ":" + "setJpushTags", "onComplete: ");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void setTag(Context context, Set set) {
|
||||
TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
|
||||
tagAliasBean.action = ACTION_SET;
|
||||
sequence++;
|
||||
tagAliasBean.tags = set;
|
||||
tagAliasBean.isAliasAction = false;
|
||||
TagAliasOperatorHelper.getInstance().handleAction(context, sequence, tagAliasBean);
|
||||
}
|
||||
|
||||
public interface GetAppinsideWebCallback {
|
||||
void onComplete();
|
||||
}
|
||||
|
||||
synchronized public static void getAppinsideWeb(Context context, GetAppinsideWebCallback callback) {
|
||||
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.MTKPlatform) {
|
||||
Logutils.e(TAG, "getAppinsideWeb: " + "setAppinsideWeb");
|
||||
setAppinsideWeb(callback);
|
||||
} else {
|
||||
Logutils.e(TAG, "getAppinsideWeb: " + "setNewAppinsideWeb");
|
||||
setNewAppinsideWeb(callback);
|
||||
// setAppinsideWeb(callback);
|
||||
}
|
||||
}
|
||||
|
||||
private static void setAppinsideWeb(GetAppinsideWebCallback callback) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getAppinsideWebObservable()
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Observer<BaseResponse<List<Appground>>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Logutils.e("setAppinsideWeb", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse<List<Appground>> listBaseResponse) {
|
||||
Logutils.e("setAppinsideWeb", "onNext: " + listBaseResponse);
|
||||
JGYUtils.getInstance().setAppinsideWeb(listBaseResponse);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Logutils.e("setAppinsideWeb", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e("setAppinsideWeb", "onComplete: ");
|
||||
callback.onComplete();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void setNewAppinsideWeb(GetAppinsideWebCallback callback) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getNewAppinsideWebObservable()
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Observer<BaseResponse>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Logutils.e("getNewAppinsideWeb", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse listBaseResponse) {
|
||||
Logutils.e("getNewAppinsideWeb", "onNext: " + listBaseResponse);
|
||||
long time1 = System.currentTimeMillis();
|
||||
JGYUtils.getInstance().setNewAppinsideWeb(listBaseResponse);
|
||||
Logutils.e(TAG, "setWhiteApp: time = " + (System.currentTimeMillis() - time1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Logutils.e("getNewAppinsideWeb", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e("getNewAppinsideWeb", "onComplete: ");
|
||||
callback.onComplete();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private static void sendAllweb(Context context) {
|
||||
Intent intent = new Intent("qch_app_website")
|
||||
.setPackage("com.android.settings");
|
||||
intent.putExtra("package_name", "Invalid");
|
||||
context.sendBroadcast(intent);
|
||||
}
|
||||
|
||||
private static void sendwebUrl(Context context) {
|
||||
Intent intent = new Intent("qch_app_inside_website")
|
||||
.setPackage("com.android.settings");
|
||||
intent.putExtra("websitelist", "Invalid");
|
||||
context.sendBroadcast(intent);
|
||||
}
|
||||
|
||||
//设置浏览器黑白名单
|
||||
synchronized public static void setBrowserBlackList(final Context context) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getBrowserListSettingObservable()
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Observer<BaseResponse<BrowserData>>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
Logutils.e("setBrowserBlackList", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(BaseResponse<BrowserData> browserDataBaseResponse) {
|
||||
Logutils.e("setBrowserBlackList", "onNext: ");
|
||||
String homePage = Settings.System.getString(context.getContentResolver(), "homepagURL");
|
||||
if (browserDataBaseResponse.code == 200) {
|
||||
BrowserData data = browserDataBaseResponse.data;
|
||||
String white = data.getWhite();
|
||||
if (!TextUtils.isEmpty(white)) {
|
||||
if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) {
|
||||
white += "," + homePage;
|
||||
}
|
||||
boolean DeselectBrowserArray = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", white);
|
||||
Logutils.e("setBrowserBlackList", "setBrowserList white = " + white + ":" + DeselectBrowserArray);
|
||||
} else {
|
||||
Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage);
|
||||
}
|
||||
String black = data.getBlack();
|
||||
if (!TextUtils.isEmpty(black)) {
|
||||
boolean qch_webblack_url = Settings.System.putString(context.getContentResolver(), "qch_webblack_url", black);
|
||||
Logutils.e("setBrowserBlackList", "setBrowserList black = " + black + ":" + qch_webblack_url);
|
||||
} else {
|
||||
Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " ");
|
||||
}
|
||||
String white_ip = data.getWhite_ip();
|
||||
if (!TextUtils.isEmpty(white_ip)) {
|
||||
SPUtils.put(context, "white_ip", white_ip);
|
||||
} else {
|
||||
SPUtils.put(context, "white_ip", " ");
|
||||
}
|
||||
String black_ip = data.getBlack_ip();
|
||||
if (!TextUtils.isEmpty(black_ip)) {
|
||||
SPUtils.put(context, "black_ip", black_ip);
|
||||
} else {
|
||||
SPUtils.put(context, "black_ip", " ");
|
||||
}
|
||||
} else {
|
||||
Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homePage);
|
||||
Settings.System.putString(context.getContentResolver(), "qch_webblack_url", " ");
|
||||
SPUtils.put(context, "white_ip", " ");
|
||||
SPUtils.put(context, "black_ip", " ");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Logutils.e("setBrowserBlackList", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e("setBrowserBlackList", "onComplete: ");
|
||||
new URLUtils(context).setBrowserWhiteList();
|
||||
new URLUtils(context).setBrowserBlackList();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public interface BookmarksCallback {
|
||||
void onSubscribe();
|
||||
|
||||
void onNext();
|
||||
|
||||
void onError(Throwable e);
|
||||
|
||||
void onComplete();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param context
|
||||
* @param callback
|
||||
*/
|
||||
@SuppressLint("NewApi")
|
||||
synchronized public static void getHomePageBookmarks(Context context, BookmarksCallback callback) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getBrowserBookmarksObservable()
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Observer<BaseResponse<BrowserBookmarks>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
if (callback != null) {
|
||||
callback.onSubscribe();
|
||||
}
|
||||
Logutils.e("getHomePageBookmarks", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse<BrowserBookmarks> browserBookmarksBaseResponse) {
|
||||
if (callback != null) {
|
||||
callback.onNext();
|
||||
}
|
||||
Logutils.e("getHomePageBookmarks", "onNext: ");
|
||||
if (browserBookmarksBaseResponse.code == 200) {
|
||||
//主页不包含白名单添加进去
|
||||
String homepagURL = browserBookmarksBaseResponse.data.getHomepage();
|
||||
Logutils.e("getHomePageBookmarks ", "homepagURL: " + homepagURL);
|
||||
String oldHome = Settings.System.getString(context.getContentResolver(), "homepagURL");
|
||||
Logutils.e("getHomePageBookmarks", "oldHome: " + oldHome);
|
||||
//数据和之前不一样的时候清除缓存
|
||||
if (!TextUtils.isEmpty(oldHome) && !oldHome.equalsIgnoreCase(homepagURL)) {
|
||||
try {
|
||||
new CacheUtils().cleanApplicationUserData(context, "com.android.browser");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Logutils.e(TAG, "setHomepagtag: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
boolean home = Settings.System.putString(context.getContentResolver(), "homepagURL", homepagURL);
|
||||
Logutils.e("getHomePageBookmarks", "onNext: homepagURL: save homepagURL = " + home);
|
||||
String whitelist = Settings.System.getString(context.getContentResolver(), "DeselectBrowserArray");
|
||||
Logutils.e("getHomePageBookmarks ", "whitelist: " + whitelist);
|
||||
|
||||
// if (!TextUtils.isEmpty(whitelist.trim())) {
|
||||
// HashSet<String> whiteLists = new HashSet<>(Arrays.asList(whitelist.trim().split(",")));
|
||||
// whiteLists.add(homepagURL);
|
||||
// String whiteString = String.join(",", whiteLists);
|
||||
// boolean white = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", whiteString);
|
||||
// Logutils.e("getHomePageBookmarks", "onNext: homepagURL: add to whiteList = " + whiteString + "write: " + white);
|
||||
// } else {
|
||||
// Logutils.e("getHomePageBookmarks", "onNext: whitelist is NULL");
|
||||
// boolean white = Settings.System.putString(context.getContentResolver(), "DeselectBrowserArray", homepagURL);
|
||||
// Logutils.e("getHomePageBookmarks", "onNext: homepagURL: homepagURL = " + homepagURL + "write: " + white);
|
||||
// }
|
||||
|
||||
//书签
|
||||
String labelpage = browserBookmarksBaseResponse.data.getLabelpage();
|
||||
Intent websiteBookMark = new Intent("qch_app_brower_website");
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
websiteBookMark.setPackage("com.android.settings")
|
||||
.setPackage("com.android.browser");
|
||||
}
|
||||
if (!TextUtils.isEmpty(labelpage)) {
|
||||
HashSet<String> labels = new HashSet<>(Arrays.asList(labelpage.split(",")));
|
||||
// List<String> urlList = new ArrayList<>();
|
||||
// for (String urls : labels) {
|
||||
// urlList.add(JGYUtils.getPrefixHttpsURL(urls));
|
||||
// }
|
||||
String join = String.join(",", labels);
|
||||
Logutils.e("getHomePageBookmarks", "onNext: getHomePageBookmarks: " + join);
|
||||
websiteBookMark.putExtra("websiteBookMark", join);
|
||||
} else {
|
||||
websiteBookMark.putExtra("websiteBookMark", "Invalid");
|
||||
}
|
||||
context.sendBroadcast(websiteBookMark);
|
||||
context.sendBroadcast(websiteBookMark);
|
||||
context.sendBroadcast(websiteBookMark);
|
||||
|
||||
//主页
|
||||
Intent homepag = new Intent("qch_app_brower_homepage");
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
homepag.setPackage("com.android.settings")
|
||||
.setPackage("com.android.browser");
|
||||
}
|
||||
if (!TextUtils.isEmpty(homepagURL)) {
|
||||
// String newHomePage = JGYUtils.getPrefixHttpsURL(homepagURL);
|
||||
Logutils.e("getHomePageBookmarks", "onNext: newHomePage: " + homepagURL);
|
||||
homepag.putExtra("homepage", homepagURL);
|
||||
} else {
|
||||
homepag.putExtra("homepage", "Invalid");
|
||||
}
|
||||
context.sendBroadcast(homepag);
|
||||
context.sendBroadcast(homepag);
|
||||
context.sendBroadcast(homepag);
|
||||
} else {
|
||||
Intent intent1 = new Intent("qch_app_brower_homepage");
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
intent1.setPackage("com.android.settings")
|
||||
.setPackage("com.android.browser");
|
||||
}
|
||||
intent1.putExtra("homepage", "Invalid");
|
||||
context.sendBroadcast(intent1);
|
||||
|
||||
Settings.System.putString(context.getContentResolver(), "homepagURL", " ");
|
||||
Intent intent2 = new Intent("qch_app_brower_website");
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
intent2.setPackage("com.android.settings")
|
||||
.setPackage("com.android.browser");
|
||||
}
|
||||
intent2.putExtra("websiteBookMark", "Invalid");
|
||||
context.sendBroadcast(intent2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
if (callback != null) {
|
||||
callback.onError(e);
|
||||
}
|
||||
Logutils.e("getHomePageBookmarks", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
if (callback != null) {
|
||||
callback.onComplete();
|
||||
}
|
||||
Logutils.e("getHomePageBookmarks", "onComplete: ");
|
||||
setBrowserBlackList(context);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void setHideDesktopIcon(final Context context) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getDesktopIconObservable()
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Observer<BaseResponse>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Logutils.e(TAG + ":" + "getDesktopIcon", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse response) {
|
||||
Logutils.e(TAG + ":" + "getDesktopIcon", "onNext: ");
|
||||
ApkUtils.showAllAPP(context);
|
||||
if (response.code == OK) {
|
||||
String data = response.data.toString();
|
||||
Logutils.e(TAG + ":" + "getDesktopIcon", "data: " + data);
|
||||
if (!TextUtils.isEmpty(data)) {
|
||||
List<String> newList = Arrays.asList(data.split(","));//新的list
|
||||
PackageManager pm = context.getPackageManager();
|
||||
for (String pack : newList) {
|
||||
try {
|
||||
// TODO: 2021/5/24 需要后端替换包名,暂时解决方案
|
||||
try {
|
||||
if ("com.mediatek.camera".equals(pack)) {
|
||||
pm.setApplicationEnabledSetting("com.android.camera2", PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
|
||||
}
|
||||
if ("com.android.mms".equals(pack)) {
|
||||
pm.setApplicationEnabledSetting("com.android.messaging", PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
Logutils.e(TAG + ":" + "getDesktopIcon", "Exception: ex: " + ex.getMessage());
|
||||
}
|
||||
pm.setApplicationEnabledSetting(pack, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
|
||||
Logutils.e(TAG + ":" + "getDesktopIcon", pack);
|
||||
} catch (Exception e) {
|
||||
Logutils.e(TAG + ":" + "getDesktopIcon", "Exception: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Logutils.e(TAG + ":" + "getDesktopIcon", "onNext: " + response.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Logutils.e(TAG + ":" + "getDesktopIcon", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e(TAG + ":" + "getDesktopIcon", "onComplete: ");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
synchronized public static void updateDeviceInfo(Context context) {
|
||||
String address = String.valueOf(SPUtils.get(context, "AmapAddress", "-"));
|
||||
if ("-".equals(address)) {
|
||||
address = (String) SPUtils.get(context, "AmapError", "-");
|
||||
}
|
||||
String longitude = String.valueOf(SPUtils.get(context, "longitude", "0"));
|
||||
String latitude = String.valueOf(SPUtils.get(context, "latitude", "0"));
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("address", address);
|
||||
jsonObject.put("longitude", longitude);
|
||||
jsonObject.put("latitude", latitude);
|
||||
String add = jsonObject.toJSONString();
|
||||
UpdateDeviceInfoApi updateDeviceInfo = NetInterfaceManager.getInstance().getUpdateDeviceInfo();
|
||||
updateDeviceInfo.updateDeviceInfo(
|
||||
Utils.getSerial(),
|
||||
NetInterfaceManager.HTTP_KEY,
|
||||
Utils.getMachine(context),
|
||||
Utils.getHardware(context),
|
||||
add
|
||||
)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<ResponseBody>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(ResponseBody responseBody) {
|
||||
try {
|
||||
Logutils.e("updateDeviceInfo", "上传的结果" + responseBody.string());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Logutils.e("updateDeviceInfo", e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
}
|
||||
});
|
||||
ApkUtils.getAppInfo(context);
|
||||
}
|
||||
|
||||
public static void getSnTimeControl(final Context context) {
|
||||
SnTimeControlApi snTimeControl = NetInterfaceManager.getInstance().getSnTimeControlApi();
|
||||
snTimeControl.getSnTimeControl(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<BaseResponse>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
Logutils.e(TAG, "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(BaseResponse response) {
|
||||
int code = response.code;
|
||||
if (code == 200) {
|
||||
JSONObject jsonObject = (JSONObject) JSON.toJSON(response.data);
|
||||
String start_time = jsonObject.getString("start_time");
|
||||
String end_time = jsonObject.getString("end_time");
|
||||
TimeUtils.ContralTime c = TimeUtils.String2ContralTime(context, start_time + "-" + end_time);
|
||||
if (null != c) {
|
||||
Logutils.e("getTimeControl", "200: " + c.toString());
|
||||
}
|
||||
} else {
|
||||
TimeUtils.setEmpty(context);
|
||||
TimeUtils.ContralTime c = TimeUtils.getDefaltContralTime(context);
|
||||
if (null != c) {
|
||||
Logutils.e("getTimeControl", c.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Logutils.e("getSnTimeControl", "onError: " + e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(MainService.TimeChangedReceiver.ACTION_UPDATE);
|
||||
context.sendBroadcast(intent);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void getTopAppControl(final Context context) {
|
||||
TopAppControlApi topAppControl = NetInterfaceManager.getInstance().getTopAppControlApi();
|
||||
topAppControl.getSnAppControl(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<BaseResponse>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(BaseResponse response) {
|
||||
if (response.code == 200) {
|
||||
JSONObject jsonObject = (JSONObject) JSON.toJSON(response.data);
|
||||
String app_package = jsonObject.getString("app_package");
|
||||
SPUtils.put(context, ForegroundAppUtil.TOPAPP_KEY, app_package);
|
||||
ForegroundAppUtil.setTopAppClass(context, app_package);
|
||||
ForegroundAppUtil.openTopApp(context);
|
||||
} else {
|
||||
SPUtils.put(context, ForegroundAppUtil.TOPAPP_KEY, "");
|
||||
ForegroundAppUtil.setTopAppClass(context, "");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void getAppLimit(Context context) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getAppLimitObservable()
|
||||
.subscribe(new Observer<ResponseBody>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Logutils.e("getAppLimit", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull ResponseBody responseBody) {
|
||||
try {
|
||||
String bodyString = responseBody.string();
|
||||
Logutils.e("getAppLimit", "onNext: " + bodyString);
|
||||
JsonObject jsonObject = JsonParser.parseString(bodyString).getAsJsonObject();
|
||||
int code = jsonObject.get("code").getAsInt();
|
||||
if (code == 200) {
|
||||
String data = jsonObject.get("data").getAsJsonObject().get("result").getAsString();
|
||||
//开机图标 只记录后台传的包名
|
||||
boolean write = Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, data);
|
||||
Logutils.e(TAG, "onNext: only_jgy_shortcut_list: " + write);
|
||||
JGYUtils.getInstance().writeAppPackageList(context, data);
|
||||
JGYUtils.getInstance().deleteOtherApp();
|
||||
} else {
|
||||
Logutils.e("getAppLimit", "onNext: " + bodyString);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
Logutils.e("getAppLimit", "onNext: IOException: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Logutils.e("getAppLimit", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e("getAppLimit", "onComplete: ");
|
||||
getAllAppList(context);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public static void getAllAppList(Context context) {
|
||||
NetInterfaceManager.getInstance().GetAllAppApi()
|
||||
.getAllAppList(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<BaseResponse<List<AppListInfo>>>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
Logutils.e("getAllAppList", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(BaseResponse<List<AppListInfo>> listBaseResponse) {
|
||||
Logutils.e("getAllAppList", "onNext: " + JSONObject.toJSONString(listBaseResponse));
|
||||
int code = listBaseResponse.code;
|
||||
if (code == 200) {
|
||||
List<AppListInfo> appListInfos = listBaseResponse.data;
|
||||
getAppAutoStartUpdateAndNet(appListInfos);
|
||||
} else {
|
||||
Logutils.e("getAllAppList", "onNext: " + "no data");
|
||||
Logutils.e("getAllAppList", "onNext: " + listBaseResponse.data);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Logutils.e("getAllAppList", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e("getAllAppList", "onComplete: ");
|
||||
getForceDownload(context);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void getForceDownload(Context context) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getForceDownloadObservable()
|
||||
.subscribe(new Observer<ForceDownloadBean>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Logutils.e(TAG + ":" + "getForceDownload", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull ForceDownloadBean forceDownloadBean) {
|
||||
Logutils.e(TAG + ":" + "getForceDownload", "onNext: ");
|
||||
switch (forceDownloadBean.getCode()) {
|
||||
case 200:
|
||||
Logutils.e(TAG + ":" + "getForceDownload", "isDownloading=" + BaseApplication.getInstance().isDownloading());
|
||||
BaseApplication.getInstance().checkIsDownloading();
|
||||
if (!BaseApplication.getInstance().isDownloading()) {
|
||||
Type type = new TypeToken<List<ForceDownloadData>>() {
|
||||
}.getType();
|
||||
Gson gson = new Gson();
|
||||
List<ForceDownloadData> forceDownloadData = gson.fromJson(gson.toJson(forceDownloadBean.getData()), type);
|
||||
JGYUtils.getInstance().forceDownload(forceDownloadData);
|
||||
} else {
|
||||
Aria.download(this).resumeAllTask();
|
||||
}
|
||||
break;
|
||||
case -200:
|
||||
boolean qch_force_app = Settings.System.putString(context.getContentResolver(), "qch_force_app", "invalid");
|
||||
Logutils.e(TAG + ":" + "getForceDownload", "qch_force_app:" + qch_force_app);
|
||||
break;
|
||||
default:
|
||||
Logutils.e(TAG + ":" + "getForceDownload", forceDownloadBean.getMsg());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Logutils.e(TAG + ":" + "getForceDownload", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e(TAG + ":" + "getForceDownload", "onComplete: ");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void getAppAutoStartUpdateAndNet(List<AppListInfo> appListInfos) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getAppAutoStartUpdateAndNetObservable()
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<NetAndLaunchBean>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Logutils.e("getAppAutoStartUpdateAndNet", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull NetAndLaunchBean netAndLaunchBean) {
|
||||
Logutils.e("getAppAutoStartUpdateAndNet", "onNext: " + netAndLaunchBean.toString());
|
||||
if (netAndLaunchBean.getCode() == 200) {
|
||||
JGYUtils.getInstance().setNetAndlaunch(netAndLaunchBean, appListInfos);
|
||||
} else {
|
||||
Logutils.e("getAppAutoStartUpdateAndNet", "onNext: " + netAndLaunchBean.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Logutils.e("getAppAutoStartUpdateAndNet", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e("getAppAutoStartUpdateAndNet", "onComplete: ");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
synchronized public static void getNetAndLaunchSetting(final Context context) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getAppAutoStartUpdateAndNetObservable()
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<NetAndLaunchBean>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Logutils.e("getNetAndLaunchSetting", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull NetAndLaunchBean netAndLaunchBean) {
|
||||
Logutils.e("getNetAndLaunchSetting", "onNext: " + netAndLaunchBean.toString());
|
||||
if (netAndLaunchBean.getCode() == 200) {
|
||||
JGYUtils.getInstance().setNetAndlaunch(netAndLaunchBean);
|
||||
} else {
|
||||
Logutils.e("getNetAndLaunchSetting", "onNext: " + netAndLaunchBean.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Logutils.e("getNetAndLaunchSetting", "onError: " + e.getMessage());
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e("getNetAndLaunchSetting", "onComplete: ");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
79
app/src/main/java/com/aoleyun/sn/network/URLAddress.java
Normal file
79
app/src/main/java/com/aoleyun/sn/network/URLAddress.java
Normal file
@@ -0,0 +1,79 @@
|
||||
package com.aoleyun.sn.network;
|
||||
|
||||
import com.aoleyun.sn.BuildConfig;
|
||||
|
||||
import rxhttp.wrapper.annotation.DefaultDomain;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
public class URLAddress {
|
||||
//根网址
|
||||
@DefaultDomain
|
||||
public static final String HTTP_TAG_HEAD_NEW = BuildConfig.ROOT_URL;
|
||||
|
||||
|
||||
// 下载接口 根据包名匹配 请求后更新下载次数
|
||||
public static final String SEND_DOWNLOAD_TIMES = "count/index";
|
||||
//app下载完成发送下载次数
|
||||
public static final String SEND_DOWNLOAD_FILE_INFO = "app/downloadApp";
|
||||
//获取设备锁定状态
|
||||
public static final String GET_DEVICES_LOCKED = "lock/index";
|
||||
//发送设备信息
|
||||
public static final String SEND_DEVICES = "Mac/getMac";
|
||||
//发送app使用情况
|
||||
public static final String GET_APP_LOG = "Applog/getAppLog";
|
||||
//更新接口
|
||||
public static final String CHECK_UPDATE = "Silent/silent";
|
||||
//获取设备标签
|
||||
public static final String GET_DEVICES_TAGS = "Sn/getSnTag";
|
||||
//删除Aliases
|
||||
public static final String DELETE_GEDEVICE_ALIAS = "Sn/deleteAliases";
|
||||
//浏览器书签主页设置
|
||||
public static final String SET_HOMEPAG_TAG = "Label";
|
||||
//app内部网页管控
|
||||
public static final String SET_APPINSIDEWEB = "Appground";
|
||||
//浏览器黑白名单地址
|
||||
public static final String SET_BROWSER_LIST = "browser";
|
||||
//强制安装应用
|
||||
public static final String GET_FORCE_INSTALL_LIST = "forceinstall/index";
|
||||
//应用白名单
|
||||
public static final String SET_WHITE_PACKAGE_LIST = "firmware/index";
|
||||
//获取隐藏桌面图标
|
||||
public static final String GET_HIDE_DESKTOPICON = "Icon";
|
||||
//获取应用升级自启
|
||||
public final static String NET_AND_LAUNCH_API = "automatic/get";
|
||||
//通过sn获取信息
|
||||
public static final String GET_STUDENTS_INFO = "Sn/getStudent";
|
||||
//上传截图
|
||||
public static final String SEND_SCREENSHOT = "Screenshot/addImg";
|
||||
//上传我的设备
|
||||
//public static final String UPDATE_DEVICEINFO = "Mac/getInfo";
|
||||
//获取霸屏状态
|
||||
public final static String GET_LOCK_SCREEN_STATE = "Sn/getSnScreen";
|
||||
//获取默认桌面升级
|
||||
public final static String GET_DESKTOP = "Sn/getSnDesktop";
|
||||
//获取时间管控
|
||||
public final static String GET_SN_TIME_CONTROL = "Sn/getSnTimeControl";
|
||||
//获取顶部app管控
|
||||
public final static String GET_TOP_APP_CONTROL = "Sn/getSnAppControl";
|
||||
//获取测试app
|
||||
public final static String GET_SN_APP_TEST = "Sn/getSnAppTest";
|
||||
//开机动画
|
||||
public final static String GET_LOGO_IMG = "Sn/getLogoImg";
|
||||
//开发人员选项开关
|
||||
public final static String GET_DEVELOPER = "Sn/getDeveloper";
|
||||
//通过固件名获取内置应用
|
||||
public final static String GET_ROM_APP = "And/getFirmwareApp";
|
||||
//获取全部应用
|
||||
public final static String GET_ALL_APP = "recommend/index";
|
||||
//获取电子书包激活码
|
||||
public final static String GET_EBAG_CODE = "And/getEbagCode";
|
||||
//获取系统默认程序
|
||||
public final static String GET_DEFAULT_APP = "app/getDefaultApp";
|
||||
|
||||
//删除alias
|
||||
public static final String DELETE_JPUSH_ALIAS = "https://device.jpush.cn/v3/aliases/";
|
||||
//删除tags
|
||||
public static final String DELETE_JPUSH_TAG = "https://device.jpush.cn/v3/tags/";
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.aoleyun.sn.network.api;
|
||||
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface AppLimitApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SET_WHITE_PACKAGE_LIST)
|
||||
Observable<ResponseBody> getAppLimitApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.aoleyun.sn.network.api;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface DeselectIDApi {
|
||||
@FormUrlEncoded
|
||||
@POST("application/index")
|
||||
Observable<ResponseBody> getDeselectIDApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.aoleyun.sn.network.api;
|
||||
|
||||
import com.aoleyun.sn.bean.ForceDownloadBean;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface ForceDownloadApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_FORCE_INSTALL_LIST)
|
||||
Observable<ForceDownloadBean> getForceDownloadApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.aoleyun.sn.network.api;
|
||||
|
||||
import com.aoleyun.sn.bean.NetAndLaunchBean;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface NetAndLaunchApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.NET_AND_LAUNCH_API)
|
||||
Observable<NetAndLaunchBean> getNetAndLaunchApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.aoleyun.sn.network.api;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
|
||||
public interface SystemSettingApi {
|
||||
@FormUrlEncoded
|
||||
@POST("firmware/get")
|
||||
Observable<ResponseBody> getSystemSettingApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.aoleyun.sn.network.api;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface UploadAppInfoApi {
|
||||
@FormUrlEncoded
|
||||
@POST("log/index")
|
||||
Observable<ResponseBody> getUploadAppInfoApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn,
|
||||
@Field("app_infoes") String json
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
|
||||
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.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface AppinsideWebApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SET_APPINSIDEWEB)
|
||||
Observable<BaseResponse<List<Appground>>> getAppinsideWeb(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.BrowserBookmarks;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface BrowserBookmarksApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SET_HOMEPAG_TAG)
|
||||
Observable<BaseResponse<BrowserBookmarks>> getBrowserBookmarks(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.BrowserData;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface BrowserListApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SET_BROWSER_LIST)
|
||||
Observable<BaseResponse<BrowserData>> getBrowserList(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
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.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface CheckTestUpdateApi {
|
||||
@GET(URLAddress.GET_SN_APP_TEST)
|
||||
Observable<BaseResponse<List<ForceDownloadData>>> getTestUpdate(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface CheckUpdateApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.CHECK_UPDATE)
|
||||
//1MTK平台 2展锐平台
|
||||
Observable<BaseResponse> getUpdate(
|
||||
@Field("package") String packages,
|
||||
@Field("type") int type
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface CustomROMAppApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_ROM_APP)
|
||||
Observable<BaseResponse> getROMApp(
|
||||
@Field("key") String key,
|
||||
@Field("version_number") String version_number
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.DefaultApp;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface DefaultAppApi {
|
||||
@GET(URLAddress.GET_DEFAULT_APP)
|
||||
Observable<BaseResponse<DefaultApp>> getDefaultApp(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface DesktopIconApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_HIDE_DESKTOPICON)
|
||||
Observable<BaseResponse> getDesktopIcon(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface DevicesLockedStateApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_DEVICES_LOCKED)
|
||||
Observable<BaseResponse> getLockedState(
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
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.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface GetAllAppApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_ALL_APP)
|
||||
Observable<BaseResponse<List<AppListInfo>>> getAllAppList(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface GetAppLogApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_APP_LOG)
|
||||
Observable<BaseResponse> getAppLog(
|
||||
@Field("sn") String sn,
|
||||
@Field("random") String random,
|
||||
@Field("data") String data
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface GetBatchApi {
|
||||
@FormUrlEncoded
|
||||
@POST("log/getBatch")
|
||||
Observable<ResponseBody> getBatch(
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface GetDesktopApi {
|
||||
@GET(URLAddress.GET_DESKTOP)
|
||||
Observable<ResponseBody> getDesktop(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface GetDeveloperApi {
|
||||
@GET(URLAddress.GET_DEVELOPER)
|
||||
Observable<BaseResponse> getDeveloperState(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface GetEBagCodeApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_EBAG_CODE)
|
||||
Observable<BaseResponse> getEBagCode(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface GetJpushTagsApi {
|
||||
@GET(URLAddress.GET_DEVICES_TAGS)
|
||||
Observable<BaseResponse> getJpushTags(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface GetLockStateApi {
|
||||
@FormUrlEncoded
|
||||
@POST("Application/getLockState")
|
||||
Observable<ResponseBody> getLockState(
|
||||
@Field("sn") String sn,
|
||||
@Field("status") String status,
|
||||
@Field("time") String time
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.LogoImg;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface LogoImgApi {
|
||||
@GET(URLAddress.GET_LOGO_IMG)
|
||||
Observable<BaseResponse<LogoImg>> getLogoImg(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface MACAddressApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SEND_DEVICES)
|
||||
Observable<BaseResponse> 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("local_mac") String local_mac
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface NewAppinsideWebApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SET_APPINSIDEWEB)
|
||||
Observable<BaseResponse> getAppinsideWeb(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface ScreenLockStateApi {
|
||||
@GET(URLAddress.GET_LOCK_SCREEN_STATE)
|
||||
Observable<BaseResponse> getScreenLockState(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface SendDownloadInfoApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SEND_DOWNLOAD_FILE_INFO)
|
||||
Observable<BaseResponse> 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
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface SendDownloadTimesApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SEND_DOWNLOAD_TIMES)
|
||||
Observable<BaseResponse> sendDownloadTimes(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn,
|
||||
@Field("package") String packages,
|
||||
@Field("app_id") String app_id
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.BuildConfig;
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface SendScreenStatusApi {
|
||||
@FormUrlEncoded
|
||||
@POST(BuildConfig.SCREEN_URL)
|
||||
Observable<BaseResponse> sendScreenStatus(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn,
|
||||
@Field("is_online") int is_online
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.MultipartBody;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.Multipart;
|
||||
import retrofit2.http.POST;
|
||||
import retrofit2.http.Part;
|
||||
|
||||
public interface SendScreenshotApi {
|
||||
@Multipart
|
||||
@POST(URLAddress.SEND_SCREENSHOT)
|
||||
Observable<BaseResponse> sendScreenshot(
|
||||
@Field("sn") String sn,
|
||||
@Field("createtime") long createtime,
|
||||
@Part MultipartBody.Part body
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface SnTimeControlApi {
|
||||
@GET(URLAddress.GET_SN_TIME_CONTROL)
|
||||
Observable<BaseResponse> getSnTimeControl(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.StudentsInfo;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface StudentsInfosApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_STUDENTS_INFO)
|
||||
Observable<BaseResponse<StudentsInfo>> getStudentsInfo(
|
||||
@Field("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface TopAppControlApi {
|
||||
@GET(URLAddress.GET_TOP_APP_CONTROL)
|
||||
Observable<BaseResponse> getSnAppControl(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface UpdateDeviceInfoApi {
|
||||
@FormUrlEncoded
|
||||
@POST("Mac/getInfo")
|
||||
Observable<ResponseBody> updateDeviceInfo(
|
||||
@Field("sn") String sn,
|
||||
@Field("key") String key,
|
||||
@Field("machine") String machine,
|
||||
@Field("hardware") String hardware,
|
||||
@Field("address") String address
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user