version:2.2.10.25
fix: update:增加禁用app
This commit is contained in:
@@ -91,7 +91,7 @@ android {
|
|||||||
MTKnewly {
|
MTKnewly {
|
||||||
flavorDimensions "default"
|
flavorDimensions "default"
|
||||||
versionCode 31
|
versionCode 31
|
||||||
versionName "2.2.8.19"
|
versionName "2.2.10.25"
|
||||||
buildConfigField "String", "platform", '"MTK"'
|
buildConfigField "String", "platform", '"MTK"'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,4 +17,5 @@ interface SystemInfoInterface {
|
|||||||
String getTopAppPackage();
|
String getTopAppPackage();
|
||||||
boolean SystemPutInt(String name, int value);
|
boolean SystemPutInt(String name, int value);
|
||||||
void setDefaultDesktop(String pkg);
|
void setDefaultDesktop(String pkg);
|
||||||
|
List<String> getDisableApp();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -284,6 +284,11 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getAppAutoStartUpdateAndNetFinish() {
|
public void getAppAutoStartUpdateAndNetFinish() {
|
||||||
|
mCheckNetPresenter.getSnAppAttr();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getSnAppAttrFinish() {
|
||||||
mCheckNetPresenter.getAppIDControl();
|
mCheckNetPresenter.getAppIDControl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,8 @@ public class CheckNetContact {
|
|||||||
void getDesktopIcon();
|
void getDesktopIcon();
|
||||||
//获取应用自启升级和网络权限管理
|
//获取应用自启升级和网络权限管理
|
||||||
void getAppAutoStartUpdateAndNet();
|
void getAppAutoStartUpdateAndNet();
|
||||||
|
/*获取禁用app*/
|
||||||
|
void getSnAppAttr();
|
||||||
//获取第三方应用子页面ID连网限制
|
//获取第三方应用子页面ID连网限制
|
||||||
void getAppIDControl();
|
void getAppIDControl();
|
||||||
//获取第三方应用内部网页跳转屏蔽
|
//获取第三方应用内部网页跳转屏蔽
|
||||||
@@ -126,6 +128,8 @@ public class CheckNetContact {
|
|||||||
void getDesktopIconFinish();
|
void getDesktopIconFinish();
|
||||||
//获取应用自启升级和网络权限管理结束
|
//获取应用自启升级和网络权限管理结束
|
||||||
void getAppAutoStartUpdateAndNetFinish();
|
void getAppAutoStartUpdateAndNetFinish();
|
||||||
|
/*获取禁用app*/
|
||||||
|
void getSnAppAttrFinish();
|
||||||
//获取第三方应用子页面ID连网限制结束
|
//获取第三方应用子页面ID连网限制结束
|
||||||
void getAppIDControlFinish();
|
void getAppIDControlFinish();
|
||||||
//获取第三方应用内部网页跳转屏蔽结束
|
//获取第三方应用内部网页跳转屏蔽结束
|
||||||
|
|||||||
@@ -293,6 +293,16 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getSnAppAttr() {
|
||||||
|
mNetInterfaceManager.getSnAppAttr(new NetInterfaceManager.onCompleteCallback() {
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
mView.getSnAppAttrFinish();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getAppIDControl() {
|
public void getAppIDControl() {
|
||||||
mNetInterfaceManager.getAppIDControl(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
mNetInterfaceManager.getAppIDControl(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||||
|
|||||||
27
app/src/main/java/com/aoleyun/sn/bean/AppAttr.java
Normal file
27
app/src/main/java/com/aoleyun/sn/bean/AppAttr.java
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
package com.aoleyun.sn.bean;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class AppAttr implements Serializable {
|
||||||
|
private static final long serialVersionUID = -4530860765778383316L;
|
||||||
|
|
||||||
|
String app_package;
|
||||||
|
/*应用是否允许打开 0不允许 1允许*/
|
||||||
|
int is_open;
|
||||||
|
|
||||||
|
public String getApp_package() {
|
||||||
|
return app_package;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApp_package(String app_package) {
|
||||||
|
this.app_package = app_package;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIs_open() {
|
||||||
|
return is_open;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIs_open(int is_open) {
|
||||||
|
this.is_open = is_open;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -112,5 +112,6 @@ public class CommonConfig {
|
|||||||
/*恢复出厂设置开关*/
|
/*恢复出厂设置开关*/
|
||||||
public final static String AOLE_ACTION_RESTORE_FORBID_ON = "aole_restore_forbid_on";
|
public final static String AOLE_ACTION_RESTORE_FORBID_ON = "aole_restore_forbid_on";
|
||||||
|
|
||||||
|
public final static String AOLE_ACTION_DISABLE_APP = "aole_disable_app_list";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
144
app/src/main/java/com/aoleyun/sn/gson/GsonUtils.java
Normal file
144
app/src/main/java/com/aoleyun/sn/gson/GsonUtils.java
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
package com.aoleyun.sn.gson;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.google.gson.GsonBuilder;
|
||||||
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import com.google.gson.JsonParser;
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
|
||||||
|
public class GsonUtils {
|
||||||
|
//https://blog.csdn.net/zte1055889498/article/details/122400299
|
||||||
|
|
||||||
|
public static JsonObject getJsonObject(String jsonString) {
|
||||||
|
JsonObject jsonObject = JsonParser.parseString(jsonString).getAsJsonObject();
|
||||||
|
return jsonObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final Gson gson;
|
||||||
|
|
||||||
|
static {
|
||||||
|
GsonBuilder builder = new GsonBuilder();
|
||||||
|
builder.registerTypeAdapterFactory(new NullStringToEmptyAdapterFactory());
|
||||||
|
builder.registerTypeAdapter(Integer.class, new IntegerDefault0Adapter());
|
||||||
|
builder.registerTypeAdapter(int.class, new IntegerDefault0Adapter());
|
||||||
|
builder.disableHtmlEscaping();
|
||||||
|
builder.enableComplexMapKeySerialization();
|
||||||
|
// builder.excludeFieldsWithoutExposeAnnotation();
|
||||||
|
builder.setDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
gson = builder.create();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Type makeJavaType(Type rawType, Type... typeArguments) {
|
||||||
|
return TypeToken.getParameterized(rawType, typeArguments).getType();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String toString(Object value) {
|
||||||
|
if (Objects.isNull(value)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (value instanceof String) {
|
||||||
|
return (String) value;
|
||||||
|
}
|
||||||
|
return toJSONString(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String toJSONString(Object value) {
|
||||||
|
return gson.toJson(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String toPrettyString(Object value) {
|
||||||
|
return gson.newBuilder().setPrettyPrinting().create().toJson(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JsonElement fromJavaObject(Object value) {
|
||||||
|
JsonElement result = null;
|
||||||
|
if (Objects.nonNull(value) && (value instanceof String)) {
|
||||||
|
result = parseObject((String) value);
|
||||||
|
} else {
|
||||||
|
result = gson.toJsonTree(value);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JsonElement parseObject(String content) {
|
||||||
|
return JsonParser.parseString(content);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JsonElement getJsonElement(JsonObject node, String name) {
|
||||||
|
return node.get(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JsonElement getJsonElement(JsonArray node, int index) {
|
||||||
|
return node.get(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> T toJavaObject(JsonElement node, Class<T> clazz) {
|
||||||
|
return gson.fromJson(node, clazz);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> T toJavaObject(JsonElement node, Type type) {
|
||||||
|
return gson.fromJson(node, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> T toJavaObject(JsonElement node, TypeToken<?> typeToken) {
|
||||||
|
return toJavaObject(node, typeToken.getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <E> List<E> toJavaList(JsonElement node, Class<E> clazz) {
|
||||||
|
return toJavaObject(node, makeJavaType(List.class, clazz));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Object> toJavaList(JsonElement node) {
|
||||||
|
return toJavaObject(node, new TypeToken<List<Object>>() {
|
||||||
|
}.getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <V> Map<String, V> toJavaMap(JsonElement node, Class<V> clazz) {
|
||||||
|
return toJavaObject(node, makeJavaType(Map.class, String.class, clazz));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<String, Object> toJavaMap(JsonElement node) {
|
||||||
|
return toJavaObject(node, new TypeToken<Map<String, Object>>() {
|
||||||
|
}.getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> T toJavaObject(String content, Class<T> clazz) {
|
||||||
|
JsonObject jsonObject = getJsonObject(content);
|
||||||
|
String jsonString = jsonObject.toString();
|
||||||
|
return gson.fromJson(jsonString, clazz);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> T toJavaObject(String content, Type type) {
|
||||||
|
return gson.fromJson(content, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> T toJavaObject(String content, TypeToken<?> typeToken) {
|
||||||
|
return toJavaObject(content, typeToken.getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <E> List<E> toJavaList(String content, Class<E> clazz) {
|
||||||
|
return toJavaObject(content, makeJavaType(List.class, clazz));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Object> toJavaList(String content) {
|
||||||
|
return toJavaObject(content, new TypeToken<List<Object>>() {
|
||||||
|
}.getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <V> Map<String, V> toJavaMap(String content, Class<V> clazz) {
|
||||||
|
return toJavaObject(content, makeJavaType(Map.class, String.class, clazz));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<String, Object> toJavaMap(String content) {
|
||||||
|
return toJavaObject(content, new TypeToken<Map<String, Object>>() {
|
||||||
|
}.getType());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.aoleyun.sn.gson;
|
||||||
|
|
||||||
|
import com.google.gson.JsonDeserializationContext;
|
||||||
|
import com.google.gson.JsonDeserializer;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonParseException;
|
||||||
|
import com.google.gson.JsonPrimitive;
|
||||||
|
import com.google.gson.JsonSerializationContext;
|
||||||
|
import com.google.gson.JsonSerializer;
|
||||||
|
import com.google.gson.JsonSyntaxException;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
|
||||||
|
public class IntegerDefault0Adapter implements JsonSerializer<Integer>, JsonDeserializer<Integer> {
|
||||||
|
@Override
|
||||||
|
public Integer deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
|
||||||
|
throws JsonParseException {
|
||||||
|
try {
|
||||||
|
if (json.getAsString().equals("")) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
} catch (Exception ignore) {
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
return json.getAsInt();
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
throw new JsonSyntaxException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement serialize(Integer src, Type typeOfSrc, JsonSerializationContext context) {
|
||||||
|
return new JsonPrimitive(src);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -15,6 +15,7 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.aoleyun.sn.BuildConfig;
|
import com.aoleyun.sn.BuildConfig;
|
||||||
|
import com.aoleyun.sn.bean.AppAttr;
|
||||||
import com.aoleyun.sn.bean.AppID;
|
import com.aoleyun.sn.bean.AppID;
|
||||||
import com.aoleyun.sn.bean.AppLimit;
|
import com.aoleyun.sn.bean.AppLimit;
|
||||||
import com.aoleyun.sn.bean.AppListInfo;
|
import com.aoleyun.sn.bean.AppListInfo;
|
||||||
@@ -44,20 +45,22 @@ import com.aoleyun.sn.comm.CommonConfig;
|
|||||||
import com.aoleyun.sn.comm.JGYActions;
|
import com.aoleyun.sn.comm.JGYActions;
|
||||||
import com.aoleyun.sn.comm.PackageNames;
|
import com.aoleyun.sn.comm.PackageNames;
|
||||||
import com.aoleyun.sn.disklrucache.CacheHelper;
|
import com.aoleyun.sn.disklrucache.CacheHelper;
|
||||||
|
import com.aoleyun.sn.gson.GsonUtils;
|
||||||
import com.aoleyun.sn.gson.NullStringToEmptyAdapterFactory;
|
import com.aoleyun.sn.gson.NullStringToEmptyAdapterFactory;
|
||||||
import com.aoleyun.sn.manager.ConnectManager;
|
import com.aoleyun.sn.manager.ConnectManager;
|
||||||
import com.aoleyun.sn.manager.ConnectMode;
|
import com.aoleyun.sn.manager.ConnectMode;
|
||||||
|
import com.aoleyun.sn.network.api.GetPublicIPApi;
|
||||||
import com.aoleyun.sn.network.api.GetWhoisApi;
|
import com.aoleyun.sn.network.api.GetWhoisApi;
|
||||||
import com.aoleyun.sn.network.api.get.CheckTestUpdateApi;
|
import com.aoleyun.sn.network.api.get.CheckTestUpdateApi;
|
||||||
import com.aoleyun.sn.network.api.get.DefaultAppApi;
|
import com.aoleyun.sn.network.api.get.DefaultAppApi;
|
||||||
import com.aoleyun.sn.network.api.get.GetDesktopApi;
|
import com.aoleyun.sn.network.api.get.GetDesktopApi;
|
||||||
import com.aoleyun.sn.network.api.get.GetDeveloperApi;
|
import com.aoleyun.sn.network.api.get.GetDeveloperApi;
|
||||||
import com.aoleyun.sn.network.api.get.GetPushTagsApi;
|
import com.aoleyun.sn.network.api.get.GetPushTagsApi;
|
||||||
import com.aoleyun.sn.network.api.GetPublicIPApi;
|
|
||||||
import com.aoleyun.sn.network.api.get.GetSnRunLogApi;
|
import com.aoleyun.sn.network.api.get.GetSnRunLogApi;
|
||||||
import com.aoleyun.sn.network.api.get.GetWiFiAliasApi;
|
import com.aoleyun.sn.network.api.get.GetWiFiAliasApi;
|
||||||
import com.aoleyun.sn.network.api.get.LogoImgApi;
|
import com.aoleyun.sn.network.api.get.LogoImgApi;
|
||||||
import com.aoleyun.sn.network.api.get.ScreenLockStateApi;
|
import com.aoleyun.sn.network.api.get.ScreenLockStateApi;
|
||||||
|
import com.aoleyun.sn.network.api.get.SnAppAttrApi;
|
||||||
import com.aoleyun.sn.network.api.get.SnTimeControlApi;
|
import com.aoleyun.sn.network.api.get.SnTimeControlApi;
|
||||||
import com.aoleyun.sn.network.api.get.TopAppControlApi;
|
import com.aoleyun.sn.network.api.get.TopAppControlApi;
|
||||||
import com.aoleyun.sn.network.api.post.AppLimitApi;
|
import com.aoleyun.sn.network.api.post.AppLimitApi;
|
||||||
@@ -100,7 +103,6 @@ import com.aoleyun.sn.statistics.StatisticsInfo;
|
|||||||
import com.aoleyun.sn.utils.ApkUtils;
|
import com.aoleyun.sn.utils.ApkUtils;
|
||||||
import com.aoleyun.sn.utils.CacheUtils;
|
import com.aoleyun.sn.utils.CacheUtils;
|
||||||
import com.aoleyun.sn.utils.ForegroundAppUtil;
|
import com.aoleyun.sn.utils.ForegroundAppUtil;
|
||||||
import com.aoleyun.sn.utils.GsonUtils;
|
|
||||||
import com.aoleyun.sn.utils.JGYUtils;
|
import com.aoleyun.sn.utils.JGYUtils;
|
||||||
import com.aoleyun.sn.utils.MD5Util;
|
import com.aoleyun.sn.utils.MD5Util;
|
||||||
import com.aoleyun.sn.utils.NetworkUtils;
|
import com.aoleyun.sn.utils.NetworkUtils;
|
||||||
@@ -426,6 +428,13 @@ public class NetInterfaceManager {
|
|||||||
.observeOn(AndroidSchedulers.mainThread());
|
.observeOn(AndroidSchedulers.mainThread());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Observable<BaseResponse<List<AppAttr>>> getSnAppAttrObservable() {
|
||||||
|
return mRetrofit.create(SnAppAttrApi.class)
|
||||||
|
.getSnAppAttr(Utils.getSerial(mContext))
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread());
|
||||||
|
}
|
||||||
|
|
||||||
public Observable<BaseResponse<AppID>> getAppIDControlObservable() {
|
public Observable<BaseResponse<AppID>> getAppIDControlObservable() {
|
||||||
return mRetrofit.create(DeselectIDApi.class)
|
return mRetrofit.create(DeselectIDApi.class)
|
||||||
.getDeselectIDApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext))
|
.getDeselectIDApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext))
|
||||||
@@ -767,7 +776,7 @@ public class NetInterfaceManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNext(@NonNull List<AppUpdateInfo> appUpdateInfos) {
|
public void onNext(@NonNull List<AppUpdateInfo> appUpdateInfos) {
|
||||||
String jsonString = GsonUtils.toJsonString(appUpdateInfos);
|
String jsonString = GsonUtils.toJSONString(appUpdateInfos);
|
||||||
cacheHelper.put(UrlAddress.CHECK_UPDATE, jsonString);
|
cacheHelper.put(UrlAddress.CHECK_UPDATE, jsonString);
|
||||||
Log.e("checkAoleyunUpdate", "onNext: " + jsonString);
|
Log.e("checkAoleyunUpdate", "onNext: " + jsonString);
|
||||||
for (AppUpdateInfo info : appUpdateInfos) {
|
for (AppUpdateInfo info : appUpdateInfos) {
|
||||||
@@ -844,7 +853,7 @@ public class NetInterfaceManager {
|
|||||||
public void onNext(BaseResponse<List<ForceDownloadData>> listBaseResponse) {
|
public void onNext(BaseResponse<List<ForceDownloadData>> listBaseResponse) {
|
||||||
Log.e("checkTestUpdate", "onNext: " + listBaseResponse.data);
|
Log.e("checkTestUpdate", "onNext: " + listBaseResponse.data);
|
||||||
if (listBaseResponse.code == OK) {
|
if (listBaseResponse.code == OK) {
|
||||||
cacheHelper.put(UrlAddress.GET_SN_APP_TEST, GsonUtils.toJsonString(listBaseResponse.data));
|
cacheHelper.put(UrlAddress.GET_SN_APP_TEST, GsonUtils.toJSONString(listBaseResponse.data));
|
||||||
List<ForceDownloadData> APPlist = listBaseResponse.data;
|
List<ForceDownloadData> APPlist = listBaseResponse.data;
|
||||||
JGYUtils.getInstance().installTestAPK(APPlist);
|
JGYUtils.getInstance().installTestAPK(APPlist);
|
||||||
} else {
|
} else {
|
||||||
@@ -925,7 +934,7 @@ public class NetInterfaceManager {
|
|||||||
if (forceDownloadBean.code == OK) {
|
if (forceDownloadBean.code == OK) {
|
||||||
cacheHelper.getAsString(UrlAddress.GET_FORCE_INSTALL_LIST);
|
cacheHelper.getAsString(UrlAddress.GET_FORCE_INSTALL_LIST);
|
||||||
List<ForceDownloadData> forceDownloadData = forceDownloadBean.data;
|
List<ForceDownloadData> forceDownloadData = forceDownloadBean.data;
|
||||||
cacheHelper.put(UrlAddress.GET_FORCE_INSTALL_LIST, GsonUtils.toJsonString(forceDownloadData));
|
cacheHelper.put(UrlAddress.GET_FORCE_INSTALL_LIST, GsonUtils.toJSONString(forceDownloadData));
|
||||||
Aria.download(this).resumeAllTask();
|
Aria.download(this).resumeAllTask();
|
||||||
JGYUtils.getInstance().forceDownload(forceDownloadData);
|
JGYUtils.getInstance().forceDownload(forceDownloadData);
|
||||||
List<String> forceApp = forceDownloadData.stream().map(ForceDownloadData::getApp_package).collect(Collectors.toList());
|
List<String> forceApp = forceDownloadData.stream().map(ForceDownloadData::getApp_package).collect(Collectors.toList());
|
||||||
@@ -1008,7 +1017,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getDefaultDesktop", "onNext: " + baseResponse);
|
Log.e("getDefaultDesktop", "onNext: " + baseResponse);
|
||||||
if (baseResponse.code == OK) {
|
if (baseResponse.code == OK) {
|
||||||
ForceDownloadData desktopInfo = baseResponse.data;
|
ForceDownloadData desktopInfo = baseResponse.data;
|
||||||
String jsonString = GsonUtils.toJsonString(desktopInfo);
|
String jsonString = GsonUtils.toJSONString(desktopInfo);
|
||||||
JSONObject data = JSON.parseObject(jsonString);
|
JSONObject data = JSON.parseObject(jsonString);
|
||||||
cacheHelper.put(UrlAddress.GET_DESKTOP, jsonString);
|
cacheHelper.put(UrlAddress.GET_DESKTOP, jsonString);
|
||||||
JGYUtils.getInstance().installDesktop(data);
|
JGYUtils.getInstance().installDesktop(data);
|
||||||
@@ -1099,7 +1108,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("setLogoImg", "onNext: " + logoImgBaseResponse.data);
|
Log.e("setLogoImg", "onNext: " + logoImgBaseResponse.data);
|
||||||
if (logoImgBaseResponse.code == OK) {
|
if (logoImgBaseResponse.code == OK) {
|
||||||
LogoImg logoImg = logoImgBaseResponse.data;
|
LogoImg logoImg = logoImgBaseResponse.data;
|
||||||
cacheHelper.put(UrlAddress.GET_LOGO_IMG, GsonUtils.toJsonString(logoImg));
|
cacheHelper.put(UrlAddress.GET_LOGO_IMG, GsonUtils.toJSONString(logoImg));
|
||||||
String file_url = logoImg.getFile_url();
|
String file_url = logoImg.getFile_url();
|
||||||
String file_md5 = logoImg.getFile_md5();
|
String file_md5 = logoImg.getFile_md5();
|
||||||
String batch = logoImg.getBatch();
|
String batch = logoImg.getBatch();
|
||||||
@@ -1165,7 +1174,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getDeveloper", "onNext: " + baseResponse);
|
Log.e("getDeveloper", "onNext: " + baseResponse);
|
||||||
if (baseResponse.code == OK) {
|
if (baseResponse.code == OK) {
|
||||||
DeveloperBean developerBean = baseResponse.data;
|
DeveloperBean developerBean = baseResponse.data;
|
||||||
cacheHelper.put(UrlAddress.GET_DEVELOPER, GsonUtils.toJsonString(developerBean));
|
cacheHelper.put(UrlAddress.GET_DEVELOPER, GsonUtils.toJSONString(developerBean));
|
||||||
int is_developer = developerBean.getIs_developer();
|
int is_developer = developerBean.getIs_developer();
|
||||||
Log.e("getDeveloper", "onNext: " + is_developer);
|
Log.e("getDeveloper", "onNext: " + is_developer);
|
||||||
//后台1是0否 底层0是1否
|
//后台1是0否 底层0是1否
|
||||||
@@ -1231,7 +1240,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getROMApp", "onNext: " + baseResponse);
|
Log.e("getROMApp", "onNext: " + baseResponse);
|
||||||
if (baseResponse.code == OK) {
|
if (baseResponse.code == OK) {
|
||||||
CustomROMApp customROMApp = baseResponse.data;
|
CustomROMApp customROMApp = baseResponse.data;
|
||||||
cacheHelper.put(UrlAddress.GET_ROM_APP, GsonUtils.toJsonString(customROMApp));
|
cacheHelper.put(UrlAddress.GET_ROM_APP, GsonUtils.toJSONString(customROMApp));
|
||||||
String packageName = customROMApp.getPackage_name();
|
String packageName = customROMApp.getPackage_name();
|
||||||
Settings.System.putString(mContext.getContentResolver(), "jgy_customromapp", packageName);
|
Settings.System.putString(mContext.getContentResolver(), "jgy_customromapp", packageName);
|
||||||
} else {
|
} else {
|
||||||
@@ -1329,7 +1338,7 @@ public class NetInterfaceManager {
|
|||||||
String data = response.data.toString();
|
String data = response.data.toString();
|
||||||
if (!TextUtils.isEmpty(data)) {
|
if (!TextUtils.isEmpty(data)) {
|
||||||
List<String> newList = Arrays.asList(data.split(","));//新的list
|
List<String> newList = Arrays.asList(data.split(","));//新的list
|
||||||
cacheHelper.put(UrlAddress.GET_HIDE_DESKTOPICON, GsonUtils.toJsonString(newList));
|
cacheHelper.put(UrlAddress.GET_HIDE_DESKTOPICON, GsonUtils.toJSONString(newList));
|
||||||
PackageManager pm = mContext.getPackageManager();
|
PackageManager pm = mContext.getPackageManager();
|
||||||
for (String pack : newList) {
|
for (String pack : newList) {
|
||||||
try {
|
try {
|
||||||
@@ -1408,7 +1417,7 @@ public class NetInterfaceManager {
|
|||||||
public void onNext(@NonNull NetAndLaunchBean netAndLaunchBean) {
|
public void onNext(@NonNull NetAndLaunchBean netAndLaunchBean) {
|
||||||
Log.e("getAppAutoStart", "onNext: " + netAndLaunchBean.toString());
|
Log.e("getAppAutoStart", "onNext: " + netAndLaunchBean.toString());
|
||||||
if (netAndLaunchBean.getCode() == OK) {
|
if (netAndLaunchBean.getCode() == OK) {
|
||||||
cacheHelper.put(UrlAddress.NET_AND_LAUNCH_API, GsonUtils.toJsonString(netAndLaunchBean));
|
cacheHelper.put(UrlAddress.NET_AND_LAUNCH_API, GsonUtils.toJSONString(netAndLaunchBean));
|
||||||
JGYUtils.getInstance().setNetAndlaunch(netAndLaunchBean);
|
JGYUtils.getInstance().setNetAndlaunch(netAndLaunchBean);
|
||||||
} else {
|
} else {
|
||||||
cacheHelper.put(UrlAddress.NET_AND_LAUNCH_API, "");
|
cacheHelper.put(UrlAddress.NET_AND_LAUNCH_API, "");
|
||||||
@@ -1488,7 +1497,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getAppIDControl", "onNext: " + baseResponse);
|
Log.e("getAppIDControl", "onNext: " + baseResponse);
|
||||||
if (baseResponse.code == OK) {
|
if (baseResponse.code == OK) {
|
||||||
AppID appID = baseResponse.data;
|
AppID appID = baseResponse.data;
|
||||||
cacheHelper.put(UrlAddress.GET_APPID, GsonUtils.toJsonString(appID));
|
cacheHelper.put(UrlAddress.GET_APPID, GsonUtils.toJSONString(appID));
|
||||||
String ids = appID.getIds();
|
String ids = appID.getIds();
|
||||||
String packages = appID.getPackages();
|
String packages = appID.getPackages();
|
||||||
if (appID == null) {
|
if (appID == null) {
|
||||||
@@ -1518,6 +1527,63 @@ public class NetInterfaceManager {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void getSnAppAttr(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||||
|
getSnAppAttrObservable()
|
||||||
|
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||||
|
.subscribe(getSnAppAttrObserver(callback));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getSnAppAttr(onCompleteCallback callback) {
|
||||||
|
getSnAppAttrObservable()
|
||||||
|
.subscribe(getSnAppAttrObserver(callback));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getSnAppAttr() {
|
||||||
|
getSnAppAttrObservable()
|
||||||
|
.subscribe(getSnAppAttrObserver(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Observer<BaseResponse<List<AppAttr>>> getSnAppAttrObserver(onCompleteCallback onCompleteCallback) {
|
||||||
|
return new Observer<BaseResponse<List<AppAttr>>>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
Log.e("getSnAppAttr", "onSubscribe: ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(@NonNull BaseResponse<List<AppAttr>> baseResponse) {
|
||||||
|
Log.e("getSnAppAttr", "onNext: " + baseResponse);
|
||||||
|
if (baseResponse.code == 200) {
|
||||||
|
List<AppAttr> appAttrList = baseResponse.data;
|
||||||
|
if (appAttrList == null || appAttrList.size() == 0) {
|
||||||
|
Log.e("getSnAppAttr", "onNext: appAttrList is empty");
|
||||||
|
Settings.Global.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_DISABLE_APP, "null");
|
||||||
|
} else {
|
||||||
|
String disableApp = appAttrList.stream()
|
||||||
|
.filter(appAttr -> appAttr.getIs_open() == 0)
|
||||||
|
.map(AppAttr::getApp_package)
|
||||||
|
.collect(Collectors.joining(","));
|
||||||
|
Log.e("getSnAppAttr", "onNext: disableApp = " + disableApp);
|
||||||
|
Settings.Global.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_DISABLE_APP, disableApp);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Settings.Global.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_DISABLE_APP, "null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
Log.e("getSnAppAttr", "onError: " + e.getMessage());
|
||||||
|
onComplete();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
Log.e("getSnAppAttr", "onComplete: ");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setSystemSetting(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
public void setSystemSetting(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||||
ConnectMode connectMode = ConnectMode.ONE_HOUR;
|
ConnectMode connectMode = ConnectMode.ONE_HOUR;
|
||||||
@@ -1556,7 +1622,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("setSystemSetting", "onNext: " + baseResponse);
|
Log.e("setSystemSetting", "onNext: " + baseResponse);
|
||||||
SPUtils.put(mContext, CommonConfig.JGY_FIRST_CONNECT, 1);
|
SPUtils.put(mContext, CommonConfig.JGY_FIRST_CONNECT, 1);
|
||||||
if (baseResponse.code == OK) {
|
if (baseResponse.code == OK) {
|
||||||
String data = GsonUtils.toJsonString(baseResponse.data);
|
String data = GsonUtils.toJSONString(baseResponse.data);
|
||||||
Log.e("setSystemSetting", "onNext: " + data);
|
Log.e("setSystemSetting", "onNext: " + data);
|
||||||
cacheHelper.put(UrlAddress.GET_FIRMWARE, data);
|
cacheHelper.put(UrlAddress.GET_FIRMWARE, data);
|
||||||
//结果保存到本地
|
//结果保存到本地
|
||||||
@@ -1627,7 +1693,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getEBagCode", "onNext: " + baseResponse);
|
Log.e("getEBagCode", "onNext: " + baseResponse);
|
||||||
if (baseResponse.code == OK) {
|
if (baseResponse.code == OK) {
|
||||||
EBagCode eBagCode = baseResponse.data;
|
EBagCode eBagCode = baseResponse.data;
|
||||||
cacheHelper.put(UrlAddress.GET_EBAG_CODE, GsonUtils.toJsonString(eBagCode));
|
cacheHelper.put(UrlAddress.GET_EBAG_CODE, GsonUtils.toJSONString(eBagCode));
|
||||||
String ebagCode = eBagCode.getEbagCode();
|
String ebagCode = eBagCode.getEbagCode();
|
||||||
SPUtils.put(mContext, "ebagCode", ebagCode);
|
SPUtils.put(mContext, "ebagCode", ebagCode);
|
||||||
} else {
|
} else {
|
||||||
@@ -1787,7 +1853,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getStudesInfo", "onNext: " + studentsInfoBaseResponse.data);
|
Log.e("getStudesInfo", "onNext: " + studentsInfoBaseResponse.data);
|
||||||
if (studentsInfoBaseResponse.code == OK) {
|
if (studentsInfoBaseResponse.code == OK) {
|
||||||
studesInfoListener.setStudentsInfo(studentsInfoBaseResponse.data);
|
studesInfoListener.setStudentsInfo(studentsInfoBaseResponse.data);
|
||||||
cacheHelper.put(UrlAddress.GET_STUDENTS_INFO, GsonUtils.toJsonString(studentsInfoBaseResponse.data));
|
cacheHelper.put(UrlAddress.GET_STUDENTS_INFO, GsonUtils.toJSONString(studentsInfoBaseResponse.data));
|
||||||
} else {
|
} else {
|
||||||
cacheHelper.put(UrlAddress.GET_STUDENTS_INFO, "");
|
cacheHelper.put(UrlAddress.GET_STUDENTS_INFO, "");
|
||||||
Log.e("getStudesInfo", "onNext: " + studentsInfoBaseResponse.toString());
|
Log.e("getStudesInfo", "onNext: " + studentsInfoBaseResponse.toString());
|
||||||
@@ -1991,7 +2057,7 @@ public class NetInterfaceManager {
|
|||||||
public void onNext(@NonNull BaseResponse<Batch> response) {
|
public void onNext(@NonNull BaseResponse<Batch> response) {
|
||||||
if (response.code == OK) {
|
if (response.code == OK) {
|
||||||
String batch = response.data.getBatch();
|
String batch = response.data.getBatch();
|
||||||
cacheHelper.put(CommonConfig.DEVICES_TAG, GsonUtils.toJsonString(response.data));
|
cacheHelper.put(CommonConfig.DEVICES_TAG, GsonUtils.toJSONString(response.data));
|
||||||
Log.e(TAG + ":" + "setPushTags", "onNext: " + batch);
|
Log.e(TAG + ":" + "setPushTags", "onNext: " + batch);
|
||||||
if (!TextUtils.isEmpty(batch)) {
|
if (!TextUtils.isEmpty(batch)) {
|
||||||
set.add(batch);
|
set.add(batch);
|
||||||
@@ -2359,7 +2425,7 @@ public class NetInterfaceManager {
|
|||||||
private void setBrowserBookmarks(BaseResponse<BrowserBookmarks> browserBookmarksBaseResponse) {
|
private void setBrowserBookmarks(BaseResponse<BrowserBookmarks> browserBookmarksBaseResponse) {
|
||||||
if (browserBookmarksBaseResponse.code == 200) {
|
if (browserBookmarksBaseResponse.code == 200) {
|
||||||
BrowserBookmarks browserBookmarks = browserBookmarksBaseResponse.data;
|
BrowserBookmarks browserBookmarks = browserBookmarksBaseResponse.data;
|
||||||
cacheHelper.put(UrlAddress.SET_HOMEPAG_TAG, GsonUtils.toJsonString(browserBookmarks));
|
cacheHelper.put(UrlAddress.SET_HOMEPAG_TAG, GsonUtils.toJSONString(browserBookmarks));
|
||||||
|
|
||||||
//主页不包含白名单添加进去
|
//主页不包含白名单添加进去
|
||||||
String homepagURL = browserBookmarks.getHomepage();
|
String homepagURL = browserBookmarks.getHomepage();
|
||||||
@@ -2453,7 +2519,7 @@ public class NetInterfaceManager {
|
|||||||
//黑白名单
|
//黑白名单
|
||||||
if (browserDataBaseResponse.code == 200) {
|
if (browserDataBaseResponse.code == 200) {
|
||||||
BrowserData browserData = browserDataBaseResponse.data;
|
BrowserData browserData = browserDataBaseResponse.data;
|
||||||
cacheHelper.put(UrlAddress.SET_BROWSER_LIST, GsonUtils.toJsonString(browserData));
|
cacheHelper.put(UrlAddress.SET_BROWSER_LIST, GsonUtils.toJSONString(browserData));
|
||||||
String white = browserData.getWhite();
|
String white = browserData.getWhite();
|
||||||
if (!TextUtils.isEmpty(white)) {
|
if (!TextUtils.isEmpty(white)) {
|
||||||
if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) {
|
if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) {
|
||||||
@@ -2540,7 +2606,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getScreenLockState", "onNext: " + response);
|
Log.e("getScreenLockState", "onNext: " + response);
|
||||||
if (response.code == OK) {
|
if (response.code == OK) {
|
||||||
ScreenLockState screenLockState = response.data;
|
ScreenLockState screenLockState = response.data;
|
||||||
cacheHelper.put(UrlAddress.GET_LOCK_SCREEN_STATE, GsonUtils.toJsonString(screenLockState));
|
cacheHelper.put(UrlAddress.GET_LOCK_SCREEN_STATE, GsonUtils.toJSONString(screenLockState));
|
||||||
int is_screen_lock = screenLockState.getIs_screen_lock();
|
int is_screen_lock = screenLockState.getIs_screen_lock();
|
||||||
String name = screenLockState.getName();
|
String name = screenLockState.getName();
|
||||||
listener.setScreenLockState(is_screen_lock == 1, name);
|
listener.setScreenLockState(is_screen_lock == 1, name);
|
||||||
@@ -2617,7 +2683,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getAppLimit", "onNext: " + baseResponse);
|
Log.e("getAppLimit", "onNext: " + baseResponse);
|
||||||
if (baseResponse.code == 200) {
|
if (baseResponse.code == 200) {
|
||||||
AppLimit appLimit = baseResponse.data;
|
AppLimit appLimit = baseResponse.data;
|
||||||
cacheHelper.put(UrlAddress.SET_WHITE_PACKAGE_LIST, GsonUtils.toJsonString(appLimit));
|
cacheHelper.put(UrlAddress.SET_WHITE_PACKAGE_LIST, GsonUtils.toJSONString(appLimit));
|
||||||
String result = appLimit.getResult();
|
String result = appLimit.getResult();
|
||||||
//开机图标 只记录后台传的包名
|
//开机图标 只记录后台传的包名
|
||||||
boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, result);
|
boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, result);
|
||||||
@@ -2701,7 +2767,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getAllAppList", "onNext: " + listBaseResponse);
|
Log.e("getAllAppList", "onNext: " + listBaseResponse);
|
||||||
if (listBaseResponse.code == 200) {
|
if (listBaseResponse.code == 200) {
|
||||||
List<AppListInfo> appListInfos = listBaseResponse.data;
|
List<AppListInfo> appListInfos = listBaseResponse.data;
|
||||||
cacheHelper.put(UrlAddress.GET_ALL_APP, GsonUtils.toJsonString(appListInfos));
|
cacheHelper.put(UrlAddress.GET_ALL_APP, GsonUtils.toJSONString(appListInfos));
|
||||||
getAppAutoStartUpdateAndNet(appListInfos);
|
getAppAutoStartUpdateAndNet(appListInfos);
|
||||||
} else {
|
} else {
|
||||||
cacheHelper.put(UrlAddress.GET_ALL_APP, "");
|
cacheHelper.put(UrlAddress.GET_ALL_APP, "");
|
||||||
@@ -2922,7 +2988,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getTopApp", "onNext: " + response.data);
|
Log.e("getTopApp", "onNext: " + response.data);
|
||||||
if (response.code == OK) {
|
if (response.code == OK) {
|
||||||
String app_package = response.data.getApp_package();
|
String app_package = response.data.getApp_package();
|
||||||
cacheHelper.put(UrlAddress.GET_TOP_APP_CONTROL, GsonUtils.toJsonString(response.data));
|
cacheHelper.put(UrlAddress.GET_TOP_APP_CONTROL, GsonUtils.toJSONString(response.data));
|
||||||
ForegroundAppUtil.setTopAppClass(mContext, app_package);
|
ForegroundAppUtil.setTopAppClass(mContext, app_package);
|
||||||
Settings.Global.putString(mContext.getContentResolver(), ForegroundAppUtil.TOPAPP_KEY, app_package);
|
Settings.Global.putString(mContext.getContentResolver(), ForegroundAppUtil.TOPAPP_KEY, app_package);
|
||||||
ForegroundAppUtil.openTopApp(mContext);
|
ForegroundAppUtil.openTopApp(mContext);
|
||||||
@@ -3069,7 +3135,7 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getPoweroffTime", "onNext: " + listBaseResponse);
|
Log.e("getPoweroffTime", "onNext: " + listBaseResponse);
|
||||||
if (listBaseResponse.code == 200) {
|
if (listBaseResponse.code == 200) {
|
||||||
List<PoweroffBean> poweroffBeanList = listBaseResponse.data;
|
List<PoweroffBean> poweroffBeanList = listBaseResponse.data;
|
||||||
String poweroffTime = GsonUtils.toJsonString(poweroffBeanList);
|
String poweroffTime = GsonUtils.toJSONString(poweroffBeanList);
|
||||||
cacheHelper.put(UrlAddress.GET_POWEROFF_TIME, poweroffTime);
|
cacheHelper.put(UrlAddress.GET_POWEROFF_TIME, poweroffTime);
|
||||||
mMMKV.encode("poweroffTime", poweroffTime);
|
mMMKV.encode("poweroffTime", poweroffTime);
|
||||||
} else {
|
} else {
|
||||||
@@ -3146,7 +3212,7 @@ public class NetInterfaceManager {
|
|||||||
public void onNext(BaseResponse<List<WiFiAlias>> listBaseResponse) {
|
public void onNext(BaseResponse<List<WiFiAlias>> listBaseResponse) {
|
||||||
Log.e("getWiFiPasswd", "onNext: " + listBaseResponse);
|
Log.e("getWiFiPasswd", "onNext: " + listBaseResponse);
|
||||||
if (listBaseResponse.code == OK) {
|
if (listBaseResponse.code == OK) {
|
||||||
cacheHelper.put(UrlAddress.GET_WIFI_ALIAS_PW, GsonUtils.toJsonString(listBaseResponse.data));
|
cacheHelper.put(UrlAddress.GET_WIFI_ALIAS_PW, GsonUtils.toJSONString(listBaseResponse.data));
|
||||||
WiFiUtils.saveWiFiPasswd(listBaseResponse.data);
|
WiFiUtils.saveWiFiPasswd(listBaseResponse.data);
|
||||||
mMMKV.encode("WiFiPassword", parseString(new Gson().toJson(listBaseResponse.data)).toString());
|
mMMKV.encode("WiFiPassword", parseString(new Gson().toJson(listBaseResponse.data)).toString());
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ public class UrlAddress {
|
|||||||
public static final String GET_ROM_APP = "And/getFirmwareApp";
|
public static final String GET_ROM_APP = "And/getFirmwareApp";
|
||||||
/*获取应用升级自启*/
|
/*获取应用升级自启*/
|
||||||
public static final String NET_AND_LAUNCH_API = "automatic/get";
|
public static final String NET_AND_LAUNCH_API = "automatic/get";
|
||||||
|
/*获取禁用的app包名*/
|
||||||
|
public static final String GET_SN_APP_ATTR = "automatic/getSnAppAttr";
|
||||||
/*获取顶部app管控*/
|
/*获取顶部app管控*/
|
||||||
public static final String GET_TOP_APP_CONTROL = "Sn/getSnAppControl";
|
public static final String GET_TOP_APP_CONTROL = "Sn/getSnAppControl";
|
||||||
/*APPID管控*/
|
/*APPID管控*/
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.aoleyun.sn.network.api.get;
|
||||||
|
|
||||||
|
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<BaseResponse<List<AppAttr>>> getSnAppAttr(
|
||||||
|
@Query("sn") String sn
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -5,9 +5,11 @@ import android.content.Intent;
|
|||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.aoleyun.sn.SystemInfoInterface;
|
import com.aoleyun.sn.SystemInfoInterface;
|
||||||
|
import com.aoleyun.sn.comm.CommonConfig;
|
||||||
import com.aoleyun.sn.comm.PackageNames;
|
import com.aoleyun.sn.comm.PackageNames;
|
||||||
import com.aoleyun.sn.utils.CacheUtils;
|
import com.aoleyun.sn.utils.CacheUtils;
|
||||||
import com.aoleyun.sn.utils.ForegroundAppUtil;
|
import com.aoleyun.sn.utils.ForegroundAppUtil;
|
||||||
@@ -15,6 +17,8 @@ import com.aoleyun.sn.utils.JGYUtils;
|
|||||||
import com.aoleyun.sn.utils.SPUtils;
|
import com.aoleyun.sn.utils.SPUtils;
|
||||||
import com.aoleyun.sn.utils.Utils;
|
import com.aoleyun.sn.utils.Utils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class RemoteService extends Service {
|
public class RemoteService extends Service {
|
||||||
@@ -89,5 +93,16 @@ public class RemoteService extends Service {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getDisableApp() throws RemoteException {
|
||||||
|
String disable_app_list = Settings.Global.getString(getContentResolver(), CommonConfig.AOLE_ACTION_DISABLE_APP);
|
||||||
|
Log.e(TAG, "getDisableApp: " + disable_app_list);
|
||||||
|
if (TextUtils.isEmpty(disable_app_list)) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
} else {
|
||||||
|
return new ArrayList<>(Arrays.asList(disable_app_list.split(",")));
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ public class MainSContact {
|
|||||||
void getDesktopIcon();
|
void getDesktopIcon();
|
||||||
/*获取应用自启升级和网络权限管理*/
|
/*获取应用自启升级和网络权限管理*/
|
||||||
void getAppAutoStartUpdateAndNet();
|
void getAppAutoStartUpdateAndNet();
|
||||||
|
/*获取禁用app*/
|
||||||
|
void getSnAppAttr();
|
||||||
/*获取第三方应用子页面ID连网限制*/
|
/*获取第三方应用子页面ID连网限制*/
|
||||||
void getAppIDControl();
|
void getAppIDControl();
|
||||||
/*获取第三方应用内部网页跳转屏蔽*/
|
/*获取第三方应用内部网页跳转屏蔽*/
|
||||||
@@ -134,6 +136,8 @@ public class MainSContact {
|
|||||||
void getDesktopIconFinish();
|
void getDesktopIconFinish();
|
||||||
/*获取应用自启升级和网络权限管理结束*/
|
/*获取应用自启升级和网络权限管理结束*/
|
||||||
void getAppAutoStartUpdateAndNetFinish();
|
void getAppAutoStartUpdateAndNetFinish();
|
||||||
|
/*获取禁用app*/
|
||||||
|
void getSnAppAttrFinish();
|
||||||
/*获取第三方应用子页面ID连网限制结束*/
|
/*获取第三方应用子页面ID连网限制结束*/
|
||||||
void getAppIDControlFinish();
|
void getAppIDControlFinish();
|
||||||
/*获取第三方应用内部网页跳转屏蔽结束*/
|
/*获取第三方应用内部网页跳转屏蔽结束*/
|
||||||
|
|||||||
@@ -374,6 +374,16 @@ public class MainSPresenter implements MainSContact.Presenter {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getSnAppAttr() {
|
||||||
|
NetInterfaceManager.getInstance().getSnAppAttr(new NetInterfaceManager.onCompleteCallback() {
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
mView.getSnAppAttrFinish();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getAppIDControl() {
|
public void getAppIDControl() {
|
||||||
NetInterfaceManager.getInstance()
|
NetInterfaceManager.getInstance()
|
||||||
|
|||||||
@@ -1022,6 +1022,11 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getAppAutoStartUpdateAndNetFinish() {
|
public void getAppAutoStartUpdateAndNetFinish() {
|
||||||
|
mPresenter.getSnAppAttr();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getSnAppAttrFinish() {
|
||||||
mPresenter.getAppIDControl();
|
mPresenter.getAppIDControl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import com.aoleyun.sn.bean.ScreenLockState;
|
|||||||
import com.aoleyun.sn.comm.CommonConfig;
|
import com.aoleyun.sn.comm.CommonConfig;
|
||||||
import com.aoleyun.sn.comm.JGYActions;
|
import com.aoleyun.sn.comm.JGYActions;
|
||||||
import com.aoleyun.sn.disklrucache.CacheHelper;
|
import com.aoleyun.sn.disklrucache.CacheHelper;
|
||||||
|
import com.aoleyun.sn.gson.GsonUtils;
|
||||||
import com.aoleyun.sn.gson.NullStringToEmptyAdapterFactory;
|
import com.aoleyun.sn.gson.NullStringToEmptyAdapterFactory;
|
||||||
import com.aoleyun.sn.manager.MapManager;
|
import com.aoleyun.sn.manager.MapManager;
|
||||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||||
@@ -43,7 +44,6 @@ import com.aoleyun.sn.utils.BatteryUtils;
|
|||||||
import com.aoleyun.sn.utils.CacheUtils;
|
import com.aoleyun.sn.utils.CacheUtils;
|
||||||
import com.aoleyun.sn.utils.CmdUtil;
|
import com.aoleyun.sn.utils.CmdUtil;
|
||||||
import com.aoleyun.sn.utils.ForegroundAppUtil;
|
import com.aoleyun.sn.utils.ForegroundAppUtil;
|
||||||
import com.aoleyun.sn.utils.GsonUtils;
|
|
||||||
import com.aoleyun.sn.utils.JGYUtils;
|
import com.aoleyun.sn.utils.JGYUtils;
|
||||||
import com.aoleyun.sn.utils.MySQLData;
|
import com.aoleyun.sn.utils.MySQLData;
|
||||||
import com.aoleyun.sn.utils.SPUtils;
|
import com.aoleyun.sn.utils.SPUtils;
|
||||||
@@ -182,8 +182,12 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
|||||||
private final String CLEAN_MEMORY = "47";
|
private final String CLEAN_MEMORY = "47";
|
||||||
/*运行日志设置*/
|
/*运行日志设置*/
|
||||||
private final String SN_LOG_SETTING = "48";
|
private final String SN_LOG_SETTING = "48";
|
||||||
|
/*禁止应用打开*/
|
||||||
|
private final String DISABLE_APP_USAGE = "51";
|
||||||
/*上传电池信息*/
|
/*上传电池信息*/
|
||||||
private final String INFO_BATTERY_INFO = "53";
|
private final String INFO_BATTERY_INFO = "53";
|
||||||
|
/*判断是否更新桌面*/
|
||||||
|
private final String UPDATE_DESKTOP = "56";
|
||||||
|
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
@@ -802,13 +806,33 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
|||||||
case SN_LOG_SETTING:
|
case SN_LOG_SETTING:
|
||||||
senSNLogFile(extras);
|
senSNLogFile(extras);
|
||||||
break;
|
break;
|
||||||
|
case DISABLE_APP_USAGE:
|
||||||
|
disableApp(content, extras);
|
||||||
|
break;
|
||||||
case INFO_BATTERY_INFO:
|
case INFO_BATTERY_INFO:
|
||||||
getBatteryInfo(context);
|
getBatteryInfo(context);
|
||||||
|
break;
|
||||||
|
case UPDATE_DESKTOP:
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void disableApp(String content, String extras) {
|
||||||
|
JsonObject jsonObject = GsonUtils.getJsonObject(extras);
|
||||||
|
try {
|
||||||
|
String packages = jsonObject.get("package").getAsString();
|
||||||
|
int is_open = jsonObject.get("is_open").getAsInt();
|
||||||
|
if (is_open == 0) {
|
||||||
|
JGYUtils.getInstance().killBackgroundProcesses(packages);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, "disableApp: " + e.getMessage());
|
||||||
|
}
|
||||||
|
Handler.getMain().postDelayed(() -> NetInterfaceManager.getInstance().getSnAppAttr(), 1234);
|
||||||
|
}
|
||||||
|
|
||||||
private void setLock_screen(int state, String name) {
|
private void setLock_screen(int state, String name) {
|
||||||
if (ServiceAliveUtils.isServiceAlive(mContext)) {
|
if (ServiceAliveUtils.isServiceAlive(mContext)) {
|
||||||
mContext.startService(new Intent(mContext, MainService.class));
|
mContext.startService(new Intent(mContext, MainService.class));
|
||||||
@@ -816,7 +840,7 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
|||||||
ScreenLockState screenLockState = new ScreenLockState();
|
ScreenLockState screenLockState = new ScreenLockState();
|
||||||
screenLockState.setIs_screen_lock(state);
|
screenLockState.setIs_screen_lock(state);
|
||||||
screenLockState.setName(name);
|
screenLockState.setName(name);
|
||||||
cacheHelper.put(UrlAddress.GET_LOCK_SCREEN_STATE, GsonUtils.toJsonString(screenLockState));
|
cacheHelper.put(UrlAddress.GET_LOCK_SCREEN_STATE, GsonUtils.toJSONString(screenLockState));
|
||||||
Intent intent = new Intent();
|
Intent intent = new Intent();
|
||||||
intent.putExtra("name", name);
|
intent.putExtra("name", name);
|
||||||
if (state == 1) {
|
if (state == 1) {
|
||||||
|
|||||||
@@ -944,6 +944,30 @@ public class ApkUtils {
|
|||||||
this.add("com.android.calculator2");
|
this.add("com.android.calculator2");
|
||||||
this.add("com.qi.TFSystem");
|
this.add("com.qi.TFSystem");
|
||||||
this.add("com.qi.appstore");
|
this.add("com.qi.appstore");
|
||||||
|
|
||||||
|
this.add("com.wyt.evaluating");
|
||||||
|
this.add("com.wyt.picturebook");
|
||||||
|
this.add("com.hhdd.kadahd");
|
||||||
|
this.add("com.wyt.onlinedic");
|
||||||
|
this.add("com.ximalaya.ting.kid");
|
||||||
|
this.add("com.baidu.duershow.child");
|
||||||
|
this.add("com.gl.souti");
|
||||||
|
this.add("com.ihuman.pinyin");
|
||||||
|
this.add("com.hongen.app.word");
|
||||||
|
this.add("com.wyt.parents_assistant");
|
||||||
|
this.add("com.wyt.forbitpoint");
|
||||||
|
this.add("com.wyt.lessonhelper");
|
||||||
|
this.add("com.wyt.wangkexueximvvm");
|
||||||
|
this.add("com.wyt.clicktoread");
|
||||||
|
this.add("com.robot.app_ai");
|
||||||
|
this.add("com.wyt.appstore");
|
||||||
|
this.add("air.com.wyt.GLLearnMain");
|
||||||
|
this.add("com.wyt.examcenter");
|
||||||
|
|
||||||
|
this.add("com.gl.compositioncorrection");
|
||||||
|
this.add("com.gl.compositioncorrectionen");
|
||||||
|
this.add("cn.wps.moffice_eng");
|
||||||
|
this.add("com.ckl.launcher");
|
||||||
}};
|
}};
|
||||||
|
|
||||||
public static void showAllAPP(Context context) {
|
public static void showAllAPP(Context context) {
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
package com.aoleyun.sn.utils;
|
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import com.google.gson.JsonObject;
|
|
||||||
import com.google.gson.JsonParser;
|
|
||||||
import com.google.gson.reflect.TypeToken;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.lang.reflect.Type;
|
|
||||||
|
|
||||||
|
|
||||||
public class GsonUtils {
|
|
||||||
public static JsonObject getJsonObject(String jsonString) {
|
|
||||||
JsonObject jsonObject = JsonParser.parseString(jsonString).getAsJsonObject();
|
|
||||||
return jsonObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: 2022/3/31 暂时没有实现
|
|
||||||
public static <T> T getJsonFromType(String jsonString, Class clazz) {
|
|
||||||
Gson gson = new Gson();
|
|
||||||
T t = (T) gson.fromJson(jsonString, clazz);
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String toJsonString(Object o) {
|
|
||||||
return new Gson().toJson(o);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1120,10 +1120,12 @@ public class JGYUtils {
|
|||||||
this.add("com.calendar.uiui");
|
this.add("com.calendar.uiui");
|
||||||
this.add("com.alarmclock.uiui");
|
this.add("com.alarmclock.uiui");
|
||||||
this.add("com.uiui.videoplayer");
|
this.add("com.uiui.videoplayer");
|
||||||
|
|
||||||
}};
|
}};
|
||||||
HashSet<String> pkgSet = new HashSet<>(Arrays.asList(packageList.split(",")));
|
HashSet<String> pkgSet = new HashSet<>(Arrays.asList(packageList.split(",")));
|
||||||
pkgSet.addAll(packages);
|
pkgSet.addAll(packages);
|
||||||
|
pkgSet.addAll(ApkUtils.desktopAPP);
|
||||||
|
pkgSet.addAll(ApkUtils.aoleyunAPP);
|
||||||
|
pkgSet.addAll(ApkUtils.aihuaApp);
|
||||||
pkgSet.removeIf(TextUtils::isEmpty);
|
pkgSet.removeIf(TextUtils::isEmpty);
|
||||||
String aole_app_forbid = String.join(",", pkgSet);
|
String aole_app_forbid = String.join(",", pkgSet);
|
||||||
Log.e(TAG, "writeAppPackageList: " + aole_app_forbid);
|
Log.e(TAG, "writeAppPackageList: " + aole_app_forbid);
|
||||||
@@ -1799,6 +1801,7 @@ public class JGYUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void removeTask(String packageName) {
|
public void removeTask(String packageName) {
|
||||||
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {
|
||||||
List<ActivityManager.RecentTaskInfo> list = getRecentTasks(ActivityManager.getMaxRecentTasksStatic(), getCurrentUserId());
|
List<ActivityManager.RecentTaskInfo> list = getRecentTasks(ActivityManager.getMaxRecentTasksStatic(), getCurrentUserId());
|
||||||
HashMap<String, Integer> taskMap = new HashMap<>();
|
HashMap<String, Integer> taskMap = new HashMap<>();
|
||||||
for (ActivityManager.RecentTaskInfo info : list) {
|
for (ActivityManager.RecentTaskInfo info : list) {
|
||||||
@@ -1812,6 +1815,10 @@ public class JGYUtils {
|
|||||||
} catch (NullPointerException e) {
|
} catch (NullPointerException e) {
|
||||||
Log.e(TAG, "removeTask: " + e.getMessage());
|
Log.e(TAG, "removeTask: " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
ActivityManager activityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
|
||||||
|
// TODO: 2022/10/25
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user