version:2.1 beta
fix:优化获取桌面图标接口 update:
This commit is contained in:
@@ -893,57 +893,74 @@ public class NetInterfaceManager {
|
|||||||
public void getDefaultDesktop(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
public void getDefaultDesktop(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||||
getDesktopObservable()
|
getDesktopObservable()
|
||||||
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||||
.subscribe(new Observer<BaseResponse<ForceDownloadData>>() {
|
.subscribe(getDefaultDesktopObserver(callback));
|
||||||
@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();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) {
|
public void setLogoImg(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||||
ConnectMode connectMode = ConnectMode.ONE_HOUR;
|
ConnectMode connectMode = ConnectMode.ONE_HOUR;
|
||||||
if (refresh) {
|
if (refresh) {
|
||||||
|
|||||||
@@ -463,7 +463,14 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
|||||||
if (TextUtils.isEmpty(pkg)) return;
|
if (TextUtils.isEmpty(pkg)) return;
|
||||||
ApkUtils.UninstallAPP(mContext, pkg);
|
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;
|
break;
|
||||||
case MSG_SETTING:
|
case MSG_SETTING:
|
||||||
ToastUtil.betaShow("收到管控:系统设置");
|
ToastUtil.betaShow("收到管控:系统设置");
|
||||||
@@ -498,7 +505,13 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
|||||||
case MSG_INSTALL:
|
case MSG_INSTALL:
|
||||||
ToastUtil.betaShow("收到管控:应用安装");
|
ToastUtil.betaShow("收到管控:应用安装");
|
||||||
doDownloadAndInstall(extras);
|
doDownloadAndInstall(extras);
|
||||||
NetInterfaceManager.getInstance().getDesktopIcon();
|
Handler.getMain().postDelayed(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
NetInterfaceManager.getInstance().getDesktopIcon();
|
||||||
|
NetInterfaceManager.getInstance().getDefaultDesktop();
|
||||||
|
}
|
||||||
|
},1234);
|
||||||
break;
|
break;
|
||||||
case MSG_LOCK:
|
case MSG_LOCK:
|
||||||
ToastUtil.betaShow("收到管控:设备锁定");
|
ToastUtil.betaShow("收到管控:设备锁定");
|
||||||
|
|||||||
@@ -927,6 +927,12 @@ public class ApkUtils {
|
|||||||
this.add("cn.com.bifa.eyeshiely");
|
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) {
|
public static void showAllAPP(Context context) {
|
||||||
PackageManager pm = context.getPackageManager();
|
PackageManager pm = context.getPackageManager();
|
||||||
|
|||||||
@@ -1381,8 +1381,8 @@ public class JGYUtils {
|
|||||||
for (ResolveInfo resolveInfo : apps) {
|
for (ResolveInfo resolveInfo : apps) {
|
||||||
String pkg = resolveInfo.activityInfo.packageName;
|
String pkg = resolveInfo.activityInfo.packageName;
|
||||||
Log.e(TAG, "hideSystemAPP: " + pkg);
|
Log.e(TAG, "hideSystemAPP: " + pkg);
|
||||||
if (!ApkUtils.isSystemApp(mContext, pkg)) {
|
if (ApkUtils.isSystemApp(mContext, pkg)) {
|
||||||
continue;
|
pm.setApplicationEnabledSetting(pkg, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
if (!showAppList.contains(pkg)) {
|
if (!showAppList.contains(pkg)) {
|
||||||
pm.setApplicationEnabledSetting(pkg, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
|
pm.setApplicationEnabledSetting(pkg, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
|
||||||
@@ -1898,6 +1898,7 @@ public class JGYUtils {
|
|||||||
|
|
||||||
public void checkDefaultDesktop(String pkg) {
|
public void checkDefaultDesktop(String pkg) {
|
||||||
String desktopPkg = (String) SPUtils.get(mContext, "default_launcher", "");
|
String desktopPkg = (String) SPUtils.get(mContext, "default_launcher", "");
|
||||||
|
Log.e(TAG, "checkDefaultDesktop: " + desktopPkg);
|
||||||
if (desktopPkg.equalsIgnoreCase(pkg)) {
|
if (desktopPkg.equalsIgnoreCase(pkg)) {
|
||||||
setDefaultDesktop(pkg);
|
setDefaultDesktop(pkg);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user