From f1945e07b49a4d5a50ad481186f2d71e7cb3902e Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Tue, 14 May 2024 09:37:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E5=90=AF=E5=8A=A8=E6=B5=8B?= =?UTF-8?q?=E8=AF=95OK=20=E4=BF=AE=E6=94=B9Android11=E7=9F=AD=E4=BF=A1?= =?UTF-8?q?=E5=8F=91=E9=80=81sim=E5=8D=A1=E9=94=99=E4=BD=8D=E7=9A=84bug=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E6=94=B6=E7=9F=AD=E4=BF=A1=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/common/MicroPhotoContext.java | 14 +- .../com/xypower/mpmaster/MpMasterService.java | 8 +- .../com/xypower/mpmaster/sms/SimUtil.java | 178 +++++++++++++++--- .../xypower/mpmaster/sms/SmsSendReceiver.java | 9 - .../mpmaster/sms/UpdateSysConfigUtil.java | 161 +++++++++++++++- 5 files changed, 319 insertions(+), 51 deletions(-) diff --git a/common/src/main/java/com/xypower/common/MicroPhotoContext.java b/common/src/main/java/com/xypower/common/MicroPhotoContext.java index 79e92995..eefe6972 100644 --- a/common/src/main/java/com/xypower/common/MicroPhotoContext.java +++ b/common/src/main/java/com/xypower/common/MicroPhotoContext.java @@ -19,6 +19,8 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; +import java.text.NumberFormat; +import java.util.HashMap; import java.util.List; public class MicroPhotoContext { @@ -83,9 +85,9 @@ public class MicroPhotoContext { } } } catch (UnsupportedEncodingException e) { - e.printStackTrace(); + e.printStackTrace(); } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(); } finally { if (bufferedReader != null) { try { @@ -435,8 +437,7 @@ public class MicroPhotoContext { public static String getVersionName(Context context) { String verName = ""; try { - verName = context.getPackageManager(). - getPackageInfo(context.getPackageName(), 0).versionName; + verName = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } @@ -446,8 +447,7 @@ public class MicroPhotoContext { public static int getVersionCode(Context context) { int versionCode = 0; try { - versionCode = context.getPackageManager(). - getPackageInfo(context.getPackageName(), 0).versionCode; + versionCode = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } @@ -455,4 +455,6 @@ public class MicroPhotoContext { } + + } diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java index e6dc516c..5e65e03e 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java @@ -42,8 +42,11 @@ import com.xypower.mpmaster.sms.SmsSendReceiver; import org.json.JSONObject; import java.io.File; +import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.Arrays; import java.util.Calendar; +import java.util.Date; import java.util.List; import java.util.TimeZone; import java.util.logging.FileHandler; @@ -542,9 +545,8 @@ public class MpMasterService extends Service { Arrays.sort(mAbsHeartbeatTimes); for (int i = 0; i < mAbsHeartbeatTimes.length; i++) { int mAbsHeartbeatTime = mAbsHeartbeatTimes[i]; - int hour = mAbsHeartbeatTime / 3600; - int leftsecond = mAbsHeartbeatTime % 3600; - int minute = leftsecond / 3600; + int hour = mAbsHeartbeatTime / 60; + int minute = mAbsHeartbeatTime % 60; if (hour >= 24) { return; } 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 27cecfcc..78b195ec 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SimUtil.java @@ -27,6 +27,7 @@ import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Set; import java.util.TimeZone; @@ -55,7 +56,7 @@ public class SimUtil { String content = smsInfo.getContent(); int slot = smsInfo.getSlot();//那张卡收到的短信 String sender = smsInfo.getSender();//收到的短信的手机号 - String sendmessage = "";//要回复的短信 + String sendmessage = "ERROR";//要回复的短信 String sendtype = "";//收到的短信类型 List abslist = new ArrayList<>();//收到的短信内容拆分包装成数组 boolean ifmessageCorrect = false;//用来判断收到的短信内容是否正确 @@ -97,13 +98,13 @@ public class SimUtil { ifmessageCorrect = false; break; } - times = time * 3600; + times = time * 60; } else { if (time > 59) { ifmessageCorrect = false; break; } - times += time * 60; + times += time; abslist.add(times); } } @@ -135,9 +136,9 @@ public class SimUtil { for (int i = 0; i < length; i++) { int mAbsHeartbeatTime = 0; mAbsHeartbeatTime = absHeartbeats.get(i); - int hour = mAbsHeartbeatTime / 3600; - int leftsecond = mAbsHeartbeatTime % 3600; - int minute = leftsecond / 3600; + int hour = mAbsHeartbeatTime / 60; +// int leftsecond = mAbsHeartbeatTime % 60; + int minute = mAbsHeartbeatTime % 60; sendmessage += "," + hour + "," + minute; } } @@ -171,7 +172,7 @@ public class SimUtil { String[] split1 = StringUtils.splitString1(content); if (split1 != null && split1.length > 1) { String s = split1[1]; - String[] split2 = StringUtils.splitString1(s); + String[] split2 = StringUtils.splitString2(s); if (split2 != null && split2.length == 2) { String ipAddress = split2[0]; String port = split2[1]; @@ -236,7 +237,7 @@ public class SimUtil { String[] split1 = StringUtils.splitString1(content); if (split1 != null && split1.length > 1) { String s = split1[1]; - String[] split2 = StringUtils.splitString1(s); + String[] split2 = StringUtils.splitString2(s); if (split2 != null && (split2.length == 2 || split2.length == 4)) { String server; Integer integer; @@ -270,14 +271,12 @@ public class SimUtil { String ip = UpdateSysConfigUtil.getIP(context); sendmessage = SmsTypeEnum.GET_IP + "=" + ip; } else if (content.contains(SmsTypeEnum.SET_OSD.value())) { - //TODO 水印功能待开发 sendtype = SmsTypeEnum.SET_OSD.value(); String[] split1 = StringUtils.splitString1(content); if (split1 != null && split1.length > 1) { String s = split1[1]; - String[] split2 = StringUtils.splitString1(s); + String[] split2 = StringUtils.splitString2(s); if (split2 != null && split2.length == 2) { -// UpdateSysConfigUtil.setIP(context, server, integer, utcp, encrypto); } } String menssageBack = ""; @@ -288,20 +287,15 @@ public class SimUtil { } sendmessage = content + menssageBack; } else if (content.contains(SmsTypeEnum.GET_OSD.value())) { - //TODO 水印功能待开发 sendtype = SmsTypeEnum.GET_OSD.value(); ifmessageCorrect = true; -// String ip = UpdateSysConfigUtil.getIP(context); -// sendmessage = SmsTypeEnum.GET_OSD + "=" + ip; - }else if (content.contains(SmsTypeEnum.SET_PHOTO_SCHEDULE_LIST.value())) { - //TODO 水印功能待开发 + } else if (content.contains(SmsTypeEnum.SET_PHOTO_SCHEDULE_LIST.value())) { sendtype = SmsTypeEnum.SET_OSD.value(); String[] split1 = StringUtils.splitString1(content); if (split1 != null && split1.length > 1) { String s = split1[1]; String[] split2 = StringUtils.splitString1(s); if (split2 != null && split2.length == 2) { -// UpdateSysConfigUtil.setIP(context, server, integer, utcp, encrypto); } } String menssageBack = ""; @@ -311,12 +305,143 @@ public class SimUtil { menssageBack = " ERROR"; } sendmessage = content + menssageBack; - } else if (content.contains(SmsTypeEnum.GET_OSD.value())) { - //TODO 水印功能待开发 - sendtype = SmsTypeEnum.GET_OSD.value(); + } else if (content.contains(SmsTypeEnum.GET_PHOTO_SCHEDULE_LIST.value())) { + sendtype = SmsTypeEnum.GET_PHOTO_SCHEDULE_LIST.value(); + ifmessageCorrect = true; + } else if (content.contains(SmsTypeEnum.SET_RESOLUTION.value())) { + sendtype = SmsTypeEnum.SET_RESOLUTION.value(); + String[] split1 = StringUtils.splitString1(content); + if (split1 != null && split1.length > 1) { + String s = split1[1]; + String[] split2 = StringUtils.splitString1(s); + if (split2 != null && split2.length == 5) { + Integer channel = StringUtils.convert2Int(split2[0]); + Integer resolutionCX = StringUtils.convert2Int(split2[1]); + Integer resolutionCY = StringUtils.convert2Int(split2[2]); + Integer videoCX = StringUtils.convert2Int(split2[3]); + 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); + } + } + } + String menssageBack = ""; + if (ifmessageCorrect) { + menssageBack = " OK"; + } else { + menssageBack = " ERROR"; + } + sendmessage = content + menssageBack; + } else if (content.contains(SmsTypeEnum.GET_RESOLUTION.value())) { + sendtype = SmsTypeEnum.GET_RESOLUTION.value(); ifmessageCorrect = true; -// String ip = UpdateSysConfigUtil.getIP(context); -// sendmessage = SmsTypeEnum.GET_OSD + "=" + ip; + String[] split = StringUtils.splitString1(content); + Integer channel = StringUtils.convert2Int(split[0]); + HashMap hashMap = UpdateSysConfigUtil.getChannelResolution(packageName, channel); + Integer resolutionCX = hashMap.get("resolutionCX"); + Integer resolutionCY = hashMap.get("resolutionCY"); + Integer videoCX = hashMap.get("videoCX"); + Integer videoCY = hashMap.get("videoCY"); + sendmessage = SmsTypeEnum.GET_RESOLUTION.value() + "=" + resolutionCX + "," + resolutionCY + "," + videoCX + "," + videoCY; + } else if (content.contains(SmsTypeEnum.SET_HEART.value())) { + sendtype = SmsTypeEnum.SET_HEART.value(); + String[] split1 = StringUtils.splitString1(content); + if (split1 != null && split1.length == 2) { + ifmessageCorrect = true; + String s = split1[1]; + Integer integer = StringUtils.convert2Int(s); + UpdateSysConfigUtil.setHB(context, integer); + } + String menssageBack = ""; + if (ifmessageCorrect) { + menssageBack = " OK"; + } else { + menssageBack = " ERROR"; + } + sendmessage = content + menssageBack; + } else if (content.contains(SmsTypeEnum.GET_HEART.value())) { + sendtype = SmsTypeEnum.GET_HEART.value(); + ifmessageCorrect = true; + int hb = UpdateSysConfigUtil.getHB(context); + sendmessage = SmsTypeEnum.GET_HEART.value() + "=" + hb; + } else if (content.contains(SmsTypeEnum.SET_TP.value())) { + sendtype = SmsTypeEnum.SET_TP.value(); + String[] split1 = StringUtils.splitString1(content); + if (split1 != null && split1.length == 2) { + ifmessageCorrect = true; + String s = split1[1]; + Integer integer = StringUtils.convert2Int(s); + UpdateSysConfigUtil.setTB(context, integer); + } + String menssageBack = ""; + if (ifmessageCorrect) { + menssageBack = " OK"; + } else { + menssageBack = " ERROR"; + } + sendmessage = content + menssageBack; + } 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())) { + sendtype = SmsTypeEnum.SET_PACKAGE.value(); + String[] split1 = StringUtils.splitString1(content); + if (split1 != null && split1.length == 2) { + ifmessageCorrect = true; + String s = split1[1]; + Integer integer = StringUtils.convert2Int(s); + UpdateSysConfigUtil.setPackage(context, integer); + } + String menssageBack = ""; + if (ifmessageCorrect) { + menssageBack = " OK"; + } else { + menssageBack = " ERROR"; + } + sendmessage = content + menssageBack; + } else if (content.contains(SmsTypeEnum.GET_PACKAGE.value())) { + sendtype = SmsTypeEnum.GET_PACKAGE.value(); + ifmessageCorrect = true; + int aPackage = UpdateSysConfigUtil.getPackage(context); + sendmessage = SmsTypeEnum.GET_PACKAGE.value() + "=" + aPackage; + } else if (content.contains(SmsTypeEnum.CLEAR_PHOTO.value())) { + sendtype = SmsTypeEnum.CLEAR_PHOTO.value(); + ifmessageCorrect = true; + UpdateSysConfigUtil.clearHistoryPic(context); + String menssageBack = ""; + if (ifmessageCorrect) { + menssageBack = " OK"; + } else { + menssageBack = " ERROR"; + } + sendmessage = content + menssageBack; + } 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; + } 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; } sendSms(context, slot, sender, sendmessage, sendtype, ifmessageCorrect); } @@ -330,7 +455,7 @@ public class SimUtil { if (SMS_RECEIVED_ACTION.equals(action) || SMS_DELIVER_ACTION.equals(action)) { Bundle bundle = intent.getExtras(); if (bundle != null) { - String content = ""; + StringBuilder content = new StringBuilder(); String sender = ""; String dateContent = ""; Object[] pdus = (Object[]) bundle.get("pdus"); @@ -341,7 +466,7 @@ public class SimUtil { messages[i] = SmsMessage.createFromPdu(pdu); } for (SmsMessage message : messages) { - content = message.getMessageBody();// 得到短信内容 + content.append(message.getMessageBody());// 得到短信内容 // 得到发信息的号码 sender = message.getOriginatingAddress(); Date date = new Date(message.getTimestampMillis()); @@ -350,7 +475,7 @@ public class SimUtil { dateContent = format.format(date); } int smsSlot = getSmsSlot(bundle); - smsMessageModel.setContent(content); + smsMessageModel.setContent(content.toString()); smsMessageModel.setSender(sender); smsMessageModel.setDateContent(dateContent); smsMessageModel.setSlot(smsSlot); @@ -387,6 +512,9 @@ public class SimUtil { case "slotIdx": slot = bundle.getInt("slotIdx", -1); break; + case "android.telephony.extra.SLOT_INDEX": + slot = bundle.getInt("android.telephony.extra.SLOT_INDEX", -1); + break; default: if (key.toLowerCase().contains("slot") | key.toLowerCase().contains("sim")) { String value = bundle.getString(key, "-1"); 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 e62177bc..37ae9e8d 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/SmsSendReceiver.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/SmsSendReceiver.java @@ -26,16 +26,7 @@ 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())) { -// if (jsonArray != null) { -// String packageName = context.getApplicationContext().getPackageName(); -// UpdateSysConfigUtil.setAbsHeartbeats(packageName, jsonArray); -// } -// } - } } 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 b1cbf6f9..b224fa7f 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/sms/UpdateSysConfigUtil.java @@ -1,8 +1,12 @@ 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.os.Environment; +import com.xypower.common.FileUtils; import com.xypower.common.JSONUtils; import com.xypower.common.MicroPhotoContext; @@ -13,10 +17,34 @@ import org.json.JSONObject; import java.io.File; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; public class UpdateSysConfigUtil { + public static final String PACKAGE_NAME_MPAPP = "com.xypower.mpapp"; + + //创建运维配置文件文件夹 + public static String buildAppDir(String packageurl) { + String path = Environment.getExternalStorageDirectory().getAbsolutePath(); + if (!path.endsWith(File.separator)) { + path += File.separator; + } + + path += packageurl + File.separator; + File pathFile = new File(path); + if (!pathFile.exists() && !pathFile.mkdirs()) { + return null; + } + + return path; + } + //获取配置文件地址 + public static String getChannelDir(int channel) { + String appPath = buildAppDir(PACKAGE_NAME_MPAPP); + String path = appPath + "data/channels/" + channel + ".json"; + return path; + } //修改运维时间表 public static void setAbsHeartbeats(Context context, List list) { @@ -44,20 +72,20 @@ public class UpdateSysConfigUtil { return list; } - //修改运维状态 TODO + //修改运维状态 public static void setMntnMode(Context context, int mntnMode) { MicroPhotoContext.MasterConfig masterConfig = MicroPhotoContext.getMasterConfig(context); masterConfig.mntnMode = mntnMode; MicroPhotoContext.saveMasterConfig(context, masterConfig); } - //查询运维状态 TODO + //查询运维状态 public static int getMntnMode(Context context) { MicroPhotoContext.MasterConfig masterConfig = MicroPhotoContext.getMasterConfig(context); return masterConfig.mntnMode; } - //修改运维状态 TODO + //修改运维状态 public static void setMntnServer(Context context, String server, int port) { MicroPhotoContext.MasterConfig masterConfig = MicroPhotoContext.getMasterConfig(context); masterConfig.server = server; @@ -65,7 +93,7 @@ public class UpdateSysConfigUtil { MicroPhotoContext.saveMasterConfig(context, masterConfig); } - //查询运维状态 TODO + //查询运维状态 public static String getMntnServer(Context context) { String server = ""; int port; @@ -76,7 +104,7 @@ public class UpdateSysConfigUtil { } - //修改cmdid TODO + //修改cmdid public static void setCmdid(Context context, String cmdid) { MicroPhotoContext.AppConfig mpAppConfig = MicroPhotoContext.getMpAppConfig(context); mpAppConfig.cmdid = cmdid; @@ -84,13 +112,13 @@ public class UpdateSysConfigUtil { } - //查询cmdid TODO + //查询cmdid public static String getCmdid(Context context) { MicroPhotoContext.AppConfig mpAppConfig = MicroPhotoContext.getMpAppConfig(context); return mpAppConfig.cmdid; } - //修改app的ip TODO + //修改app的ip public static void setIP(Context context, String server, int port, int utcp, int encrypto) { MicroPhotoContext.AppConfig mpAppConfig = MicroPhotoContext.getMpAppConfig(context); mpAppConfig.server = server; @@ -105,7 +133,7 @@ public class UpdateSysConfigUtil { } - //查询cmdid TODO + //查询cmdid public static String getIP(Context context) { MicroPhotoContext.AppConfig mpAppConfig = MicroPhotoContext.getMpAppConfig(context); String server = mpAppConfig.server; @@ -115,5 +143,122 @@ public class UpdateSysConfigUtil { return server + "," + port + "," + networkProtocol + "," + encryption; } + //修改app的心跳 + public static void setHB(Context context, int heart) { + MicroPhotoContext.AppConfig mpAppConfig = MicroPhotoContext.getMpAppConfig(context); + mpAppConfig.heartbeat = heart; + MicroPhotoContext.saveMpAppConfig(context, mpAppConfig); + } + + + //获取app的心跳 + public static int getHB(Context context) { + MicroPhotoContext.AppConfig mpAppConfig = MicroPhotoContext.getMpAppConfig(context); + int heartbeat = mpAppConfig.heartbeat; + return heartbeat; + } + + + //修改传输协议 + public static void setTB(Context context, int tp) { + MicroPhotoContext.AppConfig mpAppConfig = MicroPhotoContext.getMpAppConfig(context); + mpAppConfig.networkProtocol = tp; + MicroPhotoContext.saveMpAppConfig(context, mpAppConfig); + } + + + //获取传输协议 + public static int getTB(Context context) { + MicroPhotoContext.AppConfig mpAppConfig = MicroPhotoContext.getMpAppConfig(context); + int heartbeat = mpAppConfig.networkProtocol; + return heartbeat; + } + + + //设置传输包大小 + public static void setPackage(Context context, int tp) { + MicroPhotoContext.AppConfig mpAppConfig = MicroPhotoContext.getMpAppConfig(context); + mpAppConfig.packetSize = tp; + MicroPhotoContext.saveMpAppConfig(context, mpAppConfig); + } + + + //获取传输包大小 + public static int getPackage(Context context) { + MicroPhotoContext.AppConfig mpAppConfig = MicroPhotoContext.getMpAppConfig(context); + int heartbeat = mpAppConfig.packetSize; + return heartbeat; + } + + //设置通道分辨率 + public static boolean setChannelResolution(String packageurl, int channel, int resolutionCX, int resolutionCY, int videoCX, int videoCY) { + String path = getChannelDir(channel); + JSONObject jsonObject = JSONUtils.loadJson(path); + try { + jsonObject.put("resolutionCX", resolutionCX); + jsonObject.put("resolutionCY", resolutionCY); + jsonObject.put("videoCX", videoCX); + jsonObject.put("videoCY", videoCY); + } catch (Exception ex) { + ex.printStackTrace(); + } + return JSONUtils.saveJson(path, jsonObject); + } + + //查询通道分辨率 + public static HashMap getChannelResolution(String packageurl, int channel) { + HashMap hashMap = new HashMap<>(); + String path = getChannelDir(channel); + JSONObject jsonObject = JSONUtils.loadJson(path); + try { + int resolutionCX = jsonObject.getInt("resolutionCX"); + int resolutionCY = jsonObject.getInt("resolutionCY"); + int videoCX = jsonObject.getInt("videoCX"); + int videoCY = jsonObject.getInt("videoCY"); + + hashMap.put("resolutionCX", resolutionCX); + hashMap.put("resolutionCY", resolutionCY); + hashMap.put("videoCX", videoCX); + hashMap.put("videoCY", videoCY); + } catch (Exception ex) { + ex.printStackTrace(); + } + return hashMap; + } + + + //清除历史图片和视频 + public static void clearHistoryPic(Context context) { + String appPath = MicroPhotoContext.buildMpAppDir(context); + + File path = new File(appPath + "photos/"); + if (path.exists() && path.isDirectory()) { + FileUtils.DeleteFilesInPath(path.getAbsolutePath()); + } + + path = new File(appPath + "sentPhotos/"); + if (path.exists() && path.isDirectory()) { + FileUtils.DeleteFilesInPath(path.getAbsolutePath()); + } + + } + + //清除日志 + public static void clearHistoryLogs(Context context) { + String appPath = MicroPhotoContext.buildMpAppDir(context); + String masterAppDir = MicroPhotoContext.buildMasterAppDir(context); + + File path = new File(appPath + "logs/"); + if (path.exists() && path.isDirectory()) { + FileUtils.DeleteFilesInPath(path.getAbsolutePath()); + } + + path = new File(masterAppDir + "logs/"); + if (path.exists() && path.isDirectory()) { + FileUtils.DeleteFilesInPath(path.getAbsolutePath()); + } + + } + }