bugfixes:增加设置壁纸
This commit is contained in:
2024-12-10 17:19:43 +08:00
parent c360344acc
commit 816753a500
22 changed files with 431 additions and 106 deletions

View File

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

View File

@@ -35,6 +35,8 @@
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<uses-permission android:name="android.permission.SHUTDOWN" /> <uses-permission android:name="android.permission.SHUTDOWN" />
<uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
<uses-permission <uses-permission
android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS" android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
android:maxSdkVersion="22" /> android:maxSdkVersion="22" />
@@ -164,11 +166,11 @@
android:label="一键加速" android:label="一键加速"
android:launchMode="singleInstance" android:launchMode="singleInstance"
android:theme="@style/activity_styles"> android:theme="@style/activity_styles">
<intent-filter> <!-- <intent-filter>-->
<action android:name="android.intent.action.MAIN" /> <!-- <action android:name="android.intent.action.MAIN" />-->
<category android:name="android.intent.category.LAUNCHER" /> <!-- <category android:name="android.intent.category.LAUNCHER" />-->
</intent-filter> <!-- </intent-filter>-->
</activity> </activity>
<activity <activity

View File

@@ -21,6 +21,7 @@ import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.databinding.ActivityMainBinding; import com.aoleyun.sn.databinding.ActivityMainBinding;
import com.aoleyun.sn.gson.GsonUtils; import com.aoleyun.sn.gson.GsonUtils;
import com.aoleyun.sn.network.NetInterfaceManager; import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.network.UrlAddress;
import com.aoleyun.sn.utils.AES.CXAESUtil; import com.aoleyun.sn.utils.AES.CXAESUtil;
import com.aoleyun.sn.utils.JGYUtils; import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.Utils; import com.aoleyun.sn.utils.Utils;
@@ -306,6 +307,12 @@ 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);
} }
String data = GsonUtils.toJSONString(baseResponse.data);
Log.e("setSystemSetting", "onNext: " + data);
// cacheHelper.put(UrlAddress.GET_FIRMWARE, data);
//结果保存到本地
JGYUtils.getInstance().SettingSysData(data);
} else { } else {
if (JGYUtils.G11TAG.equals(JGYUtils.getInstance().getAppPlatform()) if (JGYUtils.G11TAG.equals(JGYUtils.getInstance().getAppPlatform())
|| "HT01".equals(Build.MODEL)) { || "HT01".equals(Build.MODEL)) {
@@ -314,6 +321,9 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
||"Ebox201W".equals(Build.MODEL)) { ||"Ebox201W".equals(Build.MODEL)) {
mShowPanel.setValue(false); mShowPanel.setValue(false);
} }
JGYUtils.getInstance().SettingSysData("");
// cacheHelper.put(UrlAddress.GET_FIRMWARE, "");
} }
} }

View File

@@ -6,6 +6,7 @@ import androidx.annotation.CallSuper;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.aoleyun.sn.R; import com.aoleyun.sn.R;
import com.aoleyun.sn.base.rx.BaseRxActivity;
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX; import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
public abstract class BaseDataBindingActivity extends BaseRxActivity { public abstract class BaseDataBindingActivity extends BaseRxActivity {

View File

@@ -6,6 +6,7 @@ import androidx.annotation.CallSuper;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.aoleyun.sn.R; import com.aoleyun.sn.R;
import com.aoleyun.sn.base.rx.BaseRxActivity;
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX; import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
public abstract class BaseTransparentActivity extends BaseRxActivity { public abstract class BaseTransparentActivity extends BaseRxActivity {

View File

@@ -1,4 +1,4 @@
package com.aoleyun.sn.base; package com.aoleyun.sn.base.rx;
import android.os.Bundle; import android.os.Bundle;

View File

@@ -0,0 +1,17 @@
package com.aoleyun.sn.bean;
import java.io.Serializable;
public class Wallpaper implements Serializable {
private static final long serialVersionUID = -395207605166607229L;
String file_url;
public String getFile_url() {
return file_url;
}
public void setFile_url(String file_url) {
this.file_url = file_url;
}
}

View File

@@ -78,6 +78,9 @@ public class CommonConfig {
/*存放后台上传的app包名 set*/ /*存放后台上传的app包名 set*/
public static final String ALL_APP_PKG_SET = "all_app_pkg_set_key"; public static final String ALL_APP_PKG_SET = "all_app_pkg_set_key";
/*壁纸地址*/
public static final String WALLPAPER_URL_KEY = "wallpaper_url";
/** /**
* 管控系统指令 * 管控系统指令
*/ */
@@ -113,7 +116,9 @@ public class CommonConfig {
public final static String AOLE_ACTION_APP_POWER_ON = "aole_app_power_on"; public final static String AOLE_ACTION_APP_POWER_ON = "aole_app_power_on";
/*禁止联网应用*/ /*禁止联网应用*/
public final static String AOLE_ACTION_NETWORK_DISALLOW = "aole_network_disallow"; public final static String AOLE_ACTION_NETWORK_DISALLOW = "aole_network_disallow";
// TODO: 2024/10/23 华瑞安设备上不管有没有写入settins的包名WiFi都会显示无网络
/*允许联网应用 G10P*/ /*允许联网应用 G10P*/
@Deprecated
public final static String AOLE_ACTION_NETWORK_ALLOW = "aole_network_allow"; public final static String AOLE_ACTION_NETWORK_ALLOW = "aole_network_allow";
/*全局黑名单 G10P*/ /*全局黑名单 G10P*/
public static final String AOLE_APP_WEB_BLACK_LIST = "app_web_black_list"; public static final String AOLE_APP_WEB_BLACK_LIST = "app_web_black_list";
@@ -134,6 +139,8 @@ public class CommonConfig {
public final static String AOLE_ACTION_HIDE_STATUS_BAR = "aole_hide_statusBar"; public final static String AOLE_ACTION_HIDE_STATUS_BAR = "aole_hide_statusBar";
/*热点*/ /*热点*/
public final static String AOLE_ACTION_HOTSPOT_FORBID_ON = "aole_hotspot_forbid_on"; public final static String AOLE_ACTION_HOTSPOT_FORBID_ON = "aole_hotspot_forbid_on";
/*相机*/
public final static String AOLE_ACTION_DISALLOW_CAMERA = "aole_disallow_camera";
/*蓝牙总开关*/ /*蓝牙总开关*/
public final static String AOLE_ACTION_BHT_FORBID_ON = "aole_bht_forbid_on"; public final static String AOLE_ACTION_BHT_FORBID_ON = "aole_bht_forbid_on";
@@ -152,7 +159,7 @@ public class CommonConfig {
/*计算机*/ /*计算机*/
public final static String AOLE_BT_COMPUTER_KEY = "aole_bt_computer_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_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";

View File

@@ -55,6 +55,7 @@ import com.aoleyun.sn.bean.SnSetting;
import com.aoleyun.sn.bean.SnTimeControl; import com.aoleyun.sn.bean.SnTimeControl;
import com.aoleyun.sn.bean.StudentsInfo; import com.aoleyun.sn.bean.StudentsInfo;
import com.aoleyun.sn.bean.TopApp; import com.aoleyun.sn.bean.TopApp;
import com.aoleyun.sn.bean.Wallpaper;
import com.aoleyun.sn.bean.WhitelistBean; import com.aoleyun.sn.bean.WhitelistBean;
import com.aoleyun.sn.bean.WhoisBean; import com.aoleyun.sn.bean.WhoisBean;
import com.aoleyun.sn.bean.WiFiAlias; import com.aoleyun.sn.bean.WiFiAlias;
@@ -87,6 +88,7 @@ import com.aoleyun.sn.network.api.get.SnAppAttrApi;
import com.aoleyun.sn.network.api.get.SnSettingApi; import com.aoleyun.sn.network.api.get.SnSettingApi;
import com.aoleyun.sn.network.api.get.SnTimeControlApi; import com.aoleyun.sn.network.api.get.SnTimeControlApi;
import com.aoleyun.sn.network.api.get.TopAppControlApi; import com.aoleyun.sn.network.api.get.TopAppControlApi;
import com.aoleyun.sn.network.api.get.WallpaperApi;
import com.aoleyun.sn.network.api.get.WhiteListApi; import com.aoleyun.sn.network.api.get.WhiteListApi;
import com.aoleyun.sn.network.api.post.AppLimitApi; import com.aoleyun.sn.network.api.post.AppLimitApi;
import com.aoleyun.sn.network.api.post.AppinsideWebApi; import com.aoleyun.sn.network.api.post.AppinsideWebApi;
@@ -114,7 +116,6 @@ import com.aoleyun.sn.network.api.post.NewAppinsideWebApi;
import com.aoleyun.sn.network.api.post.SendDownloadInfoApi; import com.aoleyun.sn.network.api.post.SendDownloadInfoApi;
import com.aoleyun.sn.network.api.post.SendDownloadTimesApi; import com.aoleyun.sn.network.api.post.SendDownloadTimesApi;
import com.aoleyun.sn.network.api.post.SendRestoreTimesApi; import com.aoleyun.sn.network.api.post.SendRestoreTimesApi;
import com.aoleyun.sn.network.api.post.SendScreenshotApi;
import com.aoleyun.sn.network.api.post.SendScreenshotCall; import com.aoleyun.sn.network.api.post.SendScreenshotCall;
import com.aoleyun.sn.network.api.post.SnConfirmBindApi; import com.aoleyun.sn.network.api.post.SnConfirmBindApi;
import com.aoleyun.sn.network.api.post.StudentsInfoApi; import com.aoleyun.sn.network.api.post.StudentsInfoApi;
@@ -131,6 +132,7 @@ import com.aoleyun.sn.statistics.StatisticsInfo;
import com.aoleyun.sn.utils.ApkUtils; import com.aoleyun.sn.utils.ApkUtils;
import com.aoleyun.sn.utils.BitmapUtils; import com.aoleyun.sn.utils.BitmapUtils;
import com.aoleyun.sn.utils.CacheUtils; import com.aoleyun.sn.utils.CacheUtils;
import com.aoleyun.sn.utils.CmdUtil;
import com.aoleyun.sn.utils.ForegroundAppUtil; import com.aoleyun.sn.utils.ForegroundAppUtil;
import com.aoleyun.sn.utils.JGYUtils; import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.MD5Util; import com.aoleyun.sn.utils.MD5Util;
@@ -168,7 +170,6 @@ import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Function; import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
@@ -177,7 +178,6 @@ import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.Observer; import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable; import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.BiFunction; import io.reactivex.rxjava3.functions.BiFunction;
import io.reactivex.rxjava3.functions.Function5;
import io.reactivex.rxjava3.functions.Function6; import io.reactivex.rxjava3.functions.Function6;
import io.reactivex.rxjava3.functions.Function7; import io.reactivex.rxjava3.functions.Function7;
import io.reactivex.rxjava3.schedulers.Schedulers; import io.reactivex.rxjava3.schedulers.Schedulers;
@@ -761,6 +761,14 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread()); .observeOn(AndroidSchedulers.mainThread());
} }
public Observable<BaseResponse<Wallpaper>> getWallpaperObservable() {
return mRetrofit.create(WallpaperApi.class)
.getWallpaper(Utils.getSerial(mContext))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/* /*
* *
* API * API
@@ -823,10 +831,6 @@ public class NetInterfaceManager {
return mRetrofit.create(SendDownloadInfoApi.class); return mRetrofit.create(SendDownloadInfoApi.class);
} }
public SendScreenshotApi getScreenshotApi() {
return mRetrofit.create(SendScreenshotApi.class);
}
public SendScreenshotCall getScreenshotCall() { public SendScreenshotCall getScreenshotCall() {
return mRetrofit.create(SendScreenshotCall.class); return mRetrofit.create(SendScreenshotCall.class);
} }
@@ -1496,31 +1500,6 @@ public class NetInterfaceManager {
}); });
} }
public void getDeveloper(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
ConnectMode connectMode = ConnectMode.ONE_HOUR;
if (refresh) {
connectMode = ConnectMode.ONE_MINUTE;
}
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_DEVELOPER, connectMode)) {
Log.e(TAG, "getDeveloper: cache2");
getDeveloper(lifecycle, callback);
} else {
String jsonString = cacheHelper.getAsString(UrlAddress.GET_DEVELOPER);
//为 "" 是已经请求成功的
if (jsonString == null) {
Log.e(TAG, "getDeveloper: cache2");
getDeveloper(lifecycle, callback);
} else {
// Gson gson = new Gson();
// Type type = new TypeToken<DeveloperBean>() {
// }.getType();
// DeveloperBean developerBean = gson.fromJson(jsonString, type);
// JGYUtils.getInstance().setDeveloperOptions(developerBean.getIs_developer());
// callback.onComplete();
}
}
}
public void getDeveloper(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) { public void getDeveloper(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
getDeveloperControl() getDeveloperControl()
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
@@ -2644,7 +2623,7 @@ public class NetInterfaceManager {
tagSets.add(JGYUtils.MT8768Tag); tagSets.add(JGYUtils.MT8768Tag);
} else if (platform == JGYUtils.AUDG104Platform) { } else if (platform == JGYUtils.AUDG104Platform) {
tagSets.add(JGYUtils.AUDG104Tag); tagSets.add(JGYUtils.AUDG104Tag);
}else if (platform == JGYUtils.HL500Platform) { } else if (platform == JGYUtils.HL500Platform) {
tagSets.add(JGYUtils.HL500Tag); tagSets.add(JGYUtils.HL500Tag);
} }
}); });
@@ -2702,14 +2681,15 @@ public class NetInterfaceManager {
} }
private Observable<BaseResponse> getUpdateDeviceInfoObservable() { private Observable<BaseResponse> getUpdateDeviceInfoObservable() {
String add = Utils.getAddressJsonString(mContext); String addressJsonString = Utils.getAddressJsonString(mContext);
cacheHelper.put(UrlAddress.UPDATE_DEVICEINFO, add); cacheHelper.put(UrlAddress.UPDATE_DEVICEINFO, addressJsonString);
return getUpdateDeviceInfo().updateDeviceInfo( return getUpdateDeviceInfo().updateDeviceInfo(
Utils.getSerial(mContext), Utils.getSerial(mContext),
NetInterfaceManager.HTTP_KEY, NetInterfaceManager.HTTP_KEY,
Utils.getMachine(mContext), Utils.getMachine(mContext),
Utils.getHardware(mContext), Utils.getHardware(mContext),
add addressJsonString,
Utils.getOtherInfo()
); );
} }
@@ -4396,20 +4376,38 @@ public class NetInterfaceManager {
@Override @Override
public void onNext(@NonNull BaseResponse<BlacklistBean> blacklistBeanBaseResponse) { public void onNext(@NonNull BaseResponse<BlacklistBean> blacklistBeanBaseResponse) {
Log.e("getBlackList", "onNext: " + blacklistBeanBaseResponse); Log.e("getBlackList", "onNext: " + blacklistBeanBaseResponse);
if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
} else {
try {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
CmdUtil.Result result = CmdUtil.execute(" settings delete system app_web_black_list");
Log.e(TAG, "getBlackList: " + result);
} catch (Exception e) {
e.printStackTrace();
}
}
if (blacklistBeanBaseResponse.code == 200) { if (blacklistBeanBaseResponse.code == 200) {
BlacklistBean blacklistBean = blacklistBeanBaseResponse.data; BlacklistBean blacklistBean = blacklistBeanBaseResponse.data;
if (blacklistBean == null) { if (blacklistBean == null) {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, ""); if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
} else { } else {
List<String> strings = blacklistBean.getBlacklist(); List<String> strings = blacklistBean.getBlacklist();
if (strings == null || strings.isEmpty()) { if (strings == null || strings.isEmpty()) {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, ""); if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
} else { } else {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, String.join(",", strings)); if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
// TODO: 2024/10/31 需要多写一次保证数据库变化
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, String.join(",", strings));
}
} }
} }
} else { } else {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, ""); if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
} }
} }
@@ -4454,20 +4452,40 @@ public class NetInterfaceManager {
@Override @Override
public void onNext(@NonNull BaseResponse<WhitelistBean> blacklistBeanBaseResponse) { public void onNext(@NonNull BaseResponse<WhitelistBean> blacklistBeanBaseResponse) {
Log.e("getWhiteList", "onNext: " + blacklistBeanBaseResponse); Log.e("getWhiteList", "onNext: " + blacklistBeanBaseResponse);
if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
} else {
try {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, null);
CmdUtil.Result result = CmdUtil.execute(" settings delete system app_web_white_list");
Log.e(TAG, "getWhiteList: " + result);
} catch (Exception e) {
e.printStackTrace();
}
}
if (blacklistBeanBaseResponse.code == 200) { if (blacklistBeanBaseResponse.code == 200) {
WhitelistBean whitelistBean = blacklistBeanBaseResponse.data; WhitelistBean whitelistBean = blacklistBeanBaseResponse.data;
if (whitelistBean == null) { if (whitelistBean == null) {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, ""); if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, null);
} else { } else {
List<String> strings = whitelistBean.getWhitelist(); List<String> strings = whitelistBean.getWhitelist();
if (strings == null || strings.isEmpty()) { if (strings == null || strings.isEmpty()) {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, ""); if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, null);
} else { } else {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, String.join(",", strings)); if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
// TODO: 2024/10/31 需要多写一次保证数据库变化
strings.add("ttstd.com");
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, String.join(",", strings));
strings.remove("ttstd.com");
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, String.join(",", strings));
}
} }
} }
} else { } else {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, ""); if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL))
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, null);
} }
} }
@@ -4487,4 +4505,50 @@ public class NetInterfaceManager {
} }
}; };
} }
public void getWallpaper() {
getWallpaperObservable()
.subscribe(getWallpaperObserver(null));
}
public void getWallpaper(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
getWallpaperObservable()
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(getWallpaperObserver(callback));
}
public Observer<BaseResponse<Wallpaper>> getWallpaperObserver(onCompleteCallback callback) {
return new Observer<BaseResponse<Wallpaper>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getWallpaper", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<Wallpaper> baseResponse) {
Log.e("getWallpaper", "onNext: " + baseResponse);
if (baseResponse.code == 200) {
Wallpaper wallpaper = baseResponse.data;
String url = wallpaper.getFile_url();
JGYUtils.getInstance().setWallpaper(url);
} else {
mMMKV.encode(CommonConfig.WALLPAPER_URL_KEY, "");
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getWallpaper", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onComplete() {
Log.e("getWallpaper", "onComplete: ");
if (callback != null) {
callback.onComplete();
}
}
};
}
} }

View File

@@ -108,7 +108,7 @@ public class UrlAddress {
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 BLACK_LIST = "android/common/blacklist"; public static final String BLACK_LIST = "android/common/blacklist";
/*获取设备批次全局名单*/ /*获取设备批次全局名单*/
public static final String WHITE_LIST = "android/common/whitelist"; public static final String WHITE_LIST = "android/common/whitelist";
/** /**
@@ -132,6 +132,8 @@ public class UrlAddress {
public static final String GET_DESKTOPS_DIY_UPDATE = "Sn/getDesktopsDiyUpdate"; public static final String GET_DESKTOPS_DIY_UPDATE = "Sn/getDesktopsDiyUpdate";
/*获取系统默认程序*/ /*获取系统默认程序*/
public static final String GET_DEFAULT_APP = "app/getDefaultApp"; public static final String GET_DEFAULT_APP = "app/getDefaultApp";
/*获取壁纸设置*/
public static final String GET_WALLPAPER = "android/sn/wallpaper";
/** /**
* 开发人员调试 * 开发人员调试

View File

@@ -0,0 +1,16 @@
package com.aoleyun.sn.network.api.get;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.Wallpaper;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface WallpaperApi {
@GET(UrlAddress.GET_WALLPAPER)
Observable<BaseResponse<Wallpaper>> getWallpaper(
@Query("sn") String sn
);
}

View File

@@ -12,6 +12,7 @@ import retrofit2.http.POST;
import retrofit2.http.Part; import retrofit2.http.Part;
import retrofit2.http.QueryMap; import retrofit2.http.QueryMap;
@Deprecated
public interface SendScreenshotApi { public interface SendScreenshotApi {
@Multipart @Multipart
@POST(UrlAddress.SEND_SCREENSHOT) @POST(UrlAddress.SEND_SCREENSHOT)

View File

@@ -16,6 +16,7 @@ public interface UpdateDeviceInfoApi {
@Field("key") String key, @Field("key") String key,
@Field("machine") String machine, @Field("machine") String machine,
@Field("hardware") String hardware, @Field("hardware") String hardware,
@Field("address") String address @Field("address") String address,
@Field("other") String other
); );
} }

View File

@@ -39,7 +39,7 @@ public class RepeatRequestInterceptor implements Interceptor {
// Response copy = response.newBuilder().body(responseBody).build(); // Response copy = response.newBuilder().body(responseBody).build();
ResponseBody copy = ResponseBody.create(responseBody.contentType(), content); ResponseBody copy = ResponseBody.create(responseBody.contentType(), content);
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
if (content.length() < 1024) { if (content.length() < 10240) {
Log.e(TAG, "请求体返回:| Response: " + request.url() + "\t body: " + content); Log.e(TAG, "请求体返回:| Response: " + request.url() + "\t body: " + content);
}else { }else {
Log.e(TAG, "请求体返回:| Response: " + request.url() + "\t body: too long" ); Log.e(TAG, "请求体返回:| Response: " + request.url() + "\t body: too long" );
@@ -87,7 +87,7 @@ public class RepeatRequestInterceptor implements Interceptor {
final Request copy = request.newBuilder().build(); final Request copy = request.newBuilder().build();
final Buffer buffer = new Buffer(); final Buffer buffer = new Buffer();
copy.body().writeTo(buffer); copy.body().writeTo(buffer);
if (buffer.size() > 1024) { if (buffer.size() > 10240) {
return "-too long"; return "-too long";
} }
return buffer.readUtf8(); return buffer.readUtf8();
@@ -100,7 +100,7 @@ public class RepeatRequestInterceptor implements Interceptor {
try { try {
final Buffer buffer = new Buffer(); final Buffer buffer = new Buffer();
body.writeTo(buffer); body.writeTo(buffer);
if (buffer.size() > 1024) { if (buffer.size() > 10240) {
return "-too long"; return "-too long";
} }
return buffer.readUtf8(); return buffer.readUtf8();

View File

@@ -258,7 +258,8 @@ public class PushManager {
private static final String GLOBAL_WHITE_LIST = "75"; private static final String GLOBAL_WHITE_LIST = "75";
/*应用市场应用安装*/ /*应用市场应用安装*/
private static final String APPSTORE_INSTALL = "76"; private static final String APPSTORE_INSTALL = "76";
/*设置壁纸*/
private static final String wallpaper = "78";
public void setPushContent(String title, String extras) { public void setPushContent(String title, String extras) {
switch (title) { switch (title) {
@@ -670,11 +671,18 @@ public class PushManager {
break; break;
case APPSTORE_INSTALL: case APPSTORE_INSTALL:
break;
case wallpaper:
setWallpaper(extras);
break; break;
default: default:
} }
} }
private void setWallpaper(String extras) {
NetInterfaceManager.getInstance().getWallpaper();
}
private void refreshFocusMode() { private void refreshFocusMode() {
// Intent intent = new Intent(); // Intent intent = new Intent();
// ComponentName componentName = new ComponentName("com.aoleyunos.dop6", "com.aoleyunos.dop6.service.main.MainService"); // ComponentName componentName = new ComponentName("com.aoleyunos.dop6", "com.aoleyunos.dop6.service.main.MainService");

View File

@@ -54,6 +54,8 @@ public class MainSContact {
void getDefaultDesktop(); void getDefaultDesktop();
/*设置开机动画*/ /*设置开机动画*/
void setLogoImg(); void setLogoImg();
/*获取壁纸*/
void getWallpaper();
/*获取所有app详细信息*/ /*获取所有app详细信息*/
void getAllAppList(); void getAllAppList();
/*获取浏览器书签设置管控*/ /*获取浏览器书签设置管控*/
@@ -138,6 +140,8 @@ public class MainSContact {
void getDefaultDesktopFinish(); void getDefaultDesktopFinish();
/*设置开机动画*/ /*设置开机动画*/
void setLogoImgFinish(); void setLogoImgFinish();
/*获取开机动画结束*/
void getWallpaperFinish();
/*获取所有app详细信息*/ /*获取所有app详细信息*/
void getAllAppListFinish(); void getAllAppListFinish();
/*获取浏览器书签设置管控结束*/ /*获取浏览器书签设置管控结束*/

View File

@@ -11,7 +11,6 @@ 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;
@@ -114,7 +113,6 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override @Override
public void setPushTag(String tag) { public void setPushTag(String tag) {
mView.setTagsFinish(TextUtils.isEmpty(tag)); mView.setTagsFinish(TextUtils.isEmpty(tag));
} }
}); });
String tagSets = mMMKV.decodeString(CommonConfig.DEVICES_TAG); String tagSets = mMMKV.decodeString(CommonConfig.DEVICES_TAG);
@@ -293,8 +291,9 @@ public class MainSPresenter implements MainSContact.Presenter {
*/ */
@Override @Override
public void getDeveloper() { public void getDeveloper() {
Log.e(TAG, "getDeveloper: ");
NetInterfaceManager.getInstance() NetInterfaceManager.getInstance()
.getDeveloper(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() { .getDeveloper(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
@Override @Override
public void onComplete() { public void onComplete() {
mView.getDeveloperFinish(); mView.getDeveloperFinish();
@@ -393,6 +392,16 @@ public class MainSPresenter implements MainSContact.Presenter {
} }
} }
@Override
public void getWallpaper() {
NetInterfaceManager.getInstance().getWallpaper(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
@Override
public void onComplete() {
mView.getWallpaperFinish();
}
});
}
@Override @Override
public void getAllAppList() { public void getAllAppList() {
NetInterfaceManager.getInstance() NetInterfaceManager.getInstance()

View File

@@ -1125,8 +1125,8 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
} else { } else {
mPresenter.getFirstConnect(); mPresenter.getFirstConnect();
mPresenter.getStudesInfo(); mPresenter.getStudesInfo();
mPresenter.getDeveloper();
} }
mPresenter.getDeveloper();
mPresenter.sendMacAddress(); mPresenter.sendMacAddress();
} }
@@ -1234,6 +1234,11 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
@Override @Override
public void setLogoImgFinish() { public void setLogoImgFinish() {
mPresenter.getWallpaper();
}
@Override
public void getWallpaperFinish() {
mPresenter.getAllAppList(); mPresenter.getAllAppList();
} }

View File

@@ -104,6 +104,7 @@ public class ApkUtils {
* 桌面app * 桌面app
*/ */
public static final Set<String> desktopAPP = new HashSet<String>() {{ public static final Set<String> desktopAPP = new HashSet<String>() {{
this.add("com.aoleyunos.dop");
this.add("com.aoleyunos.dop1"); this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2"); this.add("com.aoleyunos.dop2");
this.add("com.aoleyunos.dop3"); this.add("com.aoleyunos.dop3");
@@ -1410,6 +1411,7 @@ public class ApkUtils {
this.add("com.aoleyun.sn"); this.add("com.aoleyun.sn");
this.add("com.aoleyun.browser"); this.add("com.aoleyun.browser");
this.add("com.aoleyun.appstore"); this.add("com.aoleyun.appstore");
this.add("com.aoleyunos.dop0");
this.add("com.aoleyunos.dop1"); this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2"); this.add("com.aoleyunos.dop2");
this.add("com.aoleyunos.dop3"); this.add("com.aoleyunos.dop3");

View File

@@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.ActivityManagerNative; import android.app.ActivityManagerNative;
import android.app.ActivityTaskManager; import android.app.ActivityTaskManager;
import android.app.WallpaperManager;
import android.app.role.RoleManager; import android.app.role.RoleManager;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.ContentResolver; import android.content.ContentResolver;
@@ -18,6 +19,8 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.Drawable;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import android.net.Uri; import android.net.Uri;
@@ -38,6 +41,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
import com.aoleyun.sn.BuildConfig; import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.bean.AdminAppInfo; import com.aoleyun.sn.bean.AdminAppInfo;
import com.aoleyun.sn.bean.AppID; import com.aoleyun.sn.bean.AppID;
@@ -61,6 +65,9 @@ import com.aoleyun.sn.service.GuardService;
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;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.SimpleTarget;
import com.bumptech.glide.request.transition.Transition;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
@@ -77,6 +84,7 @@ 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;
@@ -773,13 +781,47 @@ public class JGYUtils {
} }
} }
public static final Set<String> DEFAULT_ALLOW_NETWORK_APP_SET = new HashSet<String>() {{
this.add(BuildConfig.APPLICATION_ID);
this.add("com.aoleyun.appstore");
this.add("com.aoleyun.camera");
this.add("com.aoleyun.calculator");
this.add("com.aoleyun.gallery3d");
this.addAll(ApkUtils.mJxwApp);
this.addAll(ApkUtils.desktopAPP);
this.add("com.android.settings");
this.add("com.aoleyunos.dop");
this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2");
this.add("com.aoleyunos.dop3");
this.add("com.aoleyunos.dop4");
this.add("com.aoleyunos.dop5");
this.add("com.aoleyunos.dop6");
this.add("com.aoleyunos.dop7");
this.add("com.aoleyunos.dop8");
this.add("com.aoleyunos.dop9");
this.add("com.aoleyunos.dop10");
}};
public void setAppNetwork(HashSet<String> blackList, HashSet<String> whiteList) { public void setAppNetwork(HashSet<String> blackList, HashSet<String> whiteList) {
Log.e(TAG, "setAppNetwork: " + "设置应用联网管控 blackList =" + blackList); Log.e(TAG, "setAppNetwork: " + "设置应用联网管控 blackList =" + blackList);
Log.e(TAG, "setAppNetwork: " + "设置应用联网管控 whiteList =" + whiteList); Log.e(TAG, "setAppNetwork: " + "设置应用联网管控 whiteList =" + whiteList);
if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
} else {
try {
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, null);
CmdUtil.Result result = CmdUtil.execute(" settings delete system aole_network_allow");
Log.e(TAG, "setAppNetwork: " + result);
} catch (Exception e) {
e.printStackTrace();
}
}
if (!MTK11Tag.equals(JGYUtils.getInstance().getAppPlatform())) { if (!MTK11Tag.equals(JGYUtils.getInstance().getAppPlatform())) {
if (blackList == null || blackList.size() == 0) { if (blackList == null || blackList.size() == 0) {
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, ""); Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, null);
} else { } else {
String net_not = String.join(",", blackList); String net_not = String.join(",", blackList);
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, net_not); Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_DISALLOW, net_not);
@@ -796,19 +838,19 @@ public class JGYUtils {
} else { } else {
pkgs = new HashSet<>(whiteList); pkgs = new HashSet<>(whiteList);
} }
pkgs.add(BuildConfig.APPLICATION_ID); pkgs.addAll(DEFAULT_ALLOW_NETWORK_APP_SET);
pkgs.add("com.aoleyun.appstore");
pkgs.add("com.aoleyun.camera");
pkgs.add("com.aoleyun.calculator");
pkgs.add("com.aoleyun.gallery3d");
pkgs.addAll(ApkUtils.mJxwApp);
List<String> filterList = pkgs.stream().filter(s -> ApkUtils.isAvailable(mContext, s)).collect(Collectors.toList()); List<String> filterList = pkgs.stream().filter(s -> ApkUtils.isAvailable(mContext, s)).collect(Collectors.toList());
Log.e(TAG, "setAppNetwork: filterList = " + filterList); Log.e(TAG, "setAppNetwork: filterList = " + filterList);
if (filterList.size() == 0) { if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, ""); if (filterList.size() == 0) {
} else { Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, null);
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList)); } else {
// TODO: 2024/10/31 需要多写一次保证数据库变化
filterList.add("com.ttstd.utils");
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
filterList.remove("com.ttstd.utils");
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
}
} }
} }
@@ -816,6 +858,44 @@ public class JGYUtils {
* 应用安装之后添加到白名单 * 应用安装之后添加到白名单
*/ */
public void updateNetworkWhiteList() { public void updateNetworkWhiteList() {
Log.e(TAG, "updateNetworkWhiteList: ");
if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
} else {
try {
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, null);
CmdUtil.Result result = CmdUtil.execute(" settings delete system aole_network_allow");
Log.e(TAG, "updateNetworkWhiteList: " + result);
} catch (Exception e) {
e.printStackTrace();
}
}
if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
} else {
try {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_BLACK_LIST, null);
CmdUtil.Result result = CmdUtil.execute(" settings delete system app_web_black_list");
Log.e(TAG, "updateNetworkWhiteList: " + result);
} catch (Exception e) {
e.printStackTrace();
}
}
if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
} else {
try {
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, null);
CmdUtil.Result result = CmdUtil.execute(" settings delete system app_web_white_list");
Log.e(TAG, "getWhiteList: " + result);
} catch (Exception e) {
e.printStackTrace();
}
}
Set<String> pkgs; Set<String> pkgs;
int is_app_install = Settings.System.getInt(crv, CommonConfig.AOLE_APP_ALLOW_INSTALL, 0); int is_app_install = Settings.System.getInt(crv, CommonConfig.AOLE_APP_ALLOW_INSTALL, 0);
if (is_app_install == 1) { if (is_app_install == 1) {
@@ -824,24 +904,23 @@ public class JGYUtils {
} else { } else {
pkgs = mMMKV.decodeStringSet(CommonConfig.AOLE_ACTION_NETWORK_ALLOW, new HashSet<>()); pkgs = mMMKV.decodeStringSet(CommonConfig.AOLE_ACTION_NETWORK_ALLOW, new HashSet<>());
} }
pkgs.addAll(DEFAULT_ALLOW_NETWORK_APP_SET);
pkgs.add(BuildConfig.APPLICATION_ID);
pkgs.add("com.aoleyun.appstore");
pkgs.add("com.aoleyun.camera");
pkgs.add("com.aoleyun.calculator");
pkgs.add("com.aoleyun.gallery3d");
pkgs.addAll(ApkUtils.mJxwApp);
List<String> whiteList = new ArrayList<>(pkgs); 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());
Log.e(TAG, "updateNetworkWhiteList: filterList = " + filterList); Log.e(TAG, "updateNetworkWhiteList: filterList = " + filterList);
if (filterList.size() == 0) { if ("Ebox201W".equals(Build.MODEL) || "Ebox201".equals(Build.MODEL)) {
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, ""); if (filterList.size() == 0) {
} else { Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, null);
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList)); } else {
// TODO: 2024/10/31 需要多写一次保证数据库变化
filterList.add("com.ttstd.utils");
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
filterList.remove("com.ttstd.utils");
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
}
} }
Log.e(TAG, "updateNetworkWhiteList: " + filterList); Log.e(TAG, "updateNetworkWhiteList: " + filterList);
} }
@@ -873,7 +952,7 @@ public class JGYUtils {
public void writeDeselectIDtoSystem(List<AppID> appIDList) { public void writeDeselectIDtoSystem(List<AppID> appIDList) {
if (appIDList == null || appIDList.isEmpty()) { if (appIDList == null || appIDList.isEmpty()) {
try { try {
Settings.System.putString(crv, CommonConfig.APP_VIEW_CLICK_DISABLED, ""); Settings.System.putString(crv, CommonConfig.APP_VIEW_CLICK_DISABLED, null);
// TODO: 2024/9/11 修复1.4.0907版本数据为空系统报错 // TODO: 2024/9/11 修复1.4.0907版本数据为空系统报错
CmdUtil.Result result = CmdUtil.execute(" settings delete system app_view_click_disabled"); CmdUtil.Result result = CmdUtil.execute(" settings delete system app_view_click_disabled");
Log.e(TAG, "writeDeselectIDtoSystem: " + result); Log.e(TAG, "writeDeselectIDtoSystem: " + result);
@@ -1279,9 +1358,17 @@ public class JGYUtils {
this.add("com.android.uiuios"); this.add("com.android.uiuios");
this.add("com.aoleyun.os"); this.add("com.aoleyun.os");
this.add("com.aoleyun.audos"); this.add("com.aoleyun.audos");
this.add("com.aoleyunos.dop");
this.add("com.aoleyunos.dop1"); this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2"); this.add("com.aoleyunos.dop2");
this.add("com.aoleyunos.dop3"); this.add("com.aoleyunos.dop3");
this.add("com.aoleyunos.dop4");
this.add("com.aoleyunos.dop5");
this.add("com.aoleyunos.dop6");
this.add("com.aoleyunos.dop7");
this.add("com.aoleyunos.dop8");
this.add("com.aoleyunos.dop9");
this.add("com.aoleyunos.dop10");
this.add("com.aoleyun.info"); this.add("com.aoleyun.info");
this.add("com.calculator.uiui"); this.add("com.calculator.uiui");
this.add("com.notepad.uiui"); this.add("com.notepad.uiui");
@@ -1673,9 +1760,18 @@ public class JGYUtils {
this.add("com.aoleyun.sn"); this.add("com.aoleyun.sn");
this.add("com.aoleyun.browser"); this.add("com.aoleyun.browser");
this.add("com.aoleyun.os"); this.add("com.aoleyun.os");
this.add("com.aoleyunos.dop");
this.add("com.aoleyunos.dop1"); this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2"); this.add("com.aoleyunos.dop2");
this.add("com.aoleyunos.dop3"); this.add("com.aoleyunos.dop3");
this.add("com.aoleyunos.dop4");
this.add("com.aoleyunos.dop5");
this.add("com.aoleyunos.dop6");
this.add("com.aoleyunos.dop7");
this.add("com.aoleyunos.dop8");
this.add("com.aoleyunos.dop9");
this.add("com.aoleyunos.dop10");
}}; }};
HashSet<String> aihuaAppList = new HashSet<String>() {{ HashSet<String> aihuaAppList = new HashSet<String>() {{
@@ -2653,7 +2749,7 @@ public class JGYUtils {
JsonObject jsonObject = new JsonObject(); JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("sn", Utils.getSerial(context)); jsonObject.addProperty("sn", Utils.getSerial(context));
jsonObject.addProperty("mac", Utils.getAndroid10MAC(mContext)); jsonObject.addProperty("mac", Utils.getAndroid10MAC(mContext));
jsonObject.addProperty("jpush_id", "0000"); jsonObject.addProperty("jpush_id", PushServiceFactory.getCloudPushService().getDeviceId());
jsonObject.addProperty("devices_version", Utils.getCustomVersion()); jsonObject.addProperty("devices_version", Utils.getCustomVersion());
jsonObject.addProperty("appstore_version", BuildConfig.VERSION_NAME); jsonObject.addProperty("appstore_version", BuildConfig.VERSION_NAME);
jsonObject.addProperty("store_version", Utils.getAPPVersionName(PackageNames.APPSTORE, mContext)); jsonObject.addProperty("store_version", Utils.getAPPVersionName(PackageNames.APPSTORE, mContext));
@@ -3360,4 +3456,40 @@ public class JGYUtils {
return pkgs.contains(pkg); return pkgs.contains(pkg);
} }
} }
public void setWallpaper(String url) {
String oldUrl = mMMKV.decodeString(CommonConfig.WALLPAPER_URL_KEY, "");
if (oldUrl.equals(url)){
Log.e(TAG, "setWallpaper: Already set" );
return;
}
// Bitmap bitmap = BitmapFactory.decodeFile(path);
//利用WallpaparManager,添加权限set_wallpaper
WallpaperManager wallpaperManager = WallpaperManager.getInstance(mContext);
// // 获取当前壁纸(非缩略图)
// Drawable drawable = wallpaperManager.getDrawable();
// // 获取当前壁纸的缩略图
// Bitmap bitmap = wallpaperManager.getBitmap();
// // 获取当前壁纸的尺寸
// int width = wallpaperManager.getDesiredMinimumWidth();
// int height = wallpaperManager.getDesiredMinimumHeight();
Glide.with(mContext).asBitmap().load(url).into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(@androidx.annotation.NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
try {
wallpaperManager.setBitmap(resource);
mMMKV.encode(CommonConfig.WALLPAPER_URL_KEY, url);
Log.e("setWallpaper", "onResourceReady: set wallpaper Successful");
} catch (IOException e) {
e.printStackTrace();
Log.e("setWallpaper", "onResourceReady: " + e.getMessage());
Log.e("setWallpaper", "onResourceReady: set wallpaper failed");
}
}
});
}
} }

View File

@@ -71,6 +71,7 @@ public class SysSettingUtils {
setSystemAppDisable(context, jsonObject); setSystemAppDisable(context, jsonObject);
setNotification(context, jsonObject); setNotification(context, jsonObject);
setPanelShow(context, jsonObject); setPanelShow(context, jsonObject);
setDisAllowCamera(context, jsonObject);
} }
/** /**
@@ -535,6 +536,8 @@ public class SysSettingUtils {
//状态栏显示开关 //状态栏显示开关
int setting_statusbar = changeNum(jsonObject.get("setting_statusbar").getAsInt()); int setting_statusbar = changeNum(jsonObject.get("setting_statusbar").getAsInt());
Log.e(TAG, "setting_statusbar: " + setting_statusbar);
// int oldNum = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_HIDE_STATUS_BAR, 0); // int oldNum = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_HIDE_STATUS_BAR, 0);
// if (oldNum != setting_statusbar) { // if (oldNum != setting_statusbar) {
//写入到系统不涉及任何管控,因为之前调用会频繁隐藏显示 //写入到系统不涉及任何管控,因为之前调用会频繁隐藏显示
@@ -1004,19 +1007,19 @@ public class SysSettingUtils {
setTF(context, changeNum(is_memory_card)); setTF(context, changeNum(is_memory_card));
} else { } else {
TimeUtils.setEmpty(context); // TimeUtils.setEmpty(context);
TimeUtils.ContralTime c = TimeUtils.getDefaltContralTime(context); // TimeUtils.ContralTime c = TimeUtils.getDefaltContralTime(context);
if (null != c) { // if (null != c) {
Log.e("getTimeControl", c.toString()); // Log.e("getTimeControl", c.toString());
} // }
Settings.Global.putInt(context.getContentResolver(), CommonConfig.AOLEYUN_APPSTORE_INSTALL, 1); // Settings.Global.putInt(context.getContentResolver(), CommonConfig.AOLEYUN_APPSTORE_INSTALL, 1);
setUsb(context, 0); // setUsb(context, 0);
setBluetoothTransmission(context, 0); // setBluetoothTransmission(context, 0);
// JGYUtils.getInstance().setDeveloperOptions(0); //// JGYUtils.getInstance().setDeveloperOptions(0);
setCanReset(context, 0); // setCanReset(context, 0);
setActionBar(context, 0); // setActionBar(context, 0);
setNavigationBar(context, 0); // setNavigationBar(context, 0);
setTF(context, 0); // setTF(context, 0);
} }
} }
@@ -1160,4 +1163,14 @@ public class SysSettingUtils {
context.sendBroadcast(intent); context.sendBroadcast(intent);
} }
} }
public static void setDisAllowCamera(Context context, JsonObject jsonObject) {
JsonElement jsonElement = jsonObject.get("camera_ctrl");
if (jsonElement != null && !jsonElement.isJsonNull()) {
int camera_ctrl = jsonElement.getAsInt();
Log.e("setDisAllowCamera", "setDisAllowCamera: " + camera_ctrl);
Settings.System.putInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_DISALLOW_CAMERA, changeNum(camera_ctrl));
}
}
} }

View File

@@ -48,6 +48,7 @@ import android.widget.Toast;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
import com.aoleyun.sn.BuildConfig; import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.R; import com.aoleyun.sn.R;
import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.CommonConfig;
@@ -109,7 +110,7 @@ import static android.content.Context.WIFI_SERVICE;
public class Utils { public class Utils {
private static String TAG = "Utils"; private static final String TAG = "Utils";
// MD5 设备地址标识 // MD5 设备地址标识
public static String getMAC(Context context) { public static String getMAC(Context context) {
@@ -795,7 +796,7 @@ public class Utils {
* @return * @return
*/ */
public static String getSerial(Context context) { public static String getSerial(Context context) {
if ("HL500".equals(Build.MODEL)){ if ("HL500".equals(Build.MODEL)) {
return getIMEI(context); return getIMEI(context);
} }
if (TECLAST_BRAND.equalsIgnoreCase(Build.BRAND)) { if (TECLAST_BRAND.equalsIgnoreCase(Build.BRAND)) {
@@ -1470,8 +1471,8 @@ public class Utils {
jsonObject.addProperty("screen_rate", screen_rate); jsonObject.addProperty("screen_rate", screen_rate);
jsonObject.addProperty("working_time", SystemClock.elapsedRealtime() / 1000); jsonObject.addProperty("working_time", SystemClock.elapsedRealtime() / 1000);
jsonObject.addProperty("restart_count", (int) SPUtils.get(context, "restart_count", 0)); jsonObject.addProperty("restart_count", (int) SPUtils.get(context, "restart_count", 0));
jsonObject.addProperty("storage_usable", getRemnantSize(context)); jsonObject.addProperty("storage_usable", getDataTotalSizeGb(context));
jsonObject.addProperty("storage_total", getDataTotalSize(context)); jsonObject.addProperty("storage_total", getDataTotalSizeGb(context));
String jsonString = jsonObject.toString(); String jsonString = jsonObject.toString();
Log.e(TAG, "getMachine: " + jsonString); Log.e(TAG, "getMachine: " + jsonString);
return jsonString; return jsonString;
@@ -1486,9 +1487,12 @@ public class Utils {
String storage = getRemnantSize(context) + "/" + getDataTotalSize(context); String storage = getRemnantSize(context) + "/" + getDataTotalSize(context);
int CPU = getNumCores(); int CPU = getNumCores();
JsonObject jsonObject = new JsonObject(); JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("electric", electric); jsonObject.addProperty("electric", electric);
jsonObject.addProperty("charging", charging); jsonObject.addProperty("charging", charging);
jsonObject.addProperty("memory", memory); jsonObject.addProperty("memory", memory);
jsonObject.addProperty("memory_used", Utils.getSizeGb(getFreeMemory(context)));
jsonObject.addProperty("memory_total", Utils.getSizeGb(getTotalMemory(context)));
jsonObject.addProperty("storage", storage); jsonObject.addProperty("storage", storage);
jsonObject.addProperty("battery_capacity", Utils.getBatterymAh(context)); jsonObject.addProperty("battery_capacity", Utils.getBatterymAh(context));
jsonObject.addProperty("CPU", CPU + ""); jsonObject.addProperty("CPU", CPU + "");
@@ -1509,6 +1513,15 @@ public class Utils {
jsonObject.addProperty("longitude", longitude); jsonObject.addProperty("longitude", longitude);
jsonObject.addProperty("latitude", latitude); jsonObject.addProperty("latitude", latitude);
String jsonString = jsonObject.toString(); String jsonString = jsonObject.toString();
Log.e(TAG, "getAddressJsonString: " + jsonString);
return jsonString;
}
public static String getOtherInfo() {
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("push_id", PushServiceFactory.getCloudPushService().getDeviceId());
String jsonString = jsonObject.toString();
Log.e(TAG, "getOtherInfo: push_id = " + jsonString);
return jsonString; return jsonString;
} }
@@ -1751,6 +1764,23 @@ public class Utils {
return String.format(Locale.getDefault(), " %.2f %s", size, units[index]); return String.format(Locale.getDefault(), " %.2f %s", size, units[index]);
} }
public static String getSizeGb(long size) {
DecimalFormat df = new DecimalFormat("#.00");
return df.format((double) size / 1073741824);
}
public static String getDataTotalSizeGb(Context context) {
StatFs sf = new StatFs(context.getCacheDir().getAbsolutePath());
long blockSize = sf.getBlockSize();
long totalBlocks = sf.getBlockCount();
return getSizeGb(blockSize * totalBlocks);
}
public static String getRemnantSizeGb(Context context) {
StatFs sf = new StatFs(context.getCacheDir().getAbsolutePath());
long availableSize = sf.getAvailableBytes();
return getSizeGb(availableSize);
}
public static String getDataTotalSize(Context context) { public static String getDataTotalSize(Context context) {
StatFs sf = new StatFs(context.getCacheDir().getAbsolutePath()); StatFs sf = new StatFs(context.getCacheDir().getAbsolutePath());