diff --git a/app/build.gradle b/app/build.gradle
index cf749fa..6d4abff 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -18,8 +18,8 @@ android {
defaultConfig {
applicationId "com.aoleyun.sn"
- versionCode 250
- versionName "1.6.1016"
+ versionCode 252
+ versionName "1.6.1021"
//There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature.
minSdkVersion 24
@@ -44,6 +44,9 @@ android {
buildConfigField "String", "ROOT_URL", '"https://led.aoleyun.cn/api/"'
buildConfigField "String", "WEBSOCKET_URL", '"wss://led.aoleyun.cn/wss/"'
+ // 百度定位 AK:统一在构建期注入,所有 buildType / flavor 共用同一份固定值。
+ // 严禁事后修改 APK(反编译重打包会破坏 liblocSDK8b.so 的未压缩与页对齐,导致 162 / .dynamic section header was not found)
+
}
compileOptions {
@@ -351,6 +354,7 @@ android {
G122JDebug.initWith(debug)
G122JDebug {
+ manifestPlaceholders = [BAIDU_LBS_API_KEY: "qyYyTD4ahoebPRY2oRxyiw5Xw1T6ikxJ"]
buildConfigField "String", "platform", '"G122J"'
versionNameSuffix "_debug"
debuggable true
@@ -359,12 +363,14 @@ android {
G122JRelease.initWith(release)
G122JRelease {
+ manifestPlaceholders = [BAIDU_LBS_API_KEY: "qyYyTD4ahoebPRY2oRxyiw5Xw1T6ikxJ"]
buildConfigField "String", "platform", '"G122J"'
signingConfig signingConfigs.G122J
}
G12NLDebug.initWith(debug)
G12NLDebug {
+ manifestPlaceholders = [BAIDU_LBS_API_KEY: "CjFhFE1UP5G14tMBz1kWs7ca92bgHuLr"]
buildConfigField "String", "platform", '"G12NL"'
versionNameSuffix "_debug"
debuggable true
@@ -373,12 +379,14 @@ android {
G12NLRelease.initWith(release)
G12NLRelease {
+ manifestPlaceholders = [BAIDU_LBS_API_KEY: "CjFhFE1UP5G14tMBz1kWs7ca92bgHuLr"]
buildConfigField "String", "platform", '"G12NL"'
signingConfig signingConfigs.MT6789
}
DX11Debug.initWith(debug)
DX11Debug {
+ manifestPlaceholders = [BAIDU_LBS_API_KEY: "CjFhFE1UP5G14tMBz1kWs7ca92bgHuLr"]
buildConfigField "String", "platform", '"DX11"'
versionNameSuffix "_debug"
debuggable true
@@ -387,12 +395,14 @@ android {
DX11Release.initWith(release)
DX11Release {
+ manifestPlaceholders = [BAIDU_LBS_API_KEY: "CjFhFE1UP5G14tMBz1kWs7ca92bgHuLr"]
buildConfigField "String", "platform", '"DX11"'
signingConfig signingConfigs.DX11
}
G122Debug.initWith(debug)
G122Debug {
+ manifestPlaceholders = [BAIDU_LBS_API_KEY: "CjFhFE1UP5G14tMBz1kWs7ca92bgHuLr"]
buildConfigField "String", "platform", '"MT6765"'
versionNameSuffix "_debug"
debuggable true
@@ -401,12 +411,14 @@ android {
G122Release.initWith(release)
G122Release {
+ manifestPlaceholders = [BAIDU_LBS_API_KEY: "CjFhFE1UP5G14tMBz1kWs7ca92bgHuLr"]
buildConfigField "String", "platform", '"MT6765"'
signingConfig signingConfigs.G122
}
QualcommDebug.initWith(debug)
QualcommDebug {
+ manifestPlaceholders = [BAIDU_LBS_API_KEY: "qyYyTD4ahoebPRY2oRxyiw5Xw1T6ikxJ"]
buildConfigField "String", "platform", '"QualcommA"'
versionNameSuffix "_debug"
debuggable true
@@ -415,6 +427,7 @@ android {
QualcommRelease.initWith(release)
QualcommRelease {
+ manifestPlaceholders = [BAIDU_LBS_API_KEY: "qyYyTD4ahoebPRY2oRxyiw5Xw1T6ikxJ"]
buildConfigField "String", "platform", '"QualcommA"'
signingConfig signingConfigs.SM8150
}
@@ -838,7 +851,7 @@ dependencies {
implementation files('libs/ebf_tools_v1.0.jar')
implementation files('libs/vendor.mediatek.hardware.nvram-V1.0-java.jar')
- implementation files('libs/BaiduTraceSDK_v3_1_10.jar')
+ implementation files('libs/BaiduTraceSDK_v3_2_2.jar')
// 基础注解库
implementation "androidx.annotation:annotation:1.10.0"
diff --git a/app/keystore/keystore_sha1.txt b/app/keystore/keystore_sha1.txt
new file mode 100644
index 0000000..c75ede8
--- /dev/null
+++ b/app/keystore/keystore_sha1.txt
@@ -0,0 +1,143 @@
+应用签名 SHA1 汇总(来源:app/build.gradle signingConfigs)
+生成时间:2026-10-21 18:34:04
+
+signingConfig: zhanRui
+keystore: zhanxun.keystore
+ 别名: zhanxun
+ SHA1: F1:A5:4A:3F:02:4A:8D:1B:74:D1:FF:1F:74:D3:BE:66:ED:79:31:2E
+
+signingConfig: zhanRuiUserdebug
+keystore: zhanxunUserdebug.keystore
+ 别名: zhanxunuserdebug
+ SHA1: 27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FA
+
+signingConfig: zhanRui12
+keystore: zhanrui12.jks
+ 别名: zhanrui12
+ SHA1: 00:CF:12:B7:18:7F:6D:9E:5A:62:6C:61:8E:F5:E2:72:88:E7:01:36
+
+signingConfig: mtk
+keystore: xueshibaoos.jks
+ 别名: xueshibaoos
+ SHA1: 27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FA
+
+signingConfig: G10P
+keystore: G10PMTK11.jks
+ 别名: g10pmtk11
+ SHA1: D0:A7:1B:AE:9C:FF:86:25:A1:28:13:3E:F3:1E:1A:99:E5:B5:17:6B
+
+signingConfig: G11Userdebug
+keystore: G11Userdebug.keystore
+ 别名: g11userdebug
+ SHA1: 33:C0:99:B3:96:81:4C:33:5F:C8:0A:AB:1E:B9:95:86:C2:C7:03:00
+
+signingConfig: G10PUserDebug
+keystore: G10PUserDebug.jks
+ 别名: g10puserdebug
+ SHA1: 27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FA
+
+signingConfig: zhanruiG10Z
+keystore: zhanruiG10Z.keystore
+ 别名: zhanruig10z
+ SHA1: F1:A5:4A:3F:02:4A:8D:1B:74:D1:FF:1F:74:D3:BE:66:ED:79:31:2E
+
+signingConfig: G10ZUserDebug
+keystore: G10zUserDebug.keystore
+ 别名: g10zuserdebug
+ SHA1: 27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FA
+
+signingConfig: mtk12
+keystore: mtkAndroid12.keystore
+ 别名: mtk12
+ SHA1: 4B:8C:A5:4E:A4:A2:33:2B:ED:27:36:DF:15:F5:39:9B:9F:B5:02:40
+
+signingConfig: P20S
+keystore: MTKP20S.keystore
+ 别名: mtkp20s
+ SHA1: 48:03:96:C6:0B:6B:70:CA:03:1F:43:EF:55:DC:6F:E1:FD:AE:2F:56
+
+signingConfig: iPlay50mini
+keystore: iPlay50Mini.keystore
+ 别名: platform
+ SHA1: C7:0A:5D:ED:5A:47:27:FD:EC:93:6C:4E:A3:D0:55:AB:08:F6:4F:1A
+
+signingConfig: teclast8183
+keystore: TeclastMTK12.jks
+ 别名: teclastmtk12
+ SHA1: 27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FA
+
+signingConfig: Huaruian8768
+keystore: Huaruian8768.jks
+ 别名: huaruian8768
+ SHA1: 33:C0:99:B3:96:81:4C:33:5F:C8:0A:AB:1E:B9:95:86:C2:C7:03:00
+
+signingConfig: T40Air
+keystore: T40Air.jks
+ 别名: t40air
+ SHA1: AB:56:8F:41:E8:20:20:4D:5F:4C:1F:8E:11:58:17:C8:C9:42:4C:B0
+
+signingConfig: BCM310
+keystore: BCM310.keystore
+ 别名: bcm310
+ SHA1: AB:56:8F:41:E8:20:20:4D:5F:4C:1F:8E:11:58:17:C8:C9:42:4C:B0
+
+signingConfig: P50
+keystore: P50TD.jks
+ 别名: p50td
+ SHA1: EC:84:AB:FA:7D:53:AB:12:23:61:12:49:7C:A6:09:FF:B1:75:66:19
+
+signingConfig: seewo
+keystore: aiud.keystore
+ 别名: androidreleasekey
+ SHA1: 21:2D:1A:D8:4A:A8:65:AD:90:42:D1:40:CF:30:CE:6C:BC:EA:63:4F
+
+signingConfig: iPlay50miniPro
+keystore: iPlay50miniPro.jks
+ 别名: iplay50minipro
+ SHA1: 78:71:78:2A:CF:E9:83:97:92:7C:56:0B:58:2C:96:C2:BA:17:BB:3A
+
+signingConfig: U1302
+keystore: U1302.keystore
+ 别名: u1302
+ SHA1: 70:C8:F5:02:D9:FB:53:E3:28:3B:11:03:2F:3D:60:ED:BA:D1:97:6C
+
+signingConfig: MT6765
+keystore: MT6765.keystore
+ 别名: mt6765
+ SHA1: 4B:8C:A5:4E:A4:A2:33:2B:ED:27:36:DF:15:F5:39:9B:9F:B5:02:40
+
+signingConfig: G128T
+keystore: HuaruianG128T.jks
+ 别名: g128t
+ SHA1: 33:C0:99:B3:96:81:4C:33:5F:C8:0A:AB:1E:B9:95:86:C2:C7:03:00
+
+signingConfig: G122
+keystore: 6789U.p12
+ 别名: 6789u
+ SHA1: 3C:E5:B0:D8:24:AF:BC:5B:23:3D:AE:20:04:A5:7A:24:15:F9:93:E2
+
+signingConfig: DX11
+keystore: DX11.p12
+ 别名: dx11
+ SHA1: 27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FA
+
+signingConfig: MT6789
+keystore: MT6789.keystore
+ 别名: mt6789
+ SHA1: 78:71:78:2A:CF:E9:83:97:92:7C:56:0B:58:2C:96:C2:BA:17:BB:3A
+
+signingConfig: SM8150
+keystore: sm8150.jks
+ 别名: platformkey
+ SHA1: 15:18:76:80:C2:32:60:E7:27:3F:45:D8:EE:40:F6:E0:9E:D6:01:5D
+
+signingConfig: G122J
+keystore: G122J.p12
+ 别名: g122j
+ SHA1: 33:C0:99:B3:96:81:4C:33:5F:C8:0A:AB:1E:B9:95:86:C2:C7:03:00
+
+signingConfig: crosshatch
+keystore: AospCrosshatch.keystore
+ 别名: aospcrosshatch
+ SHA1: 27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FA
+
diff --git a/app/libs/BaiduTraceSDK_v3_1_10.jar b/app/libs/BaiduTraceSDK_v3_1_10.jar
deleted file mode 100644
index fff5f12..0000000
Binary files a/app/libs/BaiduTraceSDK_v3_1_10.jar and /dev/null differ
diff --git a/app/libs/BaiduTraceSDK_v3_2_2.jar b/app/libs/BaiduTraceSDK_v3_2_2.jar
new file mode 100644
index 0000000..84a6bd6
Binary files /dev/null and b/app/libs/BaiduTraceSDK_v3_2_2.jar differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 528488a..4b95714 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -392,15 +392,21 @@
+
+ android:value="${BAIDU_LBS_API_KEY}" />
+
+
+ android:value="333598267" />
+
+
+
diff --git a/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java b/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java
index c47fcda..aa80af7 100644
--- a/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java
+++ b/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java
@@ -8,6 +8,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.graphics.Bitmap;
+import android.graphics.Color;
import android.os.Build;
import android.os.IBinder;
import android.os.SystemClock;
@@ -19,6 +20,7 @@ import android.view.KeyEvent;
import android.view.View;
import android.view.WindowManager;
+import androidx.core.content.ContextCompat;
import androidx.lifecycle.Observer;
import com.aoleyun.sn.BuildConfig;
@@ -219,6 +221,12 @@ public class MainActivity extends BaseMvvmActivity CACHE_MANAGER.saveCache(cacheKey, data, expireTimeMillis));
+ .doOnNext(data -> {
+ if (isNetworkAvailable() && isCacheableData(data)) {
+ CACHE_MANAGER.saveCache(cacheKey, data, expireTimeMillis);
+ } else {
+ Log.e(TAG, "withCache: not cacheable " + cacheKey);
+ }
+ });
})
.subscribeOn(Schedulers.io()) // 缓存IO切到子线程
.observeOn(AndroidSchedulers.mainThread());
}
+ /**
+ * 当前是否有可用网络(取不到状态时按有网处理,避免误判导致接口不可用)
+ */
+ private static boolean isNetworkAvailable() {
+ try {
+ return INSTANCE != null && NetStateUtils.isNetworkConnected(INSTANCE.mContext);
+ } catch (Exception e) {
+ Log.e(TAG, "isNetworkAvailable error: " + e);
+ return true;
+ }
+ }
+
+ /**
+ * 只有成功的响应才允许写入缓存,避免把错误/空数据缓存下来
+ */
+ private static boolean isCacheableData(T data) {
+ if (data == null) {
+ return false;
+ }
+ if (data instanceof BaseResponse) {
+ BaseResponse> response = (BaseResponse>) data;
+ return response.isSuccess() && response.data != null;
+ }
+ return true;
+ }
+
/*
*
* API
diff --git a/app/src/main/java/com/aoleyun/sn/push/PushManager.java b/app/src/main/java/com/aoleyun/sn/push/PushManager.java
index b774014..13b26a7 100644
--- a/app/src/main/java/com/aoleyun/sn/push/PushManager.java
+++ b/app/src/main/java/com/aoleyun/sn/push/PushManager.java
@@ -59,7 +59,6 @@ import com.aoleyun.sn.utils.Utils;
import com.arialyy.aria.core.Aria;
import com.baidu.location.BDAbstractLocationListener;
import com.baidu.location.BDLocation;
-import com.baidu.location.LocationClient;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
@@ -444,10 +443,8 @@ public class PushManager {
Toaster.debugShow("收到管控:获取设备信息");
getBatteryInfo(mContext);
sendRefreshBroadcast(mContext);
- LocationClient locationClient = MapManager.getInstance().getLocationClient();
- locationClient.stop();
- locationClient.start();
- locationClient.registerLocationListener(new BDAbstractLocationListener() {
+ //定位前记录并临时开启系统定位设置,定位结束自动还原
+ MapManager.getInstance().startLocation(new BDAbstractLocationListener() {
@Override
public void onReceiveLocation(BDLocation location) {
if (null != location) {
@@ -479,7 +476,8 @@ public class PushManager {
}
Log.e(TAG, "MapAddress: " + mMMKV.decodeString("MapAddress", "-"));
Log.e(TAG, "MapError: " + mMMKV.decodeString("MapError", "-"));
- locationClient.stop();
+ //定位结束(成功或失败),停止定位并还原定位前的系统设置
+ MapManager.getInstance().stopLocation();
}
@Override
@@ -1240,10 +1238,13 @@ public class PushManager {
}
String default_browser = jsonObject.get("default_browser").getAsString();
+ Log.e(TAG, "setDefalutApp: default_browser = " + default_browser);
Intent intent = new Intent("setDefaultBrowser");
intent.putExtra("package", default_browser);
if (JgyUtils.getInstance().checkAppPlatform() == JgyUtils.QualcommPlatform) {
intent.setPackage("com.onyx.neoservice");
+// } else if (JgyUtils.getInstance().checkAppPlatform() == JgyUtils.G122JPlatform) {
+
} else {
intent.setPackage("com.android.settings");
}
diff --git a/app/src/main/java/com/aoleyun/sn/push/alipush/AliyunMessageReceiver.java b/app/src/main/java/com/aoleyun/sn/push/alipush/AliyunMessageReceiver.java
index 71bb854..a2010d6 100644
--- a/app/src/main/java/com/aoleyun/sn/push/alipush/AliyunMessageReceiver.java
+++ b/app/src/main/java/com/aoleyun/sn/push/alipush/AliyunMessageReceiver.java
@@ -6,6 +6,7 @@ import android.util.Log;
import com.alibaba.sdk.android.push.MessageReceiver;
import com.alibaba.sdk.android.push.notification.CPushMessage;
import com.aoleyun.sn.push.PushManager;
+import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
@@ -69,12 +70,18 @@ public class AliyunMessageReceiver extends MessageReceiver {
Log.e(TAG, "收到一条推送消息 : " + cPushMessage.getTitle() + ", content:" + cPushMessage.getContent());
String title = cPushMessage.getTitle();
String content = cPushMessage.getContent();
- JsonObject extrasJson = JsonParser.parseString(content).getAsJsonObject();
- String extras = "";
- if (extrasJson.get("extras") != null) {
- extras = extrasJson.get("extras").toString();
+ try {
+ JsonObject extrasJson = JsonParser.parseString(content).getAsJsonObject();
+ String extras = "";
+ JsonElement extrasElement = extrasJson.get("extras");
+ if (extrasElement != null && !extrasElement.isJsonNull()) {
+ extras = extrasElement.toString();
+ }
+ PushManager.getInstance().setPushContent(title, extras);
+ } catch (Exception e) {
+ //避免推送处理异常被sdk当成消息解析失败
+ Log.e(TAG, "onMessage error: " + Log.getStackTraceString(e));
}
- PushManager.getInstance().setPushContent(title, extras);
}
/**
diff --git a/app/src/main/java/com/aoleyun/sn/service/GuardService.java b/app/src/main/java/com/aoleyun/sn/service/GuardService.java
index ce08d45..5cb1dee 100644
--- a/app/src/main/java/com/aoleyun/sn/service/GuardService.java
+++ b/app/src/main/java/com/aoleyun/sn/service/GuardService.java
@@ -67,7 +67,6 @@ import com.aoleyun.sn.utils.XAPKUtils;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.task.DownloadTask;
-import com.baidu.location.LocationClient;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
@@ -323,9 +322,8 @@ public class GuardService extends Service {
break;
case Intent.ACTION_SCREEN_ON: {
long time = System.currentTimeMillis();
- LocationClient locationClient = MapManager.getInstance().getLocationClient();
- locationClient.stop();
- locationClient.start();
+ //定位前记录并临时开启系统定位设置,定位结束自动还原
+ MapManager.getInstance().startLocation();
// getLockState("2", String.valueOf(time));
// sendScreenStatus(1);
}
diff --git a/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java b/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java
index e3b75e2..e3a8983 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java
@@ -1567,6 +1567,9 @@ public class JgyUtils {
private Set getWhitePkgList() {
HashSet pkgSet = new HashSet<>(defaultPackages);
+ if (BuildConfig.DEBUG) {
+ pkgSet.add("com.android.launcher3");
+ }
pkgSet.addAll(showAppList);
pkgSet.addAll(ApkUtils.desktopAPP);
pkgSet.addAll(ApkUtils.aoleyunAPP);
diff --git a/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java b/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
index 6f203f4..3e376b8 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
@@ -51,34 +51,105 @@ public class SysSettingUtils {
return status == 0 ? 1 : 0;
}
+ private interface SettingHandler {
+ void apply(Context context, JsonObject jsonObject);
+ }
+
+ /**
+ * 单项管控单独执行,避免某个字段异常导致整条下发数据中断
+ */
+ private static void applySafely(String action, SettingHandler handler, Context context, JsonObject jsonObject) {
+ try {
+ handler.apply(context, jsonObject);
+ } catch (Exception e) {
+ Log.e(TAG, action + " error: " + Log.getStackTraceString(e));
+ }
+ }
+
+ /**
+ * 安全取值,字段不存在、为 JsonNull、类型不符时返回默认值,不再抛出异常
+ */
+ public static String getStr(JsonObject jsonObject, String key, String defaultValue) {
+ if (jsonObject == null) {
+ return defaultValue;
+ }
+ JsonElement element = jsonObject.get(key);
+ if (element == null || element.isJsonNull()) {
+ Log.e(TAG, "getStr: " + key + " is null, use default: " + defaultValue);
+ return defaultValue;
+ }
+ try {
+ return element.getAsString();
+ } catch (Exception e) {
+ Log.e(TAG, "getStr: " + key + " = " + element + " parse error, use default: " + defaultValue);
+ return defaultValue;
+ }
+ }
+
+ /**
+ * 安全取值,字段不存在、为 JsonNull、类型不符时返回默认值,不再抛出异常
+ */
+ public static int getNum(JsonObject jsonObject, String key, int defaultValue) {
+ if (jsonObject == null) {
+ return defaultValue;
+ }
+ JsonElement element = jsonObject.get(key);
+ if (element == null || element.isJsonNull()) {
+ Log.e(TAG, "getNum: " + key + " is null, use default: " + defaultValue);
+ return defaultValue;
+ }
+ try {
+ return element.getAsInt();
+ } catch (Exception e) {
+ Log.e(TAG, "getNum: " + key + " = " + element + " parse error, use default: " + defaultValue);
+ return defaultValue;
+ }
+ }
+
public static void setSystemSetting(Context context, String jsonObj) {
if (null == context) {
throw new RuntimeException("Context it's null");
}
- JsonObject jsonObject = GsonUtils.getJsonObject(jsonObj);
- setPhoneList(context, jsonObject);
- setBluetooth(context, jsonObject);
- setHotspot(context, jsonObject);
- setBar(context, jsonObject);
- setCamera(context, jsonObject);
- setTF(context, jsonObject);
- setIcon(context, jsonObject);
- setCanReset(context, jsonObject);
- setAutoTime(context, jsonObject);
- String navJsonString = jsonObject.get("setting_nav").getAsString();
- JsonObject navJson = JsonParser.parseString(navJsonString).getAsJsonObject();
- mMMKV.encode(JGYActions.ACTION_STATUSBAR_STATUS, navJsonString);
- setStatusBar(context, navJson);
- setBrowserInput(context, jsonObject);
+ JsonObject jsonObject;
+ try {
+ jsonObject = GsonUtils.getJsonObject(jsonObj);
+ } catch (Exception e) {
+ Log.e(TAG, "setSystemSetting: json parse error, data = " + jsonObj + "\n" + Log.getStackTraceString(e));
+ return;
+ }
+ if (jsonObject == null) {
+ Log.e(TAG, "setSystemSetting: jsonObject is null, data = " + jsonObj);
+ return;
+ }
+ applySafely("setPhoneList", SysSettingUtils::setPhoneList, context, jsonObject);
+ applySafely("setBluetooth", SysSettingUtils::setBluetooth, context, jsonObject);
+ applySafely("setHotspot", SysSettingUtils::setHotspot, context, jsonObject);
+ applySafely("setBar", SysSettingUtils::setBar, context, jsonObject);
+ applySafely("setCamera", SysSettingUtils::setCamera, context, jsonObject);
+ applySafely("setTF", SysSettingUtils::setTF, context, jsonObject);
+ applySafely("setIcon", SysSettingUtils::setIcon, context, jsonObject);
+ applySafely("setCanReset", SysSettingUtils::setCanReset, context, jsonObject);
+ applySafely("setAutoTime", SysSettingUtils::setAutoTime, context, jsonObject);
+ applySafely("setStatusBar", (ctx, json) -> {
+ String navJsonString = getStr(json, "setting_nav", "");
+ mMMKV.encode(JGYActions.ACTION_STATUSBAR_STATUS, navJsonString);
+ if (TextUtils.isEmpty(navJsonString)) {
+ Log.e(TAG, "setStatusBar: setting_nav is empty, skip");
+ return;
+ }
+ JsonObject navJson = JsonParser.parseString(navJsonString).getAsJsonObject();
+ setStatusBar(ctx, navJson);
+ }, context, jsonObject);
+ applySafely("setBrowserInput", SysSettingUtils::setBrowserInput, context, jsonObject);
// TODO: 2022/4/11 不是酷比定制的会报错,无法抛出异常
- setUsbStatus(context, jsonObject);
- setAdminApp(context, jsonObject);
- setSystemAppDisable(context, jsonObject);
- setNotification(context, jsonObject);
- setPanelShow(context, jsonObject);
- setDisAllowCamera(context, jsonObject);
- setSettingsMenuShow(context, jsonObject);
- setEyeProtectionModeEntrance(context, jsonObject);
+ applySafely("setUsbStatus", SysSettingUtils::setUsbStatus, context, jsonObject);
+ applySafely("setAdminApp", SysSettingUtils::setAdminApp, context, jsonObject);
+ applySafely("setSystemAppDisable", SysSettingUtils::setSystemAppDisable, context, jsonObject);
+ applySafely("setNotification", SysSettingUtils::setNotification, context, jsonObject);
+ applySafely("setPanelShow", SysSettingUtils::setPanelShow, context, jsonObject);
+ applySafely("setDisAllowCamera", SysSettingUtils::setDisAllowCamera, context, jsonObject);
+ applySafely("setSettingsMenuShow", SysSettingUtils::setSettingsMenuShow, context, jsonObject);
+ applySafely("setEyeProtectionModeEntrance", SysSettingUtils::setEyeProtectionModeEntrance, context, jsonObject);
}
/**
@@ -410,22 +481,22 @@ public class SysSettingUtils {
MMKV mmkv = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
//需要转换
//总开关
- int setting_bht = changeNum(jsonObject.get("setting_bht").getAsInt());
+ int setting_bht = changeNum(getNum(jsonObject, "setting_bht", 1));
Log.e(TAG, "setBluetooth: setting_bht = " + setting_bht);
//蓝牙数据功能管控
- int setting_bluetooth = changeNum(jsonObject.get("setting_bluetooth").getAsInt());
+ int setting_bluetooth = changeNum(getNum(jsonObject, "setting_bluetooth", 1));
Log.e(TAG, "setBluetooth: setting_bluetooth = " + setting_bluetooth);
//蓝牙音频功能管控
- int setting_bhtvideo = changeNum(jsonObject.get("setting_bhtvideo").getAsInt());
+ int setting_bhtvideo = changeNum(getNum(jsonObject, "setting_bhtvideo", 1));
Log.e(TAG, "setBluetooth: setting_bhtvideo = " + setting_bhtvideo);
//蓝牙设备连接类型开关
- int setting_bluetooth_type = changeNum(jsonObject.get("setting_bluetooth_type").getAsInt());
+ int setting_bluetooth_type = changeNum(getNum(jsonObject, "setting_bluetooth_type", 1));
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();
+ String bluetooth_type_control = getStr(jsonObject, "bluetooth_type_control", "");
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, "");
@@ -485,14 +556,12 @@ public class SysSettingUtils {
if (old_setting_bhtvideo != setting_bhtvideo) {
mmkv.encode(CommonConfig.AOLE_ACTION_BHTVIDEO_FORBID_ON, setting_bhtvideo);
if (setting_bhtvideo == 0) {
- if (jsonObject.get("setting_context").isJsonNull()) {
- String setting_context = jsonObject.get("setting_context").getAsString();
- if (null != setting_context && !"".equals(setting_context) && !" ".equals(setting_context) && !"null".equals(setting_context)) {
- Log.e(TAG, "setting_context:" + setting_context);
- Settings.System.putString(context.getContentResolver(), CommonConfig.AOLE_ACTION_BHTVIDEO_FORBID_ON, setting_context);
- } else {
- Settings.System.putString(context.getContentResolver(), CommonConfig.AOLE_ACTION_BHTVIDEO_FORBID_ON, "Empty");
- }
+ String setting_context = getStr(jsonObject, "setting_context", "");
+ if (!TextUtils.isEmpty(setting_context) && !" ".equals(setting_context) && !"null".equals(setting_context)) {
+ Log.e(TAG, "setting_context:" + setting_context);
+ Settings.System.putString(context.getContentResolver(), CommonConfig.AOLE_ACTION_BHTVIDEO_FORBID_ON, setting_context);
+ } else {
+ Settings.System.putString(context.getContentResolver(), CommonConfig.AOLE_ACTION_BHTVIDEO_FORBID_ON, "Empty");
}
} else if (setting_bhtvideo == 1) {
Settings.System.putString(context.getContentResolver(), CommonConfig.AOLE_ACTION_BHTVIDEO_FORBID_ON, "Empty");
@@ -506,7 +575,7 @@ public class SysSettingUtils {
AllwinnerCubeMdmManager.getInstance().setBluetoothEnable(setting_bht == 0);
}
- int bt_rename = jsonObject.get("bluetooth_name_change").getAsInt();
+ int bt_rename = getNum(jsonObject, "bluetooth_name_change", 1);
Settings.System.putInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_BT_RENAME_ALLOW, bt_rename);
}
diff --git a/app/src/main/jniLibs/arm64-v8a/libBaiduTraceSDK_v3_1_10.so b/app/src/main/jniLibs/arm64-v8a/libBaiduTraceSDK_v3_1_10.so
deleted file mode 100644
index 121acf2..0000000
Binary files a/app/src/main/jniLibs/arm64-v8a/libBaiduTraceSDK_v3_1_10.so and /dev/null differ
diff --git a/app/src/main/jniLibs/arm64-v8a/libBaiduTraceSDK_v3_2_2.so b/app/src/main/jniLibs/arm64-v8a/libBaiduTraceSDK_v3_2_2.so
new file mode 100644
index 0000000..4d0166e
Binary files /dev/null and b/app/src/main/jniLibs/arm64-v8a/libBaiduTraceSDK_v3_2_2.so differ
diff --git a/app/src/main/jniLibs/armeabi-v7a/libBaiduTraceSDK_v3_2_2.so b/app/src/main/jniLibs/armeabi-v7a/libBaiduTraceSDK_v3_2_2.so
new file mode 100644
index 0000000..73427fb
Binary files /dev/null and b/app/src/main/jniLibs/armeabi-v7a/libBaiduTraceSDK_v3_2_2.so differ
diff --git a/app/src/main/jniLibs/armeabi/libBaiduTraceSDK_v3_2_2.so b/app/src/main/jniLibs/armeabi/libBaiduTraceSDK_v3_2_2.so
new file mode 100644
index 0000000..562a886
Binary files /dev/null and b/app/src/main/jniLibs/armeabi/libBaiduTraceSDK_v3_2_2.so differ
diff --git a/app/src/main/jniLibs/x86/libBaiduTraceSDK_v3_2_2.so b/app/src/main/jniLibs/x86/libBaiduTraceSDK_v3_2_2.so
new file mode 100644
index 0000000..2636de6
Binary files /dev/null and b/app/src/main/jniLibs/x86/libBaiduTraceSDK_v3_2_2.so differ
diff --git a/app/src/main/jniLibs/x86_64/libBaiduTraceSDK_v3_2_2.so b/app/src/main/jniLibs/x86_64/libBaiduTraceSDK_v3_2_2.so
new file mode 100644
index 0000000..f1f247f
Binary files /dev/null and b/app/src/main/jniLibs/x86_64/libBaiduTraceSDK_v3_2_2.so differ
diff --git a/app/src/main/res/drawable/ic_device_lock.xml b/app/src/main/res/drawable/ic_device_lock.xml
index e210686..c342047 100644
--- a/app/src/main/res/drawable/ic_device_lock.xml
+++ b/app/src/main/res/drawable/ic_device_lock.xml
@@ -5,5 +5,5 @@
android:viewportHeight="1024">
+ android:fillColor="@color/lock_color" />
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index ad8c599..0d662d3 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -67,4 +67,9 @@
#98999a
#FFD3D3D3
#0166ff
+
+ #FF0000
+ #2c2c2c
+ #0871f4
+
\ No newline at end of file