From 65c858ba1b58df5475122111d7dcc4bc3f9be698 Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Tue, 14 May 2024 09:49:14 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E8=BF=90=E7=BB=B4ip=E5=92=8C=E7=AB=AF=E5=8F=A3=E7=9A=84?= =?UTF-8?q?=E8=BF=94=E5=9B=9Ebug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xypower/mpmaster/sms/SimUtil.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java index 78b195ec..047e29b9 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java @@ -166,7 +166,7 @@ public class SimUtil { sendtype = SmsTypeEnum.GET_OPERATE.value(); ifmessageCorrect = true; int mntnMode = UpdateSysConfigUtil.getMntnMode(context); - sendmessage = SmsTypeEnum.GET_OPERATE + "=" + mntnMode; + sendmessage = SmsTypeEnum.GET_OPERATE.value() + "=" + mntnMode; } else if (content.contains(SmsTypeEnum.SET_OPERATE_URL.value())) { sendtype = SmsTypeEnum.SET_OPERATE_URL.value(); String[] split1 = StringUtils.splitString1(content); @@ -231,7 +231,7 @@ public class SimUtil { sendtype = SmsTypeEnum.GET_CMDID.value(); ifmessageCorrect = true; String cmdid = UpdateSysConfigUtil.getCmdid(context); - sendmessage = SmsTypeEnum.GET_OPERATE + "=" + cmdid; + sendmessage = SmsTypeEnum.GET_CMDID.value() + "=" + cmdid; } else if (content.contains(SmsTypeEnum.SET_IP.value())) { sendtype = SmsTypeEnum.SET_IP.value(); String[] split1 = StringUtils.splitString1(content); @@ -269,7 +269,7 @@ public class SimUtil { sendtype = SmsTypeEnum.GET_IP.value(); ifmessageCorrect = true; String ip = UpdateSysConfigUtil.getIP(context); - sendmessage = SmsTypeEnum.GET_IP + "=" + ip; + sendmessage = SmsTypeEnum.GET_IP.value() + "=" + ip; } else if (content.contains(SmsTypeEnum.SET_OSD.value())) { sendtype = SmsTypeEnum.SET_OSD.value(); String[] split1 = StringUtils.splitString1(content); From 4445591a1292671d73120921964fbe7edd1af58c Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Tue, 14 May 2024 10:12:37 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=BF=90=E7=BB=B4?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=A1=A8=E6=95=B0=E6=8D=AE=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/mpmaster/sms/SimUtil.java | 65 +++++++++---------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java index 047e29b9..d9673afb 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java @@ -72,47 +72,46 @@ public class SimUtil { sendmessage = content + " OK"; sendtype = SmsTypeEnum.REBOOT2.value(); } else if (content.contains(SmsTypeEnum.SET_YW_SCHEDULE.value())) { + ifmessageCorrect = true; String[] split1 = StringUtils.splitString1(content); - if (split1 != null && split1.length > 1) { + if (split1 != null && split1.length == 2) { String s = split1[1]; String[] split2 = StringUtils.splitString2(s); - if (split2 != null && split2.length >= 1) { - int length = split2.length; - if (length % 2 == 1) { - String num = split2[0]; - Integer integer = StringUtils.convert2Int(num); - if (integer != null) { - if (integer == 0) {//删除所有运维 - ifmessageCorrect = true; - } else { - if (length == integer + 1) { - int times = 0; - for (int i = 0; i < split2.length; i++) { - if (i == 0) { - continue; + int spilt2len = split2.length; + if (split2 != null && spilt2len > 1 && spilt2len % 2 == 1) { + String num = split2[0]; + Integer integer = StringUtils.convert2Int(num); + if (integer != null) { + if (integer == 0) {//删除所有运维 + ifmessageCorrect = true; + } else { + if (spilt2len == integer * 2 + 1) { + int times = 0; + for (int i = 0; i < spilt2len; i++) { + if (i == 0) { + continue; + } + String ts = split2[i]; + Integer time = StringUtils.convert2Int(ts); + if (i % 2 == 1) { + if (time > 23) { + ifmessageCorrect = false; + break; } - String ts = split2[i]; - Integer time = StringUtils.convert2Int(ts); - if (i % 2 == 1) { - if (time > 23) { - ifmessageCorrect = false; - break; - } - times = time * 60; - } else { - if (time > 59) { - ifmessageCorrect = false; - break; - } - times += time; - abslist.add(times); + times = time * 60; + } else { + if (time > 59) { + ifmessageCorrect = false; + break; } + times += time; + abslist.add(times); } } } - if (ifmessageCorrect) { - UpdateSysConfigUtil.setAbsHeartbeats(context, abslist); - } + } + if (ifmessageCorrect) { + UpdateSysConfigUtil.setAbsHeartbeats(context, abslist); } } } From 749a88bd2d7bf6dd0004966d22b2033aa8197783 Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Tue, 14 May 2024 10:27:08 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=A3=85=E7=BD=AEcmdid?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E8=BF=94=E5=9B=9E=E9=94=99=E8=AF=AF=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xypower/mpmaster/sms/SimUtil.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java index d9673afb..42ad2f5f 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java @@ -136,7 +136,6 @@ public class SimUtil { int mAbsHeartbeatTime = 0; mAbsHeartbeatTime = absHeartbeats.get(i); int hour = mAbsHeartbeatTime / 60; -// int leftsecond = mAbsHeartbeatTime % 60; int minute = mAbsHeartbeatTime % 60; sendmessage += "," + hour + "," + minute; } @@ -193,10 +192,10 @@ public class SimUtil { } sendmessage = content + menssageBack; } else if (content.contains(SmsTypeEnum.GET_OPERATE_URL.value())) { - sendtype = SmsTypeEnum.GET_OPERATE.value(); + sendtype = SmsTypeEnum.GET_OPERATE_URL.value(); ifmessageCorrect = true; String mntnServer = UpdateSysConfigUtil.getMntnServer(context); - sendmessage = SmsTypeEnum.GET_OPERATE + "=" + mntnServer; + sendmessage = SmsTypeEnum.GET_OPERATE_URL + "=" + mntnServer; } else if (content.contains(SmsTypeEnum.UPDATE.value())) { sendtype = SmsTypeEnum.UPDATE.value(); String[] split1 = StringUtils.splitString1(content); @@ -216,6 +215,7 @@ public class SimUtil { sendtype = SmsTypeEnum.SET_CMDID.value(); String[] split1 = StringUtils.splitString1(content); if (split1 != null && split1.length > 1) { + ifmessageCorrect = true; String cmdid = split1[1]; UpdateSysConfigUtil.setCmdid(context, cmdid); } From 1f96127261451109423f7a7a8aba1029e738b902 Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Tue, 14 May 2024 15:38:14 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=A1=A8=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/mpmaster/sms/SimUtil.java | 98 +++++++++++++++---- .../mpmaster/sms/UpdateSysConfigUtil.java | 39 +++++++- 2 files changed, 118 insertions(+), 19 deletions(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java index 42ad2f5f..c99fc665 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java @@ -247,14 +247,14 @@ public class SimUtil { int encrypto = -1; if (integer != null) { ifmessageCorrect = true; + if (split2.length == 4) { + String s1 = split2[2]; + utcp = StringUtils.convert2Int(s1); + String s2 = split2[3]; + encrypto = StringUtils.convert2Int(s2); + } + UpdateSysConfigUtil.setIP(context, server, integer, utcp, encrypto); } - if (split2.length == 4) { - String s1 = split2[2]; - utcp = StringUtils.convert2Int(s1); - String s2 = split2[3]; - encrypto = StringUtils.convert2Int(s2); - } - UpdateSysConfigUtil.setIP(context, server, integer, utcp, encrypto); } } String menssageBack = ""; @@ -272,12 +272,6 @@ public class SimUtil { } else if (content.contains(SmsTypeEnum.SET_OSD.value())) { sendtype = SmsTypeEnum.SET_OSD.value(); String[] split1 = StringUtils.splitString1(content); - if (split1 != null && split1.length > 1) { - String s = split1[1]; - String[] split2 = StringUtils.splitString2(s); - if (split2 != null && split2.length == 2) { - } - } String menssageBack = ""; if (ifmessageCorrect) { menssageBack = " OK"; @@ -285,11 +279,81 @@ public class SimUtil { menssageBack = " ERROR"; } sendmessage = content + menssageBack; + if (split1 != null && split1.length == 2) { + ifmessageCorrect = true; + HashMap osdmap = new HashMap<>(); + String s = split1[1]; + String[] split2 = StringUtils.splitString2(s); + int spilt2len = split2.length; + if (split2 != null && spilt2len > 1 && spilt2len % 2 == 1) { + String num = split2[0]; + Integer integer = StringUtils.convert2Int(num); + if (integer != null) { + if (integer == 0) {//所有通道 + ifmessageCorrect = true; + } else { + for (int i = 0; i < spilt2len; i++) { + if (i == 0) { + continue; + } + if (i % 2 == 1) { + if ((i + 1) <= spilt2len) { + String s1 = split2[i]; + Integer position = StringUtils.convert2Int(s1); + if (position != null) { + if (position == 1) { + osdmap.put("leftTop", split2[i + 1]); + } else if (position == 2) { + osdmap.put("rightTop", split2[i + 1]); + } else if (position == 3) { + osdmap.put("leftBottom", split2[i + 1]); + } else if (position == 4) { + osdmap.put("rightBottom", split2[i + 1]); + } else { + ifmessageCorrect = false; + } + } else { + ifmessageCorrect = false; + } + } else { + ifmessageCorrect = false; + } + } + } + } + if (ifmessageCorrect) { + UpdateSysConfigUtil.setChannelOSD(integer, osdmap); + } + } + } + } } else if (content.contains(SmsTypeEnum.GET_OSD.value())) { sendtype = SmsTypeEnum.GET_OSD.value(); - ifmessageCorrect = true; + String[] split = StringUtils.splitString1(content); + if (split != null && split.length == 2) { + sendmessage = SmsTypeEnum.GET_OSD.value() + "="; + ifmessageCorrect = true; + Integer channel = StringUtils.convert2Int(split[0]); + HashMap channelOSD = UpdateSysConfigUtil.getChannelOSD(channel); + String leftTop = channelOSD.get("leftTop"); + String rightTop = channelOSD.get("rightTop"); + String leftBottom = channelOSD.get("leftBottom"); + String rightBottom = channelOSD.get("rightBottom"); + if (leftTop != null && StringUtils.isNotEmpty(leftTop)) { + sendmessage += "1," + leftTop; + } + if (rightTop != null && StringUtils.isNotEmpty(rightTop)) { + sendmessage += "2," + rightTop; + } + if (leftBottom != null && StringUtils.isNotEmpty(leftBottom)) { + sendmessage += "3" + leftBottom; + } + if (rightBottom != null && StringUtils.isNotEmpty(rightBottom)) { + sendmessage += "4," + leftTop; + } + } } else if (content.contains(SmsTypeEnum.SET_PHOTO_SCHEDULE_LIST.value())) { - sendtype = SmsTypeEnum.SET_OSD.value(); + sendtype = SmsTypeEnum.SET_PHOTO_SCHEDULE_LIST.value(); String[] split1 = StringUtils.splitString1(content); if (split1 != null && split1.length > 1) { String s = split1[1]; @@ -321,7 +385,7 @@ public class SimUtil { Integer videoCY = StringUtils.convert2Int(split2[4]); if (channel != null && resolutionCX != null && resolutionCY != null && videoCX != null && videoCY != null) { ifmessageCorrect = true; - UpdateSysConfigUtil.setChannelResolution(packageName, channel, resolutionCX, resolutionCY, videoCX, videoCY); + UpdateSysConfigUtil.setChannelResolution(channel, resolutionCX, resolutionCY, videoCX, videoCY); } } } @@ -337,7 +401,7 @@ public class SimUtil { ifmessageCorrect = true; String[] split = StringUtils.splitString1(content); Integer channel = StringUtils.convert2Int(split[0]); - HashMap hashMap = UpdateSysConfigUtil.getChannelResolution(packageName, channel); + HashMap hashMap = UpdateSysConfigUtil.getChannelResolution(channel); Integer resolutionCX = hashMap.get("resolutionCX"); Integer resolutionCY = hashMap.get("resolutionCY"); Integer videoCX = hashMap.get("videoCX"); diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java index b224fa7f..b80cc06f 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java @@ -191,7 +191,7 @@ public class UpdateSysConfigUtil { } //设置通道分辨率 - public static boolean setChannelResolution(String packageurl, int channel, int resolutionCX, int resolutionCY, int videoCX, int videoCY) { + public static boolean setChannelResolution(int channel, int resolutionCX, int resolutionCY, int videoCX, int videoCY) { String path = getChannelDir(channel); JSONObject jsonObject = JSONUtils.loadJson(path); try { @@ -206,7 +206,7 @@ public class UpdateSysConfigUtil { } //查询通道分辨率 - public static HashMap getChannelResolution(String packageurl, int channel) { + public static HashMap getChannelResolution(int channel) { HashMap hashMap = new HashMap<>(); String path = getChannelDir(channel); JSONObject jsonObject = JSONUtils.loadJson(path); @@ -226,6 +226,41 @@ public class UpdateSysConfigUtil { return hashMap; } + //设置通道水印 + public static boolean setChannelOSD(int channel, HashMap hashMap) { + String path = getChannelDir(channel); + JSONObject jsonObject = JSONUtils.loadJson(path); + try { + jsonObject.put("leftTop", hashMap.get("leftTop")); + jsonObject.put("rightTop", hashMap.get("rightTop")); + jsonObject.put("leftBottom", hashMap.get("leftBottom")); + jsonObject.put("rightBottom", hashMap.get("rightBottom")); + } catch (Exception ex) { + ex.printStackTrace(); + } + return JSONUtils.saveJson(path, jsonObject); + } + + //查询通道分辨率 + public static HashMap getChannelOSD(int channel) { + HashMap hashMap = new HashMap<>(); + String path = getChannelDir(channel); + JSONObject jsonObject = JSONUtils.loadJson(path); + try { + String leftTop = jsonObject.getString("leftTop"); + String rightTop = jsonObject.getString("rightTop"); + String leftBottom = jsonObject.getString("leftBottom"); + String rightBottom = jsonObject.getString("rightBottom"); + hashMap.put("leftTop", leftTop); + hashMap.put("rightTop", rightTop); + hashMap.put("rightBottom", rightBottom); + hashMap.put("leftBottom", leftBottom); + } catch (Exception ex) { + ex.printStackTrace(); + } + return hashMap; + } + //清除历史图片和视频 public static void clearHistoryPic(Context context) { From 0a2c25be187cdaaf671ccc7e736982fa65f4d30d Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Tue, 14 May 2024 18:25:24 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E9=87=8D=E5=90=AF=E8=BF=90=E7=BB=B4?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E5=92=8Capp=E5=BA=94=E7=94=A8=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/mpmaster/MainActivity.java | 17 +++++- .../com/xypower/mpmaster/sms/SimUtil.java | 55 +++++++++---------- .../xypower/mpmaster/sms/SmsSendReceiver.java | 35 ++++++++++-- .../mpmaster/sms/UpdateSysConfigUtil.java | 21 ++++++- 4 files changed, 89 insertions(+), 39 deletions(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java b/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java index 1675cea6..f605abc1 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java @@ -3,8 +3,10 @@ package com.xypower.mpmaster; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import android.Manifest; +import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; @@ -172,8 +174,18 @@ public class MainActivity extends AppCompatActivity { // SysApi.reboot(MainActivity.this); - DownloadUtils downloadUtils = new DownloadUtils(getApplicationContext(), "http://180.166.218.222:40101/upgrades/20240509_upd_663c857dbfcf7.apk", "test.apk"); - +// DownloadUtils downloadUtils = new DownloadUtils(getApplicationContext(), "http://180.166.218.222:40101/upgrades/20240509_upd_663c857dbfcf7.apk", "test.apk"); + +// ActivityManager manager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); +// manager.restartPackage(context.getPackageName()); + String ACTION_UPDATE_CONFIGS = "com.xypower.mpapp.ACT_UPD_CFG"; + Intent intent = new Intent(); + intent.setAction(ACTION_UPDATE_CONFIGS); + intent.putExtra("restart", 1); + // PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0); + sendBroadcast(intent); +// LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context); +// localBroadcastManager.sendBroadcast(intent); } }); @@ -186,6 +198,7 @@ public class MainActivity extends AppCompatActivity { startMicroPhotoService(getApplicationContext()); } + private void requestPermissions() { String[] accessPermissions = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.FOREGROUND_SERVICE, Manifest.permission.READ_PHONE_STATE, /*Manifest.permission.PACKAGE_USAGE_STATS,*/ diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java index c99fc665..8399be0e 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java @@ -1,5 +1,6 @@ package com.xypower.mpmaster.sms; + import android.Manifest; import android.app.Activity; import android.app.PendingIntent; @@ -14,16 +15,11 @@ import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.text.TextUtils; +import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; -import com.dev.devapi.api.SysApi; import com.xypower.common.RegexUtil; -import org.json.JSONArray; -import org.json.JSONException; - -import java.io.IOException; -import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -43,8 +39,8 @@ public class SimUtil { //自定义ACTION常数 作为广播的IntentFilter识别常数 public static String SMS_SEND_ACTION = "com.xypower.mpmaster.SMS_SEND_ACTION"; + public static String SMSTYPE = "smstype"; - public static String SMSDATA = "smsdata"; public static String SMSIFCORRECT = "smsifcorrect"; @@ -195,7 +191,7 @@ public class SimUtil { sendtype = SmsTypeEnum.GET_OPERATE_URL.value(); ifmessageCorrect = true; String mntnServer = UpdateSysConfigUtil.getMntnServer(context); - sendmessage = SmsTypeEnum.GET_OPERATE_URL + "=" + mntnServer; + sendmessage = SmsTypeEnum.GET_OPERATE_URL.value() + "=" + mntnServer; } else if (content.contains(SmsTypeEnum.UPDATE.value())) { sendtype = SmsTypeEnum.UPDATE.value(); String[] split1 = StringUtils.splitString1(content); @@ -386,6 +382,7 @@ public class SimUtil { if (channel != null && resolutionCX != null && resolutionCY != null && videoCX != null && videoCY != null) { ifmessageCorrect = true; UpdateSysConfigUtil.setChannelResolution(channel, resolutionCX, resolutionCY, videoCX, videoCY); + UpdateSysConfigUtil.restartApp(context); } } } @@ -407,6 +404,12 @@ public class SimUtil { Integer videoCX = hashMap.get("videoCX"); Integer videoCY = hashMap.get("videoCY"); sendmessage = SmsTypeEnum.GET_RESOLUTION.value() + "=" + resolutionCX + "," + resolutionCY + "," + videoCX + "," + videoCY; + } else if (content.contains(SmsTypeEnum.TAKE_PHOTO.value())) { + sendtype = SmsTypeEnum.TAKE_PHOTO.value(); + ifmessageCorrect = true; + String[] split = StringUtils.splitString1(content); + Integer channel = StringUtils.convert2Int(split[0]); + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.SET_HEART.value())) { sendtype = SmsTypeEnum.SET_HEART.value(); String[] split1 = StringUtils.splitString1(content); @@ -416,13 +419,7 @@ public class SimUtil { Integer integer = StringUtils.convert2Int(s); UpdateSysConfigUtil.setHB(context, integer); } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.GET_HEART.value())) { sendtype = SmsTypeEnum.GET_HEART.value(); ifmessageCorrect = true; @@ -437,13 +434,7 @@ public class SimUtil { Integer integer = StringUtils.convert2Int(s); UpdateSysConfigUtil.setTB(context, integer); } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.GET_TP.value())) { sendtype = SmsTypeEnum.GET_TP.value(); ifmessageCorrect = true; @@ -459,13 +450,7 @@ public class SimUtil { Integer integer = StringUtils.convert2Int(s); UpdateSysConfigUtil.setPackage(context, integer); } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.GET_PACKAGE.value())) { sendtype = SmsTypeEnum.GET_PACKAGE.value(); ifmessageCorrect = true; @@ -511,6 +496,18 @@ public class SimUtil { } + private static String getSendString(String content, boolean ifmessageCorrect) { + String sendmessage; + String menssageBack = ""; + if (ifmessageCorrect) { + menssageBack = " OK"; + } else { + menssageBack = " ERROR"; + } + sendmessage = content + menssageBack; + return sendmessage; + } + //短信解析 public static SmsMessageModel getSMSInfo(Intent intent) { SmsMessageModel smsMessageModel = new SmsMessageModel(); diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SmsSendReceiver.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SmsSendReceiver.java index 37ae9e8d..dc813c26 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SmsSendReceiver.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SmsSendReceiver.java @@ -1,15 +1,11 @@ package com.xypower.mpmaster.sms; -import android.app.DownloadManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import com.dev.devapi.api.SysApi; -import org.json.JSONArray; - - /** * 短信发送的监听广播 * 从Android 4.4(API 19)开始,由于安全和隐私原因,不再允许应用程序静态注册监听短信发送状态的广播。 @@ -26,9 +22,36 @@ public class SmsSendReceiver extends BroadcastReceiver { SysApi.reboot(context); } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { SysApi.reboot(context); + } else if (type.contains(SmsTypeEnum.SET_YW_SCHEDULE.value())) { + UpdateSysConfigUtil.restartMasterApp(context); + } else if (type.contains(SmsTypeEnum.SET_OPERATE.value())) { + UpdateSysConfigUtil.restartMasterApp(context); + } else if (type.contains(SmsTypeEnum.SET_OPERATE_URL.value())) { + UpdateSysConfigUtil.restartMasterApp(context); + } else if (type.contains(SmsTypeEnum.SET_CMDID.value())) { + UpdateSysConfigUtil.restartApp(context); + } else if (type.contains(SmsTypeEnum.SET_IP.value())) { + UpdateSysConfigUtil.restartApp(context); + } else if (type.contains(SmsTypeEnum.SET_OSD.value())) { + UpdateSysConfigUtil.restartApp(context); + } else if (type.contains(SmsTypeEnum.SET_PHOTO_SCHEDULE_LIST.value())) { + UpdateSysConfigUtil.restartApp(context); + } else if (type.contains(SmsTypeEnum.SET_RESOLUTION.value())) { + UpdateSysConfigUtil.restartApp(context); + } else if (type.contains(SmsTypeEnum.SET_HEART.value())) { + UpdateSysConfigUtil.restartApp(context); + } else if (type.contains(SmsTypeEnum.SET_TP.value())) { + UpdateSysConfigUtil.restartApp(context); + } else if (type.contains(SmsTypeEnum.SET_PACKAGE.value())) { + UpdateSysConfigUtil.restartApp(context); + } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { + } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { + } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { + } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { + } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { + } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { + } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { } } } - - } \ No newline at end of file diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java index b80cc06f..f7ddd1d4 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java @@ -1,9 +1,8 @@ package com.xypower.mpmaster.sms; -import static com.xypower.common.MicroPhotoContext.PACKAGE_NAME_MPAPP; -import static com.xypower.common.MicroPhotoContext.buildMpAppDir; import android.content.Context; +import android.content.Intent; import android.os.Environment; import com.xypower.common.FileUtils; @@ -22,6 +21,8 @@ import java.util.List; public class UpdateSysConfigUtil { public static final String PACKAGE_NAME_MPAPP = "com.xypower.mpapp"; + public static final String APP_ACTION_UPDATE_CONFIGS = "com.xypower.mpapp.ACT_UPD_CFG"; + private static final String MASTER_ACTION_UPDATE_CONFIGS = "com.xypower.mpmaster.ACT_UPD_CFG"; //创建运维配置文件文件夹 public static String buildAppDir(String packageurl) { @@ -296,4 +297,20 @@ public class UpdateSysConfigUtil { } + //重启应用 + public static void restartApp(Context context) { + Intent intent = new Intent(); + intent.setAction(APP_ACTION_UPDATE_CONFIGS); + intent.putExtra("restart", 1); + context.sendBroadcast(intent); + } + + //重启运维应用 + public static void restartMasterApp(Context context) { + Intent intent = new Intent(); + intent.setAction(MASTER_ACTION_UPDATE_CONFIGS); + intent.putExtra("restart", 1); + context.sendBroadcast(intent); + } + } From 15a47c5f2c24d1e61b8b5768481828ec1f0185aa Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Tue, 14 May 2024 19:14:50 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BF=90=E7=BB=B4?= =?UTF-8?q?=E6=8B=8D=E7=85=A7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/mpmaster/MainActivity.java | 42 +++++++++++++++---- .../com/xypower/mpmaster/sms/SimUtil.java | 32 ++++++++++---- .../mpmaster/sms/UpdateSysConfigUtil.java | 36 +++++++++++++++- 3 files changed, 93 insertions(+), 17 deletions(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java b/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java index f605abc1..5404b669 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java @@ -1,5 +1,6 @@ package com.xypower.mpmaster; + import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; @@ -30,7 +31,9 @@ import com.xypower.mpmaster.sms.DownloadUtils; import java.io.IOException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; +import java.util.List; public class MainActivity extends AppCompatActivity { @@ -178,14 +181,37 @@ public class MainActivity extends AppCompatActivity { // ActivityManager manager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); // manager.restartPackage(context.getPackageName()); - String ACTION_UPDATE_CONFIGS = "com.xypower.mpapp.ACT_UPD_CFG"; - Intent intent = new Intent(); - intent.setAction(ACTION_UPDATE_CONFIGS); - intent.putExtra("restart", 1); - // PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0); - sendBroadcast(intent); -// LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context); -// localBroadcastManager.sendBroadcast(intent); +// String ACTION_UPDATE_CONFIGS = "com.xypower.mpapp.ACT_UPD_CFG"; +// Intent intent = new Intent(); +// intent.setAction(ACTION_UPDATE_CONFIGS); +// intent.putExtra("restart", 1); +// // PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0); +// sendBroadcast(intent); +//// LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context); +//// localBroadcastManager.sendBroadcast(intent); + + +// boolean photoOrVideo; +// photoOrVideo = true; +// List schedules = new ArrayList<>(); +// long ts = System.currentTimeMillis() / 1000; +// long val = 0; +// val |= ((long) 1 << 16); +// val |= ((long) 255 << 8); +// val |= photoOrVideo ? 0L : 1L; +// +// schedules.add(Long.valueOf(val)); +// +// Intent intent1 = new Intent(); +// intent1.setAction(ACTION_TAKE_PHOTO); +// int cnt = schedules.size(); +// intent1.putExtra(EXTRA_PARAM_SCHEDULES, cnt); +// for (int idx = 0; idx < cnt; idx++) { +// intent1.putExtra(EXTRA_PARAM_SCHEDULE + idx, schedules.get(idx).longValue()); +// } +// intent1.putExtra(EXTRA_PARAM_TIME, 0); +// intent1.putExtra(EXTRA_PARAM_TAKING_TIME, ts); +// sendBroadcast(intent1); } }); diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java index 8399be0e..e3a2ebf9 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java @@ -15,7 +15,6 @@ import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.text.TextUtils; -import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; import com.xypower.common.RegexUtil; @@ -40,6 +39,7 @@ public class SimUtil { //自定义ACTION常数 作为广播的IntentFilter识别常数 public static String SMS_SEND_ACTION = "com.xypower.mpmaster.SMS_SEND_ACTION"; + public static String SMSTYPE = "smstype"; public static String SMSIFCORRECT = "smsifcorrect"; @@ -61,12 +61,12 @@ public class SimUtil { } if (content.contains(SmsTypeEnum.REBOOT1.value())) { ifmessageCorrect = true; - sendmessage = content + " OK"; sendtype = SmsTypeEnum.REBOOT1.value(); + sendmessage = content + " OK"; } else if (content.contains(SmsTypeEnum.REBOOT2.value())) { ifmessageCorrect = true; - sendmessage = content + " OK"; sendtype = SmsTypeEnum.REBOOT2.value(); + sendmessage = content + " OK"; } else if (content.contains(SmsTypeEnum.SET_YW_SCHEDULE.value())) { ifmessageCorrect = true; String[] split1 = StringUtils.splitString1(content); @@ -408,8 +408,22 @@ public class SimUtil { sendtype = SmsTypeEnum.TAKE_PHOTO.value(); ifmessageCorrect = true; String[] split = StringUtils.splitString1(content); - Integer channel = StringUtils.convert2Int(split[0]); - sendmessage = getSendString(content, ifmessageCorrect); + if (split != null && split.length == 3) { + ifmessageCorrect = true; + Integer channel = StringUtils.convert2Int(split[0]); + Integer preset = StringUtils.convert2Int(split[1]); + Integer type = StringUtils.convert2Int(split[2]); + if (channel != null) { + boolean photoOrVideo; + if (type == 0) { + photoOrVideo = true; + } else { + photoOrVideo = false; + } + UpdateSysConfigUtil.takePhotoOrVideo(context, channel, preset, photoOrVideo); + } + sendmessage = getSendString(content, ifmessageCorrect); + } } else if (content.contains(SmsTypeEnum.SET_HEART.value())) { sendtype = SmsTypeEnum.SET_HEART.value(); String[] split1 = StringUtils.splitString1(content); @@ -438,7 +452,6 @@ public class SimUtil { } else if (content.contains(SmsTypeEnum.GET_TP.value())) { sendtype = SmsTypeEnum.GET_TP.value(); ifmessageCorrect = true; - String[] split = StringUtils.splitString1(content); int tb = UpdateSysConfigUtil.getTB(context); sendmessage = SmsTypeEnum.GET_TP.value() + "=" + tb; } else if (content.contains(SmsTypeEnum.SET_PACKAGE.value())) { @@ -496,6 +509,7 @@ public class SimUtil { } + private static String getSendString(String content, boolean ifmessageCorrect) { String sendmessage; String menssageBack = ""; @@ -588,7 +602,8 @@ public class SimUtil { } //指定sim卡位置发送短信 - public static void sendSms(Context mContext, int slot, String sender, String message, String value, boolean ifmessageCorrect) { + public static void sendSms(Context mContext, int slot, String sender, String message, String + value, boolean ifmessageCorrect) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { SubscriptionManager localSubscriptionManager = SubscriptionManager.from(mContext); if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { @@ -686,7 +701,8 @@ public class SimUtil { //申请该权限 - public static void requestOnePermission(Activity activity, String permission, int permissionCode) { + public static void requestOnePermission(Activity activity, String permission, + int permissionCode) { if (activity != null) { activity.requestPermissions(new String[]{permission}, permissionCode); } diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java index f7ddd1d4..0f2e8185 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java @@ -24,6 +24,17 @@ public class UpdateSysConfigUtil { public static final String APP_ACTION_UPDATE_CONFIGS = "com.xypower.mpapp.ACT_UPD_CFG"; private static final String MASTER_ACTION_UPDATE_CONFIGS = "com.xypower.mpmaster.ACT_UPD_CFG"; + //拍照的广播 + public static final String ACTION_TAKE_PHOTO = "com.xypower.mpapp.ACT_TP"; + + public static final String EXTRA_PARAM_SCHEDULES = "Schedules"; + + public static final String EXTRA_PARAM_SCHEDULE = "Schedule_"; + + public static final String EXTRA_PARAM_TAKING_TIME = "TakingTime"; + + public static final String EXTRA_PARAM_TIME = "Time"; + //创建运维配置文件文件夹 public static String buildAppDir(String packageurl) { String path = Environment.getExternalStorageDirectory().getAbsolutePath(); @@ -243,7 +254,7 @@ public class UpdateSysConfigUtil { } //查询通道分辨率 - public static HashMap getChannelOSD(int channel) { + public static HashMap getChannelOSD(int channel) { HashMap hashMap = new HashMap<>(); String path = getChannelDir(channel); JSONObject jsonObject = JSONUtils.loadJson(path); @@ -313,4 +324,27 @@ public class UpdateSysConfigUtil { context.sendBroadcast(intent); } + + public static void takePhotoOrVideo(Context context, long channel, long preset, boolean photoOrVideo) { + List schedules = new ArrayList<>(); + long ts = System.currentTimeMillis() / 1000; + long val = 0; + val |= (channel << 16); + val |= (preset << 8); + val |= photoOrVideo ? 0L : 1L; + + schedules.add(Long.valueOf(val)); + + Intent intent1 = new Intent(); + intent1.setAction(ACTION_TAKE_PHOTO); + int cnt = schedules.size(); + intent1.putExtra(EXTRA_PARAM_SCHEDULES, cnt); + for (int idx = 0; idx < cnt; idx++) { + intent1.putExtra(EXTRA_PARAM_SCHEDULE + idx, schedules.get(idx).longValue()); + } + intent1.putExtra(EXTRA_PARAM_TIME, 0); + intent1.putExtra(EXTRA_PARAM_TAKING_TIME, ts); + context.sendBroadcast(intent1); + } + } From 7fdde50837aac030bfc8fbec72a031454a3270d1 Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Tue, 14 May 2024 20:34:38 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=A1=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/mpmaster/sms/SimUtil.java | 125 +++++------------- .../xypower/mpmaster/sms/SmsSendReceiver.java | 7 - .../mpmaster/sms/UpdateSysConfigUtil.java | 1 + 3 files changed, 31 insertions(+), 102 deletions(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java index e3a2ebf9..1671439a 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java @@ -17,6 +17,7 @@ import android.text.TextUtils; import androidx.core.app.ActivityCompat; +import com.dev.devapi.api.SysApi; import com.xypower.common.RegexUtil; import java.text.SimpleDateFormat; @@ -62,11 +63,11 @@ public class SimUtil { if (content.contains(SmsTypeEnum.REBOOT1.value())) { ifmessageCorrect = true; sendtype = SmsTypeEnum.REBOOT1.value(); - sendmessage = content + " OK"; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.REBOOT2.value())) { ifmessageCorrect = true; sendtype = SmsTypeEnum.REBOOT2.value(); - sendmessage = content + " OK"; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.SET_YW_SCHEDULE.value())) { ifmessageCorrect = true; String[] split1 = StringUtils.splitString1(content); @@ -112,14 +113,8 @@ public class SimUtil { } } } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; sendtype = SmsTypeEnum.SET_YW_SCHEDULE.value(); + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.GET_YW_SCHEDULE.value())) { ifmessageCorrect = true; List absHeartbeats = UpdateSysConfigUtil.getAbsHeartbeats(context); @@ -149,13 +144,7 @@ public class SimUtil { } } } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.GET_OPERATE.value())) { sendtype = SmsTypeEnum.GET_OPERATE.value(); ifmessageCorrect = true; @@ -180,13 +169,7 @@ public class SimUtil { } } } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.GET_OPERATE_URL.value())) { sendtype = SmsTypeEnum.GET_OPERATE_URL.value(); ifmessageCorrect = true; @@ -200,13 +183,7 @@ public class SimUtil { String s = split1[1]; DownloadUtils downloadUtils = new DownloadUtils(context.getApplicationContext(), s, "test.app"); } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.SET_CMDID.value())) { sendtype = SmsTypeEnum.SET_CMDID.value(); String[] split1 = StringUtils.splitString1(content); @@ -215,13 +192,7 @@ public class SimUtil { String cmdid = split1[1]; UpdateSysConfigUtil.setCmdid(context, cmdid); } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.GET_CMDID.value())) { sendtype = SmsTypeEnum.GET_CMDID.value(); ifmessageCorrect = true; @@ -253,13 +224,7 @@ public class SimUtil { } } } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.GET_IP.value())) { sendtype = SmsTypeEnum.GET_IP.value(); ifmessageCorrect = true; @@ -268,13 +233,7 @@ public class SimUtil { } else if (content.contains(SmsTypeEnum.SET_OSD.value())) { sendtype = SmsTypeEnum.SET_OSD.value(); String[] split1 = StringUtils.splitString1(content); - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); if (split1 != null && split1.length == 2) { ifmessageCorrect = true; HashMap osdmap = new HashMap<>(); @@ -357,13 +316,7 @@ public class SimUtil { if (split2 != null && split2.length == 2) { } } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.GET_PHOTO_SCHEDULE_LIST.value())) { sendtype = SmsTypeEnum.GET_PHOTO_SCHEDULE_LIST.value(); ifmessageCorrect = true; @@ -386,13 +339,7 @@ public class SimUtil { } } } - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.GET_RESOLUTION.value())) { sendtype = SmsTypeEnum.GET_RESOLUTION.value(); ifmessageCorrect = true; @@ -473,36 +420,18 @@ public class SimUtil { sendtype = SmsTypeEnum.CLEAR_PHOTO.value(); ifmessageCorrect = true; UpdateSysConfigUtil.clearHistoryPic(context); - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.CLEAR_LOG.value())) { sendtype = SmsTypeEnum.CLEAR_LOG.value(); ifmessageCorrect = true; UpdateSysConfigUtil.clearHistoryLogs(context); - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } else if (content.contains(SmsTypeEnum.CLEAR_ALL.value())) { sendtype = SmsTypeEnum.CLEAR_ALL.value(); ifmessageCorrect = true; UpdateSysConfigUtil.clearHistoryPic(context); UpdateSysConfigUtil.clearHistoryLogs(context); - String menssageBack = ""; - if (ifmessageCorrect) { - menssageBack = " OK"; - } else { - menssageBack = " ERROR"; - } - sendmessage = content + menssageBack; + sendmessage = getSendString(content, ifmessageCorrect); } sendSms(context, slot, sender, sendmessage, sendtype, ifmessageCorrect); } @@ -611,14 +540,18 @@ public class SimUtil { } if (localSubscriptionManager.getActiveSubscriptionInfoCount() > 1) { List localList = localSubscriptionManager.getActiveSubscriptionInfoList(); - - SubscriptionInfo simInfo1 = (SubscriptionInfo) localList.get(0); - SubscriptionInfo simInfo2 = (SubscriptionInfo) localList.get(1); - SubscriptionInfo simInfoAnother; - if (slot == 0) { - simInfoAnother = simInfo1; - } else { - simInfoAnother = simInfo2; + boolean doubleSim = isDoubleSim(mContext); + SubscriptionInfo simInfoAnother = null; + if (doubleSim) { + if (localList != null && localList.size() > 1) { + SubscriptionInfo simInfo1 = (SubscriptionInfo) localList.get(0); + SubscriptionInfo simInfo2 = (SubscriptionInfo) localList.get(1); + if (slot == 0) { + simInfoAnother = simInfo1; + } else { + simInfoAnother = simInfo2; + } + } } Intent itSend = new Intent(SMS_SEND_ACTION); itSend.putExtra(SMSTYPE, value); @@ -630,7 +563,9 @@ public class SimUtil { // Intent itDeliver = new Intent(SMS_DELIVERED_ACTION); //deliveryIntent参数为传送后接受的广播信息PendingIntent // PendingIntent deliverPI = PendingIntent.getBroadcast(mContext,0,itDeliver,0); - SmsManager.getSmsManagerForSubscriptionId(simInfoAnother.getSubscriptionId()).sendTextMessage(sender, null, message, sendPI, null); + if (simInfoAnother != null) { + SmsManager.getSmsManagerForSubscriptionId(simInfoAnother.getSubscriptionId()).sendTextMessage(sender, null, message, sendPI, null); + } } } } diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SmsSendReceiver.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SmsSendReceiver.java index dc813c26..dae0519f 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SmsSendReceiver.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SmsSendReceiver.java @@ -44,13 +44,6 @@ public class SmsSendReceiver extends BroadcastReceiver { UpdateSysConfigUtil.restartApp(context); } else if (type.contains(SmsTypeEnum.SET_PACKAGE.value())) { UpdateSysConfigUtil.restartApp(context); - } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { - } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { - } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { - } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { - } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { - } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { - } else if (type.contains(SmsTypeEnum.REBOOT2.value())) { } } } diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java b/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java index 0f2e8185..0c1a3622 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java @@ -5,6 +5,7 @@ import android.content.Context; import android.content.Intent; import android.os.Environment; +import com.dev.devapi.api.SysApi; import com.xypower.common.FileUtils; import com.xypower.common.JSONUtils; import com.xypower.common.MicroPhotoContext;