1.4.0705 优化后台,增加全局黑名单
This commit is contained in:
@@ -29,8 +29,8 @@ android {
|
|||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.aoleyun.sn"
|
applicationId "com.aoleyun.sn"
|
||||||
versionCode 143
|
versionCode 153
|
||||||
versionName "1.4.0608"
|
versionName "1.4.0705"
|
||||||
|
|
||||||
//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
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
<!-- 允许访问振动设备 -->
|
<!-- 允许访问振动设备 -->
|
||||||
<uses-permission android:name="android.permission.VIBRATE" />
|
<uses-permission android:name="android.permission.VIBRATE" />
|
||||||
<!-- 允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失 -->
|
<!-- 允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失 -->
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
<!-- <uses-permission android:name="android.permission.WAKE_LOCK" />-->
|
||||||
<!-- 允许程序读取或写入系统设置 -->
|
<!-- 允许程序读取或写入系统设置 -->
|
||||||
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||||
<!-- android 9.0上使用前台服务,需要添加权限 -->
|
<!-- android 9.0上使用前台服务,需要添加权限 -->
|
||||||
|
|||||||
@@ -313,7 +313,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
@Override
|
@Override
|
||||||
public void onChanged(Boolean aBoolean) {
|
public void onChanged(Boolean aBoolean) {
|
||||||
if (aBoolean) {
|
if (aBoolean) {
|
||||||
mViewModel.getExclusiveAdminApp();
|
// mViewModel.getExclusiveAdminApp();
|
||||||
Log.e(TAG, "getEBagCodeFinish: " + "已激活");
|
Log.e(TAG, "getEBagCodeFinish: " + "已激活");
|
||||||
} else {
|
} else {
|
||||||
Log.e(TAG, "getEBagCodeFinish: " + "未激活");
|
Log.e(TAG, "getEBagCodeFinish: " + "未激活");
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.aoleyun.sn.activity.main;
|
|||||||
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
|
import android.os.Build;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@@ -125,12 +126,12 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
|||||||
.subscribe(new Observer<BaseResponse<List<AdminAppInfo>>>() {
|
.subscribe(new Observer<BaseResponse<List<AdminAppInfo>>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSubscribe(@NonNull Disposable d) {
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
Log.e("getAdminApp", "onSubscribe: ");
|
Log.e("getExclusiveAdminApp", "onSubscribe: ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNext(@NonNull BaseResponse<List<AdminAppInfo>> listBaseResponse) {
|
public void onNext(@NonNull BaseResponse<List<AdminAppInfo>> listBaseResponse) {
|
||||||
Log.e("getAdminApp", "onNext: " + listBaseResponse);
|
Log.e("getExclusiveAdminApp", "onNext: " + listBaseResponse);
|
||||||
if (listBaseResponse.code == 200) {
|
if (listBaseResponse.code == 200) {
|
||||||
List<AdminAppInfo> adminAppInfos = listBaseResponse.data;
|
List<AdminAppInfo> adminAppInfos = listBaseResponse.data;
|
||||||
JGYUtils.getInstance().installAdminApp(adminAppInfos);
|
JGYUtils.getInstance().installAdminApp(adminAppInfos);
|
||||||
@@ -139,12 +140,12 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(@NonNull Throwable e) {
|
public void onError(@NonNull Throwable e) {
|
||||||
Log.e("getAdminApp", "onError: " + e.getMessage());
|
Log.e("getExclusiveAdminApp", "onError: " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onComplete() {
|
public void onComplete() {
|
||||||
Log.e("getAdminApp", "onComplete: ");
|
Log.e("getExclusiveAdminApp", "onComplete: ");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -305,12 +306,22 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
|||||||
int is_control_show = jsonElement.getAsInt();
|
int is_control_show = jsonElement.getAsInt();
|
||||||
mShowPanel.setValue(is_control_show == 1);
|
mShowPanel.setValue(is_control_show == 1);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (JGYUtils.G11TAG.equals(JGYUtils.getInstance().getAppPlatform())
|
||||||
|
|| "HT01".equals(Build.MODEL)) {
|
||||||
|
mShowPanel.setValue(true);
|
||||||
|
} else if ("G10-M".equals(Build.MODEL)
|
||||||
|
||"Ebox201W".equals(Build.MODEL)) {
|
||||||
|
mShowPanel.setValue(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(@NonNull Throwable e) {
|
public void onError(@NonNull Throwable e) {
|
||||||
Log.e("setBindInfoPanel", "onError: " + e.getMessage());
|
Log.e("setBindInfoPanel", "onError: " + e.getMessage());
|
||||||
|
onComplete();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
18
app/src/main/java/com/aoleyun/sn/bean/BlacklistBean.java
Normal file
18
app/src/main/java/com/aoleyun/sn/bean/BlacklistBean.java
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
package com.aoleyun.sn.bean;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class BlacklistBean implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1686627090518410825L;
|
||||||
|
|
||||||
|
List<String> blacklist;
|
||||||
|
|
||||||
|
public List<String> getBlacklist() {
|
||||||
|
return blacklist;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBlacklist(List<String> blacklist) {
|
||||||
|
this.blacklist = blacklist;
|
||||||
|
}
|
||||||
|
}
|
||||||
53
app/src/main/java/com/aoleyun/sn/bean/BluetoothType.java
Normal file
53
app/src/main/java/com/aoleyun/sn/bean/BluetoothType.java
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
package com.aoleyun.sn.bean;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class BluetoothType implements Serializable {
|
||||||
|
private static final long serialVersionUID = -1105070316766010023L;
|
||||||
|
|
||||||
|
int headset;
|
||||||
|
int sound;
|
||||||
|
int mobile;
|
||||||
|
int computer;
|
||||||
|
int keyboard;
|
||||||
|
|
||||||
|
public int getHeadset() {
|
||||||
|
return headset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHeadset(int headset) {
|
||||||
|
this.headset = headset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSound() {
|
||||||
|
return sound;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSound(int sound) {
|
||||||
|
this.sound = sound;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMobile() {
|
||||||
|
return mobile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMobile(int mobile) {
|
||||||
|
this.mobile = mobile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getComputer() {
|
||||||
|
return computer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComputer(int computer) {
|
||||||
|
this.computer = computer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getKeyboard() {
|
||||||
|
return keyboard;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKeyboard(int keyboard) {
|
||||||
|
this.keyboard = keyboard;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -112,7 +112,8 @@ public class CommonConfig {
|
|||||||
public final static String AOLE_ACTION_NETWORK_DISALLOW = "aole_network_disallow";
|
public final static String AOLE_ACTION_NETWORK_DISALLOW = "aole_network_disallow";
|
||||||
/*允许联网应用 G10P*/
|
/*允许联网应用 G10P*/
|
||||||
public final static String AOLE_ACTION_NETWORK_ALLOW = "aole_network_allow";
|
public final static String AOLE_ACTION_NETWORK_ALLOW = "aole_network_allow";
|
||||||
|
/*全局黑名单*/
|
||||||
|
public static final String AOLE_APP_WEB_BLACK_LIST = "app_web_black_list";
|
||||||
|
|
||||||
/*存储卡管控*/
|
/*存储卡管控*/
|
||||||
public final static String AOLE_ACTION_SDCARD_FORBID_ON = "aole_sdcard_forbid_on";
|
public final static String AOLE_ACTION_SDCARD_FORBID_ON = "aole_sdcard_forbid_on";
|
||||||
@@ -135,6 +136,18 @@ public class CommonConfig {
|
|||||||
public final static String AOLE_ACTION_BT_FORBID_ON = "aole_bt_forbid_on";
|
public final static String AOLE_ACTION_BT_FORBID_ON = "aole_bt_forbid_on";
|
||||||
/*蓝牙音频开关*/
|
/*蓝牙音频开关*/
|
||||||
public final static String AOLE_ACTION_BHTVIDEO_FORBID_ON = "aole_bhtvideo_forbid_on";
|
public final static String AOLE_ACTION_BHTVIDEO_FORBID_ON = "aole_bhtvideo_forbid_on";
|
||||||
|
/*控制设备连接蓝牙类型*/
|
||||||
|
public final static String AOLE_ACTION_BT_DEVICE_TYPE = "aole_bt_device_type";
|
||||||
|
/*蓝牙耳机*/
|
||||||
|
public final static String AOLE_BT_HEADSET_KEY = "aole_bt_headset_on";
|
||||||
|
/*音箱*/
|
||||||
|
public final static String AOLE_BT_BOX_KEY = "aole_bt_box_on";
|
||||||
|
/*手机*/
|
||||||
|
public final static String AOLE_BT_PHONE_KEY = "aole_bt_phone_on";
|
||||||
|
/*计算机*/
|
||||||
|
public final static String AOLE_BT_COMPUTER_KEY = "aole_bt_computer_on";
|
||||||
|
/*鼠标键盘*/
|
||||||
|
public final static String AOLE_BT_KEYBOARD_KEY = "aole_bt_keyboard_on" ;
|
||||||
|
|
||||||
/*电话白名单开关*/
|
/*电话白名单开关*/
|
||||||
public final static String AOLE_ACTION_WHITE_LIST_ON = "aole_white_list_on";
|
public final static String AOLE_ACTION_WHITE_LIST_ON = "aole_white_list_on";
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class PackageNames {
|
|||||||
public static final String NOTIFICATIONS = "com.aoleyun.info";
|
public static final String NOTIFICATIONS = "com.aoleyun.info";
|
||||||
public static final String BROWSER = "com.aoleyun.browser";
|
public static final String BROWSER = "com.aoleyun.browser";
|
||||||
public static final String AILOG = "com.aoleyun.ailog";
|
public static final String AILOG = "com.aoleyun.ailog";
|
||||||
public static final String APP_STORE_BOOTRECEIVER = "com.aoleyun.appstore.receiver.BootReceiver";
|
// public static final String APP_STORE_BOOTRECEIVER = "com.aoleyun.appstore.receiver.BootReceiver";
|
||||||
public static final String LEARNING_DESKTOP = "com.aoleyunos.dop2";
|
public static final String LEARNING_DESKTOP = "com.aoleyunos.dop2";
|
||||||
public static final String YIXUEPAI_DESKTOP = "com.ygyb.yischool";
|
public static final String YIXUEPAI_DESKTOP = "com.ygyb.yischool";
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import com.aoleyun.sn.bean.Appground;
|
|||||||
import com.aoleyun.sn.bean.BaseResponse;
|
import com.aoleyun.sn.bean.BaseResponse;
|
||||||
import com.aoleyun.sn.bean.Batch;
|
import com.aoleyun.sn.bean.Batch;
|
||||||
import com.aoleyun.sn.bean.BatteryInfo;
|
import com.aoleyun.sn.bean.BatteryInfo;
|
||||||
|
import com.aoleyun.sn.bean.BlacklistBean;
|
||||||
import com.aoleyun.sn.bean.BrowserBookmarks;
|
import com.aoleyun.sn.bean.BrowserBookmarks;
|
||||||
import com.aoleyun.sn.bean.BrowserData;
|
import com.aoleyun.sn.bean.BrowserData;
|
||||||
import com.aoleyun.sn.bean.CustomROMApp;
|
import com.aoleyun.sn.bean.CustomROMApp;
|
||||||
@@ -67,6 +68,7 @@ import com.aoleyun.sn.manager.ConnectMode;
|
|||||||
import com.aoleyun.sn.network.api.GetWhoisApi;
|
import com.aoleyun.sn.network.api.GetWhoisApi;
|
||||||
import com.aoleyun.sn.network.api.aolelearn.ExclusiveAdminAppApi;
|
import com.aoleyun.sn.network.api.aolelearn.ExclusiveAdminAppApi;
|
||||||
import com.aoleyun.sn.network.api.get.AppSettingApi;
|
import com.aoleyun.sn.network.api.get.AppSettingApi;
|
||||||
|
import com.aoleyun.sn.network.api.get.BlackListApi;
|
||||||
import com.aoleyun.sn.network.api.get.CheckTestUpdateApi;
|
import com.aoleyun.sn.network.api.get.CheckTestUpdateApi;
|
||||||
import com.aoleyun.sn.network.api.get.CloudLessonApi;
|
import com.aoleyun.sn.network.api.get.CloudLessonApi;
|
||||||
import com.aoleyun.sn.network.api.get.CloudLessonAppApi;
|
import com.aoleyun.sn.network.api.get.CloudLessonAppApi;
|
||||||
@@ -743,6 +745,12 @@ public class NetInterfaceManager {
|
|||||||
.observeOn(AndroidSchedulers.mainThread());
|
.observeOn(AndroidSchedulers.mainThread());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Observable<BaseResponse<BlacklistBean>> getBlackListObservable() {
|
||||||
|
return mRetrofit.create(BlackListApi.class)
|
||||||
|
.getBlackList(Utils.getSerial(mContext))
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread());
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
@@ -863,7 +871,7 @@ public class NetInterfaceManager {
|
|||||||
void onComplete();
|
void onComplete();
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized public void checkAoleyunUpdate(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
public void checkAoleyunUpdate(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||||
ConnectMode connectMode = ConnectMode.ONE_HOUR;
|
ConnectMode connectMode = ConnectMode.ONE_HOUR;
|
||||||
if (refresh) {
|
if (refresh) {
|
||||||
connectMode = ConnectMode.DEFAULT;
|
connectMode = ConnectMode.DEFAULT;
|
||||||
@@ -897,7 +905,7 @@ public class NetInterfaceManager {
|
|||||||
* @param lifecycle
|
* @param lifecycle
|
||||||
* @param callback
|
* @param callback
|
||||||
*/
|
*/
|
||||||
synchronized public void checkAoleyunUpdate(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
public void checkAoleyunUpdate(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||||
Observable<BaseResponse<AppUpdateInfo>> infoUpdateObservable = NetInterfaceManager.getInstance()
|
Observable<BaseResponse<AppUpdateInfo>> infoUpdateObservable = NetInterfaceManager.getInstance()
|
||||||
.getUpdateApi().getUpdate(BuildConfig.APPLICATION_ID, JGYUtils.getInstance().checkAppPlatform());
|
.getUpdateApi().getUpdate(BuildConfig.APPLICATION_ID, JGYUtils.getInstance().checkAppPlatform());
|
||||||
Observable<BaseResponse<AppUpdateInfo>> storeUpdateObservable = NetInterfaceManager.getInstance()
|
Observable<BaseResponse<AppUpdateInfo>> storeUpdateObservable = NetInterfaceManager.getInstance()
|
||||||
@@ -992,7 +1000,7 @@ public class NetInterfaceManager {
|
|||||||
void onUpdate(List<AppUpdateInfo> appUpdateInfos);
|
void onUpdate(List<AppUpdateInfo> appUpdateInfos);
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized public void checkAoleyunUpdate(BehaviorSubject<ActivityEvent> lifecycle, UpdateCallback callback) {
|
public void checkAoleyunUpdate(BehaviorSubject<ActivityEvent> lifecycle, UpdateCallback callback) {
|
||||||
Observable<BaseResponse<AppUpdateInfo>> infoUpdateObservable = NetInterfaceManager.getInstance()
|
Observable<BaseResponse<AppUpdateInfo>> infoUpdateObservable = NetInterfaceManager.getInstance()
|
||||||
.getUpdateApi().getUpdate(BuildConfig.APPLICATION_ID, JGYUtils.getInstance().checkAppPlatform());
|
.getUpdateApi().getUpdate(BuildConfig.APPLICATION_ID, JGYUtils.getInstance().checkAppPlatform());
|
||||||
Observable<BaseResponse<AppUpdateInfo>> storeUpdateObservable = NetInterfaceManager.getInstance()
|
Observable<BaseResponse<AppUpdateInfo>> storeUpdateObservable = NetInterfaceManager.getInstance()
|
||||||
@@ -1166,7 +1174,7 @@ public class NetInterfaceManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void getForceDownload(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
public void getForceDownload(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||||
ConnectMode connectMode = ConnectMode.ONE_MINUTE;
|
ConnectMode connectMode = ConnectMode.DEFAULT;
|
||||||
if (refresh) {
|
if (refresh) {
|
||||||
connectMode = ConnectMode.DEFAULT;
|
connectMode = ConnectMode.DEFAULT;
|
||||||
}
|
}
|
||||||
@@ -1722,9 +1730,9 @@ public class NetInterfaceManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void getAppAutoStartUpdateAndNet(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
public void getAppAutoStartUpdateAndNet(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||||
ConnectMode connectMode = ConnectMode.ONE_HOUR;
|
ConnectMode connectMode = ConnectMode.DEFAULT;
|
||||||
if (refresh) {
|
if (refresh) {
|
||||||
connectMode = ConnectMode.ONE_MINUTE;
|
connectMode = ConnectMode.DEFAULT;
|
||||||
}
|
}
|
||||||
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.NET_AND_LAUNCH_API, connectMode)) {
|
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.NET_AND_LAUNCH_API, connectMode)) {
|
||||||
getAppAutoStartUpdateAndNet(lifecycle, callback);
|
getAppAutoStartUpdateAndNet(lifecycle, callback);
|
||||||
@@ -2225,6 +2233,12 @@ public class NetInterfaceManager {
|
|||||||
if (TextUtils.isEmpty(default_launcher)) {
|
if (TextUtils.isEmpty(default_launcher)) {
|
||||||
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.YXPD1Platform) {
|
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.YXPD1Platform) {
|
||||||
JGYUtils.getInstance().setDop7DefaultDesktop();
|
JGYUtils.getInstance().setDop7DefaultDesktop();
|
||||||
|
} else if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.G11Platform) {
|
||||||
|
JGYUtils.getInstance().setJXWDefaultDesktop();
|
||||||
|
// } else if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZhanruiPlatform) {
|
||||||
|
// JGYUtils.getInstance().setJXWDefaultDesktop();
|
||||||
|
} else if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.G11Platform) {
|
||||||
|
JGYUtils.getInstance().setAiuduDefaultDesktop();
|
||||||
} else {
|
} else {
|
||||||
JGYUtils.getInstance().setDefaultDesktop();
|
JGYUtils.getInstance().setDefaultDesktop();
|
||||||
}
|
}
|
||||||
@@ -3685,8 +3699,7 @@ public class NetInterfaceManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void getAppAutoStartUpdateAndNet(List<AppListInfo> appListInfos) {
|
public void getAppAutoStartUpdateAndNet(List<AppListInfo> appListInfos) {
|
||||||
NetInterfaceManager.getInstance()
|
getAppAutoStartUpdateAndNetObservable()
|
||||||
.getAppAutoStartUpdateAndNetObservable()
|
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(new Observer<NetAndLaunchBean>() {
|
.subscribe(new Observer<NetAndLaunchBean>() {
|
||||||
@@ -3719,8 +3732,7 @@ public class NetInterfaceManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void getNetAndLaunchSetting() {
|
public void getNetAndLaunchSetting() {
|
||||||
NetInterfaceManager.getInstance()
|
getAppAutoStartUpdateAndNetObservable()
|
||||||
.getAppAutoStartUpdateAndNetObservable()
|
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(new Observer<NetAndLaunchBean>() {
|
.subscribe(new Observer<NetAndLaunchBean>() {
|
||||||
@@ -4334,4 +4346,66 @@ public class NetInterfaceManager {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void getBlackList(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||||
|
NetInterfaceManager.getInstance().getBlackListObservable()
|
||||||
|
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||||
|
.subscribe(getBlackListObserver(callback));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getBlackList(onCompleteCallback callback) {
|
||||||
|
NetInterfaceManager.getInstance().getBlackListObservable()
|
||||||
|
.subscribe(getBlackListObserver(callback));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getBlackList() {
|
||||||
|
NetInterfaceManager.getInstance().getBlackListObservable()
|
||||||
|
.subscribe(getBlackListObserver(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Observer<BaseResponse<BlacklistBean>> getBlackListObserver(onCompleteCallback callback) {
|
||||||
|
return new Observer<BaseResponse<BlacklistBean>>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
Log.e("getBlackList", "onSubscribe: ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(@NonNull BaseResponse<BlacklistBean> blacklistBeanBaseResponse) {
|
||||||
|
Log.e("getBlackList", "onNext: " + blacklistBeanBaseResponse);
|
||||||
|
if (blacklistBeanBaseResponse.code == 200) {
|
||||||
|
BlacklistBean blacklistBean = blacklistBeanBaseResponse.data;
|
||||||
|
if (blacklistBean == null) {
|
||||||
|
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, "");
|
||||||
|
} else {
|
||||||
|
List<String> strings = blacklistBean.getBlacklist();
|
||||||
|
if (strings == null || strings.isEmpty()) {
|
||||||
|
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, "");
|
||||||
|
} else {
|
||||||
|
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, String.join(",", strings));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
Log.e("getBlackList", "onError: " + e.getMessage());
|
||||||
|
onComplete();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
Log.e("getBlackList", "onComplete: ");
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onComplete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,6 +106,8 @@ public class UrlAddress {
|
|||||||
public static final String GET_POWEROFF_TIME = "And/getTimedShutdown";
|
public static final String GET_POWEROFF_TIME = "And/getTimedShutdown";
|
||||||
/*获取管控APP设置*/
|
/*获取管控APP设置*/
|
||||||
public static final String APP_SETTING = "android/sn-control/app-setting";
|
public static final String APP_SETTING = "android/sn-control/app-setting";
|
||||||
|
/*获取设备批次全局黑名单*/
|
||||||
|
public static final String BLACKLIST = "android/common/blacklist";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 浏览器策略
|
* 浏览器策略
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.aoleyun.sn.network.api.get;
|
||||||
|
|
||||||
|
import com.aoleyun.sn.bean.BaseResponse;
|
||||||
|
import com.aoleyun.sn.bean.BlacklistBean;
|
||||||
|
import com.aoleyun.sn.network.UrlAddress;
|
||||||
|
|
||||||
|
import io.reactivex.rxjava3.core.Observable;
|
||||||
|
import retrofit2.http.GET;
|
||||||
|
import retrofit2.http.Query;
|
||||||
|
|
||||||
|
public interface BlackListApi {
|
||||||
|
@GET(UrlAddress.BLACKLIST)
|
||||||
|
Observable<BaseResponse<BlacklistBean>> getBlackList(
|
||||||
|
@Query("sn") String sn
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -248,6 +248,10 @@ public class PushManager {
|
|||||||
|
|
||||||
/*绑定设备*/
|
/*绑定设备*/
|
||||||
private static final String BIND_DEVICE = "71";
|
private static final String BIND_DEVICE = "71";
|
||||||
|
/*打开应用*/
|
||||||
|
private static final String OPEN_APK = "73";
|
||||||
|
/*全局黑名单*/
|
||||||
|
private static final String GLOBAL_BALCK_LIST = "74";
|
||||||
|
|
||||||
|
|
||||||
public void setPushContent(String title, String extras) {
|
public void setPushContent(String title, String extras) {
|
||||||
@@ -646,6 +650,12 @@ public class PushManager {
|
|||||||
case BIND_DEVICE:
|
case BIND_DEVICE:
|
||||||
bindService(extras);
|
bindService(extras);
|
||||||
break;
|
break;
|
||||||
|
case OPEN_APK:
|
||||||
|
openApk(extras);
|
||||||
|
break;
|
||||||
|
case GLOBAL_BALCK_LIST:
|
||||||
|
NetInterfaceManager.getInstance().getBlackList();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -874,7 +884,7 @@ public class PushManager {
|
|||||||
String allow = jSONObject.get("not").getAsString();
|
String allow = jSONObject.get("not").getAsString();
|
||||||
HashSet<String> disallowApp = new HashSet<>(Arrays.asList(disallow.split(",")));
|
HashSet<String> disallowApp = new HashSet<>(Arrays.asList(disallow.split(",")));
|
||||||
HashSet<String> allowApp = new HashSet<>(Arrays.asList(allow.split(",")));
|
HashSet<String> allowApp = new HashSet<>(Arrays.asList(allow.split(",")));
|
||||||
JGYUtils.setAppNetwork(mContext, disallowApp, allowApp);
|
JGYUtils.getInstance().setAppNetwork(mContext, disallowApp, allowApp);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void settingPowerOn(String s) {
|
private void settingPowerOn(String s) {
|
||||||
@@ -1323,9 +1333,9 @@ public class PushManager {
|
|||||||
pkgs.remove(pkg);
|
pkgs.remove(pkg);
|
||||||
Log.e(TAG, "orderDeleteApp: pkgs = " + pkgs);
|
Log.e(TAG, "orderDeleteApp: pkgs = " + pkgs);
|
||||||
mMMKV.encode(DEBUG_APP_LIST, pkgs);
|
mMMKV.encode(DEBUG_APP_LIST, pkgs);
|
||||||
if (ApkUtils.isSystemApp(mContext,pkg)){
|
if (ApkUtils.isSystemApp(mContext, pkg)) {
|
||||||
JGYUtils.getInstance().hideApp(pkg);
|
JGYUtils.getInstance().hideApp(pkg);
|
||||||
}else {
|
} else {
|
||||||
ApkUtils.UninstallAPP(mContext, pkg);
|
ApkUtils.UninstallAPP(mContext, pkg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1490,4 +1500,10 @@ public class PushManager {
|
|||||||
intent.setPackage("com.teclast.zyos");
|
intent.setPackage("com.teclast.zyos");
|
||||||
mContext.sendBroadcast(intent);
|
mContext.sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void openApk(String extras) {
|
||||||
|
JsonObject jsonObject = GsonUtils.getJsonObject(extras);
|
||||||
|
String app_package = jsonObject.get("app_package").getAsString();
|
||||||
|
ApkUtils.openPackage(mContext, app_package);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import io.reactivex.rxjava3.core.Observer;
|
|||||||
import io.reactivex.rxjava3.disposables.Disposable;
|
import io.reactivex.rxjava3.disposables.Disposable;
|
||||||
|
|
||||||
public class BootReceiver extends BroadcastReceiver {
|
public class BootReceiver extends BroadcastReceiver {
|
||||||
private static String TAG = BootReceiver.class.getSimpleName() + ":myappstore";
|
private static String TAG = BootReceiver.class.getSimpleName() + ":aoleyunsn";
|
||||||
public static final String BOOT_COMPLETED = "aoleyun.intent.action.BOOT_COMPLETED";
|
public static final String BOOT_COMPLETED = "aoleyun.intent.action.BOOT_COMPLETED";
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|||||||
@@ -103,7 +103,8 @@ public class NewAppReceiver extends BroadcastReceiver {
|
|||||||
@Override
|
@Override
|
||||||
public void onNext(@NonNull String s) {
|
public void onNext(@NonNull String s) {
|
||||||
Log.e("sendAppInfo", "onNext: " + s);
|
Log.e("sendAppInfo", "onNext: " + s);
|
||||||
JGYUtils.getInstance().checkForceDownload();
|
// JGYUtils.getInstance().checkForceDownload();
|
||||||
|
NetInterfaceManager.getInstance().getForceDownload();
|
||||||
JGYUtils.getInstance().updateNetworkWhiteList();
|
JGYUtils.getInstance().updateNetworkWhiteList();
|
||||||
NetInterfaceManager.getInstance().getAppLimit();
|
NetInterfaceManager.getInstance().getAppLimit();
|
||||||
NetInterfaceManager.getInstance().getDefaultDesktop();
|
NetInterfaceManager.getInstance().getDefaultDesktop();
|
||||||
|
|||||||
@@ -297,12 +297,13 @@ public class GuardService extends Service {
|
|||||||
/*在8.0以上 除了开机广播其他广播基本上没有用
|
/*在8.0以上 除了开机广播其他广播基本上没有用
|
||||||
*当静默安装升级时,app不会被唤醒,只有通过显示广播唤醒
|
*当静默安装升级时,app不会被唤醒,只有通过显示广播唤醒
|
||||||
* */
|
* */
|
||||||
Intent intent1 = new Intent(BootReceiver.BOOT_COMPLETED);
|
// Intent intent1 = new Intent(BootReceiver.BOOT_COMPLETED);
|
||||||
intent1.setComponent(new ComponentName(PackageNames.APPSTORE, PackageNames.APP_STORE_BOOTRECEIVER));
|
// intent1.setComponent(new ComponentName(PackageNames.APPSTORE, PackageNames.APP_STORE_BOOTRECEIVER));
|
||||||
// 携带数据
|
// // 携带数据
|
||||||
//intent1.putExtra("test", "我是来测 A 应用的Android 8.0 系统静态广播的测试数据");
|
// //intent1.putExtra("test", "我是来测 A 应用的Android 8.0 系统静态广播的测试数据");
|
||||||
// 启动发送广播
|
// // 启动发送广播
|
||||||
sendBroadcast(intent1);
|
// sendBroadcast(intent1);
|
||||||
|
|
||||||
JGYUtils.startServices(GuardService.this);
|
JGYUtils.startServices(GuardService.this);
|
||||||
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZhanruiPlatform) {
|
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZhanruiPlatform) {
|
||||||
int setting_statusbar = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_HIDE_STATUS_BAR, 0);
|
int setting_statusbar = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_HIDE_STATUS_BAR, 0);
|
||||||
@@ -330,7 +331,7 @@ public class GuardService extends Service {
|
|||||||
long time = System.currentTimeMillis();
|
long time = System.currentTimeMillis();
|
||||||
getLockState("1", String.valueOf(time));
|
getLockState("1", String.valueOf(time));
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
JGYUtils.getInstance().wakeUpAoleyunAPP();
|
// JGYUtils.getInstance().wakeUpAoleyunAPP();
|
||||||
JGYUtils.getInstance().deleteScreenshots();
|
JGYUtils.getInstance().deleteScreenshots();
|
||||||
}
|
}
|
||||||
// sendScreenStatus(2);
|
// sendScreenStatus(2);
|
||||||
|
|||||||
@@ -87,8 +87,11 @@ public class MainSContact {
|
|||||||
void getEbagCode();
|
void getEbagCode();
|
||||||
/*获取学习应用*/
|
/*获取学习应用*/
|
||||||
void getExclusiveAdminApp();
|
void getExclusiveAdminApp();
|
||||||
|
/*获取全局黑名单*/
|
||||||
|
void getBlackList();
|
||||||
/*获取wifi密码*/
|
/*获取wifi密码*/
|
||||||
void getWiFiPasswd();
|
void getWiFiPasswd();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface MainView extends BaseView {
|
public interface MainView extends BaseView {
|
||||||
@@ -166,6 +169,8 @@ public class MainSContact {
|
|||||||
/*获取学习应用*/
|
/*获取学习应用*/
|
||||||
void getExclusiveAdminAppFinish();
|
void getExclusiveAdminAppFinish();
|
||||||
/*获取wifi密码结束*/
|
/*获取wifi密码结束*/
|
||||||
|
void getBlackListFinish();
|
||||||
|
/*获取wifi密码结束*/
|
||||||
void setWiFiPasswd();
|
void setWiFiPasswd();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.alibaba.sdk.android.push.CommonCallback;
|
|||||||
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
|
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
|
||||||
import com.aoleyun.sn.bean.AdminAppInfo;
|
import com.aoleyun.sn.bean.AdminAppInfo;
|
||||||
import com.aoleyun.sn.bean.BaseResponse;
|
import com.aoleyun.sn.bean.BaseResponse;
|
||||||
|
import com.aoleyun.sn.bean.BlacklistBean;
|
||||||
import com.aoleyun.sn.bean.StudentsInfo;
|
import com.aoleyun.sn.bean.StudentsInfo;
|
||||||
import com.aoleyun.sn.comm.CommonConfig;
|
import com.aoleyun.sn.comm.CommonConfig;
|
||||||
import com.aoleyun.sn.comm.JGYActions;
|
import com.aoleyun.sn.comm.JGYActions;
|
||||||
@@ -584,12 +585,12 @@ public class MainSPresenter implements MainSContact.Presenter {
|
|||||||
.subscribe(new Observer<BaseResponse<List<AdminAppInfo>>>() {
|
.subscribe(new Observer<BaseResponse<List<AdminAppInfo>>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSubscribe(@NonNull Disposable d) {
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
Log.e("getAdminApp", "onSubscribe: ");
|
Log.e("getExclusiveAdminApp", "onSubscribe: ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNext(@NonNull BaseResponse<List<AdminAppInfo>> listBaseResponse) {
|
public void onNext(@NonNull BaseResponse<List<AdminAppInfo>> listBaseResponse) {
|
||||||
Log.e("getAdminApp", "onNext: " + listBaseResponse);
|
Log.e("getExclusiveAdminApp", "onNext: " + listBaseResponse);
|
||||||
if (listBaseResponse.code == 200) {
|
if (listBaseResponse.code == 200) {
|
||||||
List<AdminAppInfo> adminAppInfos = listBaseResponse.data;
|
List<AdminAppInfo> adminAppInfos = listBaseResponse.data;
|
||||||
JGYUtils.getInstance().installAdminApp(adminAppInfos);
|
JGYUtils.getInstance().installAdminApp(adminAppInfos);
|
||||||
@@ -598,18 +599,28 @@ public class MainSPresenter implements MainSContact.Presenter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(@NonNull Throwable e) {
|
public void onError(@NonNull Throwable e) {
|
||||||
Log.e("getAdminApp", "onError: " + e.getMessage());
|
Log.e("getExclusiveAdminApp", "onError: " + e.getMessage());
|
||||||
onComplete();
|
onComplete();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onComplete() {
|
public void onComplete() {
|
||||||
Log.e("getAdminApp", "onComplete: ");
|
Log.e("getExclusiveAdminApp", "onComplete: ");
|
||||||
mView.getExclusiveAdminAppFinish();
|
mView.getExclusiveAdminAppFinish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getBlackList() {
|
||||||
|
NetInterfaceManager.getInstance().getBlackList(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
mView.getBlackListFinish();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getWiFiPasswd() {
|
public void getWiFiPasswd() {
|
||||||
NetInterfaceManager.getInstance()
|
NetInterfaceManager.getInstance()
|
||||||
@@ -620,4 +631,6 @@ public class MainSPresenter implements MainSContact.Presenter {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -186,6 +186,49 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static KillAppListener killAppListener;
|
||||||
|
|
||||||
|
public interface KillAppListener {
|
||||||
|
void killApp(String action);
|
||||||
|
}
|
||||||
|
|
||||||
|
private final ObservableOnSubscribe<String> killSubscribe = new ObservableOnSubscribe<String>() {
|
||||||
|
@Override
|
||||||
|
public void subscribe(ObservableEmitter emitter) throws Exception {
|
||||||
|
killAppListener = new KillAppListener() {
|
||||||
|
@Override
|
||||||
|
public void killApp(String action) {
|
||||||
|
emitter.onNext(action);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private Observer<String> killObserver = new Observer<String>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
Log.e("killObserver", "onSubscribe: ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(String action) {
|
||||||
|
Log.e("killObserver", "onNext: " + action);
|
||||||
|
JGYUtils.getInstance().killPackage(PackageNames.APPSTORE);
|
||||||
|
JGYUtils.getInstance().killPackage(PackageNames.NOTIFICATIONS);
|
||||||
|
JGYUtils.getInstance().killPackage(PackageNames.AILOG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
Log.e("killObserver", "onError: " + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
Log.e("killObserver", "onComplete: ");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
private final BehaviorSubject<ActivityEvent> lifecycleSubject = BehaviorSubject.create();
|
private final BehaviorSubject<ActivityEvent> lifecycleSubject = BehaviorSubject.create();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -322,6 +365,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
|||||||
checkAliyunPushStatus();
|
checkAliyunPushStatus();
|
||||||
break;
|
break;
|
||||||
case Intent.ACTION_SCREEN_OFF:
|
case Intent.ACTION_SCREEN_OFF:
|
||||||
|
killAppListener.killApp(action);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -329,6 +373,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void checkAliyunPushStatus() {
|
private void checkAliyunPushStatus() {
|
||||||
CloudPushService mPushService = PushServiceFactory.getCloudPushService();
|
CloudPushService mPushService = PushServiceFactory.getCloudPushService();
|
||||||
mPushService.checkPushChannelStatus(new CommonCallback() {
|
mPushService.checkPushChannelStatus(new CommonCallback() {
|
||||||
@@ -505,6 +550,10 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
|||||||
}
|
}
|
||||||
|
|
||||||
mMMKV.encode(CommonConfig.DEVICES_FRIST_START, 1);
|
mMMKV.encode(CommonConfig.DEVICES_FRIST_START, 1);
|
||||||
|
Observable.create(killSubscribe)
|
||||||
|
.throttleLast(30, TimeUnit.SECONDS)
|
||||||
|
// .throttleLast(3, TimeUnit.SECONDS)
|
||||||
|
.subscribe(killObserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -911,7 +960,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized private void setFloatingWindow() {
|
private void setFloatingWindow() {
|
||||||
Log.e(TAG, "setFloatingWindow: ");
|
Log.e(TAG, "setFloatingWindow: ");
|
||||||
long nowTime = System.currentTimeMillis();
|
long nowTime = System.currentTimeMillis();
|
||||||
mTopApp.open(nowTime);
|
mTopApp.open(nowTime);
|
||||||
@@ -1033,7 +1082,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
|||||||
* @param pkg 包名
|
* @param pkg 包名
|
||||||
*/
|
*/
|
||||||
@SuppressLint("NewApi")
|
@SuppressLint("NewApi")
|
||||||
synchronized private void installApkByPackage(String filePath, String pkg) {
|
private void installApkByPackage(String filePath, String pkg) {
|
||||||
String oldListString = Settings.System.getString(getContentResolver(), CommonConfig.AOLE_ACTION_APP_FORBID);
|
String oldListString = Settings.System.getString(getContentResolver(), CommonConfig.AOLE_ACTION_APP_FORBID);
|
||||||
HashSet<String> packageList = new HashSet<>(Arrays.asList(oldListString.split(",")));
|
HashSet<String> packageList = new HashSet<>(Arrays.asList(oldListString.split(",")));
|
||||||
if (!packageList.contains(pkg)) {
|
if (!packageList.contains(pkg)) {
|
||||||
@@ -1266,17 +1315,24 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
|||||||
@Override
|
@Override
|
||||||
public void getEbagCodeFinish(boolean activation) {
|
public void getEbagCodeFinish(boolean activation) {
|
||||||
if (activation) {
|
if (activation) {
|
||||||
mPresenter.getExclusiveAdminApp();
|
// mPresenter.getExclusiveAdminApp();
|
||||||
Log.e(TAG, "getEBagCodeFinish: " + "已激活");
|
Log.e(TAG, "getEBagCodeFinish: " + "已激活");
|
||||||
} else {
|
} else {
|
||||||
mPresenter.getWiFiPasswd();
|
// mPresenter.getBlackList();
|
||||||
Log.e(TAG, "getEBagCodeFinish: " + "未激活");
|
Log.e(TAG, "getEBagCodeFinish: " + "未激活");
|
||||||
}
|
}
|
||||||
|
mPresenter.getBlackList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
@Override
|
@Override
|
||||||
public void getExclusiveAdminAppFinish() {
|
public void getExclusiveAdminAppFinish() {
|
||||||
Log.e(TAG, "getAdminAppFinish: ");
|
Log.e(TAG, "getAdminAppFinish: ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getBlackListFinish() {
|
||||||
|
Log.e(TAG, "getBlackListFinish: ");
|
||||||
mPresenter.getWiFiPasswd();
|
mPresenter.getWiFiPasswd();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1284,4 +1340,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
|||||||
public void setWiFiPasswd() {
|
public void setWiFiPasswd() {
|
||||||
Log.e(TAG, "setWiFiPasswd: ");
|
Log.e(TAG, "setWiFiPasswd: ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ public class ApkUtils {
|
|||||||
this.add("com.qunyu.dividedroad");
|
this.add("com.qunyu.dividedroad");
|
||||||
this.add("com.ygyb.yischool");
|
this.add("com.ygyb.yischool");
|
||||||
this.add("com.yxxmk.uiui");
|
this.add("com.yxxmk.uiui");
|
||||||
|
this.add("com.yxxmk.uiuios");
|
||||||
this.add("com.uiui.floatwindow");
|
this.add("com.uiui.floatwindow");
|
||||||
this.add("com.uiuipad.find");
|
this.add("com.uiuipad.find");
|
||||||
this.add("com.uiuipad.appstore");
|
this.add("com.uiuipad.appstore");
|
||||||
@@ -94,6 +95,9 @@ public class ApkUtils {
|
|||||||
this.add("com.ttstd.ttutils");
|
this.add("com.ttstd.ttutils");
|
||||||
this.add("com.ttstd.qin");
|
this.add("com.ttstd.qin");
|
||||||
this.add("com.uiuios.ailog");
|
this.add("com.uiuios.ailog");
|
||||||
|
|
||||||
|
this.add("com.android.documentsui");
|
||||||
|
this.add("com.android.settings");
|
||||||
}};
|
}};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -143,7 +147,7 @@ public class ApkUtils {
|
|||||||
this.add("com.verizon.remoteSimlock");
|
this.add("com.verizon.remoteSimlock");
|
||||||
this.add("com.android.protips");
|
this.add("com.android.protips");
|
||||||
this.add("com.android.theme.icon_pack.rounded.systemui");
|
this.add("com.android.theme.icon_pack.rounded.systemui");
|
||||||
this.add("com.android.documentsui");
|
// this.add("com.android.documentsui");
|
||||||
this.add("com.android.externalstorage");
|
this.add("com.android.externalstorage");
|
||||||
this.add("com.mediatek.ygps");
|
this.add("com.mediatek.ygps");
|
||||||
this.add("com.mediatek.simprocessor");
|
this.add("com.mediatek.simprocessor");
|
||||||
@@ -246,7 +250,7 @@ public class ApkUtils {
|
|||||||
this.add("com.android.theme.icon.squircle");
|
this.add("com.android.theme.icon.squircle");
|
||||||
this.add("com.android.storagemanager");
|
this.add("com.android.storagemanager");
|
||||||
this.add("com.android.bookmarkprovider");
|
this.add("com.android.bookmarkprovider");
|
||||||
this.add("com.android.settings");
|
// this.add("com.android.settings");
|
||||||
this.add("com.google.android.inputmethod.pinyin");
|
this.add("com.google.android.inputmethod.pinyin");
|
||||||
this.add("com.android.theme.icon_pack.filled.launcher");
|
this.add("com.android.theme.icon_pack.filled.launcher");
|
||||||
this.add("com.android.networkstack.permissionconfig");
|
this.add("com.android.networkstack.permissionconfig");
|
||||||
@@ -422,6 +426,16 @@ public class ApkUtils {
|
|||||||
|
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
public static final Set<String> yixuepaiApp = new HashSet<String>() {{
|
||||||
|
this.add("com.qi.airoom");
|
||||||
|
this.add("com.qi.AiStudyRoom");
|
||||||
|
this.add("com.eusoft.eudic");
|
||||||
|
this.add("com.fenbi.android.solar");
|
||||||
|
this.add("com.eduyun.app.factory.ykt");
|
||||||
|
this.add("com.yaerxing.fkst");
|
||||||
|
this.add("com.jxw.usagedate");
|
||||||
|
}};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 学习桌面和九学王app
|
* 学习桌面和九学王app
|
||||||
@@ -481,7 +495,14 @@ public class ApkUtils {
|
|||||||
|
|
||||||
this.add("com.jxw.souti");
|
this.add("com.jxw.souti");
|
||||||
this.add("com.jxw.xdfzq");
|
this.add("com.jxw.xdfzq");
|
||||||
this.add("com.uiui.zysn");
|
}};
|
||||||
|
|
||||||
|
public static final Set<String> G11Pkgs = new HashSet<String>() {{
|
||||||
|
/*G11 平台*/
|
||||||
|
this.add("com.lhcx.drawing");
|
||||||
|
this.add("com.dingwei.htbtool");
|
||||||
|
this.add("com.tencent.wemeet.app");
|
||||||
|
this.add("net.xmind.doughnut");
|
||||||
}};
|
}};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1406,6 +1427,7 @@ public class ApkUtils {
|
|||||||
this.add("com.alarmclock.uiui");
|
this.add("com.alarmclock.uiui");
|
||||||
this.add("com.uiui.speed");
|
this.add("com.uiui.speed");
|
||||||
this.add("com.books.wisdom");
|
this.add("com.books.wisdom");
|
||||||
|
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|
||||||
@@ -1429,10 +1451,14 @@ public class ApkUtils {
|
|||||||
//排除所有系统应用,不显示
|
//排除所有系统应用,不显示
|
||||||
if (isSystemApp(context, packageName)) {
|
if (isSystemApp(context, packageName)) {
|
||||||
if (!AoleyunOSApp.contains(packageName)
|
if (!AoleyunOSApp.contains(packageName)
|
||||||
|
&& !aoleyunAPP.contains(packageName)
|
||||||
&& !aihuaApp.contains(packageName)
|
&& !aihuaApp.contains(packageName)
|
||||||
&& !dongwa.contains(packageName)
|
&& !dongwa.contains(packageName)
|
||||||
|
&& !yixuepaiApp.contains(packageName)
|
||||||
|
&& !mJxwApp.contains(packageName)
|
||||||
&& !allPkgSet.contains(packageName)
|
&& !allPkgSet.contains(packageName)
|
||||||
) {
|
) {
|
||||||
|
Log.e(TAG, "getRunningAppInfo: continue = " + packageName);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -57,7 +57,6 @@ import com.aoleyun.sn.network.NetInterfaceManager;
|
|||||||
import com.aoleyun.sn.network.UrlAddress;
|
import com.aoleyun.sn.network.UrlAddress;
|
||||||
import com.aoleyun.sn.receiver.BootReceiver;
|
import com.aoleyun.sn.receiver.BootReceiver;
|
||||||
import com.aoleyun.sn.service.GuardService;
|
import com.aoleyun.sn.service.GuardService;
|
||||||
import com.aoleyun.sn.service.LogcatService;
|
|
||||||
import com.aoleyun.sn.service.StepService;
|
import com.aoleyun.sn.service.StepService;
|
||||||
import com.aoleyun.sn.service.main.MainService;
|
import com.aoleyun.sn.service.main.MainService;
|
||||||
import com.blankj.utilcode.util.FileUtils;
|
import com.blankj.utilcode.util.FileUtils;
|
||||||
@@ -77,7 +76,6 @@ import com.tencent.mmkv.MMKV;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
@@ -87,9 +85,6 @@ import java.net.Inet4Address;
|
|||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.NetworkInterface;
|
import java.net.NetworkInterface;
|
||||||
import java.net.SocketException;
|
import java.net.SocketException;
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.nio.file.Paths;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
@@ -534,8 +529,7 @@ public class JGYUtils {
|
|||||||
*
|
*
|
||||||
* @param netAndLaunchBean
|
* @param netAndLaunchBean
|
||||||
*/
|
*/
|
||||||
@SuppressLint("NewApi")
|
public void setNetAndlaunch(NetAndLaunchBean netAndLaunchBean, List<AppListInfo> appListInfos) {
|
||||||
synchronized public void setNetAndlaunch(NetAndLaunchBean netAndLaunchBean, List<AppListInfo> appListInfos) {
|
|
||||||
Log.e(TAG, "setNetAndlaunch: " + "应用联网管控: " + netAndLaunchBean.getData().toString());
|
Log.e(TAG, "setNetAndlaunch: " + "应用联网管控: " + netAndLaunchBean.getData().toString());
|
||||||
Log.e(TAG, "setNetAndlaunch: ");
|
Log.e(TAG, "setNetAndlaunch: ");
|
||||||
HashSet<String> autoLaunchApp = new HashSet<>();//开机自启app
|
HashSet<String> autoLaunchApp = new HashSet<>();//开机自启app
|
||||||
@@ -663,8 +657,7 @@ public class JGYUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("NewApi")
|
public void setNetAndlaunch(NetAndLaunchBean netAndLaunchBean) {
|
||||||
synchronized public void setNetAndlaunch(NetAndLaunchBean netAndLaunchBean) {
|
|
||||||
Log.e(TAG, "setNetAndlaunch: " + "应用联网管控: " + netAndLaunchBean.getData().toString());
|
Log.e(TAG, "setNetAndlaunch: " + "应用联网管控: " + netAndLaunchBean.getData().toString());
|
||||||
Log.e(TAG, "setNetAndlaunch: ");
|
Log.e(TAG, "setNetAndlaunch: ");
|
||||||
HashSet<String> autoLaunchApp = new HashSet<>();//开机自启app
|
HashSet<String> autoLaunchApp = new HashSet<>();//开机自启app
|
||||||
@@ -772,31 +765,33 @@ public class JGYUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("NewApi")
|
public void setAppNetwork(Context context, HashSet<String> blackList, HashSet<String> whiteList) {
|
||||||
synchronized public static void setAppNetwork(Context context, HashSet<String> blackList, HashSet<String> whiteList) {
|
|
||||||
ContentResolver contentResolver = context.getContentResolver();
|
ContentResolver contentResolver = context.getContentResolver();
|
||||||
Log.e(TAG, "setAppNetwork: " + "设置应用联网管控" + blackList);
|
Log.e(TAG, "setAppNetwork: " + "设置应用联网管控 blackList =" + blackList);
|
||||||
|
Log.e(TAG, "setAppNetwork: " + "设置应用联网管控 whiteList =" + whiteList);
|
||||||
|
|
||||||
if (!MTK11Tag.equals(JGYUtils.getInstance().getAppPlatform())) {
|
if (!MTK11Tag.equals(JGYUtils.getInstance().getAppPlatform())) {
|
||||||
if (blackList == null || blackList.size() == 0) {
|
if (blackList == null || blackList.size() == 0) {
|
||||||
SPUtils.put(context, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, "");
|
// SPUtils.put(context, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, "");
|
||||||
Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, "");
|
Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, "");
|
||||||
} else {
|
} else {
|
||||||
String net_not = String.join(",", blackList);
|
String net_not = String.join(",", blackList);
|
||||||
SPUtils.put(context, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, net_not);
|
// SPUtils.put(context, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, net_not);
|
||||||
Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, net_not);
|
Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, net_not);
|
||||||
Log.e(TAG, "setAppNetwork: " + net_not);
|
Log.e(TAG, "setAppNetwork: " + net_not);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mMMKV.encode(CommonConfig.AOLE_ACTION_NETWORK_ALLOW, whiteList);
|
||||||
if (whiteList == null || whiteList.size() == 0) {
|
if (whiteList == null || whiteList.size() == 0) {
|
||||||
SPUtils.put(context, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
|
Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
|
||||||
// Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
|
|
||||||
} else {
|
} else {
|
||||||
|
// TODO: 2024/6/28 暂时所有的都为白名单
|
||||||
|
Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
|
||||||
|
|
||||||
String net_not = String.join(",", whiteList);
|
String net_not = String.join(",", whiteList);
|
||||||
SPUtils.put(context, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, net_not);
|
|
||||||
Log.e(TAG, "setAppNetwork: net_not = " + net_not);
|
Log.e(TAG, "setAppNetwork: net_not = " + net_not);
|
||||||
List<String> filterList = whiteList.stream().filter(s -> !ApkUtils.isAvailable(context, s)).collect(Collectors.toList());
|
List<String> filterList = whiteList.stream().filter(s -> ApkUtils.isAvailable(context, s)).collect(Collectors.toList());
|
||||||
if (filterList.size() == 0) {
|
if (filterList.size() == 0) {
|
||||||
// Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
|
// Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
|
||||||
} else {
|
} else {
|
||||||
@@ -815,13 +810,13 @@ public class JGYUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void updateNetworkWhiteList() {
|
public void updateNetworkWhiteList() {
|
||||||
String whiteString = (String) SPUtils.get(mContext, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
|
Set<String> pkgs = mMMKV.decodeStringSet(CommonConfig.AOLE_ACTION_NETWORK_ALLOW, new HashSet<>());
|
||||||
if (TextUtils.isEmpty(whiteString)) {
|
if (pkgs.isEmpty()) {
|
||||||
Log.e(TAG, "updateNetworkWhiteList: allow content is empty");
|
Log.e(TAG, "updateNetworkWhiteList: allow content is empty");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<String> whiteList = new ArrayList<>(Arrays.asList(whiteString.split(",")));
|
List<String> whiteList = new ArrayList<>(pkgs);
|
||||||
List<String> filterList = whiteList.stream().filter(s -> !ApkUtils.isAvailable(mContext, s)).collect(Collectors.toList());
|
List<String> filterList = whiteList.stream().filter(s -> ApkUtils.isAvailable(mContext, s)).collect(Collectors.toList());
|
||||||
if (filterList.size() == 0) {
|
if (filterList.size() == 0) {
|
||||||
// Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
|
// Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
|
||||||
} else {
|
} else {
|
||||||
@@ -830,8 +825,7 @@ public class JGYUtils {
|
|||||||
Log.e(TAG, "updateNetworkWhiteList: " + filterList);
|
Log.e(TAG, "updateNetworkWhiteList: " + filterList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("NewApi")
|
public void onBootSendNetwork() {
|
||||||
synchronized public void onBootSendNetwork() {
|
|
||||||
if (!MTK11Tag.equals(JGYUtils.getInstance().getAppPlatform())) {
|
if (!MTK11Tag.equals(JGYUtils.getInstance().getAppPlatform())) {
|
||||||
String oldBlackListString = (String) SPUtils.get(mContext, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, "");
|
String oldBlackListString = (String) SPUtils.get(mContext, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, "");
|
||||||
HashSet<String> oldBlackListSet = new HashSet<>(Arrays.asList(oldBlackListString.split(",")));
|
HashSet<String> oldBlackListSet = new HashSet<>(Arrays.asList(oldBlackListString.split(",")));
|
||||||
@@ -897,7 +891,7 @@ public class JGYUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized public void setAppinsideWeb(BaseResponse<List<Appground>> response) {
|
public void setAppinsideWeb(BaseResponse<List<Appground>> response) {
|
||||||
if (response.code == 200) {
|
if (response.code == 200) {
|
||||||
List<Appground> appgrounds = response.data;
|
List<Appground> appgrounds = response.data;
|
||||||
if (appgrounds != null && appgrounds.size() > 0) {
|
if (appgrounds != null && appgrounds.size() > 0) {
|
||||||
@@ -951,7 +945,7 @@ public class JGYUtils {
|
|||||||
/**
|
/**
|
||||||
* @param response 黑白名单都可以管控
|
* @param response 黑白名单都可以管控
|
||||||
*/
|
*/
|
||||||
synchronized public void setNewAppinsideWeb(BaseResponse response) {
|
public void setNewAppinsideWeb(BaseResponse response) {
|
||||||
Log.e(TAG, "setNewAppinsideWeb: " + "应用内部联网管控: " + response);
|
Log.e(TAG, "setNewAppinsideWeb: " + "应用内部联网管控: " + response);
|
||||||
if (response.code == 200) {
|
if (response.code == 200) {
|
||||||
String jsonString = GsonUtils.toJSONString(response.data);
|
String jsonString = GsonUtils.toJSONString(response.data);
|
||||||
@@ -989,7 +983,7 @@ public class JGYUtils {
|
|||||||
// public static final String JGY_APPINSIDE_FIRST_WRITE = "JGY_APPINSIDE_FIRST_WRITE";
|
// public static final String JGY_APPINSIDE_FIRST_WRITE = "JGY_APPINSIDE_FIRST_WRITE";
|
||||||
|
|
||||||
@SuppressLint("NewApi")
|
@SuppressLint("NewApi")
|
||||||
synchronized private void setWhiteApp(List<TTAppground> appgrounds) {
|
private void setWhiteApp(List<TTAppground> appgrounds) {
|
||||||
//去重
|
//去重
|
||||||
List<TTAppground> ttAppgrounds = appgrounds.stream().distinct().collect(Collectors.toList());
|
List<TTAppground> ttAppgrounds = appgrounds.stream().distinct().collect(Collectors.toList());
|
||||||
List<TTAppground> old = getOldWhitelist();
|
List<TTAppground> old = getOldWhitelist();
|
||||||
@@ -997,7 +991,7 @@ public class JGYUtils {
|
|||||||
setWhiteList(ttAppgrounds);
|
setWhiteList(ttAppgrounds);
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized private void comparedAppground(List<TTAppground> oldAppgrounds, List<TTAppground> newAppgrounds) {
|
private void comparedAppground(List<TTAppground> oldAppgrounds, List<TTAppground> newAppgrounds) {
|
||||||
List<TTAppground> addAppgrounds = new ArrayList<>();
|
List<TTAppground> addAppgrounds = new ArrayList<>();
|
||||||
List<TTAppground> deleteAppgrounds = new ArrayList<>();
|
List<TTAppground> deleteAppgrounds = new ArrayList<>();
|
||||||
List<TTAppground> changedAppgrounds = new ArrayList<>();
|
List<TTAppground> changedAppgrounds = new ArrayList<>();
|
||||||
@@ -1131,7 +1125,7 @@ public class JGYUtils {
|
|||||||
/**
|
/**
|
||||||
* @param pkg 开启app白名单
|
* @param pkg 开启app白名单
|
||||||
*/
|
*/
|
||||||
synchronized private void addPackage(String pkg) {
|
private void addPackage(String pkg) {
|
||||||
Log.e(TAG, "addPackage: " + pkg);
|
Log.e(TAG, "addPackage: " + pkg);
|
||||||
Intent intent26 = new Intent();
|
Intent intent26 = new Intent();
|
||||||
intent26.setAction("qch_app_inside_website");
|
intent26.setAction("qch_app_inside_website");
|
||||||
@@ -1144,7 +1138,7 @@ public class JGYUtils {
|
|||||||
* @param pkg
|
* @param pkg
|
||||||
* @param urls 添加app白名单
|
* @param urls 添加app白名单
|
||||||
*/
|
*/
|
||||||
synchronized private void addToWhitelist(String pkg, String urls) {
|
private void addToWhitelist(String pkg, String urls) {
|
||||||
if (TextUtils.isEmpty(urls)) {
|
if (TextUtils.isEmpty(urls)) {
|
||||||
Log.e(TAG, "addToWhitelist: " + "urls is NULL");
|
Log.e(TAG, "addToWhitelist: " + "urls is NULL");
|
||||||
return;
|
return;
|
||||||
@@ -1169,7 +1163,7 @@ public class JGYUtils {
|
|||||||
* @param pkg
|
* @param pkg
|
||||||
* @param urls 删除某个app 内某个白名单
|
* @param urls 删除某个app 内某个白名单
|
||||||
*/
|
*/
|
||||||
synchronized private void deleteWhitelistUrl(String pkg, String urls) {
|
private void deleteWhitelistUrl(String pkg, String urls) {
|
||||||
if (TextUtils.isEmpty(urls)) {
|
if (TextUtils.isEmpty(urls)) {
|
||||||
Log.e(TAG, "addToWhitelist: " + "urls is NULL");
|
Log.e(TAG, "addToWhitelist: " + "urls is NULL");
|
||||||
return;
|
return;
|
||||||
@@ -1192,7 +1186,7 @@ public class JGYUtils {
|
|||||||
/**
|
/**
|
||||||
* @param pkg 开启和关闭白名单管控都需要发送
|
* @param pkg 开启和关闭白名单管控都需要发送
|
||||||
*/
|
*/
|
||||||
synchronized private void deleteOtherAppWhitelist(String pkg) {
|
private void deleteOtherAppWhitelist(String pkg) {
|
||||||
Log.e(TAG, "disableAppWhitelist: " + pkg);
|
Log.e(TAG, "disableAppWhitelist: " + pkg);
|
||||||
Intent intent24 = new Intent();
|
Intent intent24 = new Intent();
|
||||||
intent24.setAction("qch_app_setDelAppWhitUid");
|
intent24.setAction("qch_app_setDelAppWhitUid");
|
||||||
@@ -1204,7 +1198,7 @@ public class JGYUtils {
|
|||||||
/**
|
/**
|
||||||
* @param appgrounds 设置黑名单管控
|
* @param appgrounds 设置黑名单管控
|
||||||
*/
|
*/
|
||||||
synchronized private void setBlackApp(List<TTAppground> appgrounds) {
|
private void setBlackApp(List<TTAppground> appgrounds) {
|
||||||
Log.e(TAG, "setBlackApp: " + appgrounds);
|
Log.e(TAG, "setBlackApp: " + appgrounds);
|
||||||
StringBuilder blackList = new StringBuilder();
|
StringBuilder blackList = new StringBuilder();
|
||||||
StringBuilder packageList = new StringBuilder();//单条管控名单
|
StringBuilder packageList = new StringBuilder();//单条管控名单
|
||||||
@@ -1244,7 +1238,7 @@ public class JGYUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized private static void sendAllweb(Context context) {
|
private static void sendAllweb(Context context) {
|
||||||
Log.e(TAG, "sendAllweb: ");
|
Log.e(TAG, "sendAllweb: ");
|
||||||
Intent intent = new Intent("qch_app_website")
|
Intent intent = new Intent("qch_app_website")
|
||||||
.setPackage("com.android.settings");
|
.setPackage("com.android.settings");
|
||||||
@@ -1252,7 +1246,7 @@ public class JGYUtils {
|
|||||||
context.sendBroadcast(intent);
|
context.sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized private static void sendwebUrl(Context context) {
|
private static void sendwebUrl(Context context) {
|
||||||
Log.e(TAG, "sendwebUrl: ");
|
Log.e(TAG, "sendwebUrl: ");
|
||||||
Intent intent = new Intent("qch_app_inside_website")
|
Intent intent = new Intent("qch_app_inside_website")
|
||||||
.setPackage("com.android.settings");
|
.setPackage("com.android.settings");
|
||||||
@@ -1260,7 +1254,7 @@ public class JGYUtils {
|
|||||||
context.sendBroadcast(intent);
|
context.sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized public void SettingSysData(String data) {
|
public void SettingSysData(String data) {
|
||||||
SPUtils.put(mContext, "SystemSettingData", data);
|
SPUtils.put(mContext, "SystemSettingData", data);
|
||||||
if (TextUtils.isEmpty(data)) {
|
if (TextUtils.isEmpty(data)) {
|
||||||
Log.e(TAG, "SettingSysData: " + "data is empty");
|
Log.e(TAG, "SettingSysData: " + "data is empty");
|
||||||
@@ -1292,11 +1286,16 @@ public class JGYUtils {
|
|||||||
this.add("com.notepad.uiui");
|
this.add("com.notepad.uiui");
|
||||||
this.add("com.calendar.uiui");
|
this.add("com.calendar.uiui");
|
||||||
this.add("com.alarmclock.uiui");
|
this.add("com.alarmclock.uiui");
|
||||||
this.add("com.uiui.videoplayer");
|
// this.add("com.uiui.videoplayer");
|
||||||
this.add("com.ygyb.yischool");
|
this.add("com.ygyb.yischool");
|
||||||
this.add("com.books.wisdom");
|
this.add("com.books.wisdom");
|
||||||
this.add("com.qi.airoom");
|
this.add("com.qi.airoom");
|
||||||
this.add("com.qi.AiStudyRoom");
|
this.add("com.qi.AiStudyRoom");
|
||||||
|
this.add("com.eusoft.eudic");
|
||||||
|
this.add("com.fenbi.android.solar");
|
||||||
|
this.add("com.eduyun.app.factory.ykt");
|
||||||
|
this.add("com.yaerxing.fkst");
|
||||||
|
this.add("com.jxw.usagedate");
|
||||||
}};
|
}};
|
||||||
|
|
||||||
private Set<String> getWhitePkgList() {
|
private Set<String> getWhitePkgList() {
|
||||||
@@ -1315,6 +1314,9 @@ public class JGYUtils {
|
|||||||
if ("G23".equals(Build.MODEL)) {
|
if ("G23".equals(Build.MODEL)) {
|
||||||
pkgSet.addAll(ApkUtils.zhengwu);
|
pkgSet.addAll(ApkUtils.zhengwu);
|
||||||
}
|
}
|
||||||
|
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.G11Platform) {
|
||||||
|
pkgSet.addAll(ApkUtils.G11Pkgs);
|
||||||
|
}
|
||||||
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.YXPD1Platform) {
|
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.YXPD1Platform) {
|
||||||
pkgSet.add("com.tencent.wemeet.app");
|
pkgSet.add("com.tencent.wemeet.app");
|
||||||
}
|
}
|
||||||
@@ -1362,19 +1364,20 @@ public class JGYUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void checkForceDownload() {
|
public void checkForceDownload() {
|
||||||
String jsonString = cacheHelper.getAsString(UrlAddress.GET_FORCE_INSTALL_LIST);
|
// String jsonString = cacheHelper.getAsString(UrlAddress.GET_FORCE_INSTALL_LIST);
|
||||||
//为 "" 是已经请求成功的
|
// //为 "" 是已经请求成功的
|
||||||
if (jsonString == null) {
|
// if (jsonString == null) {
|
||||||
NetInterfaceManager.getInstance().getForceDownload();
|
// NetInterfaceManager.getInstance().getForceDownload();
|
||||||
} else {
|
// } else {
|
||||||
Gson gson = new Gson();
|
// Gson gson = new Gson();
|
||||||
Type listType = new TypeToken<List<ForceDownloadData>>() {
|
// Type listType = new TypeToken<List<ForceDownloadData>>() {
|
||||||
}.getType();
|
// }.getType();
|
||||||
List<ForceDownloadData> forceDownloadData = gson.fromJson(jsonString, listType);
|
// List<ForceDownloadData> forceDownloadData = gson.fromJson(jsonString, listType);
|
||||||
if (forceDownloadData != null) {
|
// if (forceDownloadData != null) {
|
||||||
JGYUtils.getInstance().forceDownload(forceDownloadData);
|
// JGYUtils.getInstance().forceDownload(forceDownloadData);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
NetInterfaceManager.getInstance().getForceDownload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2009,6 +2012,7 @@ public class JGYUtils {
|
|||||||
|
|
||||||
|
|
||||||
public void killPackage(String pkg) {
|
public void killPackage(String pkg) {
|
||||||
|
Log.e(TAG, "killPackage: " + pkg);
|
||||||
ActivityManager manager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
|
ActivityManager manager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
|
||||||
manager.killBackgroundProcesses(pkg);
|
manager.killBackgroundProcesses(pkg);
|
||||||
CmdUtil.execute("am force-stop " + pkg);
|
CmdUtil.execute("am force-stop " + pkg);
|
||||||
@@ -2329,12 +2333,13 @@ public class JGYUtils {
|
|||||||
context.startService(new Intent(context, MainService.class));
|
context.startService(new Intent(context, MainService.class));
|
||||||
context.startService(new Intent(context, StepService.class));
|
context.startService(new Intent(context, StepService.class));
|
||||||
context.startService(new Intent(context, GuardService.class));
|
context.startService(new Intent(context, GuardService.class));
|
||||||
context.startService(new Intent(context, LogcatService.class));
|
// context.startService(new Intent(context, LogcatService.class));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String Launcher3 = "com.android.launcher3";
|
private String Launcher3 = "com.android.launcher3";
|
||||||
private String Launcher3Class = "com.android.launcher3.Launcher";
|
private String Launcher3Class = "com.android.launcher3.Launcher";
|
||||||
|
private String Launcher3QuickstepClass = "com.android.launcher3.uioverrides.QuickstepLauncher";
|
||||||
|
|
||||||
private String AoleyunOs = "com.aoleyun.os";
|
private String AoleyunOs = "com.aoleyun.os";
|
||||||
private String AoleyunOsClass = "com.aoleyun.os.Launcher";
|
private String AoleyunOsClass = "com.aoleyun.os.Launcher";
|
||||||
@@ -2407,6 +2412,12 @@ public class JGYUtils {
|
|||||||
if (TextUtils.isEmpty(pkg)) {
|
if (TextUtils.isEmpty(pkg)) {
|
||||||
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.YXPD1Platform) {
|
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.YXPD1Platform) {
|
||||||
JGYUtils.getInstance().setDop7DefaultDesktop();
|
JGYUtils.getInstance().setDop7DefaultDesktop();
|
||||||
|
} else if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.G11Platform) {
|
||||||
|
JGYUtils.getInstance().setJXWDefaultDesktop();
|
||||||
|
// } else if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZhanruiPlatform) {
|
||||||
|
// JGYUtils.getInstance().setJXWDefaultDesktop();
|
||||||
|
} else if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.AUDG104Platform) {
|
||||||
|
JGYUtils.getInstance().setAiuduDefaultDesktop();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (pkg.equalsIgnoreCase(desktopPkg)) {
|
if (pkg.equalsIgnoreCase(desktopPkg)) {
|
||||||
@@ -2438,29 +2449,45 @@ public class JGYUtils {
|
|||||||
* 设置奥乐云桌面为默认
|
* 设置奥乐云桌面为默认
|
||||||
*/
|
*/
|
||||||
public void setDefaultDesktop() {
|
public void setDefaultDesktop() {
|
||||||
|
Log.e(TAG, "setDefaultDesktop: ");
|
||||||
setDefaultDesktop(PackageNames.DESKTOP);
|
setDefaultDesktop(PackageNames.DESKTOP);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setYxpDefaultDesktop() {
|
public void setYxpDefaultDesktop() {
|
||||||
|
Log.e(TAG, "setYxpDefaultDesktop: ");
|
||||||
setDefaultDesktop(PackageNames.YIXUEPAI_DESKTOP);
|
setDefaultDesktop(PackageNames.YIXUEPAI_DESKTOP);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDop7DefaultDesktop() {
|
public void setDop7DefaultDesktop() {
|
||||||
|
Log.e(TAG, "setDop7DefaultDesktop: ");
|
||||||
setDefaultDesktop("com.aoleyunos.dop7");
|
setDefaultDesktop("com.aoleyunos.dop7");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setJXWDefaultDesktop() {
|
||||||
|
Log.e(TAG, "setJXWDefaultDesktop: ");
|
||||||
|
setDefaultDesktop("com.jxw.launcher");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAiuduDefaultDesktop() {
|
||||||
|
Log.e(TAG, "setAiuduDefaultDesktop: ");
|
||||||
|
// setDefaultDesktop("com.aoleyun.audos");
|
||||||
|
// setLauncher3();
|
||||||
|
setDefaultDesktop(Launcher3, Launcher3QuickstepClass);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置默认桌面
|
* 设置默认桌面
|
||||||
*
|
*
|
||||||
* @param pkg
|
* @param pkg
|
||||||
*/
|
*/
|
||||||
public void setDefaultDesktop(String pkg) {
|
public void setDefaultDesktop(String pkg) {
|
||||||
Log.e(TAG, "setDefaultDesktop: " + pkg);
|
Log.e(TAG, "setDefaultDesktop: pkg = " + pkg);
|
||||||
if (TextUtils.isEmpty(pkg)) {
|
if (TextUtils.isEmpty(pkg)) {
|
||||||
setLauncher3();
|
setLauncher3();
|
||||||
} else {
|
} else {
|
||||||
String className = getStartClassName(pkg);
|
String className = getStartClassName(pkg);
|
||||||
Log.e(TAG, "setDefaultDesktop: " + className);
|
Log.e(TAG, "setDefaultDesktop: className = " + className);
|
||||||
if (TextUtils.isEmpty(className)) {
|
if (TextUtils.isEmpty(className)) {
|
||||||
setLauncher3();
|
setLauncher3();
|
||||||
} else {
|
} else {
|
||||||
@@ -2479,14 +2506,18 @@ public class JGYUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setLauncher3() {
|
public void setLauncher3() {
|
||||||
if (ApkUtils.isAvailable(mContext, AoleyunOs)
|
if (ApkUtils.isAvailable(mContext, AoleyunOs)
|
||||||
|| "C2".equals(Build.MODEL)) {
|
|| "C2".equals(Build.MODEL)) {
|
||||||
setDefaultDesktop(AoleyunOs, AoleyunOsClass);
|
setDefaultDesktop(AoleyunOs, AoleyunOsClass);
|
||||||
} else if ("Aiud_A8_ag_1095".equals(Build.MODEL)) {
|
} else if ("Aiud_A8_ag_1095".equals(Build.MODEL)) {
|
||||||
setDefaultDesktop(AiUDuOs, AiUDuOsClass);
|
setDefaultDesktop(AiUDuOs, AiUDuOsClass);
|
||||||
} else {
|
} else {
|
||||||
setDefaultDesktop(Launcher3, Launcher3Class);
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {
|
||||||
|
setDefaultDesktop(Launcher3, Launcher3QuickstepClass);
|
||||||
|
} else {
|
||||||
|
setDefaultDesktop(Launcher3, Launcher3Class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2544,7 +2575,7 @@ public class JGYUtils {
|
|||||||
} else {
|
} else {
|
||||||
//爱华设置,暂时屏蔽
|
//爱华设置,暂时屏蔽
|
||||||
// setDefaultLauncher(mContext, pkg, className);
|
// setDefaultLauncher(mContext, pkg, className);
|
||||||
Log.e(TAG, "setDefaultDesktop: setDefaultLauncher: " + pkg);
|
Log.e(TAG, "setDefaultDesktop: setDefaultLauncher: pkg = " + pkg);
|
||||||
}
|
}
|
||||||
// String oldDesktop = (String) SPUtils.get(mContext, "default_launcher", "");
|
// String oldDesktop = (String) SPUtils.get(mContext, "default_launcher", "");
|
||||||
// if (Objects.equals(oldDesktop, pkg)) {
|
// if (Objects.equals(oldDesktop, pkg)) {
|
||||||
@@ -2569,10 +2600,42 @@ public class JGYUtils {
|
|||||||
Log.e(TAG, "setDefaultDesktop: " + pkg + ":" + className);
|
Log.e(TAG, "setDefaultDesktop: " + pkg + ":" + className);
|
||||||
Log.e(TAG, "setDefaultDesktop: " + "persist.sys.launcher.pkgname = " + SystemProperties.get("persist.sys.launcher.pkgname"));
|
Log.e(TAG, "setDefaultDesktop: " + "persist.sys.launcher.pkgname = " + SystemProperties.get("persist.sys.launcher.pkgname"));
|
||||||
Log.e(TAG, "setDefaultDesktop: " + "persist.sys.launcher.classname = " + SystemProperties.get("persist.sys.launcher.classname"));
|
Log.e(TAG, "setDefaultDesktop: " + "persist.sys.launcher.classname = " + SystemProperties.get("persist.sys.launcher.classname"));
|
||||||
|
Log.e(TAG, "setDefaultDesktop: getDefaultLaunchers = " + getDefaultLaunchers());
|
||||||
setDefaultLauncher(new ComponentName(pkg, className));
|
setDefaultLauncher(new ComponentName(pkg, className));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Set<String> getDefaultLaunchers() {
|
||||||
|
Set<String> defaultLaunchers = new HashSet<String>();
|
||||||
|
PackageManager packageManager = mContext.getPackageManager();
|
||||||
|
Intent intent = new Intent(Intent.ACTION_MAIN);
|
||||||
|
intent.addCategory(Intent.CATEGORY_HOME);
|
||||||
|
// 查询所有已安装的桌面应用
|
||||||
|
List<ResolveInfo> launcherList = packageManager.queryIntentActivities(intent,
|
||||||
|
PackageManager.MATCH_DEFAULT_ONLY);
|
||||||
|
// 获取默认的桌面应用,没有指定默认桌面时返回"android"
|
||||||
|
ResolveInfo defaultLauncher = packageManager.resolveActivity(intent,
|
||||||
|
PackageManager.MATCH_DEFAULT_ONLY);
|
||||||
|
if (launcherList != null && defaultLauncher != null) {
|
||||||
|
String pkgName = defaultLauncher.activityInfo.packageName;
|
||||||
|
Log.e("getDefaultLaunchers", "default launcher is : " + pkgName);
|
||||||
|
// 没有指定默认桌面时返回的是"android",故这里过滤下防止"android"被添加到默认桌面列表中
|
||||||
|
for (ResolveInfo info : launcherList) {
|
||||||
|
Log.e("getDefaultLaunchers", "launcher : " + info.activityInfo.packageName);
|
||||||
|
if (info.activityInfo.packageName.equals(pkgName)) {
|
||||||
|
defaultLaunchers.add(pkgName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 有多个桌面应用,且目前没有指定默认桌面时,返回所有的桌面应用
|
||||||
|
if (defaultLaunchers.isEmpty() && launcherList != null) {
|
||||||
|
for (ResolveInfo resolveInfo : launcherList) {
|
||||||
|
defaultLaunchers.add(resolveInfo.activityInfo.packageName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Log.e("getDefaultLaunchers", "defaultLaunchers : " + defaultLaunchers);
|
||||||
|
return defaultLaunchers;
|
||||||
|
}
|
||||||
|
|
||||||
public String getMacJson(Context context) {
|
public String getMacJson(Context context) {
|
||||||
JsonObject jsonObject = new JsonObject();
|
JsonObject jsonObject = new JsonObject();
|
||||||
jsonObject.addProperty("sn", Utils.getSerial(context));
|
jsonObject.addProperty("sn", Utils.getSerial(context));
|
||||||
@@ -2800,9 +2863,10 @@ public class JGYUtils {
|
|||||||
mContext.sendBroadcast(bootIntent);
|
mContext.sendBroadcast(bootIntent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public void wakeUpAoleyunAPP() {
|
public void wakeUpAoleyunAPP() {
|
||||||
wakeUpAppstore();
|
// wakeUpAppstore();
|
||||||
wakeUpNotify();
|
// wakeUpNotify();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getModel() {
|
public static String getModel() {
|
||||||
|
|||||||
@@ -6,27 +6,29 @@ import android.bluetooth.BluetoothAdapter;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.cube.SuperPower;
|
import android.cube.SuperPower;
|
||||||
import android.os.Build;
|
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.aoleyun.sn.BuildConfig;
|
import com.aoleyun.sn.BuildConfig;
|
||||||
import com.aoleyun.sn.activity.main.MainActivity;
|
import com.aoleyun.sn.activity.main.MainActivity;
|
||||||
|
import com.aoleyun.sn.bean.BluetoothType;
|
||||||
import com.aoleyun.sn.bean.SnSetting;
|
import com.aoleyun.sn.bean.SnSetting;
|
||||||
import com.aoleyun.sn.comm.CommonConfig;
|
import com.aoleyun.sn.comm.CommonConfig;
|
||||||
import com.aoleyun.sn.comm.JGYActions;
|
import com.aoleyun.sn.comm.JGYActions;
|
||||||
import com.aoleyun.sn.gson.GsonUtils;
|
import com.aoleyun.sn.gson.GsonUtils;
|
||||||
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
import com.hjq.toast.Toaster;
|
import com.hjq.toast.Toaster;
|
||||||
import com.tencent.mmkv.MMKV;
|
import com.tencent.mmkv.MMKV;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
|
|
||||||
public class SysSettingUtils {
|
public class SysSettingUtils {
|
||||||
@@ -348,6 +350,46 @@ public class SysSettingUtils {
|
|||||||
int setting_bhtvideo = changeNum(jsonObject.get("setting_bhtvideo").getAsInt());
|
int setting_bhtvideo = changeNum(jsonObject.get("setting_bhtvideo").getAsInt());
|
||||||
Log.e(TAG, "setBluetooth: setting_bhtvideo = " + setting_bhtvideo);
|
Log.e(TAG, "setBluetooth: setting_bhtvideo = " + setting_bhtvideo);
|
||||||
|
|
||||||
|
//蓝牙设备连接类型开关
|
||||||
|
int setting_bluetooth_type = changeNum(jsonObject.get("setting_bluetooth_type").getAsInt());
|
||||||
|
Log.e(TAG, "setBluetooth: setting_bluetooth_type = " + setting_bluetooth_type);
|
||||||
|
if (setting_bluetooth_type == 1) {
|
||||||
|
Settings.System.putString(context.getContentResolver(), CommonConfig.AOLE_ACTION_BT_DEVICE_TYPE, "");
|
||||||
|
} else {
|
||||||
|
String bluetooth_type_control = jsonObject.get("bluetooth_type_control").getAsString();
|
||||||
|
Log.e(TAG, "setBluetooth: bluetooth_type_control = " + bluetooth_type_control);
|
||||||
|
if (TextUtils.isEmpty(bluetooth_type_control)) {
|
||||||
|
Settings.System.putString(context.getContentResolver(), CommonConfig.AOLE_ACTION_BT_DEVICE_TYPE, "");
|
||||||
|
} else {
|
||||||
|
Gson gson = new Gson();
|
||||||
|
Type listType = new TypeToken<BluetoothType>() {
|
||||||
|
}.getType();
|
||||||
|
BluetoothType bluetoothType = gson.fromJson(bluetooth_type_control, listType);
|
||||||
|
if (bluetoothType == null) {
|
||||||
|
Settings.System.putString(context.getContentResolver(), CommonConfig.AOLE_ACTION_BT_DEVICE_TYPE, "");
|
||||||
|
} else {
|
||||||
|
List<String> typeList = new ArrayList<>();
|
||||||
|
if (bluetoothType.getHeadset() == 1) {
|
||||||
|
typeList.add(CommonConfig.AOLE_BT_HEADSET_KEY);
|
||||||
|
}
|
||||||
|
if (bluetoothType.getSound() == 1) {
|
||||||
|
typeList.add(CommonConfig.AOLE_BT_BOX_KEY);
|
||||||
|
}
|
||||||
|
if (bluetoothType.getMobile() == 1) {
|
||||||
|
typeList.add(CommonConfig.AOLE_BT_PHONE_KEY);
|
||||||
|
}
|
||||||
|
if (bluetoothType.getComputer() == 1) {
|
||||||
|
typeList.add(CommonConfig.AOLE_BT_COMPUTER_KEY);
|
||||||
|
}
|
||||||
|
if (bluetoothType.getKeyboard() == 1) {
|
||||||
|
typeList.add(CommonConfig.AOLE_BT_KEYBOARD_KEY);
|
||||||
|
}
|
||||||
|
Settings.System.putString(context.getContentResolver(), CommonConfig.AOLE_ACTION_BT_DEVICE_TYPE, String.join(",", typeList));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int old_setting_bht = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_BHT_FORBID_ON, 1);
|
int old_setting_bht = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_BHT_FORBID_ON, 1);
|
||||||
int old_setting_bluetooth = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_BT_FORBID_ON, 1);
|
int old_setting_bluetooth = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_BT_FORBID_ON, 1);
|
||||||
int old_setting_bhtvideo = mmkv.decodeInt(CommonConfig.AOLE_ACTION_BHTVIDEO_FORBID_ON, 1);
|
int old_setting_bhtvideo = mmkv.decodeInt(CommonConfig.AOLE_ACTION_BHTVIDEO_FORBID_ON, 1);
|
||||||
@@ -895,6 +937,11 @@ public class SysSettingUtils {
|
|||||||
Settings.System.putInt(context.getContentResolver(), "qch_app_browser", 0);
|
Settings.System.putInt(context.getContentResolver(), "qch_app_browser", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Intent intent = new Intent("BrowserInternetControlKey");
|
||||||
|
intent.setPackage("com.aoleyun.browser");
|
||||||
|
context.sendBroadcast(intent);
|
||||||
|
|
||||||
|
|
||||||
JsonElement smsCategory = jsonObject.get("setting_sms");
|
JsonElement smsCategory = jsonObject.get("setting_sms");
|
||||||
if (smsCategory != null && !smsCategory.isJsonNull()) {
|
if (smsCategory != null && !smsCategory.isJsonNull()) {
|
||||||
int setting_sms = smsCategory.getAsInt();
|
int setting_sms = smsCategory.getAsInt();
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ public class WiFiUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
synchronized public static void saveWiFiPasswd(List<WiFiAlias> passwd) {
|
public static void saveWiFiPasswd(List<WiFiAlias> passwd) {
|
||||||
String jsonString = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE).decodeString("WiFiPassword", "");
|
String jsonString = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE).decodeString("WiFiPassword", "");
|
||||||
Log.e(TAG, "saveWiFiPasswd: " + jsonString);
|
Log.e(TAG, "saveWiFiPasswd: " + jsonString);
|
||||||
Gson gson = new Gson();
|
Gson gson = new Gson();
|
||||||
@@ -254,7 +254,7 @@ public class WiFiUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
synchronized private static boolean wifiSaved(String ssid) {
|
private static boolean wifiSaved(String ssid) {
|
||||||
// 获取已保存wifi配置链表
|
// 获取已保存wifi配置链表
|
||||||
List<WifiConfiguration> configs = mWifiManager.getConfiguredNetworks();
|
List<WifiConfiguration> configs = mWifiManager.getConfiguredNetworks();
|
||||||
boolean saved = false;
|
boolean saved = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user