fixed alarm clock issues by replace setRepeating by set function.
authorTrillGates <williamtrillgates@gmail.com>
Tue, 16 Mar 2021 08:28:29 +0000 (16:28 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Tue, 16 Mar 2021 08:28:29 +0000 (16:28 +0800)
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/service/SendChatMessage.java
app/src/main/java/com/enqualcomm/support/service/SilentManager.java
app/src/main/java/com/enqualcomm/support/toolActivity.java
app/src/main/java/com/enqualcomm/support/utils/AlarmHelper.java
app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java

index f72b0c2..8e53013 100644 (file)
@@ -239,9 +239,7 @@ public class CoreService extends Service {
                 }
                 //设置5分钟后结束紧急定位模式
                 setEmegencyLocationSTOPAlarm(5);
-
-
-                if (Config.SOSNoNeedDial == false) {
+                if (!Config.SOSNoNeedDial) {
                     //50ms后开始拨打电话
                     mHandler.postDelayed(mTriggerSOSCALLThread, 500);
                 }
@@ -1288,7 +1286,7 @@ public class CoreService extends Service {
                 ICLogger.i("Reset Count At 00:00 ");
                 //update stepCount and broadcast before reset
                 this.locationClient.updateStepCount(); //先记录下最后一次步数
-                runtime.getContextProxy().brodcastResetStepCount(runtime.getTotalStepCount());
+                runtime.getContextProxy().broadcastResetStepCount(runtime.getTotalStepCount());
                 updateSleepDate();//更新睡眠信息
 
                 //更新 运动控制的上次步数 然后再resetstecount
index f92e308..4807c1b 100644 (file)
@@ -132,7 +132,6 @@ public class SendChatMessage extends AbstractInvokeHandlerService {
                 int category = bundle.getInt("category", -1);\r
                 ICLogger.i(" msg.what 101 category=" + category + ", filepath=" + filepath + ",number=" + number);\r
 \r
-\r
                 if (filepath == null || number == null || category == -1)\r
                     return true;\r
 \r
index 3857299..a7aaf43 100644 (file)
@@ -17,7 +17,6 @@ import android.telephony.TelephonyManager;
 
 import com.enqualcomm.support.Config;
 import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.provider.ICContentProvider;
 import com.enqualcomm.support.bean.Alarm;
 import com.enqualcomm.support.bean.Antioff;
 import com.enqualcomm.support.bean.EventLooperHandlerThread;
@@ -25,6 +24,7 @@ import com.enqualcomm.support.bean.NoticeContent;
 import com.enqualcomm.support.bean.Runtime;
 import com.enqualcomm.support.bean.Silent;
 import com.enqualcomm.support.bean.StheartRate;
+import com.enqualcomm.support.provider.ICContentProvider;
 import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;
 import com.enqualcomm.support.utils.AlarmHelper;
 import com.enqualcomm.support.utils.Connection;
@@ -218,7 +218,7 @@ public class SilentManager extends AbstractInvokeHandlerService {
 
             for (int var8 = 1; var8 < var7; ++var8) {
                 char var9 = var6[var8];
-                this.mAlarmManager.cancel(this.getPendingIntent(var10, var4, var5, var11, var9 - 47));
+                this.mAlarmManager.cancel(this.getPendingIntent(var10, var4, var5, var11, var9 - 47, 0, false));
             }
         }
 
@@ -236,30 +236,46 @@ public class SilentManager extends AbstractInvokeHandlerService {
             String var7 = var3.noticeCategory;
             String var8 = var3.noticeFrequency;
             String var10 = var3.noticeContent;
-            this.mAlarmManager.cancel(this.getPendingIntent(var4, var9, var5, var6, var7, var8, var10));
+            this.mAlarmManager.cancel(this.getPendingIntent(var4, var9, var5, var6, var7, var8, var10, false));
         }
 
     }
 
-    private PendingIntent getPendingIntent(String var1, String var2, String var3, String var4, int var5) {
-        StringBuilder var6 = new StringBuilder("alarm:");
-        var6.append(var1);
-        var6.append(",");
-        var6.append(var2);
-        var6.append(",");
-        var6.append(var3);
-        var6.append(",");
-        var6.append(var4);
-        var6.append(",");
-        var6.append(var5);
-        var2 = var6.toString();
+    private PendingIntent getPendingIntent(String args, boolean repeat) {
         Intent intent = new Intent(this.mContext, CoreService.class);
         intent.setAction(ACTION_CARE_ALARM);
-        intent.setData(Uri.parse(var2));
+        intent.putExtra("IS_REPEAT", repeat);
+        intent.setData(Uri.parse(args));
         return PendingIntent.getService(this.mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
     }
 
-    private PendingIntent getPendingIntent(String var1, String var2, String var3, String var4, String var5, String var6, String var7) {
+    private PendingIntent getPendingIntent(String time,
+                                           String week,
+                                           String ring,
+                                           String name,
+                                           int dayOfWeek, long tmpTimeInMillis, boolean repeat) {
+        StringBuilder args = new StringBuilder("alarm:");
+        args.append(time);
+        args.append(",");
+        args.append(week);
+        args.append(",");
+        args.append(ring);
+        args.append(",");
+        args.append(name);
+        args.append(",");
+        args.append(dayOfWeek);
+        week = args.toString();
+        Intent intent = new Intent(this.mContext, CoreService.class);
+        intent.setAction(ACTION_CARE_ALARM);
+        intent.putExtra("IS_REPEAT", repeat);
+        intent.putExtra("TIME_STAMP", tmpTimeInMillis);
+        intent.setData(Uri.parse(week));
+        return PendingIntent.getService(this.mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+    }
+
+    private PendingIntent getPendingIntent(String var1, String var2,
+                                           String var3, String var4, String var5, String var6, String var7
+            , boolean isRepeat) {
         StringBuilder var8 = new StringBuilder("notice:");
         var8.append(var1);
         var8.append(",");
@@ -275,10 +291,11 @@ public class SilentManager extends AbstractInvokeHandlerService {
         var8.append(",");
         var8.append(var7);
         var1 = var8.toString();
-        Intent var9 = new Intent(this.mContext, CoreService.class);
-        var9.setAction("com.enqualcomm.support.ACTION_NOTICE_ALARM");
-        var9.setData(Uri.parse(var1));
-        return PendingIntent.getService(this.mContext, 0, var9, PendingIntent.FLAG_UPDATE_CURRENT);
+        Intent intent = new Intent(this.mContext, CoreService.class);
+        intent.putExtra("IS_REPEAT", isRepeat);
+        intent.setAction("com.enqualcomm.support.ACTION_NOTICE_ALARM");
+        intent.setData(Uri.parse(var1));
+        return PendingIntent.getService(this.mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
     }
 
     private void getSilentListStartAndEndTime() {
@@ -681,19 +698,20 @@ public class SilentManager extends AbstractInvokeHandlerService {
 
         while (itAlarm.hasNext()) {
             Alarm alarm = (Alarm) itAlarm.next();
+            ICLogger.d("alarm == > " + alarm);
             if ("ON".equals(alarm.status)) {
                 int hour = Integer.parseInt(alarm.time.substring(2, 4));
                 int minute = Integer.parseInt(alarm.time.substring(5, 7));
                 calendar.set(Calendar.HOUR_OF_DAY, hour);
                 calendar.set(Calendar.MINUTE, minute);
-
+                calendar.set(Calendar.SECOND, 0);
+                alarm.week = alarm.week.replace("W", "");
                 char[] weeklist = alarm.week.toCharArray();
                 int weeklistlen = weeklist.length;
                 ICLogger.i("repeat = " + alarm.week + ", list size = " + weeklistlen);
                 if (weeklistlen > 1) {
                     //如果week大于0 则证明有循环,没有循环就证明只是一次的闹铃。
-                    for (int i = 1; i < weeklistlen; i++) {
-
+                    for (int i = 0; i < weeklistlen; i++) {
                         long tmpTimeInMillis;
                         int dayofweek = weeklist[i] - 47;
                         calendar.set(Calendar.DAY_OF_WEEK, dayofweek);
@@ -703,7 +721,8 @@ public class SilentManager extends AbstractInvokeHandlerService {
                         }
                         Date date = new Date(tmpTimeInMillis);
                         ICLogger.i("set date " + date.toLocaleString());
-                        PendingIntent pendingIntent = this.getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, dayofweek);
+                        PendingIntent pendingIntent = this.getPendingIntent(alarm.time,
+                                alarm.week, alarm.ring, alarm.name, dayofweek, tmpTimeInMillis, true);
                         AlarmHelper.setAlarm(this.mAlarmManager, tmpTimeInMillis, pendingIntent);
                     }
                 } else {
@@ -730,10 +749,10 @@ public class SilentManager extends AbstractInvokeHandlerService {
 
                     ICLogger.i("set date " + date.toLocaleString());
 
-                    PendingIntent pendingIntent = this.getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, wek);
+                    PendingIntent pendingIntent = this.getPendingIntent(alarm.time,
+                            alarm.week, alarm.ring, alarm.name, wek, tmpTimeInMillis, false);
                     AlarmHelper.setAlarmOnce(this.mAlarmManager, tmpTimeInMillis, pendingIntent);
                 }
-
             }
         }
     }
@@ -764,10 +783,11 @@ public class SilentManager extends AbstractInvokeHandlerService {
                 var10.set(Calendar.DATE, Integer.parseInt(var14));
                 var10.set(Calendar.HOUR_OF_DAY, Integer.parseInt(var15));
                 var10.set(Calendar.MINUTE, Integer.parseInt(var16));
-                long var17 = var10.getTimeInMillis();
-                if (var17 >= var11) {
-                    PendingIntent var21 = this.getPendingIntent(var3, var4, var5, var6, var7, var8, var9);
-                    AlarmHelper.setAlarm(this.mAlarmManager, var17, var21);
+                long targetTime = var10.getTimeInMillis();
+                if (targetTime >= var11) {
+                    PendingIntent targetIntent = this.getPendingIntent(var3, var4, var5,
+                            var6, var7, var8, var9, true);
+                    AlarmHelper.setAlarm(this.mAlarmManager, targetTime, targetIntent);
                 }
             }
         }
@@ -822,10 +842,13 @@ public class SilentManager extends AbstractInvokeHandlerService {
     }
 
     @Override
-    public boolean onUserRequest(Intent var1, Connection var2, Runtime runtime) {
-        String action = var1.getAction();
+    public boolean onUserRequest(Intent intent, Connection var2, Runtime runtime) {
+        String action = intent.getAction();
+        ICLogger.d("action == > " + action);
+        //如果是循环的,那么再设置下一次
         if (ACTION_CARE_ALARM.equals(action)) {
-            String alarmTime = var1.getDataString();  //alarm:ST00.43,W,CON,闹铃,2
+            String alarmTime = intent.getDataString();  //alarm:ST00.43,W,CON,闹铃,2
+            ICLogger.d("alarmTime == > " + alarmTime);
             String currentTime = TimeUtil.getSystemTime();
             alarmTime.substring(6).split("\\.");
             int alarmTime_minutes = Integer.parseInt(alarmTime.substring(6).split("\\.")[1].substring(0, 2));
@@ -834,28 +857,36 @@ public class SilentManager extends AbstractInvokeHandlerService {
             int currentTime_hour = Integer.parseInt(currentTimeArray[0]);
             int currentTime_minutes = Integer.parseInt(currentTimeArray[1]);
             ICLogger.i("alarm time[" + alarmTime_hour + ":" + alarmTime_minutes + "], current time[" + currentTime_hour + ":" + currentTime_minutes + "]");
+            boolean isRepeat = intent.getBooleanExtra("IS_REPEAT", false);
+            ICLogger.d("isRepeat == > " + isRepeat);
+            //设置下一周期的时间
+            if (isRepeat) {
+                long timeStamp = intent.getLongExtra("TIME_STAMP", 0L);
+                PendingIntent pendingIntent = this.getPendingIntent(alarmTime, true);
+                AlarmHelper.setNextWeekAlarm(this.mAlarmManager, timeStamp, pendingIntent);
+            }
             if (alarmTime_hour != currentTime_hour || alarmTime_minutes != currentTime_minutes) {
                 return false;
             }
 
             if (this.isIdle(this.mContext)) {
                 try {
-                    Intent intent = new Intent("com.enqualcomm.icare.ALARM", Uri.parse(alarmTime));
-                    intent.putExtra("closeAlarm", 0);
-                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                    this.mContext.startActivity(intent);
+                    Intent targetIntent = new Intent("com.enqualcomm.icare.ALARM", Uri.parse(alarmTime));
+                    targetIntent.putExtra("closeAlarm", 0);
+                    targetIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                    this.mContext.startActivity(targetIntent);
                 } catch (Exception e) {
                     e.printStackTrace();
                     ICLogger.e(e.getMessage(), e);
                 }
             }
         } else if ("com.enqualcomm.support.ACTION_NOTICE_ALARM".equals(action)) {
-            String alarmTime = var1.getDataString();
+            String alarmTime = intent.getDataString();
             if (this.isIdle(this.mContext)) {
                 try {
-                    var1 = new Intent("com.enqualcomm.icare.NOTICE", Uri.parse(alarmTime));
-                    var1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                    this.mContext.startActivity(var1);
+                    intent = new Intent("com.enqualcomm.icare.NOTICE", Uri.parse(alarmTime));
+                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                    this.mContext.startActivity(intent);
                 } catch (Exception e) {
                     e.printStackTrace();
                     ICLogger.e(e.getMessage(), e);
index 78f6686..bb2710d 100644 (file)
@@ -3,14 +3,12 @@ package com.enqualcomm.support;
 import android.app.Activity;\r
 import android.content.ComponentName;\r
 import android.content.Intent;\r
-import android.support.v7.app.AppCompatActivity;\r
 import android.os.Bundle;\r
 import android.view.View;\r
 import android.widget.Button;\r
 \r
 import com.enqualcomm.support.utils.SimSignalUtil;\r
 import com.enqualcomm.support.utils.Util;\r
-import com.ic.protocols.protocol_mqtt;\r
 //import com.ic.protocols.protocol_mqtt_client;\r
 \r
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;\r
@@ -42,7 +40,7 @@ public class toolActivity extends Activity {
 \r
                 Intent intent=new Intent();\r
                 intent.putExtra("smsCmd","#setlocation#=1,30#");\r
-                CoreService.getInstance().runtime.getContextProxy().sendBrodcast("com.enqualcomm.support.SMSCMD",intent);\r
+                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.SMSCMD",intent);\r
                 Util.ShowToast(CoreService.getInstance().runtime,"设置模式1 , 间隔900秒定位。");\r
             }\r
         });\r
@@ -52,7 +50,7 @@ public class toolActivity extends Activity {
             public void onClick(View view) {\r
                 Intent intent=new Intent();\r
                 intent.putExtra("smsCmd","#setlocation#=3,30#");\r
-                CoreService.getInstance().runtime.getContextProxy().sendBrodcast("com.enqualcomm.support.SMSCMD",intent);\r
+                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.SMSCMD",intent);\r
                 Util.ShowToast(CoreService.getInstance().runtime,"设置模式3 , 间隔60秒定位。");\r
 \r
 //                mqttClient.attemptConnectMqtt(protocol_mqtt.defaultServerIP,"IC_H88_1063",60);\r
@@ -63,7 +61,7 @@ public class toolActivity extends Activity {
             public void onClick(View view) {\r
                 Intent intent=new Intent();\r
                 intent.putExtra("smsCmd","#setlocation#=8,300#");\r
-                CoreService.getInstance().runtime.getContextProxy().sendBrodcast("com.enqualcomm.support.SMSCMD",intent);\r
+                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.SMSCMD",intent);\r
                 Util.ShowToast(CoreService.getInstance().runtime,"设置模式8, 间隔300秒定位。");\r
 \r
 \r
@@ -99,7 +97,7 @@ public class toolActivity extends Activity {
             public void onClick(View view) {\r
                 Intent intent=new Intent();\r
                 intent.putExtra("smsCmd","#logctl#=upload,SDLogInfo:Android/ic");\r
-                CoreService.getInstance().runtime.getContextProxy().sendBrodcast("com.enqualcomm.support.SMSCMD",intent);\r
+                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.SMSCMD",intent);\r
             }\r
         });\r
 \r
@@ -111,12 +109,12 @@ public class toolActivity extends Activity {
                 if(usbstat) {\r
                     Intent intent=new Intent();\r
                     intent.putExtra("smsCmd", "#USB#=mtp");\r
-                    CoreService.getInstance().runtime.getContextProxy().sendBrodcast("com.enqualcomm.support.SMSCMD",intent);\r
+                    CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.SMSCMD",intent);\r
                     Util.ShowToast(CoreService.getInstance().runtime,"Enable MTP");\r
                 }else{\r
                     Intent intent=new Intent();\r
                     intent.putExtra("smsCmd", "#USB#=none");\r
-                    CoreService.getInstance().runtime.getContextProxy().sendBrodcast("com.enqualcomm.support.SMSCMD",intent);\r
+                    CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.SMSCMD",intent);\r
                     Util.ShowToast(CoreService.getInstance().runtime,"Diable MTP");\r
                 }\r
 \r
index d077136..dc722f9 100644 (file)
@@ -34,31 +34,16 @@ public class AlarmHelper {
     }\r
 \r
     //设置闹铃\r
-    public static void setAlarm(AlarmManager paramAlarmManager, long triggerAtMillis, long intervalMillis, PendingIntent paramPendingIntent) {\r
-\r
-        paramAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtMillis, intervalMillis, paramPendingIntent);\r
-\r
-//    try {\r
-//        setImpl.invoke(paramAlarmManager, new Object[] { Integer.valueOf(0), Long.valueOf(triggerAtMillis), Long.valueOf(0L), Long.valueOf(intervalMillis), paramPendingIntent, null });\r
-//\r
-//      } catch (Exception exception) {\r
-////        useApi19 = false;\r
-//\r
-//        paramAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtMillis, intervalMillis, paramPendingIntent);\r
-//        exception.printStackTrace();\r
-//      }\r
-\r
-    }\r
-\r
-    //以周为单位设置循环闹铃\r
     public static void setAlarm(AlarmManager paramAlarmManager, long triggerAtMillis, PendingIntent paramPendingIntent) {\r
-        ICLogger.i("setAlarm triggerAtMillis " + triggerAtMillis);\r
-        setAlarm(paramAlarmManager, triggerAtMillis, ONE_WEEK, paramPendingIntent);\r
+        //循环闹钟\r
+        paramAlarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtMillis, paramPendingIntent);\r
+        //paramAlarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, triggerAtMillis, intervalMillis, paramPendingIntent);\r
     }\r
 \r
     public static void setAlarmOnce(AlarmManager paramAlarmManager, long triggerAtMillis, PendingIntent paramPendingIntent) {\r
         ICLogger.i("setAlarmOnce triggerAtMillis " + triggerAtMillis);\r
-        setAlarm(paramAlarmManager, triggerAtMillis, 0, paramPendingIntent);\r
+        paramAlarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtMillis, paramPendingIntent);\r
+        // setAlarm(paramAlarmManager, triggerAtMillis, 0, paramPendingIntent);\r
     }\r
 \r
     public static void setCleanStepCountAlarm(Context context, int hour, int minutes, String paramString) {\r
@@ -141,5 +126,11 @@ public class AlarmHelper {
         alarmManager.cancel(pendingIntent);\r
         alarmManager.setExact(AlarmManager.RTC_WAKEUP, l1, pendingIntent);\r
     }\r
+\r
+    public static void setNextWeekAlarm(AlarmManager mAlarmManager, long timeStamp, PendingIntent pendingIntent) {\r
+        //周期为下一周\r
+        timeStamp += ONE_WEEK;\r
+        setAlarm(mAlarmManager, timeStamp, pendingIntent);\r
+    }\r
 }\r
 \r
index 51a7b35..3e56a1f 100644 (file)
@@ -67,7 +67,8 @@ public class ContextProxy {
 
     }
 
-    private PendingIntent getPendingIntent(String paramString1, String paramString2, String paramString3, String name, int paramInt) {
+    private PendingIntent getPendingIntent(String paramString1, String paramString2,
+                                           String paramString3, String name, int paramInt, boolean isRepeat) {
         StringBuilder stringBuilder = new StringBuilder("alarm:");
         stringBuilder.append(paramString1);
         stringBuilder.append(",");
@@ -79,10 +80,13 @@ public class ContextProxy {
         stringBuilder.append(",");
         stringBuilder.append(paramInt);
         Intent intent = new Intent("com.enqualcomm.icare.ALARM", Uri.parse(stringBuilder.toString()));
+        intent.putExtra("IS_REPEAT", isRepeat);
         return PendingIntent.getActivity(this.context, 0, intent, FLAG_UPDATE_CURRENT);
     }
 
-    private PendingIntent getPendingIntent(String noticeTime, String noticeName, String noticeNumber, String noticeID, String noticeCategory, String noticeFrequency, String noticeContent) {
+    private PendingIntent getPendingIntent(String noticeTime, String noticeName,
+                                           String noticeNumber, String noticeID, String noticeCategory,
+                                           String noticeFrequency, String noticeContent, boolean isRepeat) {
         StringBuilder stringBuilder = new StringBuilder("notice:");
         stringBuilder.append(noticeTime);
         stringBuilder.append(",");
@@ -98,7 +102,7 @@ public class ContextProxy {
         stringBuilder.append(",");
         stringBuilder.append(noticeContent);
         Intent intent = new Intent("com.enqualcomm.icare.NOTICE", Uri.parse(stringBuilder.toString()));
-
+        intent.putExtra("IS_REPEAT", isRepeat);
         return PendingIntent.getActivity(this.context, 0, intent, FLAG_UPDATE_CURRENT);
     }
 
@@ -130,7 +134,7 @@ public class ContextProxy {
                             long l1 = calendar2.getTimeInMillis();
                             if (l1 <= l)
                                 l1 += ONE_WEEK;
-                            PendingIntent pendingIntent = getPendingIntent(str2, str1, str3, str4, c);
+                            PendingIntent pendingIntent = getPendingIntent(str2, str1, str3, str4, c, true);
                             AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);
                             b++;
                             c = '\002';
@@ -171,7 +175,8 @@ public class ContextProxy {
                         calendar1.set(Calendar.MINUTE, Integer.parseInt(minute));
                         long l1 = calendar1.getTimeInMillis();
                         if (l1 > l) {
-                            PendingIntent pendingIntent = getPendingIntent(str1, str2, str3, str4, str5, str6, str7);
+                            PendingIntent pendingIntent = getPendingIntent(str1, str2, str3, str4,
+                                    str5, str6, str7, true);
                             AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);
                         }
                     }
@@ -220,7 +225,7 @@ public class ContextProxy {
                     byte b = 1;
                     while (b < i) {
                         c = arrayOfChar[b];
-                        this.alarmManager.cancel(getPendingIntent(str1, str2, str3, str4, c - '/'));
+                        this.alarmManager.cancel(getPendingIntent(str1, str2, str3, str4, c - '/', false));
                         b++;
                         c = '\001';
                     }
@@ -252,7 +257,7 @@ public class ContextProxy {
                             l1 = l2;
                             if (l2 <= l)
                                 l1 = l2 + ONE_WEEK;
-                            PendingIntent pendingIntent = getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, c);
+                            PendingIntent pendingIntent = getPendingIntent(alarm.time, alarm.week, alarm.ring, alarm.name, c, true);
                             AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);
                             j++;
                             continue;
@@ -279,7 +284,7 @@ public class ContextProxy {
                 String str5 = cursor.getString(5);
                 String str6 = cursor.getString(6);
                 String str7 = cursor.getString(6);
-                this.alarmManager.cancel(getPendingIntent(str1, str2, str3, str4, str5, str6, str7));
+                this.alarmManager.cancel(getPendingIntent(str1, str2, str3, str4, str5, str6, str7, false));
             }
             cursor.close();
         }
@@ -308,7 +313,7 @@ public class ContextProxy {
                     calendar.set(Calendar.MINUTE, Integer.parseInt(str12));
                     long l1 = calendar.getTimeInMillis();
                     if (l1 >= l) {
-                        PendingIntent pendingIntent = getPendingIntent(str1, str2, str3, str4, str5, str6, str7);
+                        PendingIntent pendingIntent = getPendingIntent(str1, str2, str3, str4, str5, str6, str7, true);
                         AlarmHelper.setAlarm(this.alarmManager, l1, pendingIntent);
                     }
                 } catch (Exception e) {
@@ -322,7 +327,7 @@ public class ContextProxy {
     private static final String PED_TOTAL_KEY = "PED_TOTAL";
     private static final String PED_FINISH_ACTION = "com.ic.action.PED_FINISH";
 
-    public void brodcastResetStepCount(int StepCount) {
+    public void broadcastResetStepCount(int StepCount) {
         Intent intent = new Intent();
         intent.putExtra(PED_TOTAL_KEY, StepCount);
         intent.setAction(PED_FINISH_ACTION);
@@ -330,7 +335,7 @@ public class ContextProxy {
         this.context.sendBroadcast(intent);
     }
 
-    public void sendBrodcast(String action, Intent intent) {
+    public void sendBroadcast(String action, Intent intent) {
         intent.setAction(action);
         ICLogger.i("send broadcast  action " + action);
         this.context.sendBroadcast(intent);