From: snicker Date: Tue, 31 Mar 2020 03:30:02 +0000 (+0800) Subject: 修复时间变化后,闹铃失效问题! X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=bf3895922785d00ea57418e338544495d84e96ec;p=icsupport.git 修复时间变化后,闹铃失效问题! 修改 LocationCycle 默认值为 900秒. --- diff --git a/app/src/main/java/com/enqualcomm/support/Config.java b/app/src/main/java/com/enqualcomm/support/Config.java index fd339d1d..e5a6c3cb 100644 --- a/app/src/main/java/com/enqualcomm/support/Config.java +++ b/app/src/main/java/com/enqualcomm/support/Config.java @@ -145,7 +145,6 @@ public class Config { final static String KeyHeartBeatCycle="ServerHeartBeatCycle"; - final static String KeyLogFtpServer="FtpServerHost"; final static String KeyLogFtpUser="FtpServerUser"; final static String KeyLogFtpPWD="FtpServerPWD"; @@ -295,7 +294,7 @@ public class Config { } public static int getLocationCycle(Context context){ - return SharPreferenceUtil.getPrefInt(context,KeyLocationCycle,15); + return SharPreferenceUtil.getPrefInt(context,KeyLocationCycle,900); } public static void setLocationMode(Context context,int mode){ diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index c845ea16..fc255211 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -150,7 +150,7 @@ public class CoreService extends Service { } }; - private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { + private BroadcastReceiver TimeChangeBroadcastReceiver = new BroadcastReceiver() { public void onReceive(Context param1Context, Intent param1Intent) { StringBuilder stringBuilder2 = new StringBuilder(); stringBuilder2.append("broadcastReceiver alarmCycle action=="); @@ -160,14 +160,17 @@ public class CoreService extends Service { stringBuilder1.append("时间变化"); stringBuilder1.append(param1Intent.getAction()+stringBuilder2.toString()); ICLogger.i(stringBuilder1.toString()); - CoreService.this.setSleepAlarm(); - CoreService.this.setWakeAlarm(); - CoreService.this.setHeartAlarm(); - CoreService.this.setHeartRateDetectAlarm(runtime.getPpgTestCycle()); - CoreService.this.setWeatherAlarm(); - CoreService.this.setLocationAlarm(runtime.getLocationInstance().getWorkingMod()); - if (CoreService.this.cmcm_call_eiot_into_powersave_mode() == 0) - AlarmWakeUp.isNeedWakeUpAlarm(CoreService.this.runtime); + + //只有需要确定绝对时间点启动的Alarm需要重置,相对时间点的Alarm不需要重置。防止永远不能正常登陆。 + setSleepAlarm(); + setWakeAlarm(); +// setHeartAlarm(); +// setHeartRateDetectAlarm(runtime.getPpgTestCycle()); + setWeatherAlarm(); + runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.ACTION_ALARM_ALARM_CHANGE",runtime); //更新Alarm + // setLocationAlarm(runtime.getLocationInstance().getWorkingMod()); + if (cmcm_call_eiot_into_powersave_mode() == 0) + AlarmWakeUp.isNeedWakeUpAlarm(runtime); } }; private BroadcastReceiver broadcastSOSReceiver = new BroadcastReceiver() { @@ -362,7 +365,7 @@ public class CoreService extends Service { ICLogger.i("getInvokeHandlerServiceChain"); SendChatMessage sendChatMessage = new SendChatMessage(); HeartRateManager heartRateManager= new HeartRateManager(this.runtime,this.connection); - SilentManager silentManager = new SilentManager(); + SilentManager silentManager = SilentManager.getInstance();// new SilentManager(); sendChatMessage.setNext(heartRateManager); heartRateManager.setNext(silentManager); return sendChatMessage; @@ -541,9 +544,9 @@ public class CoreService extends Service { //注册接收 时间和tiimezone 变更消息 IntentFilter intentFilter = new IntentFilter(); -// intentFilter.addAction("android.intent.action.TIME_SET"); + intentFilter.addAction("android.intent.action.TIME_SET"); intentFilter.addAction("android.intent.action.TIMEZONE_CHANGED"); - registerReceiver(this.broadcastReceiver, intentFilter); + registerReceiver(this.TimeChangeBroadcastReceiver, intentFilter); //注册接收 screen on/off 消息 intentFilter = new IntentFilter(); @@ -956,7 +959,7 @@ public class CoreService extends Service { this.invokeHandlerServiceChain.processDetach(this.connection, this.runtime); this.locationClient.deinit(); this.connection.close(); - unregisterReceiver(this.broadcastReceiver); + unregisterReceiver(this.TimeChangeBroadcastReceiver); unregisterReceiver(this.screenOnReceiver); unregisterReceiver(this.AtCallbackBroadcastReceiver); batteryUtil.unregisterBroadReceiver(); 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 a0a7928e..fe70d794 100644 --- a/app/src/main/java/com/enqualcomm/support/service/SilentManager.java +++ b/app/src/main/java/com/enqualcomm/support/service/SilentManager.java @@ -70,6 +70,15 @@ public class SilentManager extends AbstractInvokeHandlerService { private int mStheartRateInterval; private int mTodayWeek; private boolean mValue_isSilence; + + + private static SilentManager mSilentManger=null; + + public static SilentManager getInstance(){ + if (mSilentManger==null) + mSilentManger=new SilentManager(); + return mSilentManger; + } private PhoneStateListener phoneStateListener = new PhoneStateListener() { public void onCallStateChanged(int var1, String var2) { super.onCallStateChanged(var1, var2);