From 65b1c9bb94aeb3ec63e9b3ab6995e7b2311bcfda Mon Sep 17 00:00:00 2001 From: Matthew Date: Wed, 5 Jun 2024 10:26:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BF=83=E8=B7=B3=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E7=9A=84=E9=80=BB=E8=BE=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/mpmaster/MpMasterService.java | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java index 9cf09b5c..fd285d8a 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java @@ -549,8 +549,10 @@ public class MpMasterService extends Service { private void registerHeartbeatTimer() { long timeout = mHeartbeatDuration; - if (mMntnMode && mQuickHbMode) { - timeout = mQuickHeartbeatDuration; + if (mMntnMode) { + if (mQuickHbMode) { + timeout = mQuickHeartbeatDuration; + } registerHeartbeatTimer(System.currentTimeMillis() + timeout * 1000); } else { long closestTime = -1; @@ -645,7 +647,7 @@ public class MpMasterService extends Service { mCmdid = cmdid; } - Log.i(TAG, "AppPath=" + appPath + " cmdid=" + cmdid); + logger.info("AppPath=" + appPath + " cmdid=" + cmdid); // startMaster(false); mHander.postDelayed(new Runnable() { @@ -655,6 +657,10 @@ public class MpMasterService extends Service { } }, 5000); + // Reset Data Network + logger.info("Switch to Simcard 1"); + SysApi.selectSimCard4Data(getApplicationContext(), 1); + registerHeartbeatTimer(); startMaster(false); @@ -802,6 +808,36 @@ public class MpMasterService extends Service { return true; } + public static int getSignalLevel(int num) { + String result = getSystemProperty("vendor.ril.nw.signalstrength.lte." + Integer.toString(num)); + if (TextUtils.isEmpty(result)) { + return 0; + } + String[] items = result.split(","); + int rsrp = -140; + + if (items != null && items.length > 0) { + try { + rsrp = Integer.parseInt(items[0]); + } catch (Exception ex) { + } + } + int signalLevel = 0; + if (rsrp >= -97) { + signalLevel = 4; + } else if (rsrp >= -107) { + signalLevel = 3; + } else if (rsrp >= -117) { + signalLevel = 2; + } else if (rsrp >= -125) { + signalLevel = 1; + } else if (rsrp >= -140) { + signalLevel = 0; + } + + return signalLevel; + } + public void downloadAndInstall(final String url) { final Context context = getApplicationContext();