version:2.1 beta

fix:优化获取桌面图标接口
update:
This commit is contained in:
2022-04-26 10:30:01 +08:00
parent 7a1a4fe5a5
commit 5c821df549
4 changed files with 90 additions and 53 deletions

View File

@@ -893,57 +893,74 @@ public class NetInterfaceManager {
public void getDefaultDesktop(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
getDesktopObservable()
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer<BaseResponse<ForceDownloadData>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getDefaultDesktop", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<ForceDownloadData> baseResponse) {
Log.e("getDefaultDesktop", "onNext: " + baseResponse);
if (baseResponse.code == OK) {
ForceDownloadData desktopInfo = baseResponse.data;
String jsonString = GsonUtils.toJsonString(desktopInfo);
JSONObject data = JSON.parseObject(jsonString);
cacheHelper.put(UrlAddress.GET_DESKTOP, jsonString);
JGYUtils.getInstance().installDesktop(data);
SPUtils.put(mContext, "default_launcher", desktopInfo.getApp_package());
} else {
Log.e("getDefaultDesktop", "onNext: " + "删除定制桌面");
cacheHelper.put(UrlAddress.GET_DESKTOP, "");
String whiteList = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST);
Log.e("getDefaultDesktop", "onNext: " + whiteList);
if (!TextUtils.isEmpty(whiteList)) {
if (!whiteList.contains(ApkUtils.desktopAPP.get(0))) {
ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0));
Log.e("getDefaultDesktop", "skip: " + ApkUtils.desktopAPP.get(0));
}
if (!whiteList.contains(ApkUtils.desktopAPP.get(1))) {
ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(1));
Log.e("getDefaultDesktop", "skip: " + ApkUtils.desktopAPP.get(1));
}
}else {
ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0));
ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(1));
}
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getDefaultDesktop", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onComplete() {
Log.e("getDefaultDesktop", "onComplete: ");
callback.onComplete();
}
});
.subscribe(getDefaultDesktopObserver(callback));
}
public void getDefaultDesktop(onCompleteCallback callback) {
getDesktopObservable()
.subscribe(getDefaultDesktopObserver(callback));
}
public void getDefaultDesktop() {
getDesktopObservable()
.subscribe(getDefaultDesktopObserver(null));
}
public Observer getDefaultDesktopObserver(onCompleteCallback callback) {
return new Observer<BaseResponse<ForceDownloadData>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getDefaultDesktop", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<ForceDownloadData> baseResponse) {
Log.e("getDefaultDesktop", "onNext: " + baseResponse);
if (baseResponse.code == OK) {
ForceDownloadData desktopInfo = baseResponse.data;
String jsonString = GsonUtils.toJsonString(desktopInfo);
JSONObject data = JSON.parseObject(jsonString);
cacheHelper.put(UrlAddress.GET_DESKTOP, jsonString);
JGYUtils.getInstance().installDesktop(data);
JGYUtils.getInstance().setDefaultDesktop(desktopInfo.getApp_package());
} else {
Log.e("getDefaultDesktop", "onNext: " + "删除定制桌面");
cacheHelper.put(UrlAddress.GET_DESKTOP, "");
String whiteList = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST);
Log.e("getDefaultDesktop", "onNext: " + whiteList);
if (!TextUtils.isEmpty(whiteList)) {
if (!whiteList.contains(ApkUtils.desktopAPP.get(0))) {
ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0));
Log.e("getDefaultDesktop", "skip: " + ApkUtils.desktopAPP.get(0));
}
if (!whiteList.contains(ApkUtils.desktopAPP.get(1))) {
ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(1));
Log.e("getDefaultDesktop", "skip: " + ApkUtils.desktopAPP.get(1));
}
} else {
ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0));
ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(1));
}
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getDefaultDesktop", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onComplete() {
Log.e("getDefaultDesktop", "onComplete: ");
if (callback != null) {
callback.onComplete();
}
}
};
}
public void setLogoImg(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
ConnectMode connectMode = ConnectMode.ONE_HOUR;
if (refresh) {

View File

@@ -463,7 +463,14 @@ public class MessageReceiver extends XGPushBaseReceiver {
if (TextUtils.isEmpty(pkg)) return;
ApkUtils.UninstallAPP(mContext, pkg);
}
NetInterfaceManager.getInstance().getNetAndLaunchSetting();
Handler.getMain().postDelayed(new Runnable() {
@Override
public void run() {
NetInterfaceManager.getInstance().getDesktopIcon();
NetInterfaceManager.getInstance().getDefaultDesktop();
NetInterfaceManager.getInstance().getNetAndLaunchSetting();
}
},1234);
break;
case MSG_SETTING:
ToastUtil.betaShow("收到管控:系统设置");
@@ -498,7 +505,13 @@ public class MessageReceiver extends XGPushBaseReceiver {
case MSG_INSTALL:
ToastUtil.betaShow("收到管控:应用安装");
doDownloadAndInstall(extras);
NetInterfaceManager.getInstance().getDesktopIcon();
Handler.getMain().postDelayed(new Runnable() {
@Override
public void run() {
NetInterfaceManager.getInstance().getDesktopIcon();
NetInterfaceManager.getInstance().getDefaultDesktop();
}
},1234);
break;
case MSG_LOCK:
ToastUtil.betaShow("收到管控:设备锁定");

View File

@@ -927,6 +927,12 @@ public class ApkUtils {
this.add("cn.com.bifa.eyeshiely");
}};
public static List aihuaApp = new ArrayList(){{
this.add("com.liuyang.jcstudentside");
this.add("com.alibaba.android.rimet");
this.add("com.tencent.wemeet.app");
this.add("com.qi.studycomputer.launcher");
}};
public static void showAllAPP(Context context) {
PackageManager pm = context.getPackageManager();

View File

@@ -1381,8 +1381,8 @@ public class JGYUtils {
for (ResolveInfo resolveInfo : apps) {
String pkg = resolveInfo.activityInfo.packageName;
Log.e(TAG, "hideSystemAPP: " + pkg);
if (!ApkUtils.isSystemApp(mContext, pkg)) {
continue;
if (ApkUtils.isSystemApp(mContext, pkg)) {
pm.setApplicationEnabledSetting(pkg, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
}
if (!showAppList.contains(pkg)) {
pm.setApplicationEnabledSetting(pkg, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
@@ -1898,6 +1898,7 @@ public class JGYUtils {
public void checkDefaultDesktop(String pkg) {
String desktopPkg = (String) SPUtils.get(mContext, "default_launcher", "");
Log.e(TAG, "checkDefaultDesktop: " + desktopPkg);
if (desktopPkg.equalsIgnoreCase(pkg)) {
setDefaultDesktop(pkg);
}