优化白名单

1.3
This commit is contained in:
2022-10-20 17:44:57 +08:00
parent 4cd2e8e534
commit 73dbcedf4a
7 changed files with 267 additions and 112 deletions

View File

@@ -73,8 +73,8 @@ android {
official { official {
flavorDimensions "default" flavorDimensions "default"
versionCode 2 versionCode 4
versionName "1.1" versionName "1.3"
} }
} }

View File

@@ -1,11 +1,13 @@
package com.fuying.sn.bean; package com.fuying.sn.bean;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonParser; import com.google.gson.JsonParser;
import java.io.Serializable; import java.io.Serializable;
import java.util.Objects;
public class AppInfo implements Serializable { public class AppInfo implements Serializable {
private static final long serialVersionUID = 423463220624853188L; private static final long serialVersionUID = 423463220624853188L;
@@ -227,6 +229,21 @@ public class AppInfo implements Serializable {
this.app_md5 = app_md5; this.app_md5 = app_md5;
} }
@Override
public boolean equals(@Nullable Object obj) {
if (!(obj instanceof AppInfo))
return false;
AppInfo appInfo = (AppInfo) obj;
return Objects.equals(appInfo.getApp_package(), this.app_package)
&& Objects.equals(appInfo.getApp_url(), this.app_url)
&& Objects.equals(appInfo.getApp_version_name(), this.app_version_name)
&& appInfo.getApp_id() == this.app_id
&& appInfo.getApp_size() == this.app_size
&& appInfo.getApp_version_code() == this.app_version_code
;
}
@NonNull @NonNull
@Override @Override
public String toString() { public String toString() {

View File

@@ -707,6 +707,7 @@ public class RunningAppManager {
AppTimeControl appTimeControl = TimeControlManager.getInstance().getAppTimeControl(pkg); AppTimeControl appTimeControl = TimeControlManager.getInstance().getAppTimeControl(pkg);
if (appTimeControl.getIs_control() == 0) { if (appTimeControl.getIs_control() == 0) {
ToastUtil.show("应用已被禁用"); ToastUtil.show("应用已被禁用");
Log.e(TAG, "inControlTime: " + "应用已被禁用");
return true; return true;
} }
if (appTimeControl.getTc_use_type() == 0) { if (appTimeControl.getTc_use_type() == 0) {
@@ -719,6 +720,8 @@ public class RunningAppManager {
if (inControlTime) { if (inControlTime) {
Log.i(TAG, "inControlTime: " + "应用在管控时间段不能打开" + appTimeControl.time_part.toString()); Log.i(TAG, "inControlTime: " + "应用在管控时间段不能打开" + appTimeControl.time_part.toString());
ToastUtil.show("该应用" + partTime2String(appTimeControl)); ToastUtil.show("该应用" + partTime2String(appTimeControl));
Log.e(TAG, "inControlTime: " + "该应用" + partTime2String(appTimeControl));
return true; return true;
} else { } else {
if (appTimeControl.getIs_quota() == 0) { if (appTimeControl.getIs_quota() == 0) {
@@ -728,6 +731,8 @@ public class RunningAppManager {
if (getAppRemainingTime(pkg) <= 0) { if (getAppRemainingTime(pkg) <= 0) {
//没有剩余时间 //没有剩余时间
ToastUtil.show("该应用今日可使用时间已用完"); ToastUtil.show("该应用今日可使用时间已用完");
Log.e(TAG, "inControlTime: " + "该应用今日可使用时间已用完");
return true; return true;
} else { } else {
return false; return false;
@@ -735,12 +740,14 @@ public class RunningAppManager {
} }
} else { } else {
if (appTimeControl.getIs_quota() == 0) { if (appTimeControl.getIs_quota() == 0) {
// ToastUtil.show("没有使用额度"); ToastUtil.show("没有使用额度");
Log.e(TAG, "inControlTime: " + "没有使用额度");
return false; return false;
} }
if (getAppRemainingTime(pkg) <= 0) { if (getAppRemainingTime(pkg) <= 0) {
//没有剩余时间 //没有剩余时间
ToastUtil.show("该应用今日可使用时间已用完"); ToastUtil.show("该应用今日可使用时间已用完");
Log.e(TAG, "inControlTime: " + "该应用今日可使用时间已用完");
return true; return true;
} else { } else {
return false; return false;

View File

@@ -15,35 +15,26 @@ import android.util.Log;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.tencent.android.tpush.XGIOperateCallback;
import com.tencent.android.tpush.XGPushManager;
import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.fuying.sn.BuildConfig; import com.fuying.sn.BuildConfig;
import com.fuying.sn.bean.AppInfo; import com.fuying.sn.bean.AppInfo;
import com.fuying.sn.bean.AppJump; import com.fuying.sn.bean.AppJump;
import com.fuying.sn.bean.AppStart; import com.fuying.sn.bean.AppStart;
import com.fuying.sn.bean.MyAppUsageBean;
import com.fuying.sn.bean.OverallAppBean;
import com.fuying.sn.desktop.AppTimeControl;
import com.fuying.sn.bean.AppUploadInfo; import com.fuying.sn.bean.AppUploadInfo;
import com.fuying.sn.bean.AppletQRCode; import com.fuying.sn.bean.AppletQRCode;
import com.fuying.sn.bean.BaseResponse; import com.fuying.sn.bean.BaseResponse;
import com.fuying.sn.bean.BatchID; import com.fuying.sn.bean.BatchID;
import com.fuying.sn.bean.CloudLessonSetting; import com.fuying.sn.bean.CloudLessonSetting;
import com.fuying.sn.bean.Label; import com.fuying.sn.bean.Label;
import com.fuying.sn.desktop.MachineControl; import com.fuying.sn.bean.MyAppUsageBean;
import com.fuying.sn.bean.OverallAppBean;
import com.fuying.sn.bean.SnInfo; import com.fuying.sn.bean.SnInfo;
import com.fuying.sn.bean.SystemSettingsSet; import com.fuying.sn.bean.SystemSettingsSet;
import com.fuying.sn.bean.UserAvatarInfo; import com.fuying.sn.bean.UserAvatarInfo;
import com.fuying.sn.bean.browser.BrowserApiData; import com.fuying.sn.bean.browser.BrowserApiData;
import com.fuying.sn.bean.browser.BrowserBean; import com.fuying.sn.bean.browser.BrowserBean;
import com.fuying.sn.config.CommonConfig; import com.fuying.sn.config.CommonConfig;
import com.fuying.sn.desktop.AppTimeControl;
import com.fuying.sn.desktop.MachineControl;
import com.fuying.sn.desktop.RunningAppManager; import com.fuying.sn.desktop.RunningAppManager;
import com.fuying.sn.desktop.TimeControlManager; import com.fuying.sn.desktop.TimeControlManager;
import com.fuying.sn.disklrucache.CacheHelper; import com.fuying.sn.disklrucache.CacheHelper;
@@ -60,6 +51,7 @@ import com.fuying.sn.network.api.Browser;
import com.fuying.sn.network.api.BrowserLabel; import com.fuying.sn.network.api.BrowserLabel;
import com.fuying.sn.network.api.CloudLessonSettingApi; import com.fuying.sn.network.api.CloudLessonSettingApi;
import com.fuying.sn.network.api.ForceInstall; import com.fuying.sn.network.api.ForceInstall;
import com.fuying.sn.network.api.GetAdminAppApi;
import com.fuying.sn.network.api.GetBatchApi; import com.fuying.sn.network.api.GetBatchApi;
import com.fuying.sn.network.api.GetControlScreenshotApi; import com.fuying.sn.network.api.GetControlScreenshotApi;
import com.fuying.sn.network.api.GetGuideApi; import com.fuying.sn.network.api.GetGuideApi;
@@ -91,6 +83,15 @@ import com.fuying.sn.utils.MD5Util;
import com.fuying.sn.utils.SPUtils; import com.fuying.sn.utils.SPUtils;
import com.fuying.sn.utils.URLUtils; import com.fuying.sn.utils.URLUtils;
import com.fuying.sn.utils.Utils; import com.fuying.sn.utils.Utils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.tencent.android.tpush.XGIOperateCallback;
import com.tencent.android.tpush.XGPushManager;
import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -494,6 +495,14 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread()); .observeOn(AndroidSchedulers.mainThread());
} }
public Observable<BaseResponse<List<AppInfo>>> getAdminAppObservable() {
return mRetrofit.create(GetAdminAppApi.class)
.getAdminApp(Utils.getSerial())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/* /*
* *
* execution * execution
@@ -1246,7 +1255,7 @@ public class NetInterfaceManager {
}.getType(); }.getType();
AppletQRCode appletQRCode = gson.fromJson(jsonString, type); AppletQRCode appletQRCode = gson.fromJson(jsonString, type);
String url = ""; String url = "";
if (appletQRCode == null) { if (appletQRCode != null) {
url = appletQRCode.getFile(); url = appletQRCode.getFile();
} }
callback.onNext(url); callback.onNext(url);
@@ -1507,8 +1516,9 @@ public class NetInterfaceManager {
} }
public void setAppState(List<AppStart> list) { public void setAppState(List<AppStart> list) {
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, "null");
// setAppAutoStart( list); // setAppAutoStart( list);
setAppNetwork(list); // setAppNetwork(list);
setAppUpdate(list); setAppUpdate(list);
setAppSlide(list); setAppSlide(list);
setAppHide(list); setAppHide(list);
@@ -1859,49 +1869,55 @@ public class NetInterfaceManager {
*/ */
@SuppressLint("NewApi") @SuppressLint("NewApi")
public void getAllappPackage() { public void getAllappPackage() {
getQueryAllAppControl() getAppWhiteList(new WhiteListCallback() {
.subscribe(new Observer<BaseResponse<List<AppInfo>>>() { @Override
@Override public void onComplet() {
public void onSubscribe(@NonNull Disposable d) {
Log.e("getAllappPackage", "onSubscribe: ");
}
@Override }
public void onNext(@NonNull BaseResponse<List<AppInfo>> listBaseResponse) { });
int code = listBaseResponse.code; // getQueryAllAppControl()
if (code == 200) { // .subscribe(new Observer<BaseResponse<List<AppInfo>>>() {
Log.e("getAllappPackage", "onNext: " + listBaseResponse); // @Override
List<AppInfo> appInfoList = listBaseResponse.data; // public void onSubscribe(@NonNull Disposable d) {
if (null != appInfoList && appInfoList.size() != 0) { // Log.e("getAllappPackage", "onSubscribe: ");
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, GsonUtils.toJSONString(appInfoList)); // }
HashSet<String> allAppPkg = new HashSet<>(); //
for (AppInfo appInfo : appInfoList) { // @Override
allAppPkg.add(appInfo.getApp_package()); // public void onNext(@NonNull BaseResponse<List<AppInfo>> listBaseResponse) {
} // int code = listBaseResponse.code;
String allPkgSet = String.join(",", allAppPkg); // if (code == 200) {
Settings.System.putString(crv, CommonConfig.ONLY_SHORTCUT_LIST, allPkgSet); // Log.e("getAllappPackage", "onNext: " + listBaseResponse);
ApkUtils.writeAppPackageList(mContext, allPkgSet); // List<AppInfo> appInfoList = listBaseResponse.data;
getAppStart(appInfoList); // if (null != appInfoList && appInfoList.size() != 0) {
} else { // mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, GsonUtils.toJSONString(appInfoList));
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, ""); // HashSet<String> allAppPkg = new HashSet<>();
ApkUtils.writeAppPackageList(mContext, ""); // for (AppInfo appInfo : appInfoList) {
} // allAppPkg.add(appInfo.getApp_package());
} else { // }
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, ""); // String allPkgSet = String.join(",", allAppPkg);
ApkUtils.writeAppPackageList(mContext, ""); // Settings.System.putString(crv, CommonConfig.ONLY_SHORTCUT_LIST, allPkgSet);
} // ApkUtils.writeAppPackageList(mContext, allPkgSet);
} // getAppStart(appInfoList);
// } else {
@Override // mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
public void onError(@NonNull Throwable e) { // ApkUtils.writeAppPackageList(mContext, "");
Log.e("getAllappPackage", "onError: " + e.getMessage()); // }
} // } else {
// mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
@Override // ApkUtils.writeAppPackageList(mContext, "");
public void onComplete() { // }
Log.e("getAllappPackage", "onComplete: "); // }
} //
}); // @Override
// public void onError(@NonNull Throwable e) {
// Log.e("getAllappPackage", "onError: " + e.getMessage());
// }
//
// @Override
// public void onComplete() {
// Log.e("getAllappPackage", "onComplete: ");
// }
// });
} }
public void getForceInstall(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) { public void getForceInstall(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
@@ -2662,6 +2678,98 @@ public class NetInterfaceManager {
@Override @Override
public void onComplete() { public void onComplete() {
Log.e("getAppJump", "onComplete: "); Log.e("getAppJump", "onComplete: ");
completeCallback.onComplete();
}
});
}
public void getAdminApp() {
getAdminAppObservable()
.subscribe(new Observer<BaseResponse<List<AppInfo>>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getAdminApp", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<List<AppInfo>> baseResponse) {
Log.e("getAdminApp", "onNext: " + baseResponse);
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getAdminApp", "onError: ");
}
@Override
public void onComplete() {
Log.e("getAdminApp", "onComplete: ");
}
});
}
public interface WhiteListCallback {
void onComplet();
}
public void getAppWhiteList(WhiteListCallback callback) {
Observable.zip(getQueryAllAppControl(), getAdminAppObservable(), new BiFunction<BaseResponse<List<AppInfo>>, BaseResponse<List<AppInfo>>, HashSet<AppInfo>>() {
@Override
public HashSet<AppInfo> apply(BaseResponse<List<AppInfo>> listBaseResponse1, BaseResponse<List<AppInfo>> listBaseResponse2) throws Throwable {
HashSet<AppInfo> appInfos = new HashSet<>();
int code1 = listBaseResponse1.code;
if (code1 == 200) {
List<AppInfo> appInfos1 = listBaseResponse1.data;
if (appInfos1 != null && appInfos1.size() != 0) {
appInfos.addAll(appInfos1);
List<String> allPkgSet = appInfos1.stream().map(AppInfo::getApp_package).collect(Collectors.toList());
String allPkgString = String.join(",", allPkgSet);
Settings.System.putString(mContext.getContentResolver(), CommonConfig.ONLY_SHORTCUT_LIST, allPkgString);
Log.e("getAppWhiteList", "onNext: " + allPkgString);
}
}
int code2 = listBaseResponse2.code;
if (code2 == 200) {
List<AppInfo> appInfos2 = listBaseResponse2.data;
if (appInfos2 != null) {
appInfos.addAll(appInfos2);
}
}
return appInfos;
}
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<HashSet<AppInfo>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getAppWhiteList", "onSubscribe: ");
}
@Override
public void onNext(@NonNull HashSet<AppInfo> appInfos) {
Log.e("getAppWhiteList", "onNext: " + appInfos);
if (appInfos.size() == 0) {
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
ApkUtils.writeAppPackageList(mContext, "");
} else {
HashSet<String> pkgList = new HashSet<>(appInfos.stream().map(AppInfo::getApp_package).collect(Collectors.toSet()));
String pkgListString = String.join(",", pkgList);
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, GsonUtils.toJSONString(appInfos));
ApkUtils.writeAppPackageList(mContext, pkgListString);
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getAppWhiteList", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onComplete() {
Log.e("getAppWhiteList", "onComplete: ");
callback.onComplet();
} }
}); });
} }

View File

@@ -19,6 +19,8 @@ public class UrlAddress {
public final static String SEND_DRIVE_STATE = "Online/online"; public final static String SEND_DRIVE_STATE = "Online/online";
/*获取所有应用*/ /*获取所有应用*/
public final static String GET_ALL_PACKAGE = "app/queryAllApp"; public final static String GET_ALL_PACKAGE = "app/queryAllApp";
/*获取管理员上传的应用*/
public final static String GET_ADMIN_APP = "getAdminApp";
/*绑定设备消息*/ /*绑定设备消息*/
public final static String BIND_DEVICES = "sn/bindSn"; public final static String BIND_DEVICES = "sn/bindSn";
/*获取系统设置*/ /*获取系统设置*/

View File

@@ -0,0 +1,18 @@
package com.fuying.sn.network.api;
import com.fuying.sn.bean.AppInfo;
import com.fuying.sn.bean.BaseResponse;
import com.fuying.sn.network.UrlAddress;
import java.util.List;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface GetAdminAppApi {
@GET(UrlAddress.GET_ADMIN_APP)
Observable<BaseResponse<List<AppInfo>>> getAdminApp(
@Query("sn") String sn
);
}

View File

@@ -13,7 +13,6 @@ import com.google.gson.JsonObject;
import com.tencent.mmkv.MMKV; import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent; import com.trello.rxlifecycle4.android.ActivityEvent;
import com.fuying.sn.bean.AppInfo;
import com.fuying.sn.bean.AppStart; import com.fuying.sn.bean.AppStart;
import com.fuying.sn.bean.BaseResponse; import com.fuying.sn.bean.BaseResponse;
import com.fuying.sn.bean.Label; import com.fuying.sn.bean.Label;
@@ -26,9 +25,7 @@ import com.fuying.sn.desktop.RunningAppManager;
import com.fuying.sn.disklrucache.CacheHelper; import com.fuying.sn.disklrucache.CacheHelper;
import com.fuying.sn.manager.ControlManager; import com.fuying.sn.manager.ControlManager;
import com.fuying.sn.network.NetInterfaceManager; import com.fuying.sn.network.NetInterfaceManager;
import com.fuying.sn.network.UrlAddress;
import com.fuying.sn.service.ManagerService; import com.fuying.sn.service.ManagerService;
import com.fuying.sn.utils.ApkUtils;
import com.fuying.sn.gson.GsonUtils; import com.fuying.sn.gson.GsonUtils;
import com.fuying.sn.utils.JGYUtils; import com.fuying.sn.utils.JGYUtils;
import com.fuying.sn.utils.SPUtils; import com.fuying.sn.utils.SPUtils;
@@ -36,7 +33,6 @@ import com.fuying.sn.utils.ServiceAliveUtils;
import com.fuying.sn.utils.URLUtils; import com.fuying.sn.utils.URLUtils;
import com.fuying.sn.utils.Utils; import com.fuying.sn.utils.Utils;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -146,55 +142,62 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override @Override
@SuppressLint("NewApi") @SuppressLint("NewApi")
public void getAllApp() { public void getAllApp() {
NetInterfaceManager.getInstance() // NetInterfaceManager.getInstance()
.getQueryAllAppControl() // .getQueryAllAppControl()
.compose(RxLifecycle.bindUntilEvent(getLifecycle(), ActivityEvent.DESTROY)) // .compose(RxLifecycle.bindUntilEvent(getLifecycle(), ActivityEvent.DESTROY))
.subscribe(new Observer<BaseResponse<List<AppInfo>>>() { // .subscribe(new Observer<BaseResponse<List<AppInfo>>>() {
@Override // @Override
public void onSubscribe(Disposable d) { // public void onSubscribe(Disposable d) {
Log.e("getAllApp", "onSubscribe: "); // Log.e("getAllApp", "onSubscribe: ");
} // }
//
// @Override
// public void onNext(BaseResponse<List<AppInfo>> listBaseResponse) {
// Log.e("getAllApp", "onNext: " + listBaseResponse);
// int code = listBaseResponse.code;
// if (code == 200) {
// List<AppInfo> appInfoList = listBaseResponse.data;
// if (appInfoList == null || appInfoList.size() == 0) {
// mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
// ApkUtils.writeAppPackageList(mContext, "");
// } else {
// mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, GsonUtils.toJSONString(appInfoList));
// HashSet allPkgSet = new HashSet<String>();
// for (AppInfo pkg : appInfoList) {
// allPkgSet.add(pkg.getApp_package());
// }
// String allPkgString = String.join(",", allPkgSet);
// Settings.System.putString(mContext.getContentResolver(), CommonConfig.ONLY_SHORTCUT_LIST, allPkgString);
// Log.e("getAllApp", "onNext: " + allPkgString);
// ApkUtils.writeAppPackageList(mContext, allPkgString);
// NetInterfaceManager.getInstance().getAppStart(appInfoList);
// }
// JGYUtils.getInstance().deleteOtherApp();
// } else {
// mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
// ApkUtils.writeAppPackageList(mContext, "");
// }
// }
//
// @Override
// public void onError(Throwable e) {
// Log.e("getAllApp", "onError: " + e.getMessage());
// onComplete();
// }
//
// @Override
// public void onComplete() {
// Log.e("getAllApp", "onComplete: ");
// mView.getAllAppFinish();
// }
// });
@Override NetInterfaceManager.getInstance().getAppWhiteList(new NetInterfaceManager.WhiteListCallback() {
public void onNext(BaseResponse<List<AppInfo>> listBaseResponse) { @Override
Log.e("getAllApp", "onNext: " + listBaseResponse); public void onComplet() {
int code = listBaseResponse.code; mView.getAllAppFinish();
if (code == 200) { }
List<AppInfo> appInfoList = listBaseResponse.data; });
if (appInfoList == null || appInfoList.size() == 0) {
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
ApkUtils.writeAppPackageList(mContext, "");
} else {
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, GsonUtils.toJSONString(appInfoList));
HashSet allPkgSet = new HashSet<String>();
for (AppInfo pkg : appInfoList) {
allPkgSet.add(pkg.getApp_package());
}
String allPkgString = String.join(",", allPkgSet);
Settings.System.putString(mContext.getContentResolver(), CommonConfig.ONLY_SHORTCUT_LIST, allPkgString);
Log.e("getAllApp", "onNext: " + allPkgString);
ApkUtils.writeAppPackageList(mContext, allPkgString);
NetInterfaceManager.getInstance().getAppStart(appInfoList);
}
JGYUtils.getInstance().deleteOtherApp();
} else {
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
ApkUtils.writeAppPackageList(mContext, "");
}
}
@Override
public void onError(Throwable e) {
Log.e("getAllApp", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onComplete() {
Log.e("getAllApp", "onComplete: ");
mView.getAllAppFinish();
}
});
} }
@Override @Override