diff --git a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java index 5a925d6..abe629a 100644 --- a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java +++ b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java @@ -893,57 +893,74 @@ public class NetInterfaceManager { public void getDefaultDesktop(BehaviorSubject lifecycle, onCompleteCallback callback) { getDesktopObservable() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - Log.e("getDefaultDesktop", "onSubscribe: "); - } - - @Override - public void onNext(@NonNull BaseResponse 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>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("getDefaultDesktop", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse 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 lifecycle, onCompleteCallback callback) { ConnectMode connectMode = ConnectMode.ONE_HOUR; if (refresh) { diff --git a/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java b/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java index 883f971..e7c05a7 100644 --- a/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java +++ b/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java @@ -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("收到管控:设备锁定"); diff --git a/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java index c2ce32b..158e7fa 100644 --- a/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java @@ -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(); diff --git a/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java index 4369000..d43dc84 100644 --- a/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java @@ -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); }