fix: 修复更改批次不删除原来的app,修复升级会删除公共应用

This commit is contained in:
2026-04-27 16:12:01 +08:00
parent d955edce80
commit 055e63d1a0
8 changed files with 49 additions and 50 deletions

View File

@@ -29,8 +29,8 @@ android {
defaultConfig { defaultConfig {
applicationId "com.aoleyun.sn" applicationId "com.aoleyun.sn"
versionCode 212 versionCode 214
versionName "1.6.0421" versionName "1.6.0427"
//There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature. //There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature.
minSdkVersion 24 minSdkVersion 24

View File

@@ -25,7 +25,6 @@ import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.R; import com.aoleyun.sn.R;
import com.aoleyun.sn.activity.main.MainActivity; import com.aoleyun.sn.activity.main.MainActivity;
import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.CommonConfig;
import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.comm.PackageNames; import com.aoleyun.sn.comm.PackageNames;
import com.aoleyun.sn.network.NetInterfaceManager; import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.service.LogcatService; import com.aoleyun.sn.service.LogcatService;
@@ -101,7 +100,7 @@ public class SplashActivity extends AppCompatActivity {
Utils.getAndroiodScreenProperty(SplashActivity.this); Utils.getAndroiodScreenProperty(SplashActivity.this);
Log.e(TAG, "getOperators: " + NetworkUtils.getOperators(this)); Log.e(TAG, "getOperators: " + NetworkUtils.getOperators(this));
Log.e(TAG, "PublicIP: " + mMMKV.decodeString(NetInterfaceManager.PublicIP, "")); Log.e(TAG, "PublicIP: " + mMMKV.decodeString(NetInterfaceManager.PublicIP, ""));
NetInterfaceManager.GetWhois(); NetInterfaceManager.getWhois();
Log.e(TAG, "initView: " + NetworkUtils.getPhoneNumber(this)); Log.e(TAG, "initView: " + NetworkUtils.getPhoneNumber(this));
FlowInfo flowInfo1 = GetFlowUtil.getAppFlowInfo(BuildConfig.APPLICATION_ID, this); FlowInfo flowInfo1 = GetFlowUtil.getAppFlowInfo(BuildConfig.APPLICATION_ID, this);
Log.e(TAG, "initView: " + GetFlowUtil.byteToMB(flowInfo1.getUpKb())); Log.e(TAG, "initView: " + GetFlowUtil.byteToMB(flowInfo1.getUpKb()));

View File

@@ -115,6 +115,8 @@ public class CommonConfig {
public final static String AOLE_APP_ALLOW_INSTALL = "aole_app_allow_install"; public final static String AOLE_APP_ALLOW_INSTALL = "aole_app_allow_install";
/*应用安装白名单*/ /*应用安装白名单*/
public final static String AOLE_ACTION_APP_FORBID = "aole_app_forbid"; public final static String AOLE_ACTION_APP_FORBID = "aole_app_forbid";
/*公共应用白名单*/
public final static String AOLE_PUBLIC_APP_INSTALL_WHITELIST = "aole_public_app_install_whitelist_set";
/*强制安装应用,禁止卸载*/ /*强制安装应用,禁止卸载*/
public final static String AOLE_ACTION_FORCE_APP = "aole_force_app"; public final static String AOLE_ACTION_FORCE_APP = "aole_force_app";
/*指定应用安装源 非指定包名不能安装apk*/ /*指定应用安装源 非指定包名不能安装apk*/

View File

@@ -720,7 +720,7 @@ public class NetInterfaceManager {
public Observable<BaseResponse<SnRunLog>> getSnRunLogControl() { public Observable<BaseResponse<SnRunLog>> getSnRunLogControl() {
return mRetrofit.create(GetSnRunLogApi.class) return mRetrofit.create(GetSnRunLogApi.class)
.GetSnRunLog(Utils.getSerial(mContext)) .getSnRunLog(Utils.getSerial(mContext))
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()); .observeOn(AndroidSchedulers.mainThread());
} }
@@ -732,14 +732,14 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread()); .observeOn(AndroidSchedulers.mainThread());
} }
public Observable<BaseResponse<List<AppListInfo>>> GetAllAppApiControl() { public Observable<BaseResponse<List<AppListInfo>>> getAllAppApiControl() {
return mRetrofit.create(GetAllAppApi.class) return mRetrofit.create(GetAllAppApi.class)
.getAllAppList(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext)) .getAllAppList(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext))
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()); .observeOn(AndroidSchedulers.mainThread());
} }
public Observable<BaseResponse> GetNetworkConnectControl(String time) { public Observable<BaseResponse> getNetworkConnectControl(String time) {
return mRetrofit.create(NetworkConnectApi.class) return mRetrofit.create(NetworkConnectApi.class)
.sendNetwork(Utils.getSerial(mContext), time) .sendNetwork(Utils.getSerial(mContext), time)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
@@ -1371,26 +1371,20 @@ public class NetInterfaceManager {
public void onNext(@NonNull BaseResponse<List<ForceDownloadData>> forceDownloadBean) { public void onNext(@NonNull BaseResponse<List<ForceDownloadData>> forceDownloadBean) {
Log.e("getForceDownload", "onNext: " + forceDownloadBean); Log.e("getForceDownload", "onNext: " + forceDownloadBean);
if (forceDownloadBean.code == OK) { if (forceDownloadBean.code == OK) {
Log.e("getForceDownload", "onNext: getAsString: " + 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));
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());
boolean aole_force_app = Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, String.join(",", forceApp)); Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, String.join(",", forceApp));
Log.e("getForceDownload", "aole_force_app:" + aole_force_app);
if (JgyUtils.isAllWinnerDevice()) { if (JgyUtils.isAllWinnerDevice()) {
AllwinnerCubeMdmManager.getInstance().setForbidUnInstallPackageList(forceApp); AllwinnerCubeMdmManager.getInstance().setForbidUnInstallPackageList(forceApp);
} }
} else if (forceDownloadBean.code == -200) { } else if (forceDownloadBean.code == -200) {
cacheHelper.put(UrlAddress.GET_FORCE_INSTALL_LIST, ""); Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, "invalid");
boolean aole_force_app = Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, "invalid");
Log.e("getForceDownload", "aole_force_app:" + aole_force_app);
if (JgyUtils.isAllWinnerDevice()) { if (JgyUtils.isAllWinnerDevice()) {
AllwinnerCubeMdmManager.getInstance().setForbidUnInstallPackageList(new ArrayList<>()); AllwinnerCubeMdmManager.getInstance().setForbidUnInstallPackageList(new ArrayList<>());
} }
} else { } else {
cacheHelper.put(UrlAddress.GET_FORCE_INSTALL_LIST, "");
Log.e("getForceDownload", forceDownloadBean.msg); Log.e("getForceDownload", forceDownloadBean.msg);
} }
} }
@@ -1422,8 +1416,6 @@ public class NetInterfaceManager {
public void onNext(@NonNull List<ForceDownloadData> forceDownloadBean) { public void onNext(@NonNull List<ForceDownloadData> forceDownloadBean) {
Log.e("getForceDownload", "onNext: " + forceDownloadBean); Log.e("getForceDownload", "onNext: " + forceDownloadBean);
if (forceDownloadBean != null && !forceDownloadBean.isEmpty()) { if (forceDownloadBean != null && !forceDownloadBean.isEmpty()) {
Log.e("getForceDownload", "onNext: getAsString: " + cacheHelper.getAsString(UrlAddress.GET_FORCE_INSTALL_LIST));
cacheHelper.put(UrlAddress.GET_FORCE_INSTALL_LIST, GsonUtils.toJSONString(forceDownloadBean));
Aria.download(this).resumeAllTask(); Aria.download(this).resumeAllTask();
JgyUtils.getInstance().forceDownload(forceDownloadBean); JgyUtils.getInstance().forceDownload(forceDownloadBean);
List<String> forceApp = forceDownloadBean.stream().map(ForceDownloadData::getApp_package).collect(Collectors.toList()); List<String> forceApp = forceDownloadBean.stream().map(ForceDownloadData::getApp_package).collect(Collectors.toList());
@@ -1433,7 +1425,6 @@ public class NetInterfaceManager {
AllwinnerCubeMdmManager.getInstance().setForbidUnInstallPackageList(forceApp); AllwinnerCubeMdmManager.getInstance().setForbidUnInstallPackageList(forceApp);
} }
} else { } else {
cacheHelper.put(UrlAddress.GET_FORCE_INSTALL_LIST, "");
boolean aole_force_app = Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, "invalid"); boolean aole_force_app = Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, "invalid");
Log.e("getForceDownload", "aole_force_app:" + aole_force_app); Log.e("getForceDownload", "aole_force_app:" + aole_force_app);
if (JgyUtils.isAllWinnerDevice()) { if (JgyUtils.isAllWinnerDevice()) {
@@ -2046,7 +2037,7 @@ public class NetInterfaceManager {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} else if ("G10".equals(Build.MODEL) || "D1".equals(Build.MODEL)) { } else if ("G10".equals(Build.MODEL) || "D1".equals(Build.MODEL) || "Aiud_A8_ag_1095".equals(Build.MODEL)) {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.APP_VIEW_CLICK_DISABLED, "com.ttstd.utils:12345"); Settings.System.putString(mContext.getContentResolver(), CommonConfig.APP_VIEW_CLICK_DISABLED, "com.ttstd.utils:12345");
} else { } else {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.APP_VIEW_CLICK_DISABLED, "com.arivoc.wordhd:2131624676,2131624689;com.ttstd.utils:12345"); Settings.System.putString(mContext.getContentResolver(), CommonConfig.APP_VIEW_CLICK_DISABLED, "com.arivoc.wordhd:2131624676,2131624689;com.ttstd.utils:12345");
@@ -3521,7 +3512,10 @@ public class NetInterfaceManager {
return appDateInfo.getApp_baoming(); return appDateInfo.getApp_baoming();
} }
}).collect(Collectors.toSet()); }).collect(Collectors.toSet());
mMMKV.encode(CommonConfig.AOLE_PUBLIC_APP_INSTALL_WHITELIST, pkgs);
appNames.addAll(pkgs); appNames.addAll(pkgs);
} else {
mMMKV.remove(CommonConfig.AOLE_PUBLIC_APP_INSTALL_WHITELIST);
} }
return appNames; return appNames;
} }
@@ -3590,18 +3584,18 @@ public class NetInterfaceManager {
} }
public void getAllAppList(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) { public void getAllAppList(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
GetAllAppApiControl() getAllAppApiControl()
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(getAllAppListObserver(callback)); .subscribe(getAllAppListObserver(callback));
} }
public void getAllAppList(onCompleteCallback callback) { public void getAllAppList(onCompleteCallback callback) {
GetAllAppApiControl() getAllAppApiControl()
.subscribe(getAllAppListObserver(callback)); .subscribe(getAllAppListObserver(callback));
} }
public void getAllAppList() { public void getAllAppList() {
GetAllAppApiControl() getAllAppApiControl()
.subscribe(getAllAppListObserver(null)); .subscribe(getAllAppListObserver(null));
} }
@@ -3617,12 +3611,11 @@ 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));
getAppAutoStartUpdateAndNet(appListInfos); getAppAutoStartUpdateAndNet(appListInfos);
Set<String> pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet()); Set<String> pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet());
mMMKV.encode(CommonConfig.ALL_APP_PKG_SET, pkgList); mMMKV.encode(CommonConfig.ALL_APP_PKG_SET, pkgList);
} else { } else {
cacheHelper.put(UrlAddress.GET_ALL_APP, ""); mMMKV.remove(CommonConfig.ALL_APP_PKG_SET);
} }
} }
@@ -4131,7 +4124,7 @@ public class NetInterfaceManager {
public static final String WHOIS_ADDR = "whois_ip_addr"; public static final String WHOIS_ADDR = "whois_ip_addr";
public static void GetWhois() { public static void getWhois() {
Retrofit retrofit = new Retrofit.Builder() Retrofit retrofit = new Retrofit.Builder()
.client(NetInterfaceManager.getInstance().getOkHttpClient()) .client(NetInterfaceManager.getInstance().getOkHttpClient())
.baseUrl(UrlAddress.PCONLINE_WHOIS) .baseUrl(UrlAddress.PCONLINE_WHOIS)
@@ -4145,12 +4138,12 @@ public class NetInterfaceManager {
.subscribe(new Observer<WhoisBean>() { .subscribe(new Observer<WhoisBean>() {
@Override @Override
public void onSubscribe(@NonNull Disposable d) { public void onSubscribe(@NonNull Disposable d) {
Log.e("GetWhois", "onSubscribe: "); Log.e("getWhois", "onSubscribe: ");
} }
@Override @Override
public void onNext(@NonNull WhoisBean whoisBean) { public void onNext(@NonNull WhoisBean whoisBean) {
Log.e("GetWhois", "onNext: " + whoisBean); Log.e("getWhois", "onNext: " + whoisBean);
if (whoisBean != null && !TextUtils.isEmpty(whoisBean.getAddr())) { if (whoisBean != null && !TextUtils.isEmpty(whoisBean.getAddr())) {
MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE).encode(WHOIS_ADDR, whoisBean.getAddr()); MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE).encode(WHOIS_ADDR, whoisBean.getAddr());
} }
@@ -4158,12 +4151,12 @@ public class NetInterfaceManager {
@Override @Override
public void onError(@NonNull Throwable e) { public void onError(@NonNull Throwable e) {
Log.e("GetWhois", "onError: "); Log.e("getWhois", "onError: ");
} }
@Override @Override
public void onComplete() { public void onComplete() {
Log.e("GetWhois", "onComplete: "); Log.e("getWhois", "onComplete: ");
} }
}); });
} }

View File

@@ -10,7 +10,7 @@ import retrofit2.http.Query;
public interface GetSnRunLogApi { public interface GetSnRunLogApi {
@GET(UrlAddress.GET_LOG_ORDER) @GET(UrlAddress.GET_LOG_ORDER)
Observable<BaseResponse<SnRunLog>> GetSnRunLog( Observable<BaseResponse<SnRunLog>> getSnRunLog(
@Query("sn") String sn @Query("sn") String sn
); );
} }

View File

@@ -99,9 +99,9 @@ public class MainSPresenter implements MainSContact.Presenter {
Log.e("getLockedState", "onComplete: "); Log.e("getLockedState", "onComplete: ");
int locked = Settings.System.getInt(crv, JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED); int locked = Settings.System.getInt(crv, JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED);
Log.e("getLockedState", "locked: " + locked); Log.e("getLockedState", "locked: " + locked);
if (locked == 0) { // if (locked == 0) {
JgyUtils.getInstance().deleteOtherApp(); // JgyUtils.getInstance().deleteOtherApp();
} // }
mView.setLockedState(locked == JGYActions.FRAME_CODE_LOCKED); mView.setLockedState(locked == JGYActions.FRAME_CODE_LOCKED);
} }
}); });
@@ -109,7 +109,7 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override @Override
public void setPushTags() { public void setPushTags() {
NetInterfaceManager.getInstance().setPushTags( getLifecycle(), new NetInterfaceManager.PushTagCallback() { NetInterfaceManager.getInstance().setPushTags(getLifecycle(), new NetInterfaceManager.PushTagCallback() {
@Override @Override
public void setPushTag(String tag) { public void setPushTag(String tag) {
mView.setTagsFinish(TextUtils.isEmpty(tag)); mView.setTagsFinish(TextUtils.isEmpty(tag));
@@ -184,7 +184,7 @@ public class MainSPresenter implements MainSContact.Presenter {
Log.e(TAG, "sendNetwork: " + "time empty"); Log.e(TAG, "sendNetwork: " + "time empty");
return; return;
} }
NetInterfaceManager.getInstance().GetNetworkConnectControl(time.toString()) NetInterfaceManager.getInstance().getNetworkConnectControl(time.toString())
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer<BaseResponse>() { .subscribe(new Observer<BaseResponse>() {
@Override @Override
@@ -236,12 +236,12 @@ public class MainSPresenter implements MainSContact.Presenter {
mView.updateDeviceInfoFinish(); mView.updateDeviceInfoFinish();
} }
// if (!JgyUtils.getInstance().tagEmpty()) { // if (!JgyUtils.getInstance().tagEmpty()) {
NetInterfaceManager.getInstance().updateDeviceInfo(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { NetInterfaceManager.getInstance().updateDeviceInfo(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
@Override @Override
public void onComplete() { public void onComplete() {
mView.updateDeviceInfoFinish(); mView.updateDeviceInfoFinish();
} }
}); });
// } // }
} }
@@ -251,12 +251,12 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override @Override
public void sendInstalled() { public void sendInstalled() {
// if (!JgyUtils.getInstance().tagEmpty()) { // if (!JgyUtils.getInstance().tagEmpty()) {
NetInterfaceManager.getInstance().sendInstalledAppInfo(new NetInterfaceManager.onCompleteCallback() { NetInterfaceManager.getInstance().sendInstalledAppInfo(new NetInterfaceManager.onCompleteCallback() {
@Override @Override
public void onComplete() { public void onComplete() {
mView.sendInstalledFinish(); mView.sendInstalledFinish();
} }
}); });
// } // }
} }
@@ -380,7 +380,7 @@ public class MainSPresenter implements MainSContact.Presenter {
mView.getDefaultDesktopFinish(); mView.getDefaultDesktopFinish();
} else { } else {
NetInterfaceManager.getInstance() NetInterfaceManager.getInstance()
.getDefaultDesktop( getLifecycle(), new NetInterfaceManager.onCompleteCallback() { .getDefaultDesktop(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
@Override @Override
public void onComplete() { public void onComplete() {
mView.getDefaultDesktopFinish(); mView.getDefaultDesktopFinish();
@@ -418,7 +418,7 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override @Override
public void getAllAppList() { public void getAllAppList() {
NetInterfaceManager.getInstance() NetInterfaceManager.getInstance()
.getAllAppList(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { .getAllAppList(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
@Override @Override
public void onComplete() { public void onComplete() {
mView.getAllAppListFinish(); mView.getAllAppListFinish();
@@ -459,7 +459,7 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override @Override
public void getAppAutoStartUpdateAndNet() { public void getAppAutoStartUpdateAndNet() {
NetInterfaceManager.getInstance() NetInterfaceManager.getInstance()
.getAppAutoStartUpdateAndNet( getLifecycle(), new NetInterfaceManager.onCompleteCallback() { .getAppAutoStartUpdateAndNet(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
@Override @Override
public void onComplete() { public void onComplete() {
mView.getAppAutoStartUpdateAndNetFinish(); mView.getAppAutoStartUpdateAndNetFinish();

View File

@@ -1192,6 +1192,9 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
// mPresenter.getStudesInfo(true); // mPresenter.getStudesInfo(true);
mPresenter.checkAoleyunUpdate(); mPresenter.checkAoleyunUpdate();
// SysSettingUtils.setEnableSetting(this); // SysSettingUtils.setEnableSetting(this);
Settings.System.putString(getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, "");
mPresenter.getForceDownload();
mPresenter.getAppLimit();
} else { } else {
mPresenter.getFirstConnect(); mPresenter.getFirstConnect();
mPresenter.getStudesInfo(); mPresenter.getStudesInfo();

View File

@@ -1808,6 +1808,8 @@ public class JgyUtils {
Log.e(TAG, "deleteOtherApp: " + "start"); Log.e(TAG, "deleteOtherApp: " + "start");
Set<String> allAppWhiteSet = mMMKV.decodeStringSet(CommonConfig.AOLE_ALL_APP_WHITE_LIST_KEY, new HashSet<>()); Set<String> allAppWhiteSet = mMMKV.decodeStringSet(CommonConfig.AOLE_ALL_APP_WHITE_LIST_KEY, new HashSet<>());
Log.e("deleteOtherApp", "allAppWhiteSet:" + allAppWhiteSet); Log.e("deleteOtherApp", "allAppWhiteSet:" + allAppWhiteSet);
Set<String> pubAppSet = mMMKV.decodeStringSet(CommonConfig.AOLE_PUBLIC_APP_INSTALL_WHITELIST, new HashSet<>());
Log.e(TAG, "deleteOtherApp: pubAppSet = " + pubAppSet);
List<String> resulWhitetList = new ArrayList<>(defaultPackages); List<String> resulWhitetList = new ArrayList<>(defaultPackages);
resulWhitetList.addAll(allAppWhiteSet); resulWhitetList.addAll(allAppWhiteSet);