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