From: TrillGates Date: Thu, 18 Nov 2021 03:02:43 +0000 (+0800) Subject: 吴鹏:这样改,应该是改动最小了。单组闹铃的开关(1,0),扩展一个标记2表示开启的单次闹铃,不按星期循环。 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=c3e0a9b6c11d67d57d6ee4640f27c5d8e7d6dc9b;p=icsupport.git 吴鹏:这样改,应该是改动最小了。单组闹铃的开关(1,0),扩展一个标记2表示开启的单次闹铃,不按星期循环。 --- diff --git a/app/src/main/java/com/enqualcomm/support/service/SilentManager.java b/app/src/main/java/com/enqualcomm/support/service/SilentManager.java index 284c36b3..9161ac94 100644 --- a/app/src/main/java/com/enqualcomm/support/service/SilentManager.java +++ b/app/src/main/java/com/enqualcomm/support/service/SilentManager.java @@ -301,7 +301,8 @@ public class SilentManager extends AbstractInvokeHandlerService { private void setNewAlarm(List alarmArrayList) { for (Alarm alarm : alarmArrayList) { Log.d("setNewAlarm======", "alarm == > " + alarm); - if ("ON".equals(alarm.status)) { + ICLogger.d("status ==> " + alarm.status); + if ("ON".equals(alarm.status) || "ONCE".equals(alarm.status)) { alarm.time = alarm.time.replace(":", ""); int hour = Integer.parseInt(alarm.time.substring(2, 4)); int minute = Integer.parseInt(alarm.time.substring(5, 7)); @@ -319,6 +320,10 @@ public class SilentManager extends AbstractInvokeHandlerService { ICLogger.d("idStr ==> " + idStr); //Id==> 闹钟ID+星期 int flag = itemWeek.equals("0") ? 0 : 2; + if ("ONCE".equals(alarm.status)) { + flag = 0; + } + ICLogger.d("flag ==> " + flag + " name ==> " + alarm.name); AlarmManagerUtil.setAlarm(mContext, flag, hour, minute, diff --git a/app/src/main/java/com/ic/protocols/protocol_s123.java b/app/src/main/java/com/ic/protocols/protocol_s123.java index 3ab480cf..6de6becd 100644 --- a/app/src/main/java/com/ic/protocols/protocol_s123.java +++ b/app/src/main/java/com/ic/protocols/protocol_s123.java @@ -1372,6 +1372,7 @@ public class protocol_s123 { } + //设置闹钟 public void handleBP85(String cmd, Connection connection, Runtime runtime) { // IWBP85,867155030001063,155312,1,1,0235,12,1,1 @@ -4334,7 +4335,8 @@ public class protocol_s123 { } /** - * 闹钟数据 + * 吴鹏原话:这样改,应该是改动最小了。 + * 单组闹铃的开关(1,0),扩展一个标记2表示开启的单次闹铃,不按星期循环。 * * @param mRuntime * @param cmd @@ -4394,7 +4396,7 @@ public class protocol_s123 { //第三个是循环星期 String weekItem = itemDetail[2]; ICLogger.d("weekItem == > " + weekItem); - //第四个是开关 + //第四个是开关,有可能是 2,如果是2的话,那么就是单次响铃 String isOpen = itemDetail[3]; ICLogger.d("isOpen == > " + isOpen); //如果是全部关闭,那么所有的闹钟都会为0 @@ -4411,8 +4413,16 @@ public class protocol_s123 { ICLogger.d("date ERROR..."); continue; } + String status = "ON"; + if ("0".equals(isOpen)) { + status = "OFF"; + } else if ("1".equals(isOpen)) { + status = "ON"; + } else if ("2".equals(isOpen)) { + status = "ONCE"; + } Alarm alarmItem = new Alarm("ST" + hour + "." + minute, - "W" + weekItem, "CON", "1".equals(isOpen) ? "ON" : "OFF", alarmName); + "W" + weekItem, "CON", status, alarmName); ICLogger.d("alarmItem == > " + alarmName); //入库 ICLogger.d(" alarmItem.name==> " + alarmItem.name);