把应用包改名为com.ic.protocolSrv
authorSnickerSun <scy@incartech.cn>
Mon, 16 Aug 2021 02:52:40 +0000 (10:52 +0800)
committerSnickerSun <scy@incartech.cn>
Mon, 16 Aug 2021 02:52:40 +0000 (10:52 +0800)
修正 CellInfoUtil.java中 mccmnc获取时 substring out of index问题。

175 files changed:
app/build.gradle
app/proguard-rules.pro
app/src/main/AndroidManifest.xml
app/src/main/aidl/com/ic/fzd/weather/FZDWeatherInfo.aidl [deleted file]
app/src/main/aidl/com/ic/protocolSrv/IFZDCallback.aidl [moved from app/src/main/aidl/com/enqualcomm/support/IFZDCallback.aidl with 94% similarity]
app/src/main/aidl/com/ic/protocolSrv/IFZDService.aidl [moved from app/src/main/aidl/com/enqualcomm/support/IFZDService.aidl with 86% similarity]
app/src/main/aidl/com/ic/protocolSrv/weather/FZDWeatherInfo.aidl [new file with mode: 0644]
app/src/main/aidl/com/ic/protocolSrv/weather/IFZDWeatherCallback.aidl [moved from app/src/main/aidl/com/ic/fzd/weather/IFZDWeatherCallback.aidl with 52% similarity]
app/src/main/aidl/com/ic/protocolSrv/weather/IFZDWeatherService.aidl [moved from app/src/main/aidl/com/ic/fzd/weather/IFZDWeatherService.aidl with 65% similarity]
app/src/main/java/com/enqualcomm/support/service/SleepManager.java [deleted file]
app/src/main/java/com/ic/protocolSrv/BootCompleteReceiver.java [moved from app/src/main/java/com/enqualcomm/support/BootCompleteReceiver.java with 79% similarity]
app/src/main/java/com/ic/protocolSrv/Config.java [moved from app/src/main/java/com/enqualcomm/support/Config.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/Constants.java [moved from app/src/main/java/com/enqualcomm/support/Constants.java with 64% similarity]
app/src/main/java/com/ic/protocolSrv/CoreService.java [moved from app/src/main/java/com/enqualcomm/support/CoreService.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/CrashHandler.java [moved from app/src/main/java/com/enqualcomm/support/CrashHandler.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/DeviceInfoActivity.java [moved from app/src/main/java/com/enqualcomm/support/DeviceInfoActivity.java with 87% similarity]
app/src/main/java/com/ic/protocolSrv/GPSActivity.java [moved from app/src/main/java/com/enqualcomm/support/GPSActivity.java with 91% similarity]
app/src/main/java/com/ic/protocolSrv/GSensorListener.java [moved from app/src/main/java/com/enqualcomm/support/GSensorListener.java with 84% similarity]
app/src/main/java/com/ic/protocolSrv/ICApplication.java [moved from app/src/main/java/com/enqualcomm/support/ICApplication.java with 90% similarity]
app/src/main/java/com/ic/protocolSrv/ICSmsManager.java [moved from app/src/main/java/com/enqualcomm/support/ICSmsManager.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/LocationClient.java [moved from app/src/main/java/com/enqualcomm/support/LocationClient.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/MainActivity.java [moved from app/src/main/java/com/enqualcomm/support/MainActivity.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/MySqlitOpenHelper.java [moved from app/src/main/java/com/enqualcomm/support/provider/MySqlitOpenHelper.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/NMEAListener.java [moved from app/src/main/java/com/enqualcomm/support/NMEAListener.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/SnrHistogramView.java [moved from app/src/main/java/com/enqualcomm/support/SnrHistogramView.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/adapter/BTHelper.java [moved from app/src/main/java/com/enqualcomm/support/adapter/BTHelper.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/adapter/LBSHelper.java [moved from app/src/main/java/com/enqualcomm/support/adapter/LBSHelper.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/bean/Alarm.java [moved from app/src/main/java/com/enqualcomm/support/bean/Alarm.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/bean/Antioff.java [moved from app/src/main/java/com/enqualcomm/support/bean/Antioff.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/bean/ApnSetting.java [moved from app/src/main/java/com/enqualcomm/support/bean/ApnSetting.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/bean/BLEInfo.java [moved from app/src/main/java/com/enqualcomm/support/bean/BLEInfo.java with 88% similarity]
app/src/main/java/com/ic/protocolSrv/bean/BaiRuiMember.java [moved from app/src/main/java/com/enqualcomm/support/bean/BaiRuiMember.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/bean/Contact.java [moved from app/src/main/java/com/enqualcomm/support/bean/Contact.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/bean/Content.java [moved from app/src/main/java/com/enqualcomm/support/bean/Content.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/bean/DNSTaskModel.java [moved from app/src/main/java/com/enqualcomm/support/bean/DNSTaskModel.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/bean/DeviceStatus.java [moved from app/src/main/java/com/enqualcomm/support/bean/DeviceStatus.java with 89% similarity]
app/src/main/java/com/ic/protocolSrv/bean/EventLooperHandlerThread.java [moved from app/src/main/java/com/enqualcomm/support/bean/EventLooperHandlerThread.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/bean/HealthInfo.java [moved from app/src/main/java/com/enqualcomm/support/bean/HealthInfo.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/bean/ICLocation.java [moved from app/src/main/java/com/enqualcomm/support/bean/ICLocation.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/bean/Locations.java [moved from app/src/main/java/com/enqualcomm/support/bean/Locations.java with 91% similarity]
app/src/main/java/com/ic/protocolSrv/bean/NoticeContent.java [moved from app/src/main/java/com/enqualcomm/support/bean/NoticeContent.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/bean/NotificationParam.java [moved from app/src/main/java/com/enqualcomm/support/bean/NotificationParam.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/bean/Runtime.java [moved from app/src/main/java/com/enqualcomm/support/bean/Runtime.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/bean/Silent.java [moved from app/src/main/java/com/enqualcomm/support/bean/Silent.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/bean/SleepInfo.java [moved from app/src/main/java/com/enqualcomm/support/bean/SleepInfo.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/bean/SleepRecord.java [moved from app/src/main/java/com/enqualcomm/support/bean/SleepRecord.java with 91% similarity]
app/src/main/java/com/ic/protocolSrv/bean/StepCount.java [moved from app/src/main/java/com/enqualcomm/support/bean/StepCount.java with 88% similarity]
app/src/main/java/com/ic/protocolSrv/bean/StheartRate.java [moved from app/src/main/java/com/enqualcomm/support/bean/StheartRate.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/bean/StringMessage.java [moved from app/src/main/java/com/enqualcomm/support/bean/StringMessage.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/bean/TemperatureInfo.java [moved from app/src/main/java/com/enqualcomm/support/bean/TemperatureInfo.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/bean/TemperatureItem.java [moved from app/src/main/java/com/enqualcomm/support/bean/TemperatureItem.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/bean/VoiceContent.java [moved from app/src/main/java/com/enqualcomm/support/bean/VoiceContent.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/bean/Weather.java [moved from app/src/main/java/com/enqualcomm/support/bean/Weather.java with 93% similarity]
app/src/main/java/com/ic/protocolSrv/bean/heartRateStatus.java [moved from app/src/main/java/com/enqualcomm/support/bean/heartRateStatus.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/bean/voicePacket.java [moved from app/src/main/java/com/enqualcomm/support/bean/voicePacket.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/provider/AiInfoDatabaseHelper.java [moved from app/src/main/java/com/enqualcomm/support/provider/AiInfoDatabaseHelper.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/provider/AiInfoProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/AiInfoProvider.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/provider/ICAlarmProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/ICAlarmProvider.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/provider/ICContentProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/ICContentProvider.java with 90% similarity]
app/src/main/java/com/ic/protocolSrv/provider/ICDatabaseHelper.java [moved from app/src/main/java/com/enqualcomm/support/provider/ICDatabaseHelper.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/provider/ICFollowProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/ICFollowProvider.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/provider/ICGlobalSettingsProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/ICGlobalSettingsProvider.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/provider/ICMembersProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/ICMembersProvider.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/provider/ICNotificationProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/ICNotificationProvider.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/provider/MySqlitOpenHelper.java [moved from app/src/main/java/com/enqualcomm/support/MySqlitOpenHelper.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/provider/ShootTextProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/ShootTextProvider.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/provider/WarningItemProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/WarningItemProvider.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/provider/WeTalkMessageProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/WeTalkMessageProvider.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/provider/WebSmsProvider.java [moved from app/src/main/java/com/enqualcomm/support/provider/WebSmsProvider.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/service/AirplaneModeObserver.java [moved from app/src/main/java/com/enqualcomm/support/service/AirplaneModeObserver.java with 86% similarity]
app/src/main/java/com/ic/protocolSrv/service/AntiMonitorService.java [moved from app/src/main/java/com/enqualcomm/support/service/AntiMonitorService.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/service/AudioService.java [moved from app/src/main/java/com/enqualcomm/support/service/AudioService.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/service/CheckSIM.java [moved from app/src/main/java/com/enqualcomm/support/service/CheckSIM.java with 90% similarity]
app/src/main/java/com/ic/protocolSrv/service/Deliver.java [moved from app/src/main/java/com/enqualcomm/support/service/Deliver.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/service/HeartRateManager.java [moved from app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/service/Initialize.java [moved from app/src/main/java/com/enqualcomm/support/service/Initialize.java with 85% similarity]
app/src/main/java/com/ic/protocolSrv/service/InputEventReader.java [moved from app/src/main/java/com/enqualcomm/support/service/InputEventReader.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/service/KeepAlive.java [moved from app/src/main/java/com/enqualcomm/support/service/KeepAlive.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/service/PhoneCallListener.java [moved from app/src/main/java/com/enqualcomm/support/service/PhoneCallListener.java with 92% similarity]
app/src/main/java/com/ic/protocolSrv/service/SendChatMessage.java [moved from app/src/main/java/com/enqualcomm/support/service/SendChatMessage.java with 88% similarity]
app/src/main/java/com/ic/protocolSrv/service/ShutdownFlagObserver.java [moved from app/src/main/java/com/enqualcomm/support/service/ShutdownFlagObserver.java with 87% similarity]
app/src/main/java/com/ic/protocolSrv/service/SignFlagObserver.java [moved from app/src/main/java/com/enqualcomm/support/service/SignFlagObserver.java with 81% similarity]
app/src/main/java/com/ic/protocolSrv/service/SilentManager.java [moved from app/src/main/java/com/enqualcomm/support/service/SilentManager.java with 93% similarity]
app/src/main/java/com/ic/protocolSrv/service/SleepManager.java [new file with mode: 0644]
app/src/main/java/com/ic/protocolSrv/service/SmsDatabaseChaneObserver.java [moved from app/src/main/java/com/enqualcomm/support/service/SmsDatabaseChaneObserver.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/service/SynchronousTime.java [moved from app/src/main/java/com/enqualcomm/support/service/SynchronousTime.java with 87% similarity]
app/src/main/java/com/ic/protocolSrv/service/UpLoadDataPoints.java [moved from app/src/main/java/com/enqualcomm/support/service/UpLoadDataPoints.java with 88% similarity]
app/src/main/java/com/ic/protocolSrv/service/WeTalkMsgObserver.java [moved from app/src/main/java/com/enqualcomm/support/service/WeTalkMsgObserver.java with 91% similarity]
app/src/main/java/com/ic/protocolSrv/service/WebMsgStateObserver.java [moved from app/src/main/java/com/enqualcomm/support/service/WebMsgStateObserver.java with 81% similarity]
app/src/main/java/com/ic/protocolSrv/service/base/AbstractConnectionService.java [moved from app/src/main/java/com/enqualcomm/support/service/base/AbstractConnectionService.java with 90% similarity]
app/src/main/java/com/ic/protocolSrv/service/base/AbstractInvokeHandlerService.java [moved from app/src/main/java/com/enqualcomm/support/service/base/AbstractInvokeHandlerService.java with 90% similarity]
app/src/main/java/com/ic/protocolSrv/service/base/BaseService.java [moved from app/src/main/java/com/enqualcomm/support/service/base/BaseService.java with 62% similarity]
app/src/main/java/com/ic/protocolSrv/service/base/BaseSettingsObserver.java [moved from app/src/main/java/com/enqualcomm/support/service/base/BaseSettingsObserver.java with 89% similarity]
app/src/main/java/com/ic/protocolSrv/service/base/ConnectionService.java [moved from app/src/main/java/com/enqualcomm/support/service/base/ConnectionService.java with 63% similarity]
app/src/main/java/com/ic/protocolSrv/service/base/InvokeHandlerService.java [moved from app/src/main/java/com/enqualcomm/support/service/base/InvokeHandlerService.java with 67% similarity]
app/src/main/java/com/ic/protocolSrv/toolActivity.java [moved from app/src/main/java/com/enqualcomm/support/toolActivity.java with 88% similarity]
app/src/main/java/com/ic/protocolSrv/utils/AESCipher.java [moved from app/src/main/java/com/enqualcomm/support/utils/AESCipher.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/APNUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/APNUtil.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/utils/AlarmHelper.java [moved from app/src/main/java/com/enqualcomm/support/utils/AlarmHelper.java with 93% similarity]
app/src/main/java/com/ic/protocolSrv/utils/AlarmWakeUp.java [moved from app/src/main/java/com/enqualcomm/support/utils/AlarmWakeUp.java with 77% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ApnEditor.java [moved from app/src/main/java/com/enqualcomm/support/utils/ApnEditor.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/BatteryUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/utils/CameraUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/CameraUtil.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/utils/CellInfoUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/utils/Connection.java [moved from app/src/main/java/com/enqualcomm/support/utils/Connection.java with 80% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ConnectionListener.java [moved from app/src/main/java/com/enqualcomm/support/utils/ConnectionListener.java with 63% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ContextProxy.java [moved from app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/utils/CustomDialog.java [moved from app/src/main/java/com/enqualcomm/support/utils/CustomDialog.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/utils/CustomNotification.java [moved from app/src/main/java/com/enqualcomm/support/utils/CustomNotification.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/utils/DBHelper.java [moved from app/src/main/java/com/enqualcomm/support/utils/DBHelper.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/utils/DeviceInfoUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/DeviceInfoUtil.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/utils/DnsUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/DnsUtil.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/utils/FileCache.java [moved from app/src/main/java/com/enqualcomm/support/utils/FileCache.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/utils/FileOutputUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/FileOutputUtil.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/utils/GetContact.java [moved from app/src/main/java/com/enqualcomm/support/utils/GetContact.java with 90% similarity]
app/src/main/java/com/ic/protocolSrv/utils/HeartRateOxygenTestType.java [moved from app/src/main/java/com/enqualcomm/support/utils/HeartRateOxygenTestType.java with 67% similarity]
app/src/main/java/com/ic/protocolSrv/utils/HttpDnsRecordUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/HttpDnsRecordUtil.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/utils/IATUtils.java [moved from app/src/main/java/com/enqualcomm/support/utils/IATUtils.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/utils/IBeaconUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/IBeaconUtil.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ICAudioManager.java [moved from app/src/main/java/com/enqualcomm/support/utils/ICAudioManager.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ICHttpUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/ICHttpUtil.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ICLogger.java [moved from app/src/main/java/com/enqualcomm/support/utils/ICLogger.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/utils/IPtoAddress.java [moved from app/src/main/java/com/enqualcomm/support/utils/IPtoAddress.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ImageUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/ImageUtil.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/LanguageUtils.java [moved from app/src/main/java/com/enqualcomm/support/utils/LanguageUtils.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/utils/LedUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/LedUtil.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/utils/LocationSnrAdapter.java [moved from app/src/main/java/com/enqualcomm/support/utils/LocationSnrAdapter.java with 89% similarity]
app/src/main/java/com/ic/protocolSrv/utils/MD5.java [moved from app/src/main/java/com/enqualcomm/support/utils/MD5.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/utils/MakeFriendsBtHelper.java [moved from app/src/main/java/com/enqualcomm/support/utils/MakeFriendsBtHelper.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/utils/MakeFriendsLocationHelper.java [moved from app/src/main/java/com/enqualcomm/support/utils/MakeFriendsLocationHelper.java with 89% similarity]
app/src/main/java/com/ic/protocolSrv/utils/MissedCallContentObserver.java [moved from app/src/main/java/com/enqualcomm/support/utils/MissedCallContentObserver.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/utils/NettyConnection.java [moved from app/src/main/java/com/enqualcomm/support/utils/NettyConnection.java with 97% similarity]
app/src/main/java/com/ic/protocolSrv/utils/NetworkObservable.java [moved from app/src/main/java/com/enqualcomm/support/utils/NetworkObservable.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ProcessReceiver.java [moved from app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ProfileManager.java [moved from app/src/main/java/com/enqualcomm/support/utils/ProfileManager.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/RxSocket.java [moved from app/src/main/java/com/enqualcomm/support/utils/RxSocket.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/SendEmail.java [moved from app/src/main/java/com/enqualcomm/support/utils/SendEmail.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ServiceUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/ServiceUtil.java with 87% similarity]
app/src/main/java/com/ic/protocolSrv/utils/SharePreferenceUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/SharePreferenceUtil.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/utils/SimSignalUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/SimSignalUtil.java with 98% similarity]
app/src/main/java/com/ic/protocolSrv/utils/SnrEntriy.java [moved from app/src/main/java/com/enqualcomm/support/utils/SnrEntriy.java with 90% similarity]
app/src/main/java/com/ic/protocolSrv/utils/StorageUtils.java [moved from app/src/main/java/com/enqualcomm/support/utils/StorageUtils.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/TempAlgUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/TempAlgUtil.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/TempFileUtils.java [moved from app/src/main/java/com/enqualcomm/support/utils/TempFileUtils.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/utils/TemperatureUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java with 92% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ThreadPool.java [moved from app/src/main/java/com/enqualcomm/support/utils/ThreadPool.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/utils/TimeUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/TimeUtil.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/Util.java [moved from app/src/main/java/com/enqualcomm/support/utils/Util.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/VibrateUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/VibrateUtil.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/utils/WakeLockUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/WakeLockUtil.java with 93% similarity]
app/src/main/java/com/ic/protocolSrv/utils/WifiSupport.java [moved from app/src/main/java/com/enqualcomm/support/utils/WifiSupport.java with 99% similarity]
app/src/main/java/com/ic/protocolSrv/utils/ftpUtils.java [moved from app/src/main/java/com/enqualcomm/support/utils/ftpUtils.java with 96% similarity]
app/src/main/java/com/ic/protocolSrv/utils/mqttConnection.java [moved from app/src/main/java/com/enqualcomm/support/utils/mqttConnection.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/utils/regexUtil.java [moved from app/src/main/java/com/enqualcomm/support/utils/regexUtil.java with 95% similarity]
app/src/main/java/com/ic/protocolSrv/utils/sysProperties.java [moved from app/src/main/java/com/enqualcomm/support/utils/sysProperties.java with 94% similarity]
app/src/main/java/com/ic/protocolSrv/weather/FZDWeatherInfo.java [moved from app/src/main/java/com/ic/fzd/weather/FZDWeatherInfo.java with 99% similarity]
app/src/main/java/com/ic/protocols/protocolAPIHelper.java
app/src/main/java/com/ic/protocols/protocol_anan.java
app/src/main/java/com/ic/protocols/protocol_beehome.java
app/src/main/java/com/ic/protocols/protocol_fzd.java
app/src/main/java/com/ic/protocols/protocol_gator.java
app/src/main/java/com/ic/protocols/protocol_ic.java
app/src/main/java/com/ic/protocols/protocol_jiai.java
app/src/main/java/com/ic/protocols/protocol_mqtt.java
app/src/main/java/com/ic/protocols/protocol_mqtt_client.java
app/src/main/java/com/ic/protocols/protocol_s123.java
app/src/main/java/com/ic/view/msg/MessageAdapter.java
app/src/main/java/com/ic/view/msg/MsgMustReadDialog.java
app/src/main/java/com/ic/view/webmsgresponse/ShootItemAdapter.java
app/src/main/java/com/ic/view/webmsgresponse/WebMessageAdapter.java
app/src/main/java/com/ic/view/webmsgresponse/WebMsgView.java
app/src/main/java/se/wetcat/qatja/android/QatjaService.java
app/src/main/res/layout/activity_main.xml
app/src/main/res/layout/item_snr_layout.xml
library/src/main/java/com/eiot/watch_lib/LauncherCtrl.java

index 362f6fb..638be81 100644 (file)
@@ -12,7 +12,7 @@ android {
     def currentVersionCode = getVersionCode()
     def currentVersionName = releaseTime()
     defaultConfig {
-        applicationId "com.enqualcomm.support"
+        applicationId "com.ic.protocolSrv"
         minSdkVersion 19
         targetSdkVersion 29
         versionCode currentVersionCode
@@ -37,10 +37,6 @@ android {
             keyPassword "123456"
         }
         release {
-//            storeFile file('EQC_G5.jks')
-//            storePassword '123456'
-//            keyAlias = 'watch_g5'
-//            keyPassword '123456'
             storeFile file("platform.jks")
             storePassword "123456"
             keyAlias "android"
index 8fc6534..7017828 100644 (file)
 -keep class android.** { *; }
 -keep class android.ddm.** { *; }
 -keep class com.alibaba.fastjson.** { *; }
--keep class com.eqc.watch.launcher.WatchApplication { *; }
-#-keep class com.enqualcomm.support.EqcAlgorithmNative { *; }
+-keep class com.ic.watch.launcher.WatchApplication { *; }
+#-keep class com.ic.protocolSrv.EqcAlgorithmNative { *; }
 -dontwarn com.facebook.**
 -dontwarn com.mediatek.**
 -dontwarn java.nio.**
 -dontwarn rx.internal.**
 
 -keep class com.ic.** { *; }
--keep class com.enqualcomm.** { *; }
+-keep class com.ic.** { *; }
 -keep class com.sina.util.dnscache.** { *; }
 -keep class rx.internal.**  { *; }
 -keep class java.util.concurrent.**  { *; }
index e9a6d36..8e6d619 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.enqualcomm.support"
+    package="com.ic.protocolSrv"
     android:allowBackup="true"
     android:persistent="true"
     android:screenOrientation="portrait"
     <uses-permission android:name="android.permission.CALL_PHONE" />
 
     <permission
-        android:name="com.enqualcomm.support.permission.MIPUSH_RECEIVE"
+        android:name="com.ic.protocolSrv.permission.MIPUSH_RECEIVE"
         android:protectionLevel="signature" />
 
-    <uses-permission android:name="com.enqualcomm.support.permission.MIPUSH_RECEIVE" />
+    <uses-permission android:name="com.ic.protocolSrv.permission.MIPUSH_RECEIVE" />
 
-    <protected-broadcast android:name="com.enqualcomm.support.ACTION_EQC_ALARM" />
-    <protected-broadcast android:name="com.eqc.heartrate.action.SILENT_START" />
-    <protected-broadcast android:name="com.enqualcomm.support.ACTION_ISCONNECTED" />
-    <protected-broadcast android:name="com.eqc.deskclock.YUN_ALARM_CHANGE" />
-    <protected-broadcast android:name="com.enqualcomm.support.sos" />
+    <protected-broadcast android:name="com.ic.protocolSrv.ACTION_EQC_ALARM" />
+    <protected-broadcast android:name="com.ic.heartrate.action.SILENT_START" />
+    <protected-broadcast android:name="com.ic.protocolSrv.ACTION_ISCONNECTED" />
+    <protected-broadcast android:name="com.ic.deskclock.YUN_ALARM_CHANGE" />
+    <protected-broadcast android:name="com.ic.protocolSrv.sos" />
 
     <application
         android:name=".ICApplication"
         </service>
         <service android:name=".CoreService"> <!-- 协议通讯服务 -->
             <intent-filter>
-                <action android:name="com.enqualcomm.support.startsrv" />
-                <action android:name="com.enqualcomm.support.ACTION_ALARM" />
-                <action android:name="com.enqualcomm.support.HEARTBEAT_ALARM" />
-                <action android:name="com.enqualcomm.support.TEMP_ALARM" />
-                <action android:name="com.enqualcomm.support.PRACTICE_ALARM" />
-                <action android:name="com.eqc.heartrate.action.SILENT_START" />
+                <action android:name="com.ic.protocolSrv.startsrv" />
+                <action android:name="com.ic.protocolSrv.ACTION_ALARM" />
+                <action android:name="com.ic.protocolSrv.HEARTBEAT_ALARM" />
+                <action android:name="com.ic.protocolSrv.TEMP_ALARM" />
+                <action android:name="com.ic.protocolSrv.PRACTICE_ALARM" />
+                <action android:name="com.ic.heartrate.action.SILENT_START" />
                 <action android:name="com.ic.action.CHECK_ANTIOFF_EVENT" />
-                <action android:name="com.enqualcomm.support.OTHER_ALARM_END" />
-                <action android:name="com.enqualcomm.support.OTHER_ALARM_START" />
+                <action android:name="com.ic.protocolSrv.OTHER_ALARM_END" />
+                <action android:name="com.ic.protocolSrv.OTHER_ALARM_START" />
                 <action android:name="com.ic.action.VIDEO_CALL" />
-                <action android:name="com.ic.fzd.action.WEATHER" />
+                <action android:name="com.ic.protocolSrv.action.WEATHER" />
                 <action android:name="com.ic.generic.action.WEATHER" />
                 <action android:name="com.ic.power.ACTION_ALARM_POWER_OFF" />
             </intent-filter>
 
         <provider
             android:name=".provider.ICContentProvider"
-            android:authorities="com.enqualcomm.support"
+            android:authorities="com.ic.protocolSrv"
             android:exported="true" />
         <!--        <receiver-->
         <!--            android:name=".ICSmsManager"-->
         <!--            android:exported="true">-->
         <!--            <intent-filter>-->
         <!--                <action android:name="android.provider.Telephony.SMS_RECEIVED" />-->
-        <!--                <action android:name="com.enqualcomm.support.SMSCMD" />-->
+        <!--                <action android:name="com.ic.protocolSrv.SMSCMD" />-->
         <!--                <action android:name="com.ic.action.internaltest" />-->
         <!--            </intent-filter>-->
         <!--        </receiver>-->
             android:name=".utils.ProcessReceiver"
             android:exported="true">
             <intent-filter>
-                <action android:name="com.enqualcomm.support.DIALOG" />
-                <action android:name="com.enqualcomm.imessage.RESUME_ACTION" />
-                <action android:name="com.enqualcomm.support.ACTION_STEP_COUNT_ALARM" />
-                <action android:name="com.enqualcomm.imessage.SOS_ACTION" />
-                <action android:name="com.enqualcomm.support.ACTION_REMOTE_CAMERA" />
-                <action android:name="com.enqualcomm.support.CloseUnreadMsg" />
+                <action android:name="com.ic.protocolSrv.DIALOG" />
+                <action android:name="com.ic.imessage.RESUME_ACTION" />
+                <action android:name="com.ic.protocolSrv.ACTION_STEP_COUNT_ALARM" />
+                <action android:name="com.ic.imessage.SOS_ACTION" />
+                <action android:name="com.ic.protocolSrv.ACTION_REMOTE_CAMERA" />
+                <action android:name="com.ic.protocolSrv.CloseUnreadMsg" />
                 <action android:name="android.intent.action.BATTERY_LOW" />
-                <action android:name="com.enqualcomm.support.ACTION_MISSED_CALL_GET" />
-                <action android:name="com.enqualcomm.support.ACTION_CHECK_SERVER_RESPONSE" />
-                <action android:name="com.enqualcomm.support.ACTION_LED" />
+                <action android:name="com.ic.protocolSrv.ACTION_MISSED_CALL_GET" />
+                <action android:name="com.ic.protocolSrv.ACTION_CHECK_SERVER_RESPONSE" />
+                <action android:name="com.ic.protocolSrv.ACTION_LED" />
                 <action android:name="com.ic.action.shutdown" />
                 <action android:name="com.ic.action.playtime" />
-                <action android:name="com.enqualcomm.support.ACTION_RETRY_SERVER_CONNECT" />
-                <action android:name="com.enqualcomm.support.ACTION_CHECK_LOCATION_RESULT" />
+                <action android:name="com.ic.protocolSrv.ACTION_RETRY_SERVER_CONNECT" />
+                <action android:name="com.ic.protocolSrv.ACTION_CHECK_LOCATION_RESULT" />
                 <action android:name="com.ic.action.message_sent" />
                 <action android:name="com.ic.action.temp_result" />
                 <action android:name="com.ic.action.set_sit_range" />
                 <action android:name="com.ic.dialog.action.DIALOG_RESPONSE" />
-                <!-- <action android:name="com.eqc.heartrate.action.SILENT_START" /> -->
+                <!-- <action android:name="com.ic.heartrate.action.SILENT_START" /> -->
             </intent-filter>
         </receiver>
 
 
         <provider
             android:name=".provider.WeTalkMessageProvider"
-            android:authorities="com.ic.fzd.we-talk"
+            android:authorities="com.ic.protocolSrv.we-talk"
             android:exported="true" />
 
         <provider
             android:name=".provider.ICFollowProvider"
-            android:authorities="com.ic.fzd.follow"
+            android:authorities="com.ic.protocolSrv.follow"
             android:exported="true" />
 
         <provider
             android:name=".provider.ICGlobalSettingsProvider"
-            android:authorities="com.ic.fzd.settings"
+            android:authorities="com.ic.protocolSrv.settings"
             android:exported="true" />
 
         <provider
diff --git a/app/src/main/aidl/com/ic/fzd/weather/FZDWeatherInfo.aidl b/app/src/main/aidl/com/ic/fzd/weather/FZDWeatherInfo.aidl
deleted file mode 100644 (file)
index 4a6e864..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-
-package com.ic.fzd.weather;
-
-parcelable FZDWeatherInfo;
\ No newline at end of file
@@ -1,5 +1,5 @@
 // IFZDService.aidl
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
 interface IFZDCallback {
     void onContractsLoaded();
@@ -1,7 +1,7 @@
 // IFZDService.aidl
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
-import com.enqualcomm.support.IFZDCallback;
+import com.ic.protocolSrv.IFZDCallback;
 
 
 interface IFZDService {
diff --git a/app/src/main/aidl/com/ic/protocolSrv/weather/FZDWeatherInfo.aidl b/app/src/main/aidl/com/ic/protocolSrv/weather/FZDWeatherInfo.aidl
new file mode 100644 (file)
index 0000000..645d312
--- /dev/null
@@ -0,0 +1,4 @@
+
+package com.ic.protocolSrv.weather;
+
+parcelable FZDWeatherInfo;
\ No newline at end of file
@@ -1,6 +1,6 @@
 
-package com.ic.fzd.weather;
-import com.ic.fzd.weather.FZDWeatherInfo;
+package com.ic.protocolSrv.weather;
+import com.ic.protocolSrv.weather.FZDWeatherInfo;
 
 interface IFZDWeatherCallback {
     void onWeatherInfoLoaded(in FZDWeatherInfo fzdWeatherInfo);
@@ -1,6 +1,6 @@
 
-package com.ic.fzd.weather;
-import com.ic.fzd.weather.IFZDWeatherCallback;
+package com.ic.protocolSrv.weather;
+import com.ic.protocolSrv.weather.IFZDWeatherCallback;
 
 
 interface IFZDWeatherService {
diff --git a/app/src/main/java/com/enqualcomm/support/service/SleepManager.java b/app/src/main/java/com/enqualcomm/support/service/SleepManager.java
deleted file mode 100644 (file)
index 9947d8b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.enqualcomm.support.service;\r
-\r
-public class SleepManager {\r
-}\r
@@ -1,16 +1,16 @@
-package com.enqualcomm.support;\r
-\r
-import android.content.BroadcastReceiver;\r
-import android.content.Context;\r
-import android.content.Intent;\r
-\r
-import com.enqualcomm.support.utils.ICLogger;\r
-\r
-public class BootCompleteReceiver extends BroadcastReceiver {\r
-    public void onReceive(Context paramContext, Intent paramIntent) {\r
-        ICLogger.i("监听到开机广播");\r
-        paramContext.startService(new Intent(paramContext, CoreService.class));\r
-    }\r
-}\r
-\r
-\r
+package com.ic.protocolSrv;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+
+import com.ic.protocolSrv.utils.ICLogger;
+
+public class BootCompleteReceiver extends BroadcastReceiver {
+    public void onReceive(Context paramContext, Intent paramIntent) {
+        ICLogger.i("监听到开机广播");
+        paramContext.startService(new Intent(paramContext, CoreService.class));
+    }
+}
+
+
@@ -1,18 +1,18 @@
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
 import android.content.Context;
 import android.provider.Settings;
 import android.util.JsonReader;
 
-import com.enqualcomm.support.bean.ICLocation;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.utils.HeartRateOxygenTestType;
-import com.enqualcomm.support.utils.ICAudioManager;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.SharePreferenceUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.VibrateUtil;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.utils.HeartRateOxygenTestType;
+import com.ic.protocolSrv.utils.ICAudioManager;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.SharePreferenceUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.VibrateUtil;
 import com.ic.jni.ICJniUtils;
 import com.ic.protocols.protocolAPIHelper;
 
@@ -25,10 +25,10 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
 
-import static com.enqualcomm.support.bean.ICLocation.CUSTOM_MOD8_GPS;
-import static com.enqualcomm.support.bean.ICLocation.NORMAL_MOD;
-import static com.enqualcomm.support.bean.Runtime.AlarmType.ALARM_LOWBATTERY;
-import static com.enqualcomm.support.utils.Util.getSystemProperties;
+import static com.ic.protocolSrv.bean.ICLocation.CUSTOM_MOD8_GPS;
+import static com.ic.protocolSrv.bean.ICLocation.NORMAL_MOD;
+import static com.ic.protocolSrv.bean.Runtime.AlarmType.ALARM_LOWBATTERY;
+import static com.ic.protocolSrv.utils.Util.getSystemProperties;
 
 public class Config {
     public static final boolean LOG_TOFILE = true;
@@ -1,51 +1,51 @@
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
 import android.net.Uri;
 
 public interface Constants {
 
-    String ACTION_LED = "com.enqualcomm.support.ACTION_LED";
+    String ACTION_LED = "com.ic.protocolSrv.ACTION_LED";
 
     String ACTION_SHUTDOWN = "com.ic.action.shutdown";
 
     String ACTION_PLAYTIME = "com.ic.action.playtime";
 
-    String ACTION_BROADCAST_PPG = "com.enqualcomm.support.ACTION_BROADCAST_PPG";
-    String ACTION_ADDTEST_CONTACTS = "com.enqualcomm.imessage.ACTION_ADDTEST_CONTACTS";
+    String ACTION_BROADCAST_PPG = "com.ic.protocolSrv.ACTION_BROADCAST_PPG";
+    String ACTION_ADDTEST_CONTACTS = "com.ic.imessage.ACTION_ADDTEST_CONTACTS";
 
-    String ACTION_ALARM_ADD_DATAPOINTS = "com.enqualcomm.support.ADD_DATAPOINTS";
+    String ACTION_ALARM_ADD_DATAPOINTS = "com.ic.protocolSrv.ADD_DATAPOINTS";
 
 
     String ACTION_ALARM_BLE_SCAN = "com.ic.Action.ALarm.bleScan";
     String ACTION_ALARM_CHECK_ANTI = "com.ic.Action.ALarm.CheckAnti";
 
-    String ACTION_ALARM_ALARM_CHANGE = "com.enqualcomm.support.ACTION_ALARM_ALARM_CHANGE";
+    String ACTION_ALARM_ALARM_CHANGE = "com.ic.protocolSrv.ACTION_ALARM_ALARM_CHANGE";
 
-    String ACTION_ANTIOFF_ALARM_CHANGE = "com.enqualcomm.support.ACTION_ANTIOFF_ALARM_CHANGE";
+    String ACTION_ANTIOFF_ALARM_CHANGE = "com.ic.protocolSrv.ACTION_ANTIOFF_ALARM_CHANGE";
 
-    String ACTION_AT_CALLBACK = "com.eqc.intent.action.callback.at";
+    String ACTION_AT_CALLBACK = "com.ic.intent.action.callback.at";
 
-    String ACTION_BATTERY_LOW_MSG = "com.enqualcomm.support.lowbatteryMsg";
+    String ACTION_BATTERY_LOW_MSG = "com.ic.protocolSrv.lowbatteryMsg";
 
     String ACTION_CALL_CMCM_SERVICE_INTERFACE = "com.cmcm.interface";
 
-    String ACTION_CALL_RING = "com.enqualcomm.support.phone.ring";
+    String ACTION_CALL_RING = "com.ic.protocolSrv.phone.ring";
 
     String ACTION_IC_ALARM = "com.ic.alarm.action.ALARM";
 
-    String ACTION_CLOSE_UNREAD_MSG = "com.enqualcomm.support.CloseUnreadMsg";
+    String ACTION_CLOSE_UNREAD_MSG = "com.ic.protocolSrv.CloseUnreadMsg";
 
     String ACTION_CM_POWERSAVE_MODE = "cmcm.call.eiot.into.powersave";
 
-    String ACTION_EQC_ALARM = "com.enqualcomm.support.ACTION_EQC_ALARM";
+    String ACTION_EQC_ALARM = "com.ic.protocolSrv.ACTION_EQC_ALARM";
 
-    String ACTION_LOCATION_ALARM = "com.enqualcomm.support.ACTION_LOCATION_ALARM";
+    String ACTION_LOCATION_ALARM = "com.ic.protocolSrv.ACTION_LOCATION_ALARM";
 
-    String ACTION_EXIT_MONITOR_MODE = "com.enqualcomm.support.MONITOR_EXIT";
+    String ACTION_EXIT_MONITOR_MODE = "com.ic.protocolSrv.MONITOR_EXIT";
 
-    String ACTION_HEART_RATE_RESULT = "com.eqc.heartrate.action.RESULT";
+    String ACTION_HEART_RATE_RESULT = "com.ic.heartrate.action.RESULT";
 
-    String ACTION_HEATR_RATE_START = "com.eqc.heartrate.action.SILENT_START";
+    String ACTION_HEATR_RATE_START = "com.ic.heartrate.action.SILENT_START";
     String ACTION_CHECK_ANTIOFF_EVENT = "com.ic.action.CHECK_ANTIOFF_EVENT";
     String ACTION_CHECK_CUTOFF_EVENT = "com.ic.action.CHECK_CUTOFF_EVENT";
 
@@ -53,67 +53,67 @@ public interface Constants {
 
     String ACTION_ISCONNECTED = "com.ic.protocol.ACTION_IS_SERVER_CONNECTED";
 
-    String ACTION_ISSILENCE = "com.enqualcomm.icare.ACTION_ISSILENCE";
+    String ACTION_ISSILENCE = "com.ic.icare.ACTION_ISSILENCE";
 
-    String ACTION_ISSILENCE2IMESSAGE = "com.enqualcomm.support.ACTION_ISSILENCE2IMESSAGE";
+    String ACTION_ISSILENCE2IMESSAGE = "com.ic.protocolSrv.ACTION_ISSILENCE2IMESSAGE";
 
-    String ACTION_MISSED_CALL_GET = "com.enqualcomm.support.ACTION_MISSED_CALL_GET";
+    String ACTION_MISSED_CALL_GET = "com.ic.protocolSrv.ACTION_MISSED_CALL_GET";
 
-    String ACTION_NOTICE_ALARM = "com.enqualcomm.support.ACTION_NOTICE_ALARM";
+    String ACTION_NOTICE_ALARM = "com.ic.protocolSrv.ACTION_NOTICE_ALARM";
 
-    String ACTION_NOTICE_ALARM_CHANGE = "com.enqualcomm.support.ACTION_NOTICE_ALARM_CHANGE";
+    String ACTION_NOTICE_ALARM_CHANGE = "com.ic.protocolSrv.ACTION_NOTICE_ALARM_CHANGE";
 
-    String ACTION_PASS_DATA_TO_CM_SERVICES = "com.enqualcomm.support.PASS_DATA";
+    String ACTION_PASS_DATA_TO_CM_SERVICES = "com.ic.protocolSrv.PASS_DATA";
 
-    String ACTION_REMOTE_CAMERA = "com.enqualcomm.support.ACTION_REMOTE_CAMERA";
+    String ACTION_REMOTE_CAMERA = "com.ic.protocolSrv.ACTION_REMOTE_CAMERA";
 
-    String ACTION_REMOTE_CAMERA_OSS = "com.enqualcomm.support.ACTION_REMOTE_CAMERA_OSS";
+    String ACTION_REMOTE_CAMERA_OSS = "com.ic.protocolSrv.ACTION_REMOTE_CAMERA_OSS";
 
     String ACTION_RESTORE_SYSTEM = "android.intent.action.MASTER_CLEAR";
 
-    String ACTION_SCANPAIRMESSAGE = "com.enqualcomm.imessage.scanPairMessage";
+    String ACTION_SCANPAIRMESSAGE = "com.ic.imessage.scanPairMessage";
 
-    String ACTION_SEDN_VIDOE_CALL_REQ = "com.enqualcomm.imessage.sendVideoCall";
+    String ACTION_SEDN_VIDOE_CALL_REQ = "com.ic.imessage.sendVideoCall";
 
-    String ACTION_SEND_SOS_MSG = "com.enqualcomm.support.action_send_sos";
+    String ACTION_SEND_SOS_MSG = "com.ic.protocolSrv.action_send_sos";
 
     String ACTION_SEND_EMEGENCY_LOCATION_START = "action.emegency.location.start";
     String ACTION_SEND_EMEGENCY_LOCATION_STOP = "action.emegency.location.stop";
     String ACTION_LOCAL_SOS_ACTION = "com.ic.action.SOS";
 
-    String ACTION_SEND_SOS_VIDEO_FILE = "com.enqualcomm.support.action_send_sos_video_file";
+    String ACTION_SEND_SOS_VIDEO_FILE = "com.ic.protocolSrv.action_send_sos_video_file";
 
-    String ACTION_SEND_VIDEO_FILES = "com.enqualcomm.support.ACTION_SEND_VIDEO_FILES";
+    String ACTION_SEND_VIDEO_FILES = "com.ic.protocolSrv.ACTION_SEND_VIDEO_FILES";
 
     String ACTION_SHUTDOWN_MOREINFO = "android.intent.action.ACTION_SHUTDOWN_MOREINFO";
 
-    String ACTION_SOS_VIDEO_CHAT = "com.enqualcomm.imessage.ACTION_SOS_VIDEO_CHAT";
+    String ACTION_SOS_VIDEO_CHAT = "com.ic.imessage.ACTION_SOS_VIDEO_CHAT";
 
-    String ACTION_START_DOWNLOAD = "com.enqualcomm.imessage.START_DOWNLOAD_ACTION";
+    String ACTION_START_DOWNLOAD = "com.ic.imessage.START_DOWNLOAD_ACTION";
 
-    String ACTION_STHEART_RATE_ALARM_CHANGE = "com.enqualcomm.support.STHEART_RATE_ALARM_CHANGE";
+    String ACTION_STHEART_RATE_ALARM_CHANGE = "com.ic.protocolSrv.STHEART_RATE_ALARM_CHANGE";
 
     String ACTION_SYNC = "SYNC";
 
-    String ACTION_UNBOUND_TERMINAL = "com.enqualcomm.support.ACTION_UNBOUND_TERMINAL";
+    String ACTION_UNBOUND_TERMINAL = "com.ic.protocolSrv.ACTION_UNBOUND_TERMINAL";
 
-    String ACTION_UPDATE_ICON = "com.enqualcomm.support.ACTION_UPDATE_ICON";
+    String ACTION_UPDATE_ICON = "com.ic.protocolSrv.ACTION_UPDATE_ICON";
 
-    String ACTION_UPDATE_SECRET_KEY = "com.enqualcomm.support.UPDATE_SECRET_KEY";
+    String ACTION_UPDATE_SECRET_KEY = "com.ic.protocolSrv.UPDATE_SECRET_KEY";
 
-    String ACTION_VIDEO_END_CALL = "com.enqualcomm.support.ACTION_VIDEO_END_CALL";
+    String ACTION_VIDEO_END_CALL = "com.ic.protocolSrv.ACTION_VIDEO_END_CALL";
 
-    String ACTION_VIDEO_LOGIN = "com.enqualcomm.imessage.ACTION_VIDEO_LOGIN";
+    String ACTION_VIDEO_LOGIN = "com.ic.imessage.ACTION_VIDEO_LOGIN";
 
-    String ACTION_VIDEO_LOGOUT = "com.enqualcomm.imessage.ACTION_VIDEO_LOGOUT";
+    String ACTION_VIDEO_LOGOUT = "com.ic.imessage.ACTION_VIDEO_LOGOUT";
 
-    String ACTION_VIDEO_RECEIVE_LOGIN = "com.enqualcomm.imessage.ACTION_VIDEO_RECEIVE_LOGIN";
+    String ACTION_VIDEO_RECEIVE_LOGIN = "com.ic.imessage.ACTION_VIDEO_RECEIVE_LOGIN";
 
-    String ACTION_WAKEUP_ALARM = "com.eqc.deliverWakeupAlarm.action";
+    String ACTION_WAKEUP_ALARM = "com.ic.deliverWakeupAlarm.action";
 
-    String ACTION_YUN_ALARM_CHANGE = "com.eqc.deskclock.YUN_ALARM_CHANGE";
+    String ACTION_YUN_ALARM_CHANGE = "com.ic.deskclock.YUN_ALARM_CHANGE";
 
-    String ACTION_PRACTICE_REPORT_ALARM = "com.enqualcomm.support.PRACTICE_ALARM";
+    String ACTION_PRACTICE_REPORT_ALARM = "com.ic.protocolSrv.PRACTICE_ALARM";
 
     public static String ACTION_START_PRACTISE = "com.ic.action_start_practice";
     public static String KeyPractice = "cmd";
@@ -124,11 +124,11 @@ public interface Constants {
 
     String CMD_ID_CM = "cmdId";
 
-    Uri CONTACT_URI = Uri.parse("content://com.enqualcomm.support/contact");
+    Uri CONTACT_URI = Uri.parse("content://com.ic.protocolSrv/contact");
 
     Uri CM_SERVICE_SETTING = Uri.parse("content://com.cmcm.service/cmsetting");
 
-    String DIALOG_ACTION = "com.enqualcomm.support.DIALOG";
+    String DIALOG_ACTION = "com.ic.protocolSrv.DIALOG";
     String DIALOG_ACTION_WITH_IC_RESPONSE = "com.ic.dialog.action.DIALOG_RESPONSE";
 
     int ENTER_SILENT_MODE = 212;
@@ -137,8 +137,8 @@ public interface Constants {
 
     String FLAG = "flag";
 
-    String TEMP_ALARM = "com.enqualcomm.support.TEMP_ALARM";
-    String HEARTBEAT_ALARM = "com.enqualcomm.support.HEARTBEAT_ALARM";
+    String TEMP_ALARM = "com.ic.protocolSrv.TEMP_ALARM";
+    String HEARTBEAT_ALARM = "com.ic.protocolSrv.HEARTBEAT_ALARM";
 
     int IDLE_MODE_CHANGED = 102;
 
@@ -230,14 +230,14 @@ public interface Constants {
     int NEW_MEDIA_PUSH = 100;
 
     String ACTION_SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
-    String OTHER_ALARM_END = "com.enqualcomm.support.OTHER_ALARM_END";
+    String OTHER_ALARM_END = "com.ic.protocolSrv.OTHER_ALARM_END";
 
-    String OTHER_ALARM_START = "com.enqualcomm.support.OTHER_ALARM_START";
+    String OTHER_ALARM_START = "com.ic.protocolSrv.OTHER_ALARM_START";
     String ALARM_POWER_OFF = "com.ic.power.ACTION_ALARM_POWER_OFF";
 
-    String OTHER_HEARTRATE_ALARM_END = "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_END";
+    String OTHER_HEARTRATE_ALARM_END = "com.ic.protocolSrv.OTHER_HEARTRATE_ALARM_END";
 
-    String OTHER_HEARTRATE_ALARM_START = "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_START";
+    String OTHER_HEARTRATE_ALARM_START = "com.ic.protocolSrv.OTHER_HEARTRATE_ALARM_START";
 
     int OUT_SILENCE = 700;
 
@@ -255,7 +255,7 @@ public interface Constants {
 
 
     String ACTION_START_FOTA_UPDATE = "com.ic.action.startfotaUpdate";
-    String ACTION_SMSCMD = "com.enqualcomm.support.SMSCMD";
+    String ACTION_SMSCMD = "com.ic.protocolSrv.SMSCMD";
     String ACTION_SMSCMD_Reply = "com.ic.action.fotaUpdateReply";
     String ACTION_TINTERNAL_TEST = "com.ic.action.internaltest";
 
@@ -267,33 +267,33 @@ public interface Constants {
 
     int RESULT_OK = 200;
 
-    String RESUME_ACTION = "com.enqualcomm.imessage.RESUME_ACTION";
+    String RESUME_ACTION = "com.ic.imessage.RESUME_ACTION";
 
-    String SERVICE_CLS_NAME = "com.enqualcomm.support.CoreService";
+    String SERVICE_CLS_NAME = "com.ic.protocolSrv.CoreService";
 
-    String SERVICE_PKG_NAME = "com.enqualcomm.support";
+    String SERVICE_PKG_NAME = "com.ic.protocolSrv";
 
     int SHUTDOWN_SYSTM = 209;
 
-    String SLEEP_ALARM = "com.enqualcomm.support.SLEEP_ALARM";
+    String SLEEP_ALARM = "com.ic.protocolSrv.SLEEP_ALARM";
 
-    String SOS_ACTION = "com.enqualcomm.imessage.SOS_ACTION";
+    String SOS_ACTION = "com.ic.imessage.SOS_ACTION";
 
     int SOS_GOIN = 204;
 
     int SOS_GOOUT = 205;
 
-    String STEP_COUNT_ALARM_ACTION = "com.enqualcomm.support.ACTION_STEP_COUNT_ALARM";
+    String STEP_COUNT_ALARM_ACTION = "com.ic.protocolSrv.ACTION_STEP_COUNT_ALARM";
 
     String STRING_CMD_JSON_DATA = "cmdJsonData";
 
-    String STWORKMODE_ALARM = "com.enqualcomm.support.ACTION_STWORKMODE_ALARM";
+    String STWORKMODE_ALARM = "com.ic.protocolSrv.ACTION_STWORKMODE_ALARM";
 
     String VALUE_SETTIING_VERSION = "value_setting_ver";
 
     int VIDEO_MESSAGE = 300;
 
-    String WAKE_ALARM = "com.enqualcomm.support.WAKE_ALARM";
+    String WAKE_ALARM = "com.ic.protocolSrv.WAKE_ALARM";
 
     String WEATHER_ALARM = "com.ic.alarm.ACTION_WEATHER_ALARM";
     String WEATHER_ACTION = "com.ic.action.ACTION_GET_WEATHER";
@@ -311,9 +311,9 @@ public interface Constants {
     String wechat_contact = "content";
 
 
-    String ACTION_CHECK_SERVER_RESPONSE = "com.enqualcomm.support.ACTION_CHECK_SERVER_RESPONSE";
-    String ACTION_RETRY_SERVER_CONNECT = "com.enqualcomm.support.ACTION_RETRY_SERVER_CONNECT";
-    String ACTION_CHECK_LOCATION_RESULT = "com.enqualcomm.support.ACTION_CHECK_LOCATION_RESULT";
+    String ACTION_CHECK_SERVER_RESPONSE = "com.ic.protocolSrv.ACTION_CHECK_SERVER_RESPONSE";
+    String ACTION_RETRY_SERVER_CONNECT = "com.ic.protocolSrv.ACTION_RETRY_SERVER_CONNECT";
+    String ACTION_CHECK_LOCATION_RESULT = "com.ic.protocolSrv.ACTION_CHECK_LOCATION_RESULT";
 
 
     String ACTION_MESSAGE_SENT = "com.ic.action.message_sent";
@@ -345,7 +345,7 @@ public interface Constants {
     String ActionSrvPushTxt = "action.ic.srvPushTxt";
 
 /**
- *   PreferenceManager.getDefaultSharedPreferences(context) , package name "com.enqualcomm.support"
+ *   PreferenceManager.getDefaultSharedPreferences(context) , package name "com.ic.protocolSrv"
  */
 
     /***
@@ -1,4 +1,4 @@
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
 import android.app.ActivityManager;
 import android.app.AlarmManager;
@@ -31,56 +31,56 @@ import android.text.TextUtils;
 import android.util.Log;
 import android.widget.Toast;
 
-import com.enqualcomm.support.adapter.LBSHelper;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.ICLocation;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.SleepInfo;
-import com.enqualcomm.support.bean.SleepRecord;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.bean.heartRateStatus;
-import com.enqualcomm.support.provider.ICContentProvider;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.WarningItemProvider;
-import com.enqualcomm.support.provider.WeTalkMessageProvider;
-import com.enqualcomm.support.service.AirplaneModeObserver;
-import com.enqualcomm.support.service.AntiMonitorService;
-import com.enqualcomm.support.service.CheckSIM;
-import com.enqualcomm.support.service.Deliver;
-import com.enqualcomm.support.service.HeartRateManager;
-import com.enqualcomm.support.service.KeepAlive;
-import com.enqualcomm.support.service.PhoneCallListener;
-import com.enqualcomm.support.service.SendChatMessage;
-import com.enqualcomm.support.service.ShutdownFlagObserver;
-import com.enqualcomm.support.service.SignFlagObserver;
-import com.enqualcomm.support.service.SilentManager;
-import com.enqualcomm.support.service.WeTalkMsgObserver;
-import com.enqualcomm.support.service.base.AbstractConnectionService;
-import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;
-import com.enqualcomm.support.utils.APNUtil;
-import com.enqualcomm.support.utils.AlarmHelper;
-import com.enqualcomm.support.utils.AlarmWakeUp;
-import com.enqualcomm.support.utils.BatteryUtil;
-import com.enqualcomm.support.utils.CellInfoUtil;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.ConnectionListener;
-import com.enqualcomm.support.utils.ContextProxy;
-import com.enqualcomm.support.utils.DBHelper;
-import com.enqualcomm.support.utils.DeviceInfoUtil;
-import com.enqualcomm.support.utils.FileOutputUtil;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.LedUtil;
-import com.enqualcomm.support.utils.NettyConnection;
-import com.enqualcomm.support.utils.SharePreferenceUtil;
-import com.enqualcomm.support.utils.SimSignalUtil;
-import com.enqualcomm.support.utils.TemperatureUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.VibrateUtil;
-import com.enqualcomm.support.utils.WakeLockUtil;
-import com.enqualcomm.support.utils.mqttConnection;
-import com.ic.fzd.weather.IFZDWeatherCallback;
-import com.ic.fzd.weather.IFZDWeatherService;
+import com.ic.protocolSrv.adapter.LBSHelper;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.SleepInfo;
+import com.ic.protocolSrv.bean.SleepRecord;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.bean.heartRateStatus;
+import com.ic.protocolSrv.provider.ICContentProvider;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.WarningItemProvider;
+import com.ic.protocolSrv.provider.WeTalkMessageProvider;
+import com.ic.protocolSrv.service.AirplaneModeObserver;
+import com.ic.protocolSrv.service.AntiMonitorService;
+import com.ic.protocolSrv.service.CheckSIM;
+import com.ic.protocolSrv.service.Deliver;
+import com.ic.protocolSrv.service.HeartRateManager;
+import com.ic.protocolSrv.service.KeepAlive;
+import com.ic.protocolSrv.service.PhoneCallListener;
+import com.ic.protocolSrv.service.SendChatMessage;
+import com.ic.protocolSrv.service.ShutdownFlagObserver;
+import com.ic.protocolSrv.service.SignFlagObserver;
+import com.ic.protocolSrv.service.SilentManager;
+import com.ic.protocolSrv.service.WeTalkMsgObserver;
+import com.ic.protocolSrv.service.base.AbstractConnectionService;
+import com.ic.protocolSrv.service.base.AbstractInvokeHandlerService;
+import com.ic.protocolSrv.utils.APNUtil;
+import com.ic.protocolSrv.utils.AlarmHelper;
+import com.ic.protocolSrv.utils.AlarmWakeUp;
+import com.ic.protocolSrv.utils.BatteryUtil;
+import com.ic.protocolSrv.utils.CellInfoUtil;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ConnectionListener;
+import com.ic.protocolSrv.utils.ContextProxy;
+import com.ic.protocolSrv.utils.DBHelper;
+import com.ic.protocolSrv.utils.DeviceInfoUtil;
+import com.ic.protocolSrv.utils.FileOutputUtil;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.LedUtil;
+import com.ic.protocolSrv.utils.NettyConnection;
+import com.ic.protocolSrv.utils.SharePreferenceUtil;
+import com.ic.protocolSrv.utils.SimSignalUtil;
+import com.ic.protocolSrv.utils.TemperatureUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.VibrateUtil;
+import com.ic.protocolSrv.utils.WakeLockUtil;
+import com.ic.protocolSrv.utils.mqttConnection;
+import com.ic.protocolSrv.weather.IFZDWeatherCallback;
+import com.ic.protocolSrv.weather.IFZDWeatherService;
 import com.ic.jni.ICJniUtils;
 import com.ic.protocols.protocolAPIHelper;
 import com.ic.s123.IS123WeatherCallback;
@@ -98,34 +98,34 @@ import chestnut.ui.Toastc;
 import chestnut.utils.PhoneUtils;
 
 import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
-import static com.enqualcomm.support.Constants.ACTION_ALARM_ADD_DATAPOINTS;
-import static com.enqualcomm.support.Constants.ACTION_ALARM_ALARM_CHANGE;
-import static com.enqualcomm.support.Constants.ACTION_ALARM_BLE_SCAN;
-import static com.enqualcomm.support.Constants.ACTION_CHECK_ANTIOFF_EVENT;
-import static com.enqualcomm.support.Constants.ACTION_CHECK_CUTOFF_EVENT;
-import static com.enqualcomm.support.Constants.ACTION_EQC_ALARM;
-import static com.enqualcomm.support.Constants.ACTION_HEATR_RATE_START;
-import static com.enqualcomm.support.Constants.ACTION_LOCAL_SOS_ACTION;
-import static com.enqualcomm.support.Constants.ACTION_LOCATION_ALARM;
-import static com.enqualcomm.support.Constants.ACTION_QUERY_WEATHER;
-import static com.enqualcomm.support.Constants.ACTION_SEND_EMEGENCY_LOCATION_START;
-import static com.enqualcomm.support.Constants.ACTION_SEND_EMEGENCY_LOCATION_STOP;
-import static com.enqualcomm.support.Constants.ALARM_POWER_OFF;
-import static com.enqualcomm.support.Constants.FROM_ALARM;
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.Constants.HEARTBEAT_ALARM;
-import static com.enqualcomm.support.Constants.KEY_SAVE_STEP_COUNT;
-import static com.enqualcomm.support.Constants.KEY_STEP_COUNT;
-import static com.enqualcomm.support.Constants.STEP_COUNT_ALARM_ACTION;
-import static com.enqualcomm.support.Constants.TEMP_ALARM;
-import static com.enqualcomm.support.bean.ICLocation.CUSTOM_MOD;
-import static com.enqualcomm.support.bean.ICLocation.CUSTOM_MOD8_GPS;
-import static com.enqualcomm.support.bean.ICLocation.CUSTOM_MOD8_WIFI;
-import static com.enqualcomm.support.bean.ICLocation.EMERGNECY_MOD;
-import static com.enqualcomm.support.bean.ICLocation.LOWPOWER_MOD;
-import static com.enqualcomm.support.bean.ICLocation.NORMAL_MOD;
-import static com.enqualcomm.support.bean.ICLocation.REALTIME_MOD;
-import static com.enqualcomm.support.provider.ICGlobalSettingsProvider.SETTINGS;
+import static com.ic.protocolSrv.Constants.ACTION_ALARM_ADD_DATAPOINTS;
+import static com.ic.protocolSrv.Constants.ACTION_ALARM_ALARM_CHANGE;
+import static com.ic.protocolSrv.Constants.ACTION_ALARM_BLE_SCAN;
+import static com.ic.protocolSrv.Constants.ACTION_CHECK_ANTIOFF_EVENT;
+import static com.ic.protocolSrv.Constants.ACTION_CHECK_CUTOFF_EVENT;
+import static com.ic.protocolSrv.Constants.ACTION_EQC_ALARM;
+import static com.ic.protocolSrv.Constants.ACTION_HEATR_RATE_START;
+import static com.ic.protocolSrv.Constants.ACTION_LOCAL_SOS_ACTION;
+import static com.ic.protocolSrv.Constants.ACTION_LOCATION_ALARM;
+import static com.ic.protocolSrv.Constants.ACTION_QUERY_WEATHER;
+import static com.ic.protocolSrv.Constants.ACTION_SEND_EMEGENCY_LOCATION_START;
+import static com.ic.protocolSrv.Constants.ACTION_SEND_EMEGENCY_LOCATION_STOP;
+import static com.ic.protocolSrv.Constants.ALARM_POWER_OFF;
+import static com.ic.protocolSrv.Constants.FROM_ALARM;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.Constants.HEARTBEAT_ALARM;
+import static com.ic.protocolSrv.Constants.KEY_SAVE_STEP_COUNT;
+import static com.ic.protocolSrv.Constants.KEY_STEP_COUNT;
+import static com.ic.protocolSrv.Constants.STEP_COUNT_ALARM_ACTION;
+import static com.ic.protocolSrv.Constants.TEMP_ALARM;
+import static com.ic.protocolSrv.bean.ICLocation.CUSTOM_MOD;
+import static com.ic.protocolSrv.bean.ICLocation.CUSTOM_MOD8_GPS;
+import static com.ic.protocolSrv.bean.ICLocation.CUSTOM_MOD8_WIFI;
+import static com.ic.protocolSrv.bean.ICLocation.EMERGNECY_MOD;
+import static com.ic.protocolSrv.bean.ICLocation.LOWPOWER_MOD;
+import static com.ic.protocolSrv.bean.ICLocation.NORMAL_MOD;
+import static com.ic.protocolSrv.bean.ICLocation.REALTIME_MOD;
+import static com.ic.protocolSrv.provider.ICGlobalSettingsProvider.SETTINGS;
 
 
 public class CoreService extends Service {
@@ -136,7 +136,7 @@ public class CoreService extends Service {
     private static CoreService mProtocolServer = null;
     private static LBSHelper lbshelper = null;
 
-    public static final String ACTION_ALARM = "com.enqualcomm.support.ACTION_ALARM";
+    public static final String ACTION_ALARM = "com.ic.protocolSrv.ACTION_ALARM";
 
     private static final int GRAY_SERVICE_ID = android.os.Process.myPid();
 
@@ -168,7 +168,7 @@ public class CoreService extends Service {
 
     private BroadcastReceiver AtCallbackBroadcastReceiver = new BroadcastReceiver() {
         public void onReceive(Context param1Context, Intent param1Intent) {
-            if (param1Intent.getAction().equals("com.eqc.intent.action.callback.at")) {
+            if (param1Intent.getAction().equals("com.ic.intent.action.callback.at")) {
                 String str = param1Intent.getStringExtra("AtResult");
                 StringBuilder stringBuilder = new StringBuilder();
                 stringBuilder.append("callbackStr =");
@@ -378,7 +378,7 @@ public class CoreService extends Service {
 
     private void trigger_SOS_Call() {
         try {
-            Intent intent = new Intent("com.eqc.shutdown_sos");
+            Intent intent = new Intent("com.ic.shutdown_sos");
             intent.putExtra("type", 1);
             intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
             this.startActivity(intent);
@@ -638,7 +638,7 @@ public class CoreService extends Service {
 //        /*每1 左右 唤醒自己*/
 //        Context context=runtime.getContextProxy().context;
 //        AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
-//        Intent intent = new Intent(context, com.enqualcomm.support.CoreService.class);
+//        Intent intent = new Intent(context, com.ic.protocolSrv.CoreService.class);
 //        intent.setAction(WAKE_ALARM);
 //        PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
 //        alarmManager.cancel(pendingIntent);
@@ -919,7 +919,7 @@ public class CoreService extends Service {
 
         //注册接收  AT指令结果返回消息
         intentFilter = new IntentFilter();
-        intentFilter.addAction("com.eqc.intent.action.callback.at");
+        intentFilter.addAction("com.ic.intent.action.callback.at");
         registerReceiver(this.AtCallbackBroadcastReceiver, intentFilter);
 
         //添加SOSMSG 接收
@@ -1857,7 +1857,7 @@ public class CoreService extends Service {
         String action = intent.getAction();
         if ("com.ic.action.VIDEO_CALL".equals(action)) {
             return mFZDService;
-        } else if ("com.ic.fzd.action.WEATHER".equals(action)) {
+        } else if ("com.ic.protocolSrv.action.WEATHER".equals(action)) {
             return mFZDWeatherService;
         } else if ("com.ic.generic.action.WEATHER".equals(action)) {
             //S123获取天气
-package com.enqualcomm.support;\r
-\r
-import android.content.Context;\r
-import android.content.pm.PackageInfo;\r
-import android.content.pm.PackageManager;\r
-import android.os.Build;\r
-import android.os.Looper;\r
-import android.util.Log;\r
-import android.widget.Toast;\r
-\r
-import com.enqualcomm.support.utils.StorageUtils;\r
-import com.enqualcomm.support.utils.Util;\r
-\r
-import java.io.File;\r
-import java.io.FileOutputStream;\r
-import java.io.PrintWriter;\r
-import java.io.StringWriter;\r
-import java.io.Writer;\r
-import java.lang.reflect.Field;\r
-import java.text.DateFormat;\r
-import java.text.SimpleDateFormat;\r
-import java.util.Date;\r
-import java.util.HashMap;\r
-import java.util.Locale;\r
-import java.util.Map;\r
-\r
-/**\r
- * Created by Administrator on 2017/5/18.\r
- */\r
-\r
-public class CrashHandler implements Thread.UncaughtExceptionHandler {\r
-    public static final String TAG = CrashHandler.class.getName();\r
-\r
-    // 系统默认的UncaughtException处理类\r
-    private Thread.UncaughtExceptionHandler mDefaultHandler;\r
-    // CrashHandler实例\r
-    private static CrashHandler INSTANCE = null;\r
-    // 程序的Context对象\r
-    private Context mContext;\r
-    // 用来存储设备信息和异常信息\r
-    private Map<String, String> infos = new HashMap<String, String>();\r
-    // 用于格式化日期,作为日志文件名的一部分\r
-    private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS", Locale.getDefault());\r
-    private DateFormat dateFormatDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());\r
-\r
-    /**\r
-     * 保证只有一个CrashHandler实例\r
-     */\r
-    private CrashHandler() {\r
-    }\r
-\r
-    /**\r
-     * 获取CrashHandler实例 ,单例模式\r
-     */\r
-    public synchronized static CrashHandler getInstance() {\r
-        if (INSTANCE == null)\r
-            INSTANCE = new CrashHandler();\r
-        return INSTANCE;\r
-    }\r
-\r
-    /**\r
-     * 初始化\r
-     *\r
-     * @param context\r
-     */\r
-    public void init(Context context) {\r
-        mContext = context;\r
-        // 获取系统默认的UncaughtException处理器\r
-        mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();\r
-        // 设置该CrashHandler为程序的默认处理器\r
-        Thread.setDefaultUncaughtExceptionHandler(this);\r
-    }\r
-\r
-    /**\r
-     * 当UncaughtException发生时会转入该函数来处理\r
-     */\r
-    @Override\r
-    public void uncaughtException(Thread thread, Throwable ex) {\r
-        if (!handleException(ex) && mDefaultHandler != null) {\r
-            // 如果用户没有处理则让系统默认的异常处理器来处理\r
-            mDefaultHandler.uncaughtException(thread, ex);\r
-        } else {\r
-            Util.mSleep(1000);\r
-        }\r
-\r
-        // 退出程序\r
-        ex.printStackTrace();\r
-        android.os.Process.killProcess(android.os.Process.myPid());\r
-        System.exit(1);\r
-    }\r
-\r
-    /**\r
-     * 自定义错误处理,收集错误信息 发送错误报告等操作均在此完成.\r
-     *\r
-     * @param ex\r
-     * @return true:如果处理了该异常信息;否则返回false.\r
-     */\r
-    private boolean handleException(Throwable ex) {\r
-        if (ex == null) {\r
-            return false;\r
-        }\r
-        // 使用Toast来显示异常信息\r
-        new Thread() {\r
-            @Override\r
-            public void run() {\r
-                Looper.prepare();\r
-                if (mContext != null) {\r
-                    Toast.makeText(mContext, R.string.program_abnormal, Toast.LENGTH_LONG)\r
-                            .show();\r
-                    Looper.loop();\r
-                }\r
-            }\r
-        }.start();\r
-        // 收集设备参数信息\r
-        collectDeviceInfo(mContext);\r
-        // 保存日志文件\r
-        saveCrashInfo2File(ex);\r
-        //设置断网状态\r
-        Util.setSystemProperties("persist.sys.server_connected", "false");\r
-        return true;\r
-    }\r
-\r
-    /**\r
-     * 收集设备参数信息\r
-     *\r
-     * @param ctx\r
-     */\r
-    public void collectDeviceInfo(Context ctx) {\r
-        infos.clear();\r
-        infos.put("===", " PackageInfo ===");\r
-        try {\r
-            PackageManager pm = ctx.getPackageManager();\r
-            PackageInfo pi = pm.getPackageInfo(ctx.getPackageName(), PackageManager.GET_ACTIVITIES);\r
-\r
-            if (pi != null) {\r
-                String versionName = pi.versionName;\r
-                String versionCode = pi.versionCode + "";\r
-                infos.put("versionName", versionName);\r
-                infos.put("versionCode", versionCode);\r
-            }\r
-        } catch (PackageManager.NameNotFoundException e) {\r
-            Log.e(TAG, "an error occured when collect package info " + e);\r
-        }\r
-\r
-        infos.put("===", " Build ===");\r
-        Field[] fields = Build.class.getDeclaredFields();\r
-        for (Field field : fields) {\r
-            try {\r
-                field.setAccessible(true);\r
-                infos.put(field.getName(), field.get(null).toString());\r
-                Log.d(TAG, field.getName() + ":" + field.get(null));\r
-            } catch (Exception e) {\r
-                Log.e(TAG, "an error occured when collect crash info," + e);\r
-            }\r
-        }\r
-    }\r
-\r
-    /**\r
-     * 保存错误信息到文件中\r
-     *\r
-     * @param ex\r
-     * @return 返回文件名称, 便于将文件传送到服务器\r
-     */\r
-    private String saveCrashInfo2File(Throwable ex) {\r
-\r
-        String time = formatter.format(new Date());\r
-        StringBuilder sb = new StringBuilder();\r
-        sb.append("=== ").append(time).append(" ===\n");\r
-\r
-        Writer writer = new StringWriter();\r
-        PrintWriter printWriter = new PrintWriter(writer);\r
-        ex.printStackTrace(printWriter);\r
-//        ex.printStackTrace();\r
-        Throwable cause = ex.getCause();\r
-        while (cause != null) {\r
-            cause.printStackTrace(printWriter);\r
-            cause = cause.getCause();\r
-//            cause.printStackTrace();\r
-        }\r
-        printWriter.close();\r
-        String result = writer.toString();\r
-        sb.append(result);\r
-        sb.append("\n");\r
-\r
-        sb.append("--- DEVICE INFO ---\n");\r
-        for (Map.Entry<String, String> entry : infos.entrySet()) {\r
-            String key = entry.getKey();\r
-            String value = entry.getValue();\r
-            sb.append(key).append("=").append(value).append("\n");\r
-        }\r
-        sb.append("\n\n");\r
-\r
-        try {\r
-            String fileName = "crashlog.txt";\r
-//            if (Environment.getExternalStorageState().equals(\r
-//                    Environment.MEDIA_MOUNTED)) {\r
-//                File dir = new File(mContext.getExternalCacheDir(), "crash");\r
-            File dir = new File(StorageUtils.getExternalStorageLogDir());\r
-            String path = dir.getPath();\r
-            if (!dir.exists()) {\r
-                dir.mkdirs();\r
-            }\r
-            FileOutputStream fos = new FileOutputStream(new File(path, fileName), true);\r
-            fos.write(sb.toString().getBytes());\r
-            fos.close();\r
-//            }\r
-            return fileName;\r
-        } catch (Exception e) {\r
-            Log.e(TAG, "an error occured while writing file...," + e);\r
-        }\r
-        return null;\r
-    }\r
-}\r
+package com.ic.protocolSrv;
+
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.os.Build;
+import android.os.Looper;
+import android.util.Log;
+import android.widget.Toast;
+
+import com.ic.protocolSrv.utils.StorageUtils;
+import com.ic.protocolSrv.utils.Util;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.lang.reflect.Field;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * Created by Administrator on 2017/5/18.
+ */
+
+public class CrashHandler implements Thread.UncaughtExceptionHandler {
+    public static final String TAG = CrashHandler.class.getName();
+
+    // 系统默认的UncaughtException处理类
+    private Thread.UncaughtExceptionHandler mDefaultHandler;
+    // CrashHandler实例
+    private static CrashHandler INSTANCE = null;
+    // 程序的Context对象
+    private Context mContext;
+    // 用来存储设备信息和异常信息
+    private Map<String, String> infos = new HashMap<String, String>();
+    // 用于格式化日期,作为日志文件名的一部分
+    private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS", Locale.getDefault());
+    private DateFormat dateFormatDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
+
+    /**
+     * 保证只有一个CrashHandler实例
+     */
+    private CrashHandler() {
+    }
+
+    /**
+     * 获取CrashHandler实例 ,单例模式
+     */
+    public synchronized static CrashHandler getInstance() {
+        if (INSTANCE == null)
+            INSTANCE = new CrashHandler();
+        return INSTANCE;
+    }
+
+    /**
+     * 初始化
+     *
+     * @param context
+     */
+    public void init(Context context) {
+        mContext = context;
+        // 获取系统默认的UncaughtException处理器
+        mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();
+        // 设置该CrashHandler为程序的默认处理器
+        Thread.setDefaultUncaughtExceptionHandler(this);
+    }
+
+    /**
+     * 当UncaughtException发生时会转入该函数来处理
+     */
+    @Override
+    public void uncaughtException(Thread thread, Throwable ex) {
+        if (!handleException(ex) && mDefaultHandler != null) {
+            // 如果用户没有处理则让系统默认的异常处理器来处理
+            mDefaultHandler.uncaughtException(thread, ex);
+        } else {
+            Util.mSleep(1000);
+        }
+
+        // 退出程序
+        ex.printStackTrace();
+        android.os.Process.killProcess(android.os.Process.myPid());
+        System.exit(1);
+    }
+
+    /**
+     * 自定义错误处理,收集错误信息 发送错误报告等操作均在此完成.
+     *
+     * @param ex
+     * @return true:如果处理了该异常信息;否则返回false.
+     */
+    private boolean handleException(Throwable ex) {
+        if (ex == null) {
+            return false;
+        }
+        // 使用Toast来显示异常信息
+        new Thread() {
+            @Override
+            public void run() {
+                Looper.prepare();
+                if (mContext != null) {
+                    Toast.makeText(mContext, R.string.program_abnormal, Toast.LENGTH_LONG)
+                            .show();
+                    Looper.loop();
+                }
+            }
+        }.start();
+        // 收集设备参数信息
+        collectDeviceInfo(mContext);
+        // 保存日志文件
+        saveCrashInfo2File(ex);
+        //设置断网状态
+        Util.setSystemProperties("persist.sys.server_connected", "false");
+        return true;
+    }
+
+    /**
+     * 收集设备参数信息
+     *
+     * @param ctx
+     */
+    public void collectDeviceInfo(Context ctx) {
+        infos.clear();
+        infos.put("===", " PackageInfo ===");
+        try {
+            PackageManager pm = ctx.getPackageManager();
+            PackageInfo pi = pm.getPackageInfo(ctx.getPackageName(), PackageManager.GET_ACTIVITIES);
+
+            if (pi != null) {
+                String versionName = pi.versionName;
+                String versionCode = pi.versionCode + "";
+                infos.put("versionName", versionName);
+                infos.put("versionCode", versionCode);
+            }
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(TAG, "an error occured when collect package info " + e);
+        }
+
+        infos.put("===", " Build ===");
+        Field[] fields = Build.class.getDeclaredFields();
+        for (Field field : fields) {
+            try {
+                field.setAccessible(true);
+                infos.put(field.getName(), field.get(null).toString());
+                Log.d(TAG, field.getName() + ":" + field.get(null));
+            } catch (Exception e) {
+                Log.e(TAG, "an error occured when collect crash info," + e);
+            }
+        }
+    }
+
+    /**
+     * 保存错误信息到文件中
+     *
+     * @param ex
+     * @return 返回文件名称, 便于将文件传送到服务器
+     */
+    private String saveCrashInfo2File(Throwable ex) {
+
+        String time = formatter.format(new Date());
+        StringBuilder sb = new StringBuilder();
+        sb.append("=== ").append(time).append(" ===\n");
+
+        Writer writer = new StringWriter();
+        PrintWriter printWriter = new PrintWriter(writer);
+        ex.printStackTrace(printWriter);
+//        ex.printStackTrace();
+        Throwable cause = ex.getCause();
+        while (cause != null) {
+            cause.printStackTrace(printWriter);
+            cause = cause.getCause();
+//            cause.printStackTrace();
+        }
+        printWriter.close();
+        String result = writer.toString();
+        sb.append(result);
+        sb.append("\n");
+
+        sb.append("--- DEVICE INFO ---\n");
+        for (Map.Entry<String, String> entry : infos.entrySet()) {
+            String key = entry.getKey();
+            String value = entry.getValue();
+            sb.append(key).append("=").append(value).append("\n");
+        }
+        sb.append("\n\n");
+
+        try {
+            String fileName = "crashlog.txt";
+//            if (Environment.getExternalStorageState().equals(
+//                    Environment.MEDIA_MOUNTED)) {
+//                File dir = new File(mContext.getExternalCacheDir(), "crash");
+            File dir = new File(StorageUtils.getExternalStorageLogDir());
+            String path = dir.getPath();
+            if (!dir.exists()) {
+                dir.mkdirs();
+            }
+            FileOutputStream fos = new FileOutputStream(new File(path, fileName), true);
+            fos.write(sb.toString().getBytes());
+            fos.close();
+//            }
+            return fileName;
+        } catch (Exception e) {
+            Log.e(TAG, "an error occured while writing file...," + e);
+        }
+        return null;
+    }
+}
@@ -1,4 +1,4 @@
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
 import android.app.Activity;
 import android.content.ComponentName;
@@ -11,11 +11,11 @@ import android.view.View;
 import android.widget.Button;
 import android.widget.TextView;
 
-import com.enqualcomm.support.utils.CellInfoUtil;
-import com.enqualcomm.support.utils.DeviceInfoUtil;
-import com.enqualcomm.support.utils.SimSignalUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.bean.Runtime;
+import com.ic.protocolSrv.utils.CellInfoUtil;
+import com.ic.protocolSrv.utils.DeviceInfoUtil;
+import com.ic.protocolSrv.utils.SimSignalUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.bean.Runtime;
 import chestnut.utils.PhoneUtils;
 
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
-package com.enqualcomm.support;\r
-\r
-import android.app.Activity;\r
-import android.graphics.Color;\r
-import android.graphics.Rect;\r
-import android.os.Bundle;\r
-import android.os.Handler;\r
-import android.os.HandlerThread;\r
-import android.os.Message;\r
-import android.os.PowerManager;\r
-import android.support.annotation.NonNull;\r
-import android.support.v7.app.AppCompatActivity;\r
-import android.support.v7.widget.LinearLayoutManager;\r
-import android.support.v7.widget.RecyclerView;\r
-import android.view.View;\r
-import android.view.WindowManager;\r
-import android.widget.TextView;\r
-\r
-import com.enqualcomm.support.NMEAListener.location_callback;\r
-import com.enqualcomm.support.bean.ICLocation;\r
-import com.enqualcomm.support.utils.LocationSnrAdapter;\r
-import com.enqualcomm.support.utils.SnrEntriy;\r
-import com.enqualcomm.support.utils.TimeUtil;\r
-import com.enqualcomm.support.utils.WakeLockUtil;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-public class GPSActivity extends Activity implements location_callback {\r
-\r
-    private RecyclerView mRv;\r
-\r
-    private TextView mFix;\r
-    private TextView mStar;\r
-    private TextView mHoop;\r
-    private TextView mSearchCount;\r
-    private boolean showmessage=false;\r
-    final LocationSnrAdapter adapter = new LocationSnrAdapter(testSnrEntriyDate(null));\r
-    private Handler mHandler = null;\r
-    ICLocation.GPS_locationStatus g_gps_status=null;\r
-    @Override\r
-    protected void onCreate(Bundle savedInstanceState) {\r
-        super.onCreate(savedInstanceState);\r
-        setContentView(R.layout.activity_gps);\r
-\r
-        mRv = (RecyclerView)findViewById(R.id.app_list);\r
-\r
-        mFix=(TextView)findViewById(R.id.ic_lc_fix_value);\r
-        mStar =(TextView) findViewById(R.id.ic_lc_star_value);\r
-        mHoop =  (TextView)findViewById(R.id.ic_lc_hoop_value);\r
-        mSearchCount= (TextView)findViewById(R.id.ic_lc_searchCount_value);\r
-        mRv.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));\r
-\r
-        mRv.addItemDecoration(new SpacesItemDecoration(10));\r
-        mRv.setAdapter(adapter);\r
-\r
-        mFix.setText("notFixed");\r
-        mStar.setText("0 in 0/ inMap 0");\r
-        mHoop.setText("0.0米");\r
-        mSearchCount.setText("0秒");\r
-        if (mHandler == null) {\r
-            mHandler = new Handler(this.getMainLooper(),new Handler.Callback(){\r
-                @Override\r
-                public boolean handleMessage(@NonNull Message msg) {\r
-                    if (g_gps_status !=null) {\r
-                        List<ICLocation.GpsSatellitePriv> gpslist = g_gps_status.numSatelliteList;\r
-                        adapter.updateLocationValue(testSnrEntriyDate(gpslist));\r
-                        String fixed = new StringBuilder().append(g_gps_status.locating_status > 0 ?\r
-                                "Fixed " : "notFixed ").append(TimeUtil.getLocalTime2()).toString();\r
-                        String satlites = new StringBuilder("used ").append(g_gps_status.used_gps_numbs).append(" in ")\r
-                                .append(g_gps_status.numSatelliteList.size()).append("/ inMap ").append(g_gps_status.satlite_numbss).toString();\r
-                        String locationTime = new StringBuilder().append(g_gps_status.search_time_cost).append("秒").toString();\r
-                        String hdop = new StringBuilder().append(String.valueOf(g_gps_status.hdop)).append("米").toString();\r
-                        mFix.setText(fixed);\r
-                        if (mFix.getText().toString().contains("notFixed")) {\r
-                            mFix.setBackgroundColor(Color.RED);\r
-                            mFix.setTextColor(Color.WHITE);\r
-                        } else {\r
-                            mFix.setBackgroundColor(Color.GREEN);\r
-                            mFix.setTextColor(Color.BLACK);\r
-                        }\r
-                        mStar.setText(satlites);\r
-                        mHoop.setText(hdop);\r
-                        mSearchCount.setText(locationTime);\r
-                    }\r
-                    return false;\r
-                }\r
-            }\r
-            );\r
-        }\r
-\r
-        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);\r
-    }\r
-\r
-\r
-    @Override\r
-    public void on_locating_changed(ICLocation.GPS_locationStatus gps_status) {\r
-\r
-        g_gps_status = gps_status;\r
-\r
-        mHandler.sendEmptyMessage(1);\r
-\r
-    }\r
-\r
-    public class SpacesItemDecoration extends RecyclerView.ItemDecoration {\r
-        private int space;\r
-\r
-        public SpacesItemDecoration(int space) {\r
-            this.space = space;\r
-        }\r
-\r
-        @Override\r
-        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {\r
-            outRect.right = space;\r
-        }\r
-    }\r
-\r
-    public ArrayList<SnrEntriy> testSnrEntriyDate(List<ICLocation.GpsSatellitePriv> gpslist) {\r
-        ArrayList<SnrEntriy> entity = new ArrayList<>();\r
-\r
-        if (gpslist!=null) {\r
-            for (int i = 0; i < gpslist.size(); i++) {\r
-\r
-                float snr=gpslist.get(i).getSnr();\r
-                int prn=gpslist.get(i).getPrn();\r
-                SnrEntriy info = new SnrEntriy(snr,prn , (snr>=40?Color.GREEN:((snr>=25&&snr<40)?Color.YELLOW:Color.RED)));\r
-                entity.add(info);\r
-            }\r
-        }\r
-        return entity;\r
-    }\r
-\r
-    @Override\r
-    protected  void onResume() {\r
-        super.onResume();\r
-        NMEAListener.set_callback(this);\r
-\r
-    }\r
-\r
-    @Override\r
-    protected void onPause() {\r
-        super.onPause();\r
-        showmessage=false;\r
-\r
-    }\r
-}\r
+package com.ic.protocolSrv;
+
+import android.app.Activity;
+import android.graphics.Color;
+import android.graphics.Rect;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Message;
+import android.os.PowerManager;
+import android.support.annotation.NonNull;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.TextView;
+
+import com.ic.protocolSrv.NMEAListener.location_callback;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.utils.LocationSnrAdapter;
+import com.ic.protocolSrv.utils.SnrEntriy;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.WakeLockUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+public class GPSActivity extends Activity implements location_callback {
+
+    private RecyclerView mRv;
+
+    private TextView mFix;
+    private TextView mStar;
+    private TextView mHoop;
+    private TextView mSearchCount;
+    private boolean showmessage=false;
+    final LocationSnrAdapter adapter = new LocationSnrAdapter(testSnrEntriyDate(null));
+    private Handler mHandler = null;
+    ICLocation.GPS_locationStatus g_gps_status=null;
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_gps);
+
+        mRv = (RecyclerView)findViewById(R.id.app_list);
+
+        mFix=(TextView)findViewById(R.id.ic_lc_fix_value);
+        mStar =(TextView) findViewById(R.id.ic_lc_star_value);
+        mHoop =  (TextView)findViewById(R.id.ic_lc_hoop_value);
+        mSearchCount= (TextView)findViewById(R.id.ic_lc_searchCount_value);
+        mRv.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
+
+        mRv.addItemDecoration(new SpacesItemDecoration(10));
+        mRv.setAdapter(adapter);
+
+        mFix.setText("notFixed");
+        mStar.setText("0 in 0/ inMap 0");
+        mHoop.setText("0.0米");
+        mSearchCount.setText("0秒");
+        if (mHandler == null) {
+            mHandler = new Handler(this.getMainLooper(),new Handler.Callback(){
+                @Override
+                public boolean handleMessage(@NonNull Message msg) {
+                    if (g_gps_status !=null) {
+                        List<ICLocation.GpsSatellitePriv> gpslist = g_gps_status.numSatelliteList;
+                        adapter.updateLocationValue(testSnrEntriyDate(gpslist));
+                        String fixed = new StringBuilder().append(g_gps_status.locating_status > 0 ?
+                                "Fixed " : "notFixed ").append(TimeUtil.getLocalTime2()).toString();
+                        String satlites = new StringBuilder("used ").append(g_gps_status.used_gps_numbs).append(" in ")
+                                .append(g_gps_status.numSatelliteList.size()).append("/ inMap ").append(g_gps_status.satlite_numbss).toString();
+                        String locationTime = new StringBuilder().append(g_gps_status.search_time_cost).append("秒").toString();
+                        String hdop = new StringBuilder().append(String.valueOf(g_gps_status.hdop)).append("米").toString();
+                        mFix.setText(fixed);
+                        if (mFix.getText().toString().contains("notFixed")) {
+                            mFix.setBackgroundColor(Color.RED);
+                            mFix.setTextColor(Color.WHITE);
+                        } else {
+                            mFix.setBackgroundColor(Color.GREEN);
+                            mFix.setTextColor(Color.BLACK);
+                        }
+                        mStar.setText(satlites);
+                        mHoop.setText(hdop);
+                        mSearchCount.setText(locationTime);
+                    }
+                    return false;
+                }
+            }
+            );
+        }
+
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+    }
+
+
+    @Override
+    public void on_locating_changed(ICLocation.GPS_locationStatus gps_status) {
+
+        g_gps_status = gps_status;
+
+        mHandler.sendEmptyMessage(1);
+
+    }
+
+    public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
+        private int space;
+
+        public SpacesItemDecoration(int space) {
+            this.space = space;
+        }
+
+        @Override
+        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
+            outRect.right = space;
+        }
+    }
+
+    public ArrayList<SnrEntriy> testSnrEntriyDate(List<ICLocation.GpsSatellitePriv> gpslist) {
+        ArrayList<SnrEntriy> entity = new ArrayList<>();
+
+        if (gpslist!=null) {
+            for (int i = 0; i < gpslist.size(); i++) {
+
+                float snr=gpslist.get(i).getSnr();
+                int prn=gpslist.get(i).getPrn();
+                SnrEntriy info = new SnrEntriy(snr,prn , (snr>=40?Color.GREEN:((snr>=25&&snr<40)?Color.YELLOW:Color.RED)));
+                entity.add(info);
+            }
+        }
+        return entity;
+    }
+
+    @Override
+    protected  void onResume() {
+        super.onResume();
+        NMEAListener.set_callback(this);
+
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        showmessage=false;
+
+    }
+}
@@ -1,14 +1,14 @@
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
 
 import android.os.Handler;
 import android.os.Message;
 
 import com.ic.jni.ICJniUtils;
-import com.enqualcomm.support.bean.Runtime;
+import com.ic.protocolSrv.bean.Runtime;
 
-import com.enqualcomm.support.utils.FileOutputUtil;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.utils.FileOutputUtil;
+import com.ic.protocolSrv.utils.ICLogger;
 
 /**
  * 由于Gsensor用的硬件计步,只需要保证打开计步器即可
@@ -1,87 +1,87 @@
-package com.enqualcomm.support;\r
-\r
-import android.app.Application;\r
-import android.content.Context;\r
-import android.content.res.Configuration;\r
-import android.os.Handler;\r
-import android.support.multidex.MultiDex;\r
-import android.util.SparseArray;\r
-\r
-import com.enqualcomm.support.service.HeartRateManager;\r
-import com.enqualcomm.support.utils.ICLogger;\r
-import com.enqualcomm.support.utils.TemperatureUtil;\r
-\r
-import java.util.HashMap;\r
-\r
-\r
-public class ICApplication extends Application {\r
-    private static final String TAG = "protocol." + ICApplication.class.getSimpleName();\r
-//    private static final boolean DEBUG = BuildConfig.DEBUG;\r
-\r
-    private static ICApplication instance = null;\r
-    public static Context sContext = null;\r
-\r
-\r
-    private final static HashMap<String, SparseArray<Handler>> mConfigurationChangedHandlerHashMap = new HashMap<>();\r
-\r
-\r
-    @Override\r
-    public void onCreate() {\r
-        super.onCreate();\r
-        ICLogger.setContext(this.getApplicationContext());\r
-        String info = String.format("VERSION_CODE:%s, VERSION_NAME:%s",\r
-                BuildConfig.VERSION_CODE, BuildConfig.VERSION_NAME);\r
-        ICLogger.i(TAG + "[onCreate]" + info);\r
-        CrashHandler crashHandler = CrashHandler.getInstance();\r
-        crashHandler.init(getApplicationContext());\r
-        instance = this;\r
-        sContext = getApplicationContext();\r
-        //一定要在上面这句以后\r
-        TemperatureUtil.getInstance();\r
-        HeartRateManager.getInstance();\r
-    }\r
-\r
-\r
-    public static ICApplication getInstance() {\r
-        return instance;\r
-    }\r
-\r
-    @Override\r
-    protected void attachBaseContext(Context base) {\r
-        super.attachBaseContext(base);\r
-        MultiDex.install(this);\r
-    }\r
-\r
-    /**\r
-     * 系统设置变更\r
-     *\r
-     * @param newConfig\r
-     */\r
-    @Override\r
-    public void onConfigurationChanged(Configuration newConfig) {\r
-        ICLogger.i("onConfigurationChanged");\r
-        super.onConfigurationChanged(newConfig);\r
-        for (Object keyObj : mConfigurationChangedHandlerHashMap.keySet()) {\r
-            String key = (String) keyObj;\r
-            ICLogger.i("WatchApplication" + " onConfigurationChanged, " + key);\r
-            SparseArray<Handler> sparseArray = mConfigurationChangedHandlerHashMap.get(key);\r
-            if (sparseArray != null) {\r
-                Handler handler = sparseArray.valueAt(0);\r
-                if (handler != null) {\r
-                    handler.sendEmptyMessage(sparseArray.keyAt(0));\r
-                }\r
-            }\r
-        }\r
-    }\r
-\r
-    /**\r
-     * 设置系统设置变更的 Handler\r
-     *\r
-     * @param key\r
-     * @param sparseArray\r
-     */\r
-    public void setConfigurationChangedHandler(String key, SparseArray<Handler> sparseArray) {\r
-        mConfigurationChangedHandlerHashMap.put(key, sparseArray);\r
-        ICLogger.i("setConfigurationChangedHandler: " + key);\r
-    }\r
-}\r
+package com.ic.protocolSrv;
+
+import android.app.Application;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.os.Handler;
+import android.support.multidex.MultiDex;
+import android.util.SparseArray;
+
+import com.ic.protocolSrv.service.HeartRateManager;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.TemperatureUtil;
+
+import java.util.HashMap;
+
+
+public class ICApplication extends Application {
+    private static final String TAG = "protocol." + ICApplication.class.getSimpleName();
+//    private static final boolean DEBUG = BuildConfig.DEBUG;
+
+    private static ICApplication instance = null;
+    public static Context sContext = null;
+
+
+    private final static HashMap<String, SparseArray<Handler>> mConfigurationChangedHandlerHashMap = new HashMap<>();
+
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        ICLogger.setContext(this.getApplicationContext());
+        String info = String.format("VERSION_CODE:%s, VERSION_NAME:%s",
+                BuildConfig.VERSION_CODE, BuildConfig.VERSION_NAME);
+        ICLogger.i(TAG + "[onCreate]" + info);
+        CrashHandler crashHandler = CrashHandler.getInstance();
+        crashHandler.init(getApplicationContext());
+        instance = this;
+        sContext = getApplicationContext();
+        //一定要在上面这句以后
+        TemperatureUtil.getInstance();
+        HeartRateManager.getInstance();
+    }
+
+
+    public static ICApplication getInstance() {
+        return instance;
+    }
+
+    @Override
+    protected void attachBaseContext(Context base) {
+        super.attachBaseContext(base);
+        MultiDex.install(this);
+    }
+
+    /**
+     * 系统设置变更
+     *
+     * @param newConfig
+     */
+    @Override
+    public void onConfigurationChanged(Configuration newConfig) {
+        ICLogger.i("onConfigurationChanged");
+        super.onConfigurationChanged(newConfig);
+        for (Object keyObj : mConfigurationChangedHandlerHashMap.keySet()) {
+            String key = (String) keyObj;
+            ICLogger.i("WatchApplication" + " onConfigurationChanged, " + key);
+            SparseArray<Handler> sparseArray = mConfigurationChangedHandlerHashMap.get(key);
+            if (sparseArray != null) {
+                Handler handler = sparseArray.valueAt(0);
+                if (handler != null) {
+                    handler.sendEmptyMessage(sparseArray.keyAt(0));
+                }
+            }
+        }
+    }
+
+    /**
+     * 设置系统设置变更的 Handler
+     *
+     * @param key
+     * @param sparseArray
+     */
+    public void setConfigurationChangedHandler(String key, SparseArray<Handler> sparseArray) {
+        mConfigurationChangedHandlerHashMap.put(key, sparseArray);
+        ICLogger.i("setConfigurationChangedHandler: " + key);
+    }
+}
@@ -1,4 +1,4 @@
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
 import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
@@ -17,32 +17,32 @@ import android.os.SystemClock;
 import android.telephony.SmsMessage;
 import android.text.TextUtils;
 
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.ICLocation;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.ICGlobalSettingsProvider;
-import com.enqualcomm.support.provider.ICNotificationProvider;
-import com.enqualcomm.support.service.AudioService;
-import com.enqualcomm.support.service.Deliver;
-import com.enqualcomm.support.service.HeartRateManager;
-import com.enqualcomm.support.service.SmsDatabaseChaneObserver;
-import com.enqualcomm.support.utils.APNUtil;
-import com.enqualcomm.support.utils.CameraUtil;
-import com.enqualcomm.support.utils.ContextProxy;
-import com.enqualcomm.support.utils.DeviceInfoUtil;
-import com.enqualcomm.support.utils.ICAudioManager;
-import com.enqualcomm.support.utils.ICHttpUtil;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.LanguageUtils;
-import com.enqualcomm.support.utils.SendEmail;
-import com.enqualcomm.support.utils.SimSignalUtil;
-import com.enqualcomm.support.utils.TemperatureUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.VibrateUtil;
-import com.enqualcomm.support.utils.WakeLockUtil;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.ICGlobalSettingsProvider;
+import com.ic.protocolSrv.provider.ICNotificationProvider;
+import com.ic.protocolSrv.service.AudioService;
+import com.ic.protocolSrv.service.Deliver;
+import com.ic.protocolSrv.service.HeartRateManager;
+import com.ic.protocolSrv.service.SmsDatabaseChaneObserver;
+import com.ic.protocolSrv.utils.APNUtil;
+import com.ic.protocolSrv.utils.CameraUtil;
+import com.ic.protocolSrv.utils.ContextProxy;
+import com.ic.protocolSrv.utils.DeviceInfoUtil;
+import com.ic.protocolSrv.utils.ICAudioManager;
+import com.ic.protocolSrv.utils.ICHttpUtil;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.LanguageUtils;
+import com.ic.protocolSrv.utils.SendEmail;
+import com.ic.protocolSrv.utils.SimSignalUtil;
+import com.ic.protocolSrv.utils.TemperatureUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.VibrateUtil;
+import com.ic.protocolSrv.utils.WakeLockUtil;
 import com.ic.protocols.protocolAPIHelper;
 import com.ic.view.msg.MsgMustReadDialog;
 
@@ -54,17 +54,17 @@ import java.util.List;
 import chestnut.utils.PhoneUtils;
 
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
-import static com.enqualcomm.support.Config.PROTOCOL_S123;
-import static com.enqualcomm.support.Constants.ACTION_SMSCMD;
-import static com.enqualcomm.support.Constants.ACTION_SMSCMD_Reply;
-import static com.enqualcomm.support.Constants.ACTION_SMSCMD_TEST;
-import static com.enqualcomm.support.Constants.ACTION_SMS_RECEIVED;
-import static com.enqualcomm.support.Constants.ACTION_START_FOTA_UPDATE;
-import static com.enqualcomm.support.Constants.ACTION_TINTERNAL_TEST;
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.Constants.KeyReplyData;
-import static com.enqualcomm.support.utils.SimSignalUtil.send_at_cmd;
-import static com.enqualcomm.support.utils.SimSignalUtil.send_at_setImei0;
+import static com.ic.protocolSrv.Config.PROTOCOL_S123;
+import static com.ic.protocolSrv.Constants.ACTION_SMSCMD;
+import static com.ic.protocolSrv.Constants.ACTION_SMSCMD_Reply;
+import static com.ic.protocolSrv.Constants.ACTION_SMSCMD_TEST;
+import static com.ic.protocolSrv.Constants.ACTION_SMS_RECEIVED;
+import static com.ic.protocolSrv.Constants.ACTION_START_FOTA_UPDATE;
+import static com.ic.protocolSrv.Constants.ACTION_TINTERNAL_TEST;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.Constants.KeyReplyData;
+import static com.ic.protocolSrv.utils.SimSignalUtil.send_at_cmd;
+import static com.ic.protocolSrv.utils.SimSignalUtil.send_at_setImei0;
 
 
 public class ICSmsManager extends BroadcastReceiver {
@@ -796,7 +796,7 @@ public class ICSmsManager extends BroadcastReceiver {
 
         } else if (sms.startsWith(ENCRYPED_HEADER + "#ShowInfo#")) {
             Intent intent = new Intent();
-            ComponentName var3 = new ComponentName("com.enqualcomm.support", "com.enqualcomm.support.DeviceInfoActivity");
+            ComponentName var3 = new ComponentName("com.ic.protocolSrv", "com.ic.protocolSrv.DeviceInfoActivity");
             intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
             intent.setComponent(var3);
             runtime.getContextProxy().context.startActivity(intent);
@@ -1,4 +1,4 @@
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -11,21 +11,21 @@ import android.os.PowerManager;
 import android.os.SystemClock;
 import android.text.TextUtils;
 
-import com.enqualcomm.support.adapter.BTHelper;
-import com.enqualcomm.support.adapter.LBSHelper;
-import com.enqualcomm.support.bean.ICLocation;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.service.Deliver;
-import com.enqualcomm.support.utils.AlarmHelper;
-import com.enqualcomm.support.utils.CellInfoUtil;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.DeviceInfoUtil;
-import com.enqualcomm.support.utils.IBeaconUtil;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.SimSignalUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
+import com.ic.protocolSrv.adapter.BTHelper;
+import com.ic.protocolSrv.adapter.LBSHelper;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.service.Deliver;
+import com.ic.protocolSrv.utils.AlarmHelper;
+import com.ic.protocolSrv.utils.CellInfoUtil;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.DeviceInfoUtil;
+import com.ic.protocolSrv.utils.IBeaconUtil;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.SimSignalUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
 import com.ic.protocols.protocolAPIHelper;
 
 import java.util.concurrent.ExecutorService;
@@ -34,9 +34,9 @@ import java.util.concurrent.Executors;
 import rx.Single;
 import rx.android.schedulers.AndroidSchedulers;
 
-import static com.enqualcomm.support.Config.GPSLocationTimeoutInSeconds;
-import static com.enqualcomm.support.Config.WiFiLocationTimeoutInSeconds;
-import static com.enqualcomm.support.Constants.ACTION_CHECK_LOCATION_RESULT;
+import static com.ic.protocolSrv.Config.GPSLocationTimeoutInSeconds;
+import static com.ic.protocolSrv.Config.WiFiLocationTimeoutInSeconds;
+import static com.ic.protocolSrv.Constants.ACTION_CHECK_LOCATION_RESULT;
 
 /***
  * 周期定位:按周期进行,如果正在定位,则skip此次定位。
@@ -1055,7 +1055,7 @@ public class LocationClient {
         }
     }
 
-    private static String ACTION_GPSCMD = "com.enqualcomm.support.gps";
+    private static String ACTION_GPSCMD = "com.ic.protocolSrv.gps";
 
     public void registerBroadReceiver() {
 
@@ -1,4 +1,4 @@
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
 import android.app.Activity;
 import android.content.ComponentName;
@@ -14,15 +14,15 @@ import android.view.View;
 import android.widget.Button;
 import android.widget.TextView;
 
-import com.enqualcomm.support.adapter.BTHelper;
-import com.enqualcomm.support.utils.AESCipher;
-import com.enqualcomm.support.utils.DeviceInfoUtil;
-import com.enqualcomm.support.utils.IBeaconUtil;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.ImageUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.regexUtil;
+import com.ic.protocolSrv.adapter.BTHelper;
+import com.ic.protocolSrv.utils.AESCipher;
+import com.ic.protocolSrv.utils.DeviceInfoUtil;
+import com.ic.protocolSrv.utils.IBeaconUtil;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.ImageUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.regexUtil;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
@@ -76,7 +76,7 @@ public class MainActivity extends Activity {
             public void onClick(View view) {
 
                 Intent intent=new Intent();
-                ComponentName var3 = new ComponentName("com.enqualcomm.support", "com.enqualcomm.support.toolActivity");
+                ComponentName var3 = new ComponentName("com.ic.protocolSrv", "com.ic.protocolSrv.toolActivity");
                 intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
                 intent.setComponent(var3);
                 startActivity(intent);
@@ -1,10 +1,10 @@
-package com.enqualcomm.support.provider;
+package com.ic.protocolSrv;
 
 import android.content.Context;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteOpenHelper;
 
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.utils.ICLogger;
 
 
 public class MySqlitOpenHelper extends SQLiteOpenHelper {
@@ -1,4 +1,4 @@
-package com.enqualcomm.support;
+package com.ic.protocolSrv;
 
 import android.location.Criteria;
 import android.location.GpsStatus.NmeaListener;
@@ -10,11 +10,11 @@ import android.os.Handler;
 import android.os.HandlerThread;
 import android.provider.Settings;
 
-import com.enqualcomm.support.bean.ICLocation;
-import com.enqualcomm.support.bean.ICLocation.GPS_locationStatus;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.TimeUtil;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.ICLocation.GPS_locationStatus;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.TimeUtil;
 
 import java.text.DecimalFormat;
 
-package com.enqualcomm.support;\r
-\r
-import android.content.Context;\r
-import android.graphics.Canvas;\r
-import android.graphics.Color;\r
-import android.graphics.Paint;\r
-import android.support.annotation.Nullable;\r
-import android.util.AttributeSet;\r
-import android.util.TypedValue;\r
-import android.view.View;\r
-\r
-\r
-public class SnrHistogramView extends View {\r
-\r
-\r
-    private int mWidth = 0;\r
-    private int mHeight = 0;\r
-\r
-    private Paint mPaint;\r
-    private Paint mTextPaint;\r
-\r
-    private String mSnrValue = "80";\r
-    private String mSnrNmber = "60";\r
-\r
-    private float mBL=1f;\r
-\r
-    public SnrHistogramView(Context context) {\r
-        this(context, null);\r
-    }\r
-\r
-    public SnrHistogramView(Context context, @Nullable AttributeSet attrs) {\r
-        this(context, attrs, 0);\r
-    }\r
-\r
-    public SnrHistogramView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {\r
-        super(context, attrs, defStyleAttr);\r
-        mPaint = new Paint();\r
-        mTextPaint = new Paint();\r
-\r
-        mPaint.setAntiAlias(true);\r
-        mPaint.setDither(true);\r
-        int mBgColor = Color.GREEN;\r
-        mPaint.setColor(mBgColor);\r
-        mPaint.setStyle(Paint.Style.FILL);\r
-\r
-        mTextPaint.setAntiAlias(true);\r
-        mTextPaint.setDither(true);\r
-        mTextPaint.setColor(Color.WHITE);\r
-        mTextPaint.setStyle(Paint.Style.FILL);\r
-        mTextPaint.setTextSize(spToPx(24));\r
-    }\r
-\r
-    @Override\r
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {\r
-        super.onMeasure(widthMeasureSpec, heightMeasureSpec);\r
-\r
-\r
-        int widthSize = MeasureSpec.getSize(widthMeasureSpec);\r
-        int widthMode = MeasureSpec.getMode(widthMeasureSpec);\r
-        int heightSize = MeasureSpec.getSize(heightMeasureSpec);\r
-        int heightMode = MeasureSpec.getMode(heightMeasureSpec);\r
-\r
-\r
-        if (widthMode == MeasureSpec.AT_MOST\r
-                || widthMode == MeasureSpec.UNSPECIFIED\r
-                || heightMeasureSpec == MeasureSpec.AT_MOST\r
-                || heightMeasureSpec == MeasureSpec.UNSPECIFIED) {\r
-            //宽度高度至少有一个确定的值,不能同时为wrap_content\r
-            return;\r
-        } else { //至少有一个为确定值,要获取其中的最小值\r
-            if (widthMode == MeasureSpec.EXACTLY) {\r
-                mWidth = widthSize;\r
-            }\r
-\r
-            if (heightMode == MeasureSpec.EXACTLY) {\r
-                mHeight = heightSize;\r
-            }\r
-        }\r
-    }\r
-\r
-\r
-    @Override\r
-    protected void onDraw(Canvas canvas) {\r
-        super.onDraw(canvas);\r
-\r
-        float[] snrNmber = measureTextWidth(mSnrNmber, mTextPaint);\r
-        float[] snrValue = measureTextWidth(mSnrValue, mTextPaint);\r
-\r
-        float hv = getHistogramHeight(snrValue[1], snrNmber[1], mBL);\r
-\r
-        canvas.drawText(mSnrNmber, (mWidth - snrNmber[0]) / 2, mHeight, mTextPaint);\r
-        canvas.drawText(mSnrValue, (mWidth - snrValue[0]) / 2, mHeight - snrNmber[1] - hv, mTextPaint);\r
-\r
-        canvas.drawRect(0, mHeight - (hv + snrNmber[1] - 2), mWidth, mHeight - snrNmber[1], mPaint);\r
-    }\r
-\r
-    private float getHistogramHeight(float vh, float nh, float bl) {\r
-        return (mHeight - vh - nh) * bl;\r
-    }\r
-\r
-    private float[] measureTextWidth(String mText, Paint textPaint) {\r
-        Paint.FontMetrics fontMetrics = textPaint.getFontMetrics();\r
-        float height1 = fontMetrics.bottom - fontMetrics.top;\r
-        float strWidth = textPaint.measureText(mText);\r
-        return new float[]{strWidth, height1};\r
-    }\r
-\r
-    private float spToPx(float sp) {\r
-        return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, getResources().getDisplayMetrics());\r
-    }\r
-\r
-    public void updateValue(float value,int number,int bgColor){\r
-        mPaint.setColor(bgColor);\r
-        mSnrNmber = String.valueOf(number);\r
-        mSnrValue =String.valueOf((int)value);\r
-        mBL=value*0.025F;\r
-\r
-        invalidate();\r
-    }\r
-}\r
+package com.ic.protocolSrv;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.support.annotation.Nullable;
+import android.util.AttributeSet;
+import android.util.TypedValue;
+import android.view.View;
+
+
+public class SnrHistogramView extends View {
+
+
+    private int mWidth = 0;
+    private int mHeight = 0;
+
+    private Paint mPaint;
+    private Paint mTextPaint;
+
+    private String mSnrValue = "80";
+    private String mSnrNmber = "60";
+
+    private float mBL=1f;
+
+    public SnrHistogramView(Context context) {
+        this(context, null);
+    }
+
+    public SnrHistogramView(Context context, @Nullable AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public SnrHistogramView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        mPaint = new Paint();
+        mTextPaint = new Paint();
+
+        mPaint.setAntiAlias(true);
+        mPaint.setDither(true);
+        int mBgColor = Color.GREEN;
+        mPaint.setColor(mBgColor);
+        mPaint.setStyle(Paint.Style.FILL);
+
+        mTextPaint.setAntiAlias(true);
+        mTextPaint.setDither(true);
+        mTextPaint.setColor(Color.WHITE);
+        mTextPaint.setStyle(Paint.Style.FILL);
+        mTextPaint.setTextSize(spToPx(24));
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+
+
+        int widthSize = MeasureSpec.getSize(widthMeasureSpec);
+        int widthMode = MeasureSpec.getMode(widthMeasureSpec);
+        int heightSize = MeasureSpec.getSize(heightMeasureSpec);
+        int heightMode = MeasureSpec.getMode(heightMeasureSpec);
+
+
+        if (widthMode == MeasureSpec.AT_MOST
+                || widthMode == MeasureSpec.UNSPECIFIED
+                || heightMeasureSpec == MeasureSpec.AT_MOST
+                || heightMeasureSpec == MeasureSpec.UNSPECIFIED) {
+            //宽度高度至少有一个确定的值,不能同时为wrap_content
+            return;
+        } else { //至少有一个为确定值,要获取其中的最小值
+            if (widthMode == MeasureSpec.EXACTLY) {
+                mWidth = widthSize;
+            }
+
+            if (heightMode == MeasureSpec.EXACTLY) {
+                mHeight = heightSize;
+            }
+        }
+    }
+
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+
+        float[] snrNmber = measureTextWidth(mSnrNmber, mTextPaint);
+        float[] snrValue = measureTextWidth(mSnrValue, mTextPaint);
+
+        float hv = getHistogramHeight(snrValue[1], snrNmber[1], mBL);
+
+        canvas.drawText(mSnrNmber, (mWidth - snrNmber[0]) / 2, mHeight, mTextPaint);
+        canvas.drawText(mSnrValue, (mWidth - snrValue[0]) / 2, mHeight - snrNmber[1] - hv, mTextPaint);
+
+        canvas.drawRect(0, mHeight - (hv + snrNmber[1] - 2), mWidth, mHeight - snrNmber[1], mPaint);
+    }
+
+    private float getHistogramHeight(float vh, float nh, float bl) {
+        return (mHeight - vh - nh) * bl;
+    }
+
+    private float[] measureTextWidth(String mText, Paint textPaint) {
+        Paint.FontMetrics fontMetrics = textPaint.getFontMetrics();
+        float height1 = fontMetrics.bottom - fontMetrics.top;
+        float strWidth = textPaint.measureText(mText);
+        return new float[]{strWidth, height1};
+    }
+
+    private float spToPx(float sp) {
+        return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, getResources().getDisplayMetrics());
+    }
+
+    public void updateValue(float value,int number,int bgColor){
+        mPaint.setColor(bgColor);
+        mSnrNmber = String.valueOf(number);
+        mSnrValue =String.valueOf((int)value);
+        mBL=value*0.025F;
+
+        invalidate();
+    }
+}
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.adapter;
+package com.ic.protocolSrv.adapter;
 
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothAdapter.LeScanCallback;
@@ -11,13 +11,13 @@ import android.net.wifi.ScanResult;
 import android.os.Handler;
 import android.os.HandlerThread;
 
-import com.enqualcomm.support.NMEAListener;
-import com.enqualcomm.support.bean.EventLooperHandlerThread;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.utils.IBeaconUtil;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.Util;
+import com.ic.protocolSrv.NMEAListener;
+import com.ic.protocolSrv.bean.EventLooperHandlerThread;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.utils.IBeaconUtil;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.Util;
 
 import java.util.ArrayList;
 import java.util.Collections;
-package com.enqualcomm.support.adapter;\r
-\r
-import android.content.BroadcastReceiver;\r
-import android.content.Context;\r
-import android.net.wifi.ScanResult;\r
-import android.net.wifi.WifiManager;\r
-import android.os.Handler;\r
-import android.telephony.PhoneStateListener;\r
-import android.telephony.SignalStrength;\r
-import android.telephony.TelephonyManager;\r
-\r
-import com.enqualcomm.support.Config;\r
-import com.enqualcomm.support.bean.Runtime;\r
-import com.enqualcomm.support.utils.CellInfoUtil;\r
-import com.enqualcomm.support.utils.DeviceInfoUtil;\r
-import com.enqualcomm.support.utils.ICLogger;\r
-import com.enqualcomm.support.utils.Util;\r
-\r
-import java.util.Collections;\r
-import java.util.Comparator;\r
-import java.util.Iterator;\r
-import java.util.List;\r
-\r
-import static android.telephony.PhoneStateListener.LISTEN_SIGNAL_STRENGTHS;\r
-\r
-public class LBSHelper {\r
-    private boolean IS_HASOPEN = false;\r
-    private boolean IS_OPEN = false;\r
-    private Context context;\r
-    Handler mHandler;\r
-    private int mLastSignal;\r
-    private LBSHelper.OnWiFiInfoListener mMyWifiListener;\r
-    private LBSHelper.MyPhoneStateListener mMyPhoneListener;\r
-    int mNetworkType;\r
-    public Runtime runtime;\r
-    private BroadcastReceiver wifiChangedReceiver;\r
-    private String wifiInfoResult;\r
-    private WifiManager wifiManager;\r
-\r
-    private final int MsgWhat_GetWifiResult = 104;\r
-    private int MaxWiFiScanRetryTimes = 3;\r
-    private static int CurrentWiFiScanTimes = 0;\r
-\r
-    public LBSHelper(Context _context, WifiManager _wifiManager, Runtime dev) {\r
-        this.wifiManager = _wifiManager;\r
-        this.context = _context;\r
-        this.runtime = dev;\r
-//        registerWiFiBroadReceiver();\r
-        this.mMyPhoneListener = new LBSHelper.MyPhoneStateListener();\r
-        TelephonyManager tm = ((TelephonyManager) LBSHelper.this.context.getSystemService(Context.TELEPHONY_SERVICE));\r
-        tm.listen(this.mMyPhoneListener, LISTEN_SIGNAL_STRENGTHS);\r
-        this.mNetworkType = tm.getNetworkType();\r
-    }\r
-\r
-\r
-    public void getWifiResult() {\r
-\r
-\r
-        //检查是否已经得到结果。\r
-        if (runtime.getWifiInfo().length() == 0) {\r
-            //还没有结果\r
-            if (wifiManager.isWifiEnabled()) {\r
-                //wifi开着,可以开始检测扫描结果\r
-                wait_count++;\r
-                if (wait_count == 3) {\r
-                    //3秒检查一次!\r
-                    wait_count = 0;\r
-                    ICLogger.i("get WiFi Scan result !");\r
-                } else {\r
-                    ICLogger.i("WiFi Wait " + wait_count + "!");\r
-                    return;\r
-                }\r
-\r
-            } else {\r
-                //  ICLogger.i("WiFi is Not Open, skip check scan result!");\r
-                return;\r
-            }\r
-        } else {\r
-\r
-            //  ICLogger.i("WiFiScan is done, skip check scan result!");\r
-            return;\r
-        }\r
-        //停止扫描\r
-        StringBuilder sb = handleScanResults();\r
-        if (sb != null) {\r
-            ICLogger.i("GetWifiScanResults " + sb.toString());\r
-            if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "GetWifiScanResults " + sb.toString());\r
-        } else {\r
-            ICLogger.i("GetWifiScanResults null");\r
-            if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "GetWifiScanResults null");\r
-        }\r
-        if (sb == null) {\r
-            CurrentWiFiScanTimes++;\r
-            if (CurrentWiFiScanTimes < MaxWiFiScanRetryTimes) {\r
-                ICLogger.i("WiFi Scan get Result failed , retry scan " + CurrentWiFiScanTimes + " times");\r
-                wifiManager.startScan();\r
-                delayedStopScan();\r
-                return;\r
-            } else {\r
-                wifiInfoResult = null;\r
-            }\r
-        } else {\r
-            wifiInfoResult = sb.toString();\r
-        }\r
-        if (mMyWifiListener != null) {\r
-            mMyWifiListener.getWifiInfoCallBack(wifiInfoResult);\r
-//            mMyWifiListener.getWifiInfoCallBack(null);\r
-\r
-//            Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Object>() {\r
-//            public void call(Object param1Object) {\r
-            Util.mSleep(500);\r
-\r
-            //由于wifi状态不好确认客户是如何设置的,干脆只有屏幕灭的时候才考虑关闭wifi ,防止在开启屏幕用来视频的时候被后台关掉\r
-            ICLogger.i("setWifiEnabled false");\r
-//                    if(SimSignalUtil.isScreenON(runtime.getContextProxy().context)==false) {\r
-            if (runtime.isNoTurnOffWifiOnScreenOff() || DeviceInfoUtil.isFactoryTestTopActivity(runtime.getContextProxy().context)) {\r
-                //如果 NoTurnOffWifiOnScreenOff 开关 开启,且是屏灭,或者是在工厂测试模式,则原来什么状态就什么状态。\r
-                ICLogger.i("isNoTurnOffWifiOnScreenOff or In Factory Mode");\r
-                if (!IS_HASOPEN && IS_OPEN) {\r
-//                                wifiManager.setWifiEnabled(false);\r
-                    IS_OPEN = false;\r
-                }\r
-            } else {\r
-                //根据环境变量来判断是否要关闭\r
-                String isUserOpen = Util.getSystemProperties("persist.sys.ic.wifi_enable", "false");\r
-                ICLogger.d("is open by user == > " + isUserOpen);\r
-                if ("true".equals(isUserOpen)) {\r
-                    //用户手动打开的,那么就不走后面的逻辑了\r
-                    return;\r
-                }\r
-                //如果 NoTurnOffWifiOnScreenOff 开关 关闭,且是屏灭,则关闭wifi省电\r
-                ICLogger.i("isTurnOffWifiOnScreenOff");\r
-                wifiManager.setWifiEnabled(false);\r
-                IS_OPEN = false;\r
-                IS_HASOPEN = false;\r
-            }\r
-//                    }else{\r
-//                        ICLogger.i("isTurnOffWifiOnScreenOff");\r
-//                        wifiManager.setWifiEnabled(false);\r
-//                        IS_OPEN = false;\r
-//                        IS_HASOPEN = false;\r
-//                    }\r
-            ICLogger.i("setWifiEnabled done");\r
-\r
-\r
-        } else {\r
-            ICLogger.i("mMyWifiListener is null skip callback");\r
-        }\r
-\r
-    }\r
-\r
-    private StringBuilder handleScanResults() {\r
-        List aplist = this.wifiManager.getScanResults();\r
-        ICLogger.i("get Wifi Result " + aplist.size());\r
-        //========清除全局变量runtime中的wifi数据\r
-        runtime.getLocationInstance().clearWiFidata();\r
-\r
-        if (aplist.size() < 1) {\r
-            return null;\r
-        } else {\r
-\r
-            this.sortByLevel(aplist);\r
-            StringBuilder sb = new StringBuilder("");\r
-            StringBuilder sblog = new StringBuilder("");\r
-            Iterator it = aplist.iterator();\r
-            int count = 0;\r
-            while (it.hasNext()) {\r
-                ScanResult result = (ScanResult) it.next();\r
-                if (result.level != 0) {\r
-                    count++;\r
-                    if (count < 6) {\r
-                        sb.append("&");\r
-                        sb.append("AP");\r
-                        sb.append(count);\r
-                        sb.append("|");\r
-                        sb.append(result.BSSID);\r
-                        sb.append("|");\r
-                        sb.append(result.level);\r
-\r
-                        //添加扫描到的wifi地址到全局变量runtime中\r
-                        runtime.getLocationInstance().append_wifiap(result.BSSID,result.level);\r
-                    }\r
-                    sblog.append("[").append(count).append(",SSID:").append(result.SSID).append(",BSSID:").append(result.BSSID).append(",Level:").append(result.level).append("];");\r
-                }\r
-            }\r
-            if (sb.toString().startsWith("&")) sb.deleteCharAt(0);\r
-            if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", sblog.toString());\r
-            return sb;\r
-        }\r
-    }\r
-\r
-    private void sortByLevel(List<ScanResult> var1) {\r
-        Collections.sort(var1, new Comparator<ScanResult>() {\r
-            public int compare(ScanResult var1, ScanResult var2) {\r
-                return var2.level - var1.level;\r
-            }\r
-        });\r
-    }\r
-\r
-    private void delayedStopScan() {\r
-\r
-    }\r
-\r
-    private static int wait_count = 0;\r
-\r
-    public void getWifiInfo() {\r
-        if (this.wifiManager.isWifiEnabled()) {\r
-            this.IS_HASOPEN = true;\r
-        } else {\r
-            this.wifiManager.setWifiEnabled(true);\r
-            this.IS_OPEN = true;\r
-            Util.mSleep(500);\r
-        }\r
-        //wait_count=0;\r
-        CurrentWiFiScanTimes = 0;\r
-        wifiManager.startScan();\r
-//        delayedStopScan();\r
-\r
-    }\r
-\r
-//    public void registerWiFiBroadReceiver() {\r
-//        IntentFilter filter = new IntentFilter();\r
-//        filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);//监听wifi是开关变化的状态\r
-//        filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);//监听wifiwifi连接状态广播\r
-//        filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);//监听wifi列表变化(开启一个热点或者关闭一个热点)\r
-//        this.context.registerReceiver(this.wifiChangedReceiver, filter);\r
-//    }\r
-\r
-    public void setOnWiFiInfoListener(LBSHelper.OnWiFiInfoListener wiFiInfoListener) {\r
-        this.mMyWifiListener = wiFiInfoListener;\r
-    }\r
-\r
-    private class MyPhoneStateListener extends PhoneStateListener {\r
-        private MyPhoneStateListener() {\r
-        }\r
-\r
-        //        @RequiresApi(api = Build.VERSION_CODES.M)\r
-        public void onSignalStrengthsChanged(SignalStrength ss) {\r
-            super.onSignalStrengthsChanged(ss);\r
-            TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);\r
-            int tmpsignal = CellInfoUtil.getSignal(tm, runtime);\r
-            int gsmSignal = 150 - Math.abs(tmpsignal);\r
-            runtime.setSignalStrength(gsmSignal);\r
-\r
-        }\r
-    }\r
-\r
-\r
-    public interface OnWiFiInfoListener {\r
-        void getWifiInfoCallBack(String var1);\r
-    }\r
-}\r
+package com.ic.protocolSrv.adapter;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.net.wifi.ScanResult;
+import android.net.wifi.WifiManager;
+import android.os.Handler;
+import android.telephony.PhoneStateListener;
+import android.telephony.SignalStrength;
+import android.telephony.TelephonyManager;
+
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.utils.CellInfoUtil;
+import com.ic.protocolSrv.utils.DeviceInfoUtil;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.Util;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import static android.telephony.PhoneStateListener.LISTEN_SIGNAL_STRENGTHS;
+
+public class LBSHelper {
+    private boolean IS_HASOPEN = false;
+    private boolean IS_OPEN = false;
+    private Context context;
+    Handler mHandler;
+    private int mLastSignal;
+    private LBSHelper.OnWiFiInfoListener mMyWifiListener;
+    private LBSHelper.MyPhoneStateListener mMyPhoneListener;
+    int mNetworkType;
+    public Runtime runtime;
+    private BroadcastReceiver wifiChangedReceiver;
+    private String wifiInfoResult;
+    private WifiManager wifiManager;
+
+    private final int MsgWhat_GetWifiResult = 104;
+    private int MaxWiFiScanRetryTimes = 3;
+    private static int CurrentWiFiScanTimes = 0;
+
+    public LBSHelper(Context _context, WifiManager _wifiManager, Runtime dev) {
+        this.wifiManager = _wifiManager;
+        this.context = _context;
+        this.runtime = dev;
+//        registerWiFiBroadReceiver();
+        this.mMyPhoneListener = new LBSHelper.MyPhoneStateListener();
+        TelephonyManager tm = ((TelephonyManager) LBSHelper.this.context.getSystemService(Context.TELEPHONY_SERVICE));
+        tm.listen(this.mMyPhoneListener, LISTEN_SIGNAL_STRENGTHS);
+        this.mNetworkType = tm.getNetworkType();
+    }
+
+
+    public void getWifiResult() {
+
+
+        //检查是否已经得到结果。
+        if (runtime.getWifiInfo().length() == 0) {
+            //还没有结果
+            if (wifiManager.isWifiEnabled()) {
+                //wifi开着,可以开始检测扫描结果
+                wait_count++;
+                if (wait_count == 3) {
+                    //3秒检查一次!
+                    wait_count = 0;
+                    ICLogger.i("get WiFi Scan result !");
+                } else {
+                    ICLogger.i("WiFi Wait " + wait_count + "!");
+                    return;
+                }
+
+            } else {
+                //  ICLogger.i("WiFi is Not Open, skip check scan result!");
+                return;
+            }
+        } else {
+
+            //  ICLogger.i("WiFiScan is done, skip check scan result!");
+            return;
+        }
+        //停止扫描
+        StringBuilder sb = handleScanResults();
+        if (sb != null) {
+            ICLogger.i("GetWifiScanResults " + sb.toString());
+            if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "GetWifiScanResults " + sb.toString());
+        } else {
+            ICLogger.i("GetWifiScanResults null");
+            if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "GetWifiScanResults null");
+        }
+        if (sb == null) {
+            CurrentWiFiScanTimes++;
+            if (CurrentWiFiScanTimes < MaxWiFiScanRetryTimes) {
+                ICLogger.i("WiFi Scan get Result failed , retry scan " + CurrentWiFiScanTimes + " times");
+                wifiManager.startScan();
+                delayedStopScan();
+                return;
+            } else {
+                wifiInfoResult = null;
+            }
+        } else {
+            wifiInfoResult = sb.toString();
+        }
+        if (mMyWifiListener != null) {
+            mMyWifiListener.getWifiInfoCallBack(wifiInfoResult);
+//            mMyWifiListener.getWifiInfoCallBack(null);
+
+//            Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Object>() {
+//            public void call(Object param1Object) {
+            Util.mSleep(500);
+
+            //由于wifi状态不好确认客户是如何设置的,干脆只有屏幕灭的时候才考虑关闭wifi ,防止在开启屏幕用来视频的时候被后台关掉
+            ICLogger.i("setWifiEnabled false");
+//                    if(SimSignalUtil.isScreenON(runtime.getContextProxy().context)==false) {
+            if (runtime.isNoTurnOffWifiOnScreenOff() || DeviceInfoUtil.isFactoryTestTopActivity(runtime.getContextProxy().context)) {
+                //如果 NoTurnOffWifiOnScreenOff 开关 开启,且是屏灭,或者是在工厂测试模式,则原来什么状态就什么状态。
+                ICLogger.i("isNoTurnOffWifiOnScreenOff or In Factory Mode");
+                if (!IS_HASOPEN && IS_OPEN) {
+//                                wifiManager.setWifiEnabled(false);
+                    IS_OPEN = false;
+                }
+            } else {
+                //根据环境变量来判断是否要关闭
+                String isUserOpen = Util.getSystemProperties("persist.sys.ic.wifi_enable", "false");
+                ICLogger.d("is open by user == > " + isUserOpen);
+                if ("true".equals(isUserOpen)) {
+                    //用户手动打开的,那么就不走后面的逻辑了
+                    return;
+                }
+                //如果 NoTurnOffWifiOnScreenOff 开关 关闭,且是屏灭,则关闭wifi省电
+                ICLogger.i("isTurnOffWifiOnScreenOff");
+                wifiManager.setWifiEnabled(false);
+                IS_OPEN = false;
+                IS_HASOPEN = false;
+            }
+//                    }else{
+//                        ICLogger.i("isTurnOffWifiOnScreenOff");
+//                        wifiManager.setWifiEnabled(false);
+//                        IS_OPEN = false;
+//                        IS_HASOPEN = false;
+//                    }
+            ICLogger.i("setWifiEnabled done");
+
+
+        } else {
+            ICLogger.i("mMyWifiListener is null skip callback");
+        }
+
+    }
+
+    private StringBuilder handleScanResults() {
+        List aplist = this.wifiManager.getScanResults();
+        ICLogger.i("get Wifi Result " + aplist.size());
+        //========清除全局变量runtime中的wifi数据
+        runtime.getLocationInstance().clearWiFidata();
+
+        if (aplist.size() < 1) {
+            return null;
+        } else {
+
+            this.sortByLevel(aplist);
+            StringBuilder sb = new StringBuilder("");
+            StringBuilder sblog = new StringBuilder("");
+            Iterator it = aplist.iterator();
+            int count = 0;
+            while (it.hasNext()) {
+                ScanResult result = (ScanResult) it.next();
+                if (result.level != 0) {
+                    count++;
+                    if (count < 6) {
+                        sb.append("&");
+                        sb.append("AP");
+                        sb.append(count);
+                        sb.append("|");
+                        sb.append(result.BSSID);
+                        sb.append("|");
+                        sb.append(result.level);
+
+                        //添加扫描到的wifi地址到全局变量runtime中
+                        runtime.getLocationInstance().append_wifiap(result.BSSID,result.level);
+                    }
+                    sblog.append("[").append(count).append(",SSID:").append(result.SSID).append(",BSSID:").append(result.BSSID).append(",Level:").append(result.level).append("];");
+                }
+            }
+            if (sb.toString().startsWith("&")) sb.deleteCharAt(0);
+            if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", sblog.toString());
+            return sb;
+        }
+    }
+
+    private void sortByLevel(List<ScanResult> var1) {
+        Collections.sort(var1, new Comparator<ScanResult>() {
+            public int compare(ScanResult var1, ScanResult var2) {
+                return var2.level - var1.level;
+            }
+        });
+    }
+
+    private void delayedStopScan() {
+
+    }
+
+    private static int wait_count = 0;
+
+    public void getWifiInfo() {
+        if (this.wifiManager.isWifiEnabled()) {
+            this.IS_HASOPEN = true;
+        } else {
+            this.wifiManager.setWifiEnabled(true);
+            this.IS_OPEN = true;
+            Util.mSleep(500);
+        }
+        //wait_count=0;
+        CurrentWiFiScanTimes = 0;
+        wifiManager.startScan();
+//        delayedStopScan();
+
+    }
+
+//    public void registerWiFiBroadReceiver() {
+//        IntentFilter filter = new IntentFilter();
+//        filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);//监听wifi是开关变化的状态
+//        filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);//监听wifiwifi连接状态广播
+//        filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);//监听wifi列表变化(开启一个热点或者关闭一个热点)
+//        this.context.registerReceiver(this.wifiChangedReceiver, filter);
+//    }
+
+    public void setOnWiFiInfoListener(LBSHelper.OnWiFiInfoListener wiFiInfoListener) {
+        this.mMyWifiListener = wiFiInfoListener;
+    }
+
+    private class MyPhoneStateListener extends PhoneStateListener {
+        private MyPhoneStateListener() {
+        }
+
+        //        @RequiresApi(api = Build.VERSION_CODES.M)
+        public void onSignalStrengthsChanged(SignalStrength ss) {
+            super.onSignalStrengthsChanged(ss);
+            TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
+            int tmpsignal = CellInfoUtil.getSignal(tm, runtime);
+            int gsmSignal = 150 - Math.abs(tmpsignal);
+            runtime.setSignalStrength(gsmSignal);
+
+        }
+    }
+
+
+    public interface OnWiFiInfoListener {
+        void getWifiInfoCallBack(String var1);
+    }
+}
@@ -1,73 +1,73 @@
-package com.enqualcomm.support.bean;\r
-\r
-public class Alarm {\r
-    public String name;\r
-    public String ring;\r
-    public String status;\r
-    public String time;\r
-    //星期是1~7\r
-    public String week;\r
-    public String laterRing;\r
-    public String id;\r
-\r
-    public Alarm() {\r
-\r
-    }\r
-\r
-    public Alarm(String _time, String _week, String _ring, String _status) {\r
-        this.time = _time;\r
-        this.week = _week;\r
-        this.ring = _ring;\r
-        this.status = _status;\r
-    }\r
-\r
-    public Alarm(String _time, String _week, String _ring, String _status, String _name) {\r
-        this.time = _time;\r
-        this.week = _week;\r
-        this.ring = _ring;\r
-        this.status = _status;\r
-        this.name = _name;\r
-    }\r
-\r
-    public boolean equals(Object var1) {\r
-        if (this == var1) {\r
-            return true;\r
-        } else if (var1 != null && this.getClass() == var1.getClass()) {\r
-            Alarm var2 = (Alarm) var1;\r
-            if (!this.time.equals(var2.time)) {\r
-                return false;\r
-            } else if (!this.week.equals(var2.week)) {\r
-                return false;\r
-            } else if (!this.ring.equals(var2.ring)) {\r
-                return false;\r
-            } else {\r
-                return !this.status.equals(var2.status) ? false : this.name.equals(var2.name);\r
-            }\r
-        } else {\r
-            return false;\r
-        }\r
-    }\r
-\r
-    public String toString() {\r
-        StringBuilder var1 = new StringBuilder();\r
-        var1.append("Alarm{time='");\r
-        var1.append(this.time);\r
-        var1.append('\'');\r
-        var1.append(", week='");\r
-        var1.append(this.week);\r
-        var1.append('\'');\r
-        var1.append(", ring='");\r
-        var1.append(this.ring);\r
-        var1.append('\'');\r
-        var1.append(", status='");\r
-        var1.append(this.status);\r
-        var1.append('\'');\r
-        var1.append(", name='");\r
-        var1.append(this.name);\r
-        var1.append('\'');\r
-        var1.append('}');\r
-        return var1.toString();\r
-    }\r
-}\r
-\r
-\r
+package com.ic.protocolSrv.bean;
+
+public class Alarm {
+    public String name;
+    public String ring;
+    public String status;
+    public String time;
+    //星期是1~7
+    public String week;
+    public String laterRing;
+    public String id;
+
+    public Alarm() {
+
+    }
+
+    public Alarm(String _time, String _week, String _ring, String _status) {
+        this.time = _time;
+        this.week = _week;
+        this.ring = _ring;
+        this.status = _status;
+    }
+
+    public Alarm(String _time, String _week, String _ring, String _status, String _name) {
+        this.time = _time;
+        this.week = _week;
+        this.ring = _ring;
+        this.status = _status;
+        this.name = _name;
+    }
+
+    public boolean equals(Object var1) {
+        if (this == var1) {
+            return true;
+        } else if (var1 != null && this.getClass() == var1.getClass()) {
+            Alarm var2 = (Alarm) var1;
+            if (!this.time.equals(var2.time)) {
+                return false;
+            } else if (!this.week.equals(var2.week)) {
+                return false;
+            } else if (!this.ring.equals(var2.ring)) {
+                return false;
+            } else {
+                return !this.status.equals(var2.status) ? false : this.name.equals(var2.name);
+            }
+        } else {
+            return false;
+        }
+    }
+
+    public String toString() {
+        StringBuilder var1 = new StringBuilder();
+        var1.append("Alarm{time='");
+        var1.append(this.time);
+        var1.append('\'');
+        var1.append(", week='");
+        var1.append(this.week);
+        var1.append('\'');
+        var1.append(", ring='");
+        var1.append(this.ring);
+        var1.append('\'');
+        var1.append(", status='");
+        var1.append(this.status);
+        var1.append('\'');
+        var1.append(", name='");
+        var1.append(this.name);
+        var1.append('\'');
+        var1.append('}');
+        return var1.toString();
+    }
+}
+
+
@@ -1,62 +1,62 @@
-package com.enqualcomm.support.bean;\r
-\r
-public class Antioff {\r
-  public String cur_sys_status;\r
-  \r
-  public String end;\r
-  \r
-  public long endTimeMillis;\r
-  \r
-  public String start;\r
-  \r
-  public long startTimeMillis;\r
-  \r
-  public String status;\r
-  \r
-  public String week;\r
-  \r
-  public Antioff(String paramString1, String paramString2, String paramString3, String paramString4) {\r
-    this.start = paramString1;\r
-    this.end = paramString2;\r
-    this.week = paramString3;\r
-    this.status = paramString4;\r
-  }\r
-  \r
-  public Antioff(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5) {\r
-    this.start = paramString1;\r
-    this.end = paramString2;\r
-    this.week = paramString3;\r
-    this.status = paramString4;\r
-    this.cur_sys_status = paramString5;\r
-  }\r
-  \r
-  public boolean equals(Object obj) {\r
-    if (this == obj)\r
-      return true; \r
-    if (obj != null) {\r
-      if (getClass() != obj.getClass())\r
-        return false;\r
-      Antioff paramObject = (Antioff)obj;\r
-      return !this.start.equals(paramObject.start) ? false : (!this.end.equals(paramObject.end) ? false : (!this.week.equals(paramObject.week) ? false : this.status.equals(paramObject.status)));\r
-    } \r
-    return false;\r
-  }\r
-  \r
-  public String toString() {\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append("Antioff{start='");\r
-    stringBuilder.append(this.start);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", end='");\r
-    stringBuilder.append(this.end);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", week='");\r
-    stringBuilder.append(this.week);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", status='");\r
-    stringBuilder.append(this.status);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append('}');\r
-    return stringBuilder.toString();\r
-  }\r
-}\r
+package com.ic.protocolSrv.bean;
+
+public class Antioff {
+  public String cur_sys_status;
+  
+  public String end;
+  
+  public long endTimeMillis;
+  
+  public String start;
+  
+  public long startTimeMillis;
+  
+  public String status;
+  
+  public String week;
+  
+  public Antioff(String paramString1, String paramString2, String paramString3, String paramString4) {
+    this.start = paramString1;
+    this.end = paramString2;
+    this.week = paramString3;
+    this.status = paramString4;
+  }
+  
+  public Antioff(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5) {
+    this.start = paramString1;
+    this.end = paramString2;
+    this.week = paramString3;
+    this.status = paramString4;
+    this.cur_sys_status = paramString5;
+  }
+  
+  public boolean equals(Object obj) {
+    if (this == obj)
+      return true; 
+    if (obj != null) {
+      if (getClass() != obj.getClass())
+        return false;
+      Antioff paramObject = (Antioff)obj;
+      return !this.start.equals(paramObject.start) ? false : (!this.end.equals(paramObject.end) ? false : (!this.week.equals(paramObject.week) ? false : this.status.equals(paramObject.status)));
+    } 
+    return false;
+  }
+  
+  public String toString() {
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append("Antioff{start='");
+    stringBuilder.append(this.start);
+    stringBuilder.append('\'');
+    stringBuilder.append(", end='");
+    stringBuilder.append(this.end);
+    stringBuilder.append('\'');
+    stringBuilder.append(", week='");
+    stringBuilder.append(this.week);
+    stringBuilder.append('\'');
+    stringBuilder.append(", status='");
+    stringBuilder.append(this.status);
+    stringBuilder.append('\'');
+    stringBuilder.append('}');
+    return stringBuilder.toString();
+  }
+}
@@ -1,19 +1,19 @@
-package com.enqualcomm.support.bean;\r
-\r
-import java.util.ArrayList;\r
-\r
-public class BLEInfo  {\r
-    public String ble_area_id="";\r
-\r
-    public ArrayList<String> btMacList=new ArrayList<>();\r
-    public ArrayList<String> btMajorList=new ArrayList<>();\r
-    public ArrayList<String> btScanResult=new ArrayList<>();\r
-\r
-    public String gps_n="";\r
-    public String gps_e="";\r
-    public boolean is_in_area=false;\r
-    public boolean last_is_in_area=false;\r
-\r
-    public static int bleScanCycle=0;\r
-\r
-}\r
+package com.ic.protocolSrv.bean;
+
+import java.util.ArrayList;
+
+public class BLEInfo  {
+    public String ble_area_id="";
+
+    public ArrayList<String> btMacList=new ArrayList<>();
+    public ArrayList<String> btMajorList=new ArrayList<>();
+    public ArrayList<String> btScanResult=new ArrayList<>();
+
+    public String gps_n="";
+    public String gps_e="";
+    public boolean is_in_area=false;
+    public boolean last_is_in_area=false;
+
+    public static int bleScanCycle=0;
+
+}
-package com.enqualcomm.support.bean;\r
-\r
-import android.os.Parcel;\r
-import android.os.Parcelable;\r
-\r
-public class Contact implements Parcelable {\r
-  public static final int CATEGORY_ADMIN = 1;\r
-  \r
-  public static final int CATEGORY_CALL = 3;\r
-  \r
-  public static final int CATEGORY_CARE = 2;\r
-  \r
-  public static final int CATEGORY_GROUP = 0;\r
-  \r
-  public static final int CATEGORY_PARTNER = 4;\r
-  \r
-  public static final int CATEGORY_VIDEO = 5;\r
-  \r
-  public static final int CATEGORY_VOLTE = 6;\r
-\r
-  public static final int CATEGORY_SOS = 7;\r
-  \r
-  public static final Creator<Contact> CREATOR = new Creator<Contact>() {\r
-      public Contact createFromParcel(Parcel param1Parcel) { return new Contact(param1Parcel); }\r
-      \r
-      public Contact[] newArray(int param1Int) { return new Contact[param1Int]; }\r
-    };\r
-  \r
-  public static final String GROUP_FAMILY = "1@-1";\r
-  \r
-  public static final String GROUP_ALL = "1@-3";\r
-  \r
-  String GROUP_PARTNER = "1@-2";\r
-  \r
-  public int category;\r
-  \r
-  public String extra;\r
-  \r
-  public String icon_index;\r
-  \r
-  public String name;\r
-  \r
-  public String number;\r
-\r
-  /**\r
-   * Contact\r
-   * @param _category\r
-   * @param _name\r
-   * @param _number\r
-   */\r
-  public Contact(int _category, String _name, String _number) {\r
-    this.category = _category;\r
-    this.name = _name;\r
-    this.number = _number;\r
-  }\r
-\r
-  /**\r
-   * Contact\r
-   * @param _category\r
-   * @param _name\r
-   * @param _number\r
-   * @param _extra\r
-   */\r
-  public Contact(int _category, String _name, String _number, String _extra) {\r
-    this.category = _category;\r
-    this.name = _name;\r
-    this.number = _number;\r
-    this.extra = _extra;\r
-  }\r
-\r
-  /**\r
-   * Contact\r
-   * @param _category\r
-   * @param _name\r
-   * @param _number\r
-   * @param _icon_index\r
-   * @param _extra\r
-   */\r
-  public Contact(int _category, String _name, String _number, String _icon_index, String _extra) {\r
-    this.category = _category;\r
-    this.name = _name;\r
-    this.number = _number;\r
-    this.icon_index = _icon_index;\r
-    this.extra = _extra;\r
-  }\r
-  \r
-  protected Contact(Parcel paramParcel) {\r
-    this.category = paramParcel.readInt();\r
-    this.name = paramParcel.readString();\r
-    this.number = paramParcel.readString();\r
-    this.icon_index = paramParcel.readString();\r
-    this.extra = paramParcel.readString();\r
-  }\r
-  \r
-  public int describeContents() { return 0; }\r
-  \r
-  public String toString() {\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append("Contact{category=");\r
-    stringBuilder.append(this.category);\r
-    stringBuilder.append(", name='");\r
-    stringBuilder.append(this.name);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", number='");\r
-    stringBuilder.append(this.number);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", icon_index='");\r
-    stringBuilder.append(this.icon_index);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", extra='");\r
-    stringBuilder.append(this.extra);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append('}');\r
-    return stringBuilder.toString();\r
-  }\r
-  \r
-  public void writeToParcel(Parcel paramParcel, int paramInt) {\r
-    paramParcel.writeInt(this.category);\r
-    paramParcel.writeString(this.name);\r
-    paramParcel.writeString(this.number);\r
-    paramParcel.writeString(this.icon_index);\r
-    paramParcel.writeString(this.extra);\r
-  }\r
-}\r
-\r
+package com.ic.protocolSrv.bean;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class Contact implements Parcelable {
+  public static final int CATEGORY_ADMIN = 1;
+  
+  public static final int CATEGORY_CALL = 3;
+  
+  public static final int CATEGORY_CARE = 2;
+  
+  public static final int CATEGORY_GROUP = 0;
+  
+  public static final int CATEGORY_PARTNER = 4;
+  
+  public static final int CATEGORY_VIDEO = 5;
+  
+  public static final int CATEGORY_VOLTE = 6;
+
+  public static final int CATEGORY_SOS = 7;
+  
+  public static final Creator<Contact> CREATOR = new Creator<Contact>() {
+      public Contact createFromParcel(Parcel param1Parcel) { return new Contact(param1Parcel); }
+      
+      public Contact[] newArray(int param1Int) { return new Contact[param1Int]; }
+    };
+  
+  public static final String GROUP_FAMILY = "1@-1";
+  
+  public static final String GROUP_ALL = "1@-3";
+  
+  String GROUP_PARTNER = "1@-2";
+  
+  public int category;
+  
+  public String extra;
+  
+  public String icon_index;
+  
+  public String name;
+  
+  public String number;
+
+  /**
+   * Contact
+   * @param _category
+   * @param _name
+   * @param _number
+   */
+  public Contact(int _category, String _name, String _number) {
+    this.category = _category;
+    this.name = _name;
+    this.number = _number;
+  }
+
+  /**
+   * Contact
+   * @param _category
+   * @param _name
+   * @param _number
+   * @param _extra
+   */
+  public Contact(int _category, String _name, String _number, String _extra) {
+    this.category = _category;
+    this.name = _name;
+    this.number = _number;
+    this.extra = _extra;
+  }
+
+  /**
+   * Contact
+   * @param _category
+   * @param _name
+   * @param _number
+   * @param _icon_index
+   * @param _extra
+   */
+  public Contact(int _category, String _name, String _number, String _icon_index, String _extra) {
+    this.category = _category;
+    this.name = _name;
+    this.number = _number;
+    this.icon_index = _icon_index;
+    this.extra = _extra;
+  }
+  
+  protected Contact(Parcel paramParcel) {
+    this.category = paramParcel.readInt();
+    this.name = paramParcel.readString();
+    this.number = paramParcel.readString();
+    this.icon_index = paramParcel.readString();
+    this.extra = paramParcel.readString();
+  }
+  
+  public int describeContents() { return 0; }
+  
+  public String toString() {
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append("Contact{category=");
+    stringBuilder.append(this.category);
+    stringBuilder.append(", name='");
+    stringBuilder.append(this.name);
+    stringBuilder.append('\'');
+    stringBuilder.append(", number='");
+    stringBuilder.append(this.number);
+    stringBuilder.append('\'');
+    stringBuilder.append(", icon_index='");
+    stringBuilder.append(this.icon_index);
+    stringBuilder.append('\'');
+    stringBuilder.append(", extra='");
+    stringBuilder.append(this.extra);
+    stringBuilder.append('\'');
+    stringBuilder.append('}');
+    return stringBuilder.toString();
+  }
+  
+  public void writeToParcel(Parcel paramParcel, int paramInt) {
+    paramParcel.writeInt(this.category);
+    paramParcel.writeString(this.name);
+    paramParcel.writeString(this.number);
+    paramParcel.writeString(this.icon_index);
+    paramParcel.writeString(this.extra);
+  }
+}
+
-package com.enqualcomm.support.bean;\r
-\r
-public abstract class Content {\r
-  public static final int CATEGORY_EMOJI = 5;\r
-  \r
-  public static final int CATEGORY_LOCATION = 6;\r
-  \r
-  public static final int CATEGORY_PICTURE = 2;\r
-  \r
-  public static final int CATEGORY_TEXT = 3;\r
-  \r
-  public static final int CATEGORY_VIDEO = 4;\r
-  \r
-  public static final int CATEGORY_VOICE = 1;\r
-  \r
-  public static final int CONTACT_CATEGORY_FAMILY = 1;\r
-  \r
-  public static final int CONTACT_CATEGORY_GROUP = 3;\r
-  \r
-  public static final int CONTACT_CATEGORY_PARTNER = 2;\r
-  \r
-  public static final int IN = 1;\r
-  \r
-  public static final int OUT = 2;\r
-  \r
-  public static final int REMOTE_CAMERA_OSS = 7;\r
-  \r
-  public static final int STATUS_ERROR = 5;\r
-  \r
-  public static final int STATUS_LOADING = 1;\r
-  \r
-  public static final int STATUS_READ = 3;\r
-  \r
-  public static final int STATUS_SEND2OSS = 4;\r
-  \r
-  public static final int STATUS_UNREAD = 2;\r
-  \r
-  public int category;\r
-  \r
-  public int contactCategory;\r
-  \r
-  public String contactNumber;\r
-  \r
-  public String content;\r
-  \r
-  public String icon;\r
-  \r
-  public int inOrOut;\r
-  \r
-  public long localTime;\r
-  \r
-  public String preview;\r
-  \r
-  public String serverTime;\r
-  \r
-  public int status;\r
-\r
-  public int filetype;\r
-  public int datatype;\r
-  \r
-  protected Content(int _category, String _content, String _preview, int _status, int _inOrOut, int _contactCategory, String _contactNumber, String _serverTime, long _localtime) {\r
-    this.category = _category;\r
-    this.content = _content;\r
-    this.preview = _preview;\r
-    this.status = _status;\r
-    this.inOrOut = _inOrOut;\r
-    this.contactCategory = _contactCategory;\r
-    this.contactNumber = _contactNumber;\r
-    this.serverTime = _serverTime;\r
-    this.localTime = _localtime;\r
-    this.filetype=1;\r
-    this.datatype=1;\r
-  }\r
-  protected Content(int _category, String _content, String _preview, int _status, int _inOrOut,\r
-                    int _contactCategory, String _contactNumber, String _serverTime, long _localtime,\r
-                    int _filetype, int _datatype) {\r
-    this.category = _category;\r
-    this.content = _content;\r
-    this.preview = _preview;\r
-    this.status = _status;\r
-    this.inOrOut = _inOrOut;\r
-    this.contactCategory = _contactCategory;\r
-    this.contactNumber = _contactNumber;\r
-    this.serverTime = _serverTime;\r
-    this.localTime = _localtime;\r
-    this.filetype=_filetype;\r
-    this.datatype=_datatype;\r
-  }\r
-  public String toString() {\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append("Content{category=");\r
-    stringBuilder.append(this.category);\r
-    stringBuilder.append(", content='");\r
-    stringBuilder.append(this.content);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", preview='");\r
-    stringBuilder.append(this.preview);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", status=");\r
-    stringBuilder.append(this.status);\r
-    stringBuilder.append(", inOrOut=");\r
-    stringBuilder.append(this.inOrOut);\r
-    stringBuilder.append(", contactCategory=");\r
-    stringBuilder.append(this.contactCategory);\r
-    stringBuilder.append(", contactNumber='");\r
-    stringBuilder.append(this.contactNumber);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", serverTime='");\r
-    stringBuilder.append(this.serverTime);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", localTime=");\r
-    stringBuilder.append(this.localTime);\r
-    stringBuilder.append(", icon='");\r
-    stringBuilder.append(this.icon);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append('}');\r
-    return stringBuilder.toString();\r
-  }\r
-}\r
-\r
+package com.ic.protocolSrv.bean;
+
+public abstract class Content {
+  public static final int CATEGORY_EMOJI = 5;
+  
+  public static final int CATEGORY_LOCATION = 6;
+  
+  public static final int CATEGORY_PICTURE = 2;
+  
+  public static final int CATEGORY_TEXT = 3;
+  
+  public static final int CATEGORY_VIDEO = 4;
+  
+  public static final int CATEGORY_VOICE = 1;
+  
+  public static final int CONTACT_CATEGORY_FAMILY = 1;
+  
+  public static final int CONTACT_CATEGORY_GROUP = 3;
+  
+  public static final int CONTACT_CATEGORY_PARTNER = 2;
+  
+  public static final int IN = 1;
+  
+  public static final int OUT = 2;
+  
+  public static final int REMOTE_CAMERA_OSS = 7;
+  
+  public static final int STATUS_ERROR = 5;
+  
+  public static final int STATUS_LOADING = 1;
+  
+  public static final int STATUS_READ = 3;
+  
+  public static final int STATUS_SEND2OSS = 4;
+  
+  public static final int STATUS_UNREAD = 2;
+  
+  public int category;
+  
+  public int contactCategory;
+  
+  public String contactNumber;
+  
+  public String content;
+  
+  public String icon;
+  
+  public int inOrOut;
+  
+  public long localTime;
+  
+  public String preview;
+  
+  public String serverTime;
+  
+  public int status;
+
+  public int filetype;
+  public int datatype;
+  
+  protected Content(int _category, String _content, String _preview, int _status, int _inOrOut, int _contactCategory, String _contactNumber, String _serverTime, long _localtime) {
+    this.category = _category;
+    this.content = _content;
+    this.preview = _preview;
+    this.status = _status;
+    this.inOrOut = _inOrOut;
+    this.contactCategory = _contactCategory;
+    this.contactNumber = _contactNumber;
+    this.serverTime = _serverTime;
+    this.localTime = _localtime;
+    this.filetype=1;
+    this.datatype=1;
+  }
+  protected Content(int _category, String _content, String _preview, int _status, int _inOrOut,
+                    int _contactCategory, String _contactNumber, String _serverTime, long _localtime,
+                    int _filetype, int _datatype) {
+    this.category = _category;
+    this.content = _content;
+    this.preview = _preview;
+    this.status = _status;
+    this.inOrOut = _inOrOut;
+    this.contactCategory = _contactCategory;
+    this.contactNumber = _contactNumber;
+    this.serverTime = _serverTime;
+    this.localTime = _localtime;
+    this.filetype=_filetype;
+    this.datatype=_datatype;
+  }
+  public String toString() {
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append("Content{category=");
+    stringBuilder.append(this.category);
+    stringBuilder.append(", content='");
+    stringBuilder.append(this.content);
+    stringBuilder.append('\'');
+    stringBuilder.append(", preview='");
+    stringBuilder.append(this.preview);
+    stringBuilder.append('\'');
+    stringBuilder.append(", status=");
+    stringBuilder.append(this.status);
+    stringBuilder.append(", inOrOut=");
+    stringBuilder.append(this.inOrOut);
+    stringBuilder.append(", contactCategory=");
+    stringBuilder.append(this.contactCategory);
+    stringBuilder.append(", contactNumber='");
+    stringBuilder.append(this.contactNumber);
+    stringBuilder.append('\'');
+    stringBuilder.append(", serverTime='");
+    stringBuilder.append(this.serverTime);
+    stringBuilder.append('\'');
+    stringBuilder.append(", localTime=");
+    stringBuilder.append(this.localTime);
+    stringBuilder.append(", icon='");
+    stringBuilder.append(this.icon);
+    stringBuilder.append('\'');
+    stringBuilder.append('}');
+    return stringBuilder.toString();
+  }
+}
+
@@ -1,47 +1,47 @@
-package com.enqualcomm.support.bean;\r
-\r
-import com.enqualcomm.support.utils.ICLogger;\r
-\r
-import java.text.ParseException;\r
-import java.text.SimpleDateFormat;\r
-import java.util.Calendar;\r
-import java.util.Date;\r
-import java.util.Locale;\r
-\r
-public class DeviceStatus {\r
-\r
-       \r
-       public String endTime;\r
-  \r
-  public int isAlarm;\r
-  \r
-  public String isSilence;\r
-  \r
-  public String startTime;\r
-  \r
-  public DeviceStatus(String paramString1, String paramString2, String paramString3, int paramInt) {\r
-    this.isSilence = paramString1;\r
-    this.startTime = paramString2;\r
-    this.endTime = paramString3;\r
-    this.isAlarm = paramInt;\r
-  }\r
-  \r
-  public String toString() {\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append("DeviceStatus{isSilence='");\r
-    stringBuilder.append(this.isSilence);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", startTime='");\r
-    stringBuilder.append(this.startTime);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", endTime='");\r
-    stringBuilder.append(this.endTime);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", isAlarm='");\r
-    stringBuilder.append(this.isAlarm);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append('}');\r
-    return stringBuilder.toString();\r
-  }\r
-\r
-}\r
+package com.ic.protocolSrv.bean;
+
+import com.ic.protocolSrv.utils.ICLogger;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+
+public class DeviceStatus {
+
+       
+       public String endTime;
+  
+  public int isAlarm;
+  
+  public String isSilence;
+  
+  public String startTime;
+  
+  public DeviceStatus(String paramString1, String paramString2, String paramString3, int paramInt) {
+    this.isSilence = paramString1;
+    this.startTime = paramString2;
+    this.endTime = paramString3;
+    this.isAlarm = paramInt;
+  }
+  
+  public String toString() {
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append("DeviceStatus{isSilence='");
+    stringBuilder.append(this.isSilence);
+    stringBuilder.append('\'');
+    stringBuilder.append(", startTime='");
+    stringBuilder.append(this.startTime);
+    stringBuilder.append('\'');
+    stringBuilder.append(", endTime='");
+    stringBuilder.append(this.endTime);
+    stringBuilder.append('\'');
+    stringBuilder.append(", isAlarm='");
+    stringBuilder.append(this.isAlarm);
+    stringBuilder.append('\'');
+    stringBuilder.append('}');
+    return stringBuilder.toString();
+  }
+
+}
@@ -1,85 +1,85 @@
-package com.enqualcomm.support.bean;\r
-\r
-import com.enqualcomm.support.utils.TimeUtil;\r
-\r
-public class HealthInfo {\r
-    private String LocationState="";\r
-    private String PPG_ECG_State="";\r
-    private String Temperature_State="";\r
-    private String StepCount_Stat="";\r
-    private StringBuffer infoBuffer=new StringBuffer();\r
-    private int infoCount=0;\r
-    public void reset(){\r
-        StepCount_Stat=LocationState=PPG_ECG_State=Temperature_State="";\r
-    }\r
-    public void resetBuffer(){\r
-        infoBuffer.delete(0,infoBuffer.length());\r
-        infoCount=0;\r
-    }\r
-    public int getInfoCount(){\r
-        return infoCount;\r
-    }\r
-    public void setLocationData(String location){\r
-        LocationState=location;\r
-    }\r
-\r
-    public void setPPGECGData(String ppg,String bph,String bpl, String spo2){\r
-//        PPG_ECG_State="ppg="+ppg+",bph="+bph+",bpl="+bpl+",spo2="+spo2;\r
-        PPG_ECG_State=ppg+","+bph+","+bpl+","+spo2;\r
-    }\r
-    public void setPPGECGData(int ppg,int bph,int bpl, int spo2){\r
-//        PPG_ECG_State="ppg="+ppg+",bph="+bph+",bpl="+bpl+",spo2="+spo2;\r
-        PPG_ECG_State=ppg+","+bph+","+bpl+","+spo2;\r
-    }\r
-    public void setTemperatureData(double temp){\r
-//        Temperature_State="temp="+String.format("%.1f",temp);\r
-        Temperature_State=String.format("%.1f",temp);\r
-    }\r
-\r
-    public void setStepCount(int stepcount){\r
-//        StepCount_Stat="stepcount="+stepcount;\r
-        StepCount_Stat=String.valueOf(stepcount);\r
-    }\r
-\r
-    public boolean check_info_item_finished(){\r
-//        if (!LocationState.trim().isEmpty() && !PPG_ECG_State.trim().isEmpty() && !Temperature_State.trim().isEmpty()|!StepCount_Stat.trim().isEmpty())\r
-         if ( !PPG_ECG_State.trim().isEmpty() && !Temperature_State.trim().isEmpty()|!StepCount_Stat.trim().isEmpty())\r
-         {\r
-            return true;\r
-        }else\r
-            return false;\r
-    }\r
-\r
-    public void appendBuffer(String data){\r
-        if(infoCount>0){\r
-            //第二个起,要添加分隔符 |\r
-            infoBuffer.append("|").append(data);\r
-        }else {\r
-            //第一个直接添加到后面\r
-            infoBuffer.append(data);\r
-        }\r
-        infoCount++;\r
-    }\r
-\r
-    public String getBufferDataStr(){\r
-        return new StringBuilder().append(infoCount).append(",").append(infoBuffer.toString()).toString();\r
-//        return infoBuffer.toString();\r
-    }\r
-    public byte[] getBufferData(){\r
-        return new StringBuilder().append(infoCount).append(",").append(infoBuffer.toString()).toString().getBytes();\r
-//        return infoBuffer.toString().getBytes();\r
-    }\r
-    public String getHealthInfoString(){\r
-        if (check_info_item_finished()==true){\r
-            return new StringBuilder()\r
-                    .append("").append(TimeUtil.getSystemTime3()).append(",")\r
-//                    .append(LocationState.trim()).append(";")\r
-                    .append(PPG_ECG_State.trim()).append(",")\r
-                    .append(Temperature_State.trim()).append(",")\r
-                    .append(StepCount_Stat.trim())\r
-                    .toString();\r
-        }else{\r
-            return "";\r
-        }\r
-    }\r
-}\r
+package com.ic.protocolSrv.bean;
+
+import com.ic.protocolSrv.utils.TimeUtil;
+
+public class HealthInfo {
+    private String LocationState="";
+    private String PPG_ECG_State="";
+    private String Temperature_State="";
+    private String StepCount_Stat="";
+    private StringBuffer infoBuffer=new StringBuffer();
+    private int infoCount=0;
+    public void reset(){
+        StepCount_Stat=LocationState=PPG_ECG_State=Temperature_State="";
+    }
+    public void resetBuffer(){
+        infoBuffer.delete(0,infoBuffer.length());
+        infoCount=0;
+    }
+    public int getInfoCount(){
+        return infoCount;
+    }
+    public void setLocationData(String location){
+        LocationState=location;
+    }
+
+    public void setPPGECGData(String ppg,String bph,String bpl, String spo2){
+//        PPG_ECG_State="ppg="+ppg+",bph="+bph+",bpl="+bpl+",spo2="+spo2;
+        PPG_ECG_State=ppg+","+bph+","+bpl+","+spo2;
+    }
+    public void setPPGECGData(int ppg,int bph,int bpl, int spo2){
+//        PPG_ECG_State="ppg="+ppg+",bph="+bph+",bpl="+bpl+",spo2="+spo2;
+        PPG_ECG_State=ppg+","+bph+","+bpl+","+spo2;
+    }
+    public void setTemperatureData(double temp){
+//        Temperature_State="temp="+String.format("%.1f",temp);
+        Temperature_State=String.format("%.1f",temp);
+    }
+
+    public void setStepCount(int stepcount){
+//        StepCount_Stat="stepcount="+stepcount;
+        StepCount_Stat=String.valueOf(stepcount);
+    }
+
+    public boolean check_info_item_finished(){
+//        if (!LocationState.trim().isEmpty() && !PPG_ECG_State.trim().isEmpty() && !Temperature_State.trim().isEmpty()|!StepCount_Stat.trim().isEmpty())
+         if ( !PPG_ECG_State.trim().isEmpty() && !Temperature_State.trim().isEmpty()|!StepCount_Stat.trim().isEmpty())
+         {
+            return true;
+        }else
+            return false;
+    }
+
+    public void appendBuffer(String data){
+        if(infoCount>0){
+            //第二个起,要添加分隔符 |
+            infoBuffer.append("|").append(data);
+        }else {
+            //第一个直接添加到后面
+            infoBuffer.append(data);
+        }
+        infoCount++;
+    }
+
+    public String getBufferDataStr(){
+        return new StringBuilder().append(infoCount).append(",").append(infoBuffer.toString()).toString();
+//        return infoBuffer.toString();
+    }
+    public byte[] getBufferData(){
+        return new StringBuilder().append(infoCount).append(",").append(infoBuffer.toString()).toString().getBytes();
+//        return infoBuffer.toString().getBytes();
+    }
+    public String getHealthInfoString(){
+        if (check_info_item_finished()==true){
+            return new StringBuilder()
+                    .append("").append(TimeUtil.getSystemTime3()).append(",")
+//                    .append(LocationState.trim()).append(";")
+                    .append(PPG_ECG_State.trim()).append(",")
+                    .append(Temperature_State.trim()).append(",")
+                    .append(StepCount_Stat.trim())
+                    .toString();
+        }else{
+            return "";
+        }
+    }
+}
-package com.enqualcomm.support.bean;\r
-\r
-import com.enqualcomm.support.utils.ICLogger;\r
-\r
-import java.util.ArrayList;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-\r
-public class ICLocation {\r
-\r
-    public static class GpsSatellitePriv {\r
-        int prn;\r
-        float snr;\r
-\r
-        public GpsSatellitePriv(int _prn, float _snr) {\r
-            prn = _prn;\r
-            snr = _snr;\r
-        }\r
-\r
-        public int getPrn() {\r
-            return prn;\r
-        }\r
-\r
-        public float getSnr() {\r
-            return snr;\r
-        }\r
-    }\r
-\r
-    public List<GpsSatellitePriv> numSatelliteList = new ArrayList<GpsSatellitePriv>(); // 卫星信号\r
-    public List<GpsSatellitePriv> max3Satellite = new ArrayList<GpsSatellitePriv>(); // 卫星信号\r
-    private static boolean adding_satlite_flag = false;\r
-\r
-    public void set_adding_satlite_flag(boolean flag) {\r
-        adding_satlite_flag = flag;\r
-    }\r
-\r
-    public List<GpsSatellitePriv> getNumSatelliteList() {\r
-        if (adding_satlite_flag)\r
-            return null;\r
-        return numSatelliteList;\r
-    }\r
-\r
-\r
-    private LOCATION_STAT currentStat;\r
-    private GPS_LocationPoint currentLP = null;\r
-    private LBS_Data currentLBS = null;\r
-\r
-    public class GPS_LocationPoint {\r
-        public double lat;\r
-        public double lon;\r
-        public float speed;\r
-        public float heading;\r
-        public int used_gps_numbs;\r
-        public String latStr;\r
-        public String lonStr;\r
-        public String latGPSStr;\r
-        public String lonGPSStr;\r
-        public String lat_name;\r
-        public String lon_name;\r
-        public float hdop;\r
-        public float bearing;\r
-        public double altitude;\r
-    }\r
-\r
-    public static class GPS_locationStatus {\r
-        public List<GpsSatellitePriv> numSatelliteList = new ArrayList<GpsSatellitePriv>(); // 卫星信号\r
-        public int used_gps_numbs;\r
-        public float hdop;\r
-        public int satlite_numbss;\r
-        public int search_time_cost;\r
-        public int locating_status;\r
-    }\r
-\r
-    public class LBS_Data {\r
-        HashMap<String, Integer> wifi_aps = null;\r
-        HashMap<String, Integer> gsm_stations = null;\r
-    }\r
-\r
-    public enum LOCATION_STAT {\r
-        LOCATION_OPEN,\r
-        LOCATION_FIXED,\r
-        LOCATION_SEARCHING,\r
-        LOCATION_GPS_FAILED,\r
-        LOCATION_GPS_TIEMOUT,\r
-        LOCATION_WIFI_FAILED,\r
-        LOCATION_CLOSED,\r
-    }\r
-\r
-\r
-    public static final int NORMAL_MOD = 1;     //location rate 1 time per 15 minutes\r
-    public static final int LOWPOWER_MOD = 2;   // location rate 1 time per hour\r
-    public static final int REALTIME_MOD = 3; //location rate 1 time per minutes\r
-    public static final int EMERGNECY_MOD = 4; //location rate 1 time per minutes com.ic.work 5 minutes\r
-    public static final int CUSTOM_MOD = 5; //location rate 1 time per minutes\r
-    public static final int CUSTOM_MOD8_GPS = 8; //location rate 1 time per minutes\r
-    public static final int CUSTOM_MOD8_WIFI = 9; //location rate 1 time per minutes\r
-\r
-    private int mworkingMod;\r
-    private int location_cycle;\r
-\r
-    public static final float MAX_HDOP = 10.0f;\r
-    public static final int MAX_GPS_NOSIGNAL_COUNT = 15;\r
-    public static final int MAX_GPS_SEARCH_TIMEOUT = 120;\r
-\r
-    public void setWorkingMod(int wkmod) {\r
-        mworkingMod = wkmod;\r
-    }\r
-\r
-    public void setLocation_cycle(int _locatCycle) {\r
-        location_cycle = _locatCycle;\r
-    }\r
-\r
-    public int getWorkingMod() {\r
-        return mworkingMod;\r
-    }\r
-\r
-    public int getLocation_cycle() {\r
-        return location_cycle;\r
-    }\r
-\r
-    public ICLocation() {\r
-        if (currentLP == null)\r
-            currentLP = new GPS_LocationPoint();\r
-\r
-        currentStat = LOCATION_STAT.LOCATION_CLOSED;\r
-        if (currentLBS == null)\r
-            currentLBS = new LBS_Data();\r
-        if (currentLBS.gsm_stations == null)\r
-            currentLBS.gsm_stations = new HashMap<String, Integer>();\r
-        if (currentLBS.wifi_aps == null)\r
-            currentLBS.wifi_aps = new HashMap<String, Integer>();\r
-\r
-        init_data();\r
-    }\r
-\r
-    public void setLocationStat(LOCATION_STAT stat) {\r
-        this.currentStat = stat;\r
-    }\r
-\r
-    private void init_data() {\r
-//        currentLP.lat=2232.9806f;\r
-//        currentLP.lon=11404.9355f;\r
-//        currentLP.speed=000.1f;\r
-//        currentLP.heading=0.0f;\r
-//\r
-//        currentLBS.wifi_aps.put("74-DE-2B-44-88-8C",97);\r
-//        currentLBS.wifi_aps.put("74-DE-2B-44-88-8D",97);\r
-\r
-\r
-    }\r
-\r
-    public LOCATION_STAT getLocationStat() {\r
-        return currentStat;\r
-    }\r
-\r
-    private String LocationTime;\r
-\r
-    public void setLocationTime(String time) {\r
-\r
-        LocationTime = time;\r
-    }\r
-\r
-    public String getLocationTime() {\r
-        return LocationTime;\r
-    }\r
-\r
-    private String LocationType;\r
-\r
-    public void setLocationType(String type) {\r
-\r
-        LocationType = type;\r
-    }\r
-\r
-    public String getLocationType() {\r
-        return LocationType;\r
-    }\r
-\r
-    public GPS_LocationPoint getLocation() {\r
-        return currentLP;\r
-    }\r
-\r
-    public void setHod(float _hot) {\r
-        currentLP.hdop = _hot;\r
-    }\r
-\r
-    public float getHdop() {\r
-        return currentLP.hdop;\r
-    }\r
-\r
-    public void setSpeed(float _speed) {\r
-        currentLP.speed = _speed;\r
-    }\r
-\r
-    public float getSpeed() {\r
-        return currentLP.speed;\r
-    }\r
-\r
-    public void setLocation(double lat, double lon) {\r
-        currentLP.lat = lat;\r
-        currentLP.lon = lon;\r
-    }\r
-\r
-    public void setLocationlatlonName(String latname, String lonname) {\r
-        currentLP.lat_name = latname;\r
-        currentLP.lon_name = lonname;\r
-    }\r
-\r
-    public void setLocation(String lat, String lon) {\r
-        currentLP.latStr = lat;\r
-        currentLP.lonStr = lon;\r
-    }\r
-\r
-    public void setLocationGPS(String lat, String lon) {\r
-        currentLP.latGPSStr = lat;\r
-        currentLP.lonGPSStr = lon;\r
-    }\r
-\r
-    public void setHeading(float heding) {\r
-        currentLP.heading = heding;\r
-    }\r
-\r
-    public float getheading() {\r
-        return currentLP.heading;\r
-    }\r
-\r
-    public void setUsedStarts(int starts) {\r
-        currentLP.used_gps_numbs = starts;\r
-    }\r
-\r
-    public int getUsedStarts() {\r
-        return currentLP.used_gps_numbs;\r
-    }\r
-\r
-    public void setLocation(double lat, double lon, float speed, float heading, int userdgpsnumbers, float hdop) {\r
-        currentLP.lat = lat;\r
-        currentLP.lon = lon;\r
-        currentLP.speed = speed;\r
-        currentLP.heading = heading;\r
-        currentLP.used_gps_numbs = userdgpsnumbers;\r
-        currentLP.latStr = "";\r
-        currentLP.lonStr = "";\r
-        currentLP.hdop = hdop;\r
-    }\r
-\r
-    public void setLocation(String lat, String lon, float speed, float heading, int userdgpsnumbers, float hdop) {\r
-        currentLP.lat = 0;\r
-        currentLP.lon = 0;\r
-        currentLP.speed = speed;\r
-        currentLP.heading = heading;\r
-        currentLP.used_gps_numbs = userdgpsnumbers;\r
-        currentLP.latStr = lat;\r
-        currentLP.lonStr = lon;\r
-        currentLP.hdop = 99.9f;\r
-    }\r
-\r
-    public void clearLBSdata() {\r
-        currentLBS.gsm_stations.clear();\r
-    }\r
-\r
-    public void clearWiFidata() {\r
-        currentLBS.wifi_aps.clear();\r
-    }\r
-\r
-    public void append_gsmstation(String station, int rssi) {\r
-        currentLBS.gsm_stations.put(station, rssi);\r
-    }\r
-\r
-    public void append_wifiap(String wifi, int rssi) {\r
-        currentLBS.wifi_aps.put(wifi, rssi);\r
-    }\r
-\r
-\r
-    //        MCC,Mobile Country Code,移动国家代码(中国的为460);\r
-//        MNC,Mobile Network Code,移动网络号码(中国移动为00,中国联通为01);\r
-//        LAC,Location Area Code,位置区域码;\r
-//        CID,Cell Identity,基站编号,是个16位的数据(范围是0到65535)。\r
-\r
-\r
-    private String MCC = "0";\r
-    private String MNC = "0";\r
-    private int LAC = 0;\r
-    private int CID = 0;\r
-    private int rxlevel = 0;\r
-    private boolean datachanged = false;\r
-\r
-    public void setMCC(String mcc) {\r
-        MCC = mcc;\r
-        datachanged = true;\r
-    }\r
-\r
-    public void setMNC(String mnc) {\r
-        ICLogger.d("MNC==> " + mnc);\r
-        MNC = mnc;\r
-        datachanged = true;\r
-    }\r
-\r
-    public void setLAC(int lac) {\r
-        LAC = lac;\r
-        datachanged = true;\r
-    }\r
-\r
-    public void setCID(int cid) {\r
-        CID = cid;\r
-        datachanged = true;\r
-    }\r
-\r
-    public void setRxlevel(int level) {\r
-        rxlevel = level;\r
-    }\r
-\r
-    public boolean isDataChanged() {\r
-        return datachanged;\r
-    }\r
-\r
-    public String getMCC() {\r
-        return MCC;\r
-    }\r
-\r
-    public String getMNC() {\r
-        return MNC;\r
-    }\r
-\r
-    public int getRxlevel() {\r
-        return rxlevel;\r
-    }\r
-\r
-    public long getLAC() {\r
-        return LAC;\r
-    }\r
-\r
-    public long getGSMStationCID() {\r
-        return CID;\r
-    }\r
-\r
-    public LBS_Data getLBSdata() {\r
-        return currentLBS;\r
-    }\r
-\r
-}\r
+package com.ic.protocolSrv.bean;
+
+import com.ic.protocolSrv.utils.ICLogger;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+public class ICLocation {
+
+    public static class GpsSatellitePriv {
+        int prn;
+        float snr;
+
+        public GpsSatellitePriv(int _prn, float _snr) {
+            prn = _prn;
+            snr = _snr;
+        }
+
+        public int getPrn() {
+            return prn;
+        }
+
+        public float getSnr() {
+            return snr;
+        }
+    }
+
+    public List<GpsSatellitePriv> numSatelliteList = new ArrayList<GpsSatellitePriv>(); // 卫星信号
+    public List<GpsSatellitePriv> max3Satellite = new ArrayList<GpsSatellitePriv>(); // 卫星信号
+    private static boolean adding_satlite_flag = false;
+
+    public void set_adding_satlite_flag(boolean flag) {
+        adding_satlite_flag = flag;
+    }
+
+    public List<GpsSatellitePriv> getNumSatelliteList() {
+        if (adding_satlite_flag)
+            return null;
+        return numSatelliteList;
+    }
+
+
+    private LOCATION_STAT currentStat;
+    private GPS_LocationPoint currentLP = null;
+    private LBS_Data currentLBS = null;
+
+    public class GPS_LocationPoint {
+        public double lat;
+        public double lon;
+        public float speed;
+        public float heading;
+        public int used_gps_numbs;
+        public String latStr;
+        public String lonStr;
+        public String latGPSStr;
+        public String lonGPSStr;
+        public String lat_name;
+        public String lon_name;
+        public float hdop;
+        public float bearing;
+        public double altitude;
+    }
+
+    public static class GPS_locationStatus {
+        public List<GpsSatellitePriv> numSatelliteList = new ArrayList<GpsSatellitePriv>(); // 卫星信号
+        public int used_gps_numbs;
+        public float hdop;
+        public int satlite_numbss;
+        public int search_time_cost;
+        public int locating_status;
+    }
+
+    public class LBS_Data {
+        HashMap<String, Integer> wifi_aps = null;
+        HashMap<String, Integer> gsm_stations = null;
+    }
+
+    public enum LOCATION_STAT {
+        LOCATION_OPEN,
+        LOCATION_FIXED,
+        LOCATION_SEARCHING,
+        LOCATION_GPS_FAILED,
+        LOCATION_GPS_TIEMOUT,
+        LOCATION_WIFI_FAILED,
+        LOCATION_CLOSED,
+    }
+
+
+    public static final int NORMAL_MOD = 1;     //location rate 1 time per 15 minutes
+    public static final int LOWPOWER_MOD = 2;   // location rate 1 time per hour
+    public static final int REALTIME_MOD = 3; //location rate 1 time per minutes
+    public static final int EMERGNECY_MOD = 4; //location rate 1 time per minutes com.ic.work 5 minutes
+    public static final int CUSTOM_MOD = 5; //location rate 1 time per minutes
+    public static final int CUSTOM_MOD8_GPS = 8; //location rate 1 time per minutes
+    public static final int CUSTOM_MOD8_WIFI = 9; //location rate 1 time per minutes
+
+    private int mworkingMod;
+    private int location_cycle;
+
+    public static final float MAX_HDOP = 10.0f;
+    public static final int MAX_GPS_NOSIGNAL_COUNT = 15;
+    public static final int MAX_GPS_SEARCH_TIMEOUT = 120;
+
+    public void setWorkingMod(int wkmod) {
+        mworkingMod = wkmod;
+    }
+
+    public void setLocation_cycle(int _locatCycle) {
+        location_cycle = _locatCycle;
+    }
+
+    public int getWorkingMod() {
+        return mworkingMod;
+    }
+
+    public int getLocation_cycle() {
+        return location_cycle;
+    }
+
+    public ICLocation() {
+        if (currentLP == null)
+            currentLP = new GPS_LocationPoint();
+
+        currentStat = LOCATION_STAT.LOCATION_CLOSED;
+        if (currentLBS == null)
+            currentLBS = new LBS_Data();
+        if (currentLBS.gsm_stations == null)
+            currentLBS.gsm_stations = new HashMap<String, Integer>();
+        if (currentLBS.wifi_aps == null)
+            currentLBS.wifi_aps = new HashMap<String, Integer>();
+
+        init_data();
+    }
+
+    public void setLocationStat(LOCATION_STAT stat) {
+        this.currentStat = stat;
+    }
+
+    private void init_data() {
+//        currentLP.lat=2232.9806f;
+//        currentLP.lon=11404.9355f;
+//        currentLP.speed=000.1f;
+//        currentLP.heading=0.0f;
+//
+//        currentLBS.wifi_aps.put("74-DE-2B-44-88-8C",97);
+//        currentLBS.wifi_aps.put("74-DE-2B-44-88-8D",97);
+
+
+    }
+
+    public LOCATION_STAT getLocationStat() {
+        return currentStat;
+    }
+
+    private String LocationTime;
+
+    public void setLocationTime(String time) {
+
+        LocationTime = time;
+    }
+
+    public String getLocationTime() {
+        return LocationTime;
+    }
+
+    private String LocationType;
+
+    public void setLocationType(String type) {
+
+        LocationType = type;
+    }
+
+    public String getLocationType() {
+        return LocationType;
+    }
+
+    public GPS_LocationPoint getLocation() {
+        return currentLP;
+    }
+
+    public void setHod(float _hot) {
+        currentLP.hdop = _hot;
+    }
+
+    public float getHdop() {
+        return currentLP.hdop;
+    }
+
+    public void setSpeed(float _speed) {
+        currentLP.speed = _speed;
+    }
+
+    public float getSpeed() {
+        return currentLP.speed;
+    }
+
+    public void setLocation(double lat, double lon) {
+        currentLP.lat = lat;
+        currentLP.lon = lon;
+    }
+
+    public void setLocationlatlonName(String latname, String lonname) {
+        currentLP.lat_name = latname;
+        currentLP.lon_name = lonname;
+    }
+
+    public void setLocation(String lat, String lon) {
+        currentLP.latStr = lat;
+        currentLP.lonStr = lon;
+    }
+
+    public void setLocationGPS(String lat, String lon) {
+        currentLP.latGPSStr = lat;
+        currentLP.lonGPSStr = lon;
+    }
+
+    public void setHeading(float heding) {
+        currentLP.heading = heding;
+    }
+
+    public float getheading() {
+        return currentLP.heading;
+    }
+
+    public void setUsedStarts(int starts) {
+        currentLP.used_gps_numbs = starts;
+    }
+
+    public int getUsedStarts() {
+        return currentLP.used_gps_numbs;
+    }
+
+    public void setLocation(double lat, double lon, float speed, float heading, int userdgpsnumbers, float hdop) {
+        currentLP.lat = lat;
+        currentLP.lon = lon;
+        currentLP.speed = speed;
+        currentLP.heading = heading;
+        currentLP.used_gps_numbs = userdgpsnumbers;
+        currentLP.latStr = "";
+        currentLP.lonStr = "";
+        currentLP.hdop = hdop;
+    }
+
+    public void setLocation(String lat, String lon, float speed, float heading, int userdgpsnumbers, float hdop) {
+        currentLP.lat = 0;
+        currentLP.lon = 0;
+        currentLP.speed = speed;
+        currentLP.heading = heading;
+        currentLP.used_gps_numbs = userdgpsnumbers;
+        currentLP.latStr = lat;
+        currentLP.lonStr = lon;
+        currentLP.hdop = 99.9f;
+    }
+
+    public void clearLBSdata() {
+        currentLBS.gsm_stations.clear();
+    }
+
+    public void clearWiFidata() {
+        currentLBS.wifi_aps.clear();
+    }
+
+    public void append_gsmstation(String station, int rssi) {
+        currentLBS.gsm_stations.put(station, rssi);
+    }
+
+    public void append_wifiap(String wifi, int rssi) {
+        currentLBS.wifi_aps.put(wifi, rssi);
+    }
+
+
+    //        MCC,Mobile Country Code,移动国家代码(中国的为460);
+//        MNC,Mobile Network Code,移动网络号码(中国移动为00,中国联通为01);
+//        LAC,Location Area Code,位置区域码;
+//        CID,Cell Identity,基站编号,是个16位的数据(范围是0到65535)。
+
+
+    private String MCC = "0";
+    private String MNC = "0";
+    private int LAC = 0;
+    private int CID = 0;
+    private int rxlevel = 0;
+    private boolean datachanged = false;
+
+    public void setMCC(String mcc) {
+        MCC = mcc;
+        datachanged = true;
+    }
+
+    public void setMNC(String mnc) {
+        ICLogger.d("MNC==> " + mnc);
+        MNC = mnc;
+        datachanged = true;
+    }
+
+    public void setLAC(int lac) {
+        LAC = lac;
+        datachanged = true;
+    }
+
+    public void setCID(int cid) {
+        CID = cid;
+        datachanged = true;
+    }
+
+    public void setRxlevel(int level) {
+        rxlevel = level;
+    }
+
+    public boolean isDataChanged() {
+        return datachanged;
+    }
+
+    public String getMCC() {
+        return MCC;
+    }
+
+    public String getMNC() {
+        return MNC;
+    }
+
+    public int getRxlevel() {
+        return rxlevel;
+    }
+
+    public long getLAC() {
+        return LAC;
+    }
+
+    public long getGSMStationCID() {
+        return CID;
+    }
+
+    public LBS_Data getLBSdata() {
+        return currentLBS;
+    }
+
+}
@@ -1,31 +1,31 @@
-package com.enqualcomm.support.bean;\r
-\r
-import java.text.SimpleDateFormat;\r
-import java.util.Date;\r
-import java.util.Locale;\r
-\r
-public class Locations {\r
-  private String lat;\r
-  \r
-  private String lon;\r
-  \r
-  private long timeMs;\r
-  \r
-  public Locations(String paramString1, String paramString2) {\r
-    this.lat = paramString2;\r
-    this.lon = paramString1;\r
-  }\r
-  \r
-  public Locations(String paramString1, String paramString2, long paramLong) {\r
-    this.lat = paramString2;\r
-    this.lon = paramString1;\r
-    this.timeMs = paramLong;\r
-  }\r
-  \r
-  public String getLat() { return this.lat; }\r
-  \r
-  public String getLon() { return this.lon; }\r
-  \r
-  public String getTime() { return (new SimpleDateFormat("yyyy-MM-dd#HH:mm:ss", Locale.getDefault())).format(new Date(this.timeMs)).replace("#", "T"); }\r
-}\r
-\r
+package com.ic.protocolSrv.bean;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+public class Locations {
+  private String lat;
+  
+  private String lon;
+  
+  private long timeMs;
+  
+  public Locations(String paramString1, String paramString2) {
+    this.lat = paramString2;
+    this.lon = paramString1;
+  }
+  
+  public Locations(String paramString1, String paramString2, long paramLong) {
+    this.lat = paramString2;
+    this.lon = paramString1;
+    this.timeMs = paramLong;
+  }
+  
+  public String getLat() { return this.lat; }
+  
+  public String getLon() { return this.lon; }
+  
+  public String getTime() { return (new SimpleDateFormat("yyyy-MM-dd#HH:mm:ss", Locale.getDefault())).format(new Date(this.timeMs)).replace("#", "T"); }
+}
+
@@ -1,86 +1,86 @@
-package com.enqualcomm.support.bean;\r
-\r
-import com.enqualcomm.support.utils.Util;\r
-import java.io.File;\r
-import java.util.ArrayList;\r
-\r
-public class NoticeContent {\r
-  public String noticeCategory;\r
-  public String noticeContent;\r
-  public String noticeFrequency;\r
-  public String noticeID;\r
-  public String noticeName;\r
-  public String noticeNumber;\r
-  public String noticeTime;\r
-\r
-  public NoticeContent(String var1, String var2, String var3, String var4, String var5, String var6, String var7) {\r
-    this.noticeTime = var1;\r
-    this.noticeName = var2;\r
-    this.noticeNumber = var3;\r
-    this.noticeID = var4;\r
-    this.noticeCategory = var5;\r
-    this.noticeFrequency = var6;\r
-    this.noticeContent = var7;\r
-  }\r
-\r
-  public static NoticeContent from(NoticeContent var0, byte[] var1, File var2) {\r
-    byte var3 = var1[0];\r
-    byte[] var4 = new byte[var3];\r
-    System.arraycopy(var1, 1, var4, 0, var3);\r
-    ArrayList var5 = Util.split(var4, (byte)59, 0);\r
-    ArrayList var6 = Util.split((byte[])var5.get(3), (byte)58, 0);\r
-    String var14 = new String((byte[])var6.get(0));\r
-    String var16 = new String((byte[])var6.get(1));\r
-    StringBuilder var7 = new StringBuilder();\r
-    var7.append(new String((byte[])var5.get(1)));\r
-    var7.append(new String((byte[])var5.get(2)));\r
-    String var17 = var7.toString();\r
-    String var8 = new String((byte[])var5.get(4));\r
-    String var9 = new String((byte[])var5.get(5));\r
-    String var15 = new String((byte[])var5.get(6));\r
-    int var10 = var1.length - 1 - var3;\r
-    int var13 = var1.length;\r
-    StringBuilder var11 = new StringBuilder();\r
-    var11.append(var8);\r
-    var11.append(".amr");\r
-    String var12 = Util.saveFile(var1, var13 - var10, var10, var2, var11.toString());\r
-    Util.getDuration(var12);\r
-    var0.noticeTime = var17;\r
-    var0.noticeName = var14;\r
-    var0.noticeNumber = var16;\r
-    var0.noticeID = var8;\r
-    var0.noticeCategory = var9;\r
-    var0.noticeFrequency = var15;\r
-    var0.noticeContent = var12;\r
-    return var0;\r
-  }\r
-\r
-  public static NoticeContent placeHolderIn(String var0) {\r
-    return new NoticeContent((String)null, (String)null, (String)null, var0, "1", "0", (String)null);\r
-  }\r
-\r
-  public String toString() {\r
-    StringBuilder var1 = new StringBuilder();\r
-    var1.append("NoticeContent{noticeTime='");\r
-    var1.append(this.noticeTime);\r
-    var1.append('\'');\r
-    var1.append(", noticeName='");\r
-    var1.append(this.noticeName);\r
-    var1.append('\'');\r
-    var1.append(", noticeNumber='");\r
-    var1.append(this.noticeNumber);\r
-    var1.append('\'');\r
-    var1.append(", noticeID='");\r
-    var1.append(this.noticeID);\r
-    var1.append('\'');\r
-    var1.append(", noticeCategory=");\r
-    var1.append(this.noticeCategory);\r
-    var1.append(", noticeFrequency=");\r
-    var1.append(this.noticeFrequency);\r
-    var1.append(", noticeContent='");\r
-    var1.append(this.noticeContent);\r
-    var1.append('\'');\r
-    var1.append('}');\r
-    return var1.toString();\r
-  }\r
+package com.ic.protocolSrv.bean;
+
+import com.ic.protocolSrv.utils.Util;
+import java.io.File;
+import java.util.ArrayList;
+
+public class NoticeContent {
+  public String noticeCategory;
+  public String noticeContent;
+  public String noticeFrequency;
+  public String noticeID;
+  public String noticeName;
+  public String noticeNumber;
+  public String noticeTime;
+
+  public NoticeContent(String var1, String var2, String var3, String var4, String var5, String var6, String var7) {
+    this.noticeTime = var1;
+    this.noticeName = var2;
+    this.noticeNumber = var3;
+    this.noticeID = var4;
+    this.noticeCategory = var5;
+    this.noticeFrequency = var6;
+    this.noticeContent = var7;
+  }
+
+  public static NoticeContent from(NoticeContent var0, byte[] var1, File var2) {
+    byte var3 = var1[0];
+    byte[] var4 = new byte[var3];
+    System.arraycopy(var1, 1, var4, 0, var3);
+    ArrayList var5 = Util.split(var4, (byte)59, 0);
+    ArrayList var6 = Util.split((byte[])var5.get(3), (byte)58, 0);
+    String var14 = new String((byte[])var6.get(0));
+    String var16 = new String((byte[])var6.get(1));
+    StringBuilder var7 = new StringBuilder();
+    var7.append(new String((byte[])var5.get(1)));
+    var7.append(new String((byte[])var5.get(2)));
+    String var17 = var7.toString();
+    String var8 = new String((byte[])var5.get(4));
+    String var9 = new String((byte[])var5.get(5));
+    String var15 = new String((byte[])var5.get(6));
+    int var10 = var1.length - 1 - var3;
+    int var13 = var1.length;
+    StringBuilder var11 = new StringBuilder();
+    var11.append(var8);
+    var11.append(".amr");
+    String var12 = Util.saveFile(var1, var13 - var10, var10, var2, var11.toString());
+    Util.getDuration(var12);
+    var0.noticeTime = var17;
+    var0.noticeName = var14;
+    var0.noticeNumber = var16;
+    var0.noticeID = var8;
+    var0.noticeCategory = var9;
+    var0.noticeFrequency = var15;
+    var0.noticeContent = var12;
+    return var0;
+  }
+
+  public static NoticeContent placeHolderIn(String var0) {
+    return new NoticeContent((String)null, (String)null, (String)null, var0, "1", "0", (String)null);
+  }
+
+  public String toString() {
+    StringBuilder var1 = new StringBuilder();
+    var1.append("NoticeContent{noticeTime='");
+    var1.append(this.noticeTime);
+    var1.append('\'');
+    var1.append(", noticeName='");
+    var1.append(this.noticeName);
+    var1.append('\'');
+    var1.append(", noticeNumber='");
+    var1.append(this.noticeNumber);
+    var1.append('\'');
+    var1.append(", noticeID='");
+    var1.append(this.noticeID);
+    var1.append('\'');
+    var1.append(", noticeCategory=");
+    var1.append(this.noticeCategory);
+    var1.append(", noticeFrequency=");
+    var1.append(this.noticeFrequency);
+    var1.append(", noticeContent='");
+    var1.append(this.noticeContent);
+    var1.append('\'');
+    var1.append('}');
+    return var1.toString();
+  }
 }
\ No newline at end of file
@@ -1,48 +1,48 @@
-package com.enqualcomm.support.bean;\r
-\r
-public class NotificationParam {\r
-  public static final int ADD_NEW_ONE = 1;\r
-  \r
-  public static final int APP_CALL = 2;\r
-  \r
-  public static final int APP_WECHAT = 1;\r
-  \r
-  public static final int DEL_SOMEONE = 3;\r
-  \r
-  public static final int READ_SOMEONE = 2;\r
-  \r
-  public int category;\r
-  \r
-  public String id;\r
-  \r
-  public long lastRevTime;\r
-  \r
-  public int noReadmsgCount = 0;\r
-  \r
-  public NotificationParam(int paramInt1, String paramString, int paramInt2, long paramLong) {\r
-    this.category = paramInt1;\r
-    this.id = paramString;\r
-    this.noReadmsgCount = paramInt2;\r
-    this.lastRevTime = paramLong;\r
-  }\r
-  \r
-  public NotificationParam init() { return new NotificationParam(this.category, this.id, this.noReadmsgCount, this.lastRevTime); }\r
-  \r
-  public void setNotificationMsgCount(int paramInt) { this.noReadmsgCount = paramInt; }\r
-  \r
-  public String toString() {\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append("notification{category=");\r
-    stringBuilder.append(this.category);\r
-    stringBuilder.append(", id='");\r
-    stringBuilder.append(this.id);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", noReadmsgCount='");\r
-    stringBuilder.append(this.noReadmsgCount);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", lastRevTime=");\r
-    stringBuilder.append(this.lastRevTime);\r
-    stringBuilder.append('}');\r
-    return stringBuilder.toString();\r
-  }\r
-}\r
+package com.ic.protocolSrv.bean;
+
+public class NotificationParam {
+  public static final int ADD_NEW_ONE = 1;
+  
+  public static final int APP_CALL = 2;
+  
+  public static final int APP_WECHAT = 1;
+  
+  public static final int DEL_SOMEONE = 3;
+  
+  public static final int READ_SOMEONE = 2;
+  
+  public int category;
+  
+  public String id;
+  
+  public long lastRevTime;
+  
+  public int noReadmsgCount = 0;
+  
+  public NotificationParam(int paramInt1, String paramString, int paramInt2, long paramLong) {
+    this.category = paramInt1;
+    this.id = paramString;
+    this.noReadmsgCount = paramInt2;
+    this.lastRevTime = paramLong;
+  }
+  
+  public NotificationParam init() { return new NotificationParam(this.category, this.id, this.noReadmsgCount, this.lastRevTime); }
+  
+  public void setNotificationMsgCount(int paramInt) { this.noReadmsgCount = paramInt; }
+  
+  public String toString() {
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append("notification{category=");
+    stringBuilder.append(this.category);
+    stringBuilder.append(", id='");
+    stringBuilder.append(this.id);
+    stringBuilder.append('\'');
+    stringBuilder.append(", noReadmsgCount='");
+    stringBuilder.append(this.noReadmsgCount);
+    stringBuilder.append('\'');
+    stringBuilder.append(", lastRevTime=");
+    stringBuilder.append(this.lastRevTime);
+    stringBuilder.append('}');
+    return stringBuilder.toString();
+  }
+}
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.bean;
+package com.ic.protocolSrv.bean;
 
 
 import android.content.Context;
@@ -6,18 +6,18 @@ import android.database.Cursor;
 import android.net.Uri;
 import android.os.RemoteCallbackList;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.IFZDCallback;
-import com.enqualcomm.support.adapter.LBSHelper;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.ICGlobalSettingsProvider;
-import com.enqualcomm.support.utils.ContextProxy;
-import com.enqualcomm.support.utils.DBHelper;
-import com.enqualcomm.support.utils.DnsUtil;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.LanguageUtils;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.ic.fzd.weather.IFZDWeatherCallback;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.IFZDCallback;
+import com.ic.protocolSrv.adapter.LBSHelper;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.ICGlobalSettingsProvider;
+import com.ic.protocolSrv.utils.ContextProxy;
+import com.ic.protocolSrv.utils.DBHelper;
+import com.ic.protocolSrv.utils.DnsUtil;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.LanguageUtils;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.weather.IFZDWeatherCallback;
 import com.ic.s123.GenericWeatherInfo;
 import com.ic.s123.IS123WeatherCallback;
 
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.bean;
+package com.ic.protocolSrv.bean;
 
 public class Silent {
   public String cur_sys_status;
@@ -1,8 +1,8 @@
-package com.enqualcomm.support.bean;
+package com.ic.protocolSrv.bean;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.TimeUtil;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.TimeUtil;
 
 import java.sql.Time;
 import java.util.ArrayList;
@@ -1,34 +1,34 @@
-package com.enqualcomm.support.bean;\r
-\r
-import com.enqualcomm.support.utils.TimeUtil;\r
-\r
-public class SleepRecord {\r
-    /*每次打点的记录表  SLEEP_DATE 代表记录睡眠的日期,例如 22日上午7:00的计入到21日的睡眠记录中。 DATE代表记录的时间,此出应该等于上文的 22日 7:00 */\r
-//    sqlite.execSQL("CREATE TABLE SLEEP_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,SLEEP_DATE TEXT,DATE TEXT, STEPCOUNT INTEGER ,STATUS TEXT )");\r
-    /*计算后的分值,每天会在睡眠结束后计算Records获得*/\r
-    //sqlite.execSQL("CREATE TABLE SLEEP_STATUS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,TIME TEXT , DEEP_SLEEP INTEGER , LIGHT_SLEEP INTEGER ,SCORE INTEGER )");\r
-    public String date;\r
-    public String sleep_date;\r
-    public int stepCount;\r
-    public String status;\r
-\r
-    public SleepRecord(Runtime runtime){\r
-        date=TimeUtil.getSystemTime4();\r
-        sleep_date=TimeUtil.getCurrentSleepRecordDate( date);\r
-        stepCount=runtime.getTotalStepCount();\r
-        status="";\r
-    }\r
-\r
-    public SleepRecord(String _date,int _stepcount){\r
-        date=_date;\r
-        sleep_date=TimeUtil.getCurrentSleepRecordDate( _date);\r
-        stepCount=_stepcount;\r
-        status="";\r
-    }\r
-    public SleepRecord(String _date_yyyyMMDDhhmmss,String _sleep_date,int _stepcount){\r
-        date=_date_yyyyMMDDhhmmss;\r
-        sleep_date=_sleep_date;\r
-        stepCount=_stepcount;\r
-        status="";\r
-    }\r
-}\r
+package com.ic.protocolSrv.bean;
+
+import com.ic.protocolSrv.utils.TimeUtil;
+
+public class SleepRecord {
+    /*每次打点的记录表  SLEEP_DATE 代表记录睡眠的日期,例如 22日上午7:00的计入到21日的睡眠记录中。 DATE代表记录的时间,此出应该等于上文的 22日 7:00 */
+//    sqlite.execSQL("CREATE TABLE SLEEP_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,SLEEP_DATE TEXT,DATE TEXT, STEPCOUNT INTEGER ,STATUS TEXT )");
+    /*计算后的分值,每天会在睡眠结束后计算Records获得*/
+    //sqlite.execSQL("CREATE TABLE SLEEP_STATUS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,TIME TEXT , DEEP_SLEEP INTEGER , LIGHT_SLEEP INTEGER ,SCORE INTEGER )");
+    public String date;
+    public String sleep_date;
+    public int stepCount;
+    public String status;
+
+    public SleepRecord(Runtime runtime){
+        date=TimeUtil.getSystemTime4();
+        sleep_date=TimeUtil.getCurrentSleepRecordDate( date);
+        stepCount=runtime.getTotalStepCount();
+        status="";
+    }
+
+    public SleepRecord(String _date,int _stepcount){
+        date=_date;
+        sleep_date=TimeUtil.getCurrentSleepRecordDate( _date);
+        stepCount=_stepcount;
+        status="";
+    }
+    public SleepRecord(String _date_yyyyMMDDhhmmss,String _sleep_date,int _stepcount){
+        date=_date_yyyyMMDDhhmmss;
+        sleep_date=_sleep_date;
+        stepCount=_stepcount;
+        status="";
+    }
+}
@@ -1,21 +1,21 @@
-package com.enqualcomm.support.bean;\r
-\r
-public class StepCount {\r
-  String date;\r
-  \r
-  int stepCount;\r
-  \r
-  public StepCount(int paramInt, String paramString) {\r
-    this.stepCount = paramInt;\r
-    this.date = paramString;\r
-  }\r
-  \r
-  public String getDate() { return this.date; }\r
-  \r
-  public int getStepCount() { return this.stepCount; }\r
-  \r
-  public void setDate(String paramString) { this.date = paramString; }\r
-  \r
-  public void setStepCount(int paramInt) { this.stepCount = paramInt; }\r
-}\r
-\r
+package com.ic.protocolSrv.bean;
+
+public class StepCount {
+  String date;
+  
+  int stepCount;
+  
+  public StepCount(int paramInt, String paramString) {
+    this.stepCount = paramInt;
+    this.date = paramString;
+  }
+  
+  public String getDate() { return this.date; }
+  
+  public int getStepCount() { return this.stepCount; }
+  
+  public void setDate(String paramString) { this.date = paramString; }
+  
+  public void setStepCount(int paramInt) { this.stepCount = paramInt; }
+}
+
@@ -1,65 +1,65 @@
-package com.enqualcomm.support.bean;\r
-\r
-public class StheartRate {\r
-  public String end;\r
-  \r
-  public long endTimeMillis;\r
-  \r
-  public String interval;\r
-  \r
-  public String start;\r
-  \r
-  public long startTimeMillis;\r
-  \r
-  public String status;\r
-  \r
-  public String week;\r
-  \r
-  public StheartRate(String _start, String _end, String _week, String _status) {\r
-    this.start = _start;\r
-    this.end = _end;\r
-    this.week = _week;\r
-    this.status = _status;\r
-  }\r
-  \r
-  public StheartRate(String _start, String _end, String _week, String _status, String _inteval) {\r
-    this.start = _start;\r
-    this.end = _end;\r
-    this.week = _week;\r
-    this.status = _status;\r
-    this.interval = _inteval;\r
-  }\r
-  \r
-  public boolean equals(Object obj) {\r
-    if (this == obj)\r
-      return true; \r
-    if (obj != null) {\r
-      if (getClass() != obj.getClass())\r
-        return false;\r
-      StheartRate hr = (StheartRate)obj;\r
-      return !this.start.equals(hr.start) ? false : (!this.end.equals(hr.end) ? false : (!this.week.equals(hr.week) ? false : (!this.interval.equals(hr.interval) ? false : this.status.equals(hr.status))));\r
-    } \r
-    return false;\r
-  }\r
-  \r
-  public String toString() {\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append("StheartRate{start='");\r
-    stringBuilder.append(this.start);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", end='");\r
-    stringBuilder.append(this.end);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", week='");\r
-    stringBuilder.append(this.week);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", status='");\r
-    stringBuilder.append(this.status);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", interval='");\r
-    stringBuilder.append(this.interval);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append('}');\r
-    return stringBuilder.toString();\r
-  }\r
-}\r
+package com.ic.protocolSrv.bean;
+
+public class StheartRate {
+  public String end;
+  
+  public long endTimeMillis;
+  
+  public String interval;
+  
+  public String start;
+  
+  public long startTimeMillis;
+  
+  public String status;
+  
+  public String week;
+  
+  public StheartRate(String _start, String _end, String _week, String _status) {
+    this.start = _start;
+    this.end = _end;
+    this.week = _week;
+    this.status = _status;
+  }
+  
+  public StheartRate(String _start, String _end, String _week, String _status, String _inteval) {
+    this.start = _start;
+    this.end = _end;
+    this.week = _week;
+    this.status = _status;
+    this.interval = _inteval;
+  }
+  
+  public boolean equals(Object obj) {
+    if (this == obj)
+      return true; 
+    if (obj != null) {
+      if (getClass() != obj.getClass())
+        return false;
+      StheartRate hr = (StheartRate)obj;
+      return !this.start.equals(hr.start) ? false : (!this.end.equals(hr.end) ? false : (!this.week.equals(hr.week) ? false : (!this.interval.equals(hr.interval) ? false : this.status.equals(hr.status))));
+    } 
+    return false;
+  }
+  
+  public String toString() {
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append("StheartRate{start='");
+    stringBuilder.append(this.start);
+    stringBuilder.append('\'');
+    stringBuilder.append(", end='");
+    stringBuilder.append(this.end);
+    stringBuilder.append('\'');
+    stringBuilder.append(", week='");
+    stringBuilder.append(this.week);
+    stringBuilder.append('\'');
+    stringBuilder.append(", status='");
+    stringBuilder.append(this.status);
+    stringBuilder.append('\'');
+    stringBuilder.append(", interval='");
+    stringBuilder.append(this.interval);
+    stringBuilder.append('\'');
+    stringBuilder.append('}');
+    return stringBuilder.toString();
+  }
+}
-package com.enqualcomm.support.bean;\r
-\r
-import java.util.ArrayList;\r
-\r
-public class StringMessage {\r
-    //暂时未用\r
-    ArrayList<byte[]> bs;\r
-\r
-    //目前作为消息主体,除了mqtt协议还需要一个topic(fragments[0]) , 其他协议就是要发送的内容本身。\r
-    private String cache;\r
-\r
-    //数据库中的index\r
-    private int index = -1;\r
-\r
-    //命令日期\r
-    private String date = null;\r
-\r
-    //命令时间\r
-    private String time = null;\r
-    //mqtt协议中第一条就是 topic,其他协议中就是cmdname或者无用\r
-    protected String[] fragments;\r
-\r
-    //发送标志(表示已经接收到服务器返回消息) , 0 未发送, 1 发送等回复, 2 已回复\r
-    private int sentFlag;\r
-\r
-    //除mqtt协议可以使用\r
-    public StringMessage(String paramString) {\r
-        this.cache = paramString;\r
-        this.sentFlag = 0;\r
-    }\r
-\r
-    public String getDate() {\r
-        return date;\r
-    }\r
-\r
-    public String getTime() {\r
-        return time;\r
-    }\r
-\r
-    public int getIndex() {\r
-        return index;\r
-    }\r
-\r
-    public void setIndex(int i) {\r
-        index = i;\r
-    }\r
-\r
-    public void setDate(String date1, String time1) {\r
-        date = date1;\r
-        time = time1;\r
-    }\r
-\r
-    //mqtt协议使用 设置topic\r
-    public StringMessage(String[] paramArrayOfString) {\r
-        this(paramArrayOfString, 0);\r
-    }\r
-\r
-\r
-    //暂时未用,二进制数据备用\r
-    public StringMessage(String[] paramArrayOfString, ArrayList<byte[]> paramArrayList) {\r
-        this.fragments = paramArrayOfString;\r
-        this.bs = paramArrayList;\r
-        this.sentFlag = 0;\r
-    }\r
-\r
-    //mqtt协议使用,设置topic 以及 发送标志\r
-    public StringMessage(String[] paramArrayOfString, int paramBoolean) {\r
-        this.fragments = paramArrayOfString;\r
-        this.sentFlag = paramBoolean;\r
-    }\r
-\r
-    //设置发送flag\r
-    public void setSentFlag(int f) {\r
-        sentFlag = f;\r
-    }\r
-\r
-    //获取发送flag\r
-    public int haveSent() {\r
-        return sentFlag;\r
-    }\r
-\r
-    //未用\r
-    public String[] all() {\r
-        return this.fragments;\r
-    }\r
-\r
-    //获取topic内容\r
-    public String cmd() {\r
-        return this.fragments[0];\r
-    }\r
-\r
-    //获取协议消息主体内容\r
-    public String isFromCache() {\r
-        return this.cache;\r
-    }\r
-\r
-    //更新协议消息主体内容\r
-    public void refresh(String paramString) {\r
-        this.cache = paramString;\r
-    }\r
-\r
-    //未用\r
-    public int size() {\r
-        return (this.fragments != null) ? this.fragments.length : 0;\r
-    }\r
-\r
-    //未用\r
-    public ArrayList<byte[]> source() {\r
-        return this.bs;\r
-    }\r
-}\r
-\r
+package com.ic.protocolSrv.bean;
+
+import java.util.ArrayList;
+
+public class StringMessage {
+    //暂时未用
+    ArrayList<byte[]> bs;
+
+    //目前作为消息主体,除了mqtt协议还需要一个topic(fragments[0]) , 其他协议就是要发送的内容本身。
+    private String cache;
+
+    //数据库中的index
+    private int index = -1;
+
+    //命令日期
+    private String date = null;
+
+    //命令时间
+    private String time = null;
+    //mqtt协议中第一条就是 topic,其他协议中就是cmdname或者无用
+    protected String[] fragments;
+
+    //发送标志(表示已经接收到服务器返回消息) , 0 未发送, 1 发送等回复, 2 已回复
+    private int sentFlag;
+
+    //除mqtt协议可以使用
+    public StringMessage(String paramString) {
+        this.cache = paramString;
+        this.sentFlag = 0;
+    }
+
+    public String getDate() {
+        return date;
+    }
+
+    public String getTime() {
+        return time;
+    }
+
+    public int getIndex() {
+        return index;
+    }
+
+    public void setIndex(int i) {
+        index = i;
+    }
+
+    public void setDate(String date1, String time1) {
+        date = date1;
+        time = time1;
+    }
+
+    //mqtt协议使用 设置topic
+    public StringMessage(String[] paramArrayOfString) {
+        this(paramArrayOfString, 0);
+    }
+
+
+    //暂时未用,二进制数据备用
+    public StringMessage(String[] paramArrayOfString, ArrayList<byte[]> paramArrayList) {
+        this.fragments = paramArrayOfString;
+        this.bs = paramArrayList;
+        this.sentFlag = 0;
+    }
+
+    //mqtt协议使用,设置topic 以及 发送标志
+    public StringMessage(String[] paramArrayOfString, int paramBoolean) {
+        this.fragments = paramArrayOfString;
+        this.sentFlag = paramBoolean;
+    }
+
+    //设置发送flag
+    public void setSentFlag(int f) {
+        sentFlag = f;
+    }
+
+    //获取发送flag
+    public int haveSent() {
+        return sentFlag;
+    }
+
+    //未用
+    public String[] all() {
+        return this.fragments;
+    }
+
+    //获取topic内容
+    public String cmd() {
+        return this.fragments[0];
+    }
+
+    //获取协议消息主体内容
+    public String isFromCache() {
+        return this.cache;
+    }
+
+    //更新协议消息主体内容
+    public void refresh(String paramString) {
+        this.cache = paramString;
+    }
+
+    //未用
+    public int size() {
+        return (this.fragments != null) ? this.fragments.length : 0;
+    }
+
+    //未用
+    public ArrayList<byte[]> source() {
+        return this.bs;
+    }
+}
+
@@ -1,63 +1,63 @@
-package com.enqualcomm.support.bean;\r
-\r
-import com.enqualcomm.support.utils.Util;\r
-\r
-import java.io.File;\r
-import java.util.ArrayList;\r
-\r
-public class VoiceContent extends Content {\r
-  private VoiceContent(String _content, String _preview, int _status, int _inOrOut, int _contactCategory, String _contactNumber, String _serverTime, long _localtime)\r
-  {\r
-    super(1, _content, _preview, _status, _inOrOut, _contactCategory, _contactNumber, _serverTime, _localtime);\r
-\r
-  }\r
-  private VoiceContent(String _content, String _preview, int _status, int _inOrOut, int _contactCategory, String _contactNumber, String _serverTime, long _localtime,int _filetype, int _datatype)\r
-  {\r
-    super(1, _content, _preview, _status, _inOrOut, _contactCategory, _contactNumber, _serverTime, _localtime,_filetype,_datatype);\r
-\r
-  }\r
-\r
-  public static VoiceContent from(VoiceContent _voiceContent, byte[] amrData, File amrFilepath,String servertime) {\r
-\r
-    StringBuilder stringBuilder2 = new StringBuilder();\r
-//    stringBuilder2.append(str3);\r
-    stringBuilder2.append(".amr");\r
-    String str1 = Util.saveFile(amrData, 0, amrData.length, amrFilepath, stringBuilder2.toString());\r
-    int duration = Util.getDuration(str1);\r
-    _voiceContent.content = str1;\r
-    _voiceContent.preview = String.valueOf(duration);\r
-    _voiceContent.status = 2;\r
-    _voiceContent.serverTime = servertime;\r
-    return _voiceContent;\r
-  }\r
-\r
-\r
-  public static VoiceContent from(VoiceContent _voiceContent, byte[] amrData, File amrFilepath,String servertime,int filetype,int datatype) {\r
-\r
-    StringBuilder stringBuilder2 = new StringBuilder();\r
-//    stringBuilder2.append(str3);\r
-    stringBuilder2.append(".amr");\r
-    String str1 = Util.saveFile(amrData, 0, amrData.length, amrFilepath, stringBuilder2.toString());\r
-    int duration = Util.getDuration(str1);\r
-    _voiceContent.content = str1;\r
-    _voiceContent.preview = String.valueOf(duration);\r
-    _voiceContent.status = 2;\r
-    _voiceContent.serverTime = servertime;\r
-    _voiceContent.filetype=filetype;\r
-    _voiceContent.datatype=datatype;\r
-    return _voiceContent;\r
-  }\r
-  public static VoiceContent placeHolderIn(int _contactCategory, String _contactNumber, String _content) {\r
-    return new VoiceContent(_content, null, 1, 1, _contactCategory, _contactNumber, null, System.currentTimeMillis());\r
-  }\r
-  \r
-  public static VoiceContent placeHolderOut(int _contactCategory, String _contactNumber, String _content) {\r
-    return new VoiceContent(_content, null, 1, 2, _contactCategory, _contactNumber, null, System.currentTimeMillis());\r
-  }\r
-\r
-\r
-  public static VoiceContent placeHolderOut(int _contactCategory, String _contactNumber, String _preview,String _content,int filetype,int datatype) {\r
-    return new VoiceContent(_content, _preview, 1, 2, _contactCategory, _contactNumber, null, System.currentTimeMillis(),filetype,datatype);\r
-  }\r
-}\r
-\r
+package com.ic.protocolSrv.bean;
+
+import com.ic.protocolSrv.utils.Util;
+
+import java.io.File;
+import java.util.ArrayList;
+
+public class VoiceContent extends Content {
+  private VoiceContent(String _content, String _preview, int _status, int _inOrOut, int _contactCategory, String _contactNumber, String _serverTime, long _localtime)
+  {
+    super(1, _content, _preview, _status, _inOrOut, _contactCategory, _contactNumber, _serverTime, _localtime);
+
+  }
+  private VoiceContent(String _content, String _preview, int _status, int _inOrOut, int _contactCategory, String _contactNumber, String _serverTime, long _localtime,int _filetype, int _datatype)
+  {
+    super(1, _content, _preview, _status, _inOrOut, _contactCategory, _contactNumber, _serverTime, _localtime,_filetype,_datatype);
+
+  }
+
+  public static VoiceContent from(VoiceContent _voiceContent, byte[] amrData, File amrFilepath,String servertime) {
+
+    StringBuilder stringBuilder2 = new StringBuilder();
+//    stringBuilder2.append(str3);
+    stringBuilder2.append(".amr");
+    String str1 = Util.saveFile(amrData, 0, amrData.length, amrFilepath, stringBuilder2.toString());
+    int duration = Util.getDuration(str1);
+    _voiceContent.content = str1;
+    _voiceContent.preview = String.valueOf(duration);
+    _voiceContent.status = 2;
+    _voiceContent.serverTime = servertime;
+    return _voiceContent;
+  }
+
+
+  public static VoiceContent from(VoiceContent _voiceContent, byte[] amrData, File amrFilepath,String servertime,int filetype,int datatype) {
+
+    StringBuilder stringBuilder2 = new StringBuilder();
+//    stringBuilder2.append(str3);
+    stringBuilder2.append(".amr");
+    String str1 = Util.saveFile(amrData, 0, amrData.length, amrFilepath, stringBuilder2.toString());
+    int duration = Util.getDuration(str1);
+    _voiceContent.content = str1;
+    _voiceContent.preview = String.valueOf(duration);
+    _voiceContent.status = 2;
+    _voiceContent.serverTime = servertime;
+    _voiceContent.filetype=filetype;
+    _voiceContent.datatype=datatype;
+    return _voiceContent;
+  }
+  public static VoiceContent placeHolderIn(int _contactCategory, String _contactNumber, String _content) {
+    return new VoiceContent(_content, null, 1, 1, _contactCategory, _contactNumber, null, System.currentTimeMillis());
+  }
+  
+  public static VoiceContent placeHolderOut(int _contactCategory, String _contactNumber, String _content) {
+    return new VoiceContent(_content, null, 1, 2, _contactCategory, _contactNumber, null, System.currentTimeMillis());
+  }
+
+
+  public static VoiceContent placeHolderOut(int _contactCategory, String _contactNumber, String _preview,String _content,int filetype,int datatype) {
+    return new VoiceContent(_content, _preview, 1, 2, _contactCategory, _contactNumber, null, System.currentTimeMillis(),filetype,datatype);
+  }
+}
+
@@ -1,39 +1,39 @@
-package com.enqualcomm.support.bean;\r
-\r
-public class Weather {\r
-  public String cur_Temperature;\r
-  \r
-  public String max_Temperature;\r
-  \r
-  public String min_Temperature;\r
-  \r
-  public String weatherIndex;\r
-  \r
-  public String weatherInfo;\r
-  \r
-  public String weatherType;\r
-  \r
-  public String toString() {\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append("Weather{weatherType='");\r
-    stringBuilder.append(this.weatherType);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", min_Temperature='");\r
-    stringBuilder.append(this.min_Temperature);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", max_Temperature='");\r
-    stringBuilder.append(this.max_Temperature);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", cur_Temperature='");\r
-    stringBuilder.append(this.cur_Temperature);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", weatherIndex='");\r
-    stringBuilder.append(this.weatherIndex);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append(", weatherInfo='");\r
-    stringBuilder.append(this.weatherInfo);\r
-    stringBuilder.append('\'');\r
-    stringBuilder.append('}');\r
-    return stringBuilder.toString();\r
-  }\r
-}\r
+package com.ic.protocolSrv.bean;
+
+public class Weather {
+  public String cur_Temperature;
+  
+  public String max_Temperature;
+  
+  public String min_Temperature;
+  
+  public String weatherIndex;
+  
+  public String weatherInfo;
+  
+  public String weatherType;
+  
+  public String toString() {
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append("Weather{weatherType='");
+    stringBuilder.append(this.weatherType);
+    stringBuilder.append('\'');
+    stringBuilder.append(", min_Temperature='");
+    stringBuilder.append(this.min_Temperature);
+    stringBuilder.append('\'');
+    stringBuilder.append(", max_Temperature='");
+    stringBuilder.append(this.max_Temperature);
+    stringBuilder.append('\'');
+    stringBuilder.append(", cur_Temperature='");
+    stringBuilder.append(this.cur_Temperature);
+    stringBuilder.append('\'');
+    stringBuilder.append(", weatherIndex='");
+    stringBuilder.append(this.weatherIndex);
+    stringBuilder.append('\'');
+    stringBuilder.append(", weatherInfo='");
+    stringBuilder.append(this.weatherInfo);
+    stringBuilder.append('\'');
+    stringBuilder.append('}');
+    return stringBuilder.toString();
+  }
+}
-package com.enqualcomm.support.bean;\r
-\r
-import com.ic.jni.ICJniUtils;\r
-\r
-public class heartRateStatus {\r
-\r
-    private int lastHeartrate;\r
-    private String lastTestTime;\r
-    private int lastBPH;\r
-    private int lastBPL;\r
-    private int lastSpo2 = 0;\r
-\r
-    private int BPH_ref = 0;\r
-    private int BPL_ref = 0;\r
-    private int Age = 0;\r
-    private int Sex = 0;\r
-    private int sp02_adjust = 0;\r
-    private int ppg_adjust = 0;\r
-    private int bph_adjust = 0;\r
-    private int bpl_adjust = 0;\r
-\r
-    public int ppg_threshold_max = 0;\r
-    public int ppg_threshold_min = 0;\r
-    public int bph_threshold_max = 0;\r
-    public int bph_threshold_min = 0;\r
-    public int bpl_threshold_max = 0;\r
-    public int bpl_threshold_min = 0;\r
-\r
-    public void setXY_Ref(int refBPH, int refBPL, int refSex, int refAge) {\r
-        BPH_ref = refBPH;\r
-        BPL_ref = refBPL;\r
-        Age = refAge;\r
-        Sex = refSex;\r
-    }\r
-\r
-    public void setAdjust(int _ppg_adjust, int _bph_adjust, int _bpl_adjust, int _sp02_adjust) {\r
-        ppg_adjust = _ppg_adjust;\r
-        bph_adjust = _bph_adjust;\r
-        bpl_adjust = _bpl_adjust;\r
-        sp02_adjust = _sp02_adjust;\r
-    }\r
-\r
-\r
-    private HEARTRATE_WORKINGSTAT currentStat;\r
-\r
-    public enum HEARTRATE_WORKINGSTAT {\r
-        HEARTRATE_CLOSED,\r
-        HEARTRATE_OPEN,\r
-        HEARTRATE_NOTWARED,\r
-        HEARTRATE_WARED_AND_TESTING,\r
-        HEARTRATE_TEST_SUCCESS,\r
-        HEARTRATE_TEST_FAILED,\r
-    }\r
-\r
-    ;\r
-\r
-    public boolean isHeartrRateExists() {\r
-        return ICJniUtils.isPPGavailable() == 1;\r
-    }\r
-\r
-    public HEARTRATE_WORKINGSTAT getHeartrateWorkingStat() {\r
-        return currentStat;\r
-    }\r
-\r
-    public void setHeartrateStat(HEARTRATE_WORKINGSTAT stat) {\r
-\r
-        currentStat = stat;\r
-    }\r
-\r
-    public int getPPG() {\r
-        int ppg = lastHeartrate;\r
-        if (ppg_adjust != 0)\r
-            ppg += ppg_adjust;\r
-        return ppg;\r
-    }\r
-\r
-    public int getBPH() {\r
-        int BPH = lastBPH;\r
-        if (BPH_ref >= 35 && BPH_ref < 200) {\r
-            if (lastBPH > BPH_ref + 20)\r
-                BPH = BPH_ref + 20;\r
-            if (lastBPH < BPH_ref - 20)\r
-                BPH = BPH_ref - 20;\r
-        }\r
-\r
-        if (bph_adjust != 0) {\r
-            BPH += bph_adjust;\r
-        }\r
-        return BPH;\r
-    }\r
-\r
-    public int getBPL() {\r
-        int BPL = lastBPL;\r
-        if (BPL_ref >= 35 && BPL_ref < 200) {\r
-            if (lastBPL > BPL_ref + 20)\r
-                BPL = BPL_ref + 20;\r
-            if (lastBPL < BPL_ref - 20)\r
-                BPL = BPL_ref - 20;\r
-        }\r
-\r
-        if (bpl_adjust != 0) {\r
-            BPL += bpl_adjust;\r
-        }\r
-        return BPL;\r
-    }\r
-\r
-\r
-    public int getSpo2() {\r
-        int sp02 = lastSpo2;\r
-        if (sp02_adjust != 0)\r
-            sp02 += sp02_adjust;\r
-        return sp02;\r
-    }\r
-\r
-\r
-    public String getTestTime() {\r
-        return lastTestTime;\r
-    }\r
-\r
-    public void setLastTestTime(String testtime) {\r
-        lastTestTime = testtime;\r
-    }\r
-\r
-\r
-    public void setLastHeartrate(int value, int bph, int bpl) {\r
-        lastHeartrate = value;\r
-        lastBPH = bph;\r
-        lastBPL = bpl;\r
-    }\r
-\r
-    public void setLastHeartrate(int value, int bph, int bpl, int sp02) {\r
-        lastHeartrate = value;\r
-        lastBPH = bph;\r
-        lastBPL = bpl;\r
-        lastSpo2 = sp02;\r
-    }\r
-\r
-    //心率低阀值,低于该阀值上传心率,如果未设置,则留空\r
-//心率高阀值,高于该阀值上传心率,如果未设置,则留空\r
-//低压阀值,低压低于该阀值上传血压,如果未设置,则留空\r
-//低压阀值,低压高于该阀值上传血压,如果未设置,则留空\r
-//高压阀值,高压低于该阀值上传血压,如果未设置,则留空\r
-//高压阀值,高压高于该阀值上传血压,如果未设置,则留空\r
-    public void setWarningThreshold(int _ppg_threshold_max, int _ppg_threshold_min, int _bph_threshold_max, int _bph_threshold_min, int _bpl_threshold_max, int _bpl_threshold_min) {\r
-        ppg_threshold_max = _ppg_threshold_max;\r
-        ppg_threshold_min = _ppg_threshold_min;\r
-        bph_threshold_max = _bph_threshold_max;\r
-        bph_threshold_min = _bph_threshold_min;\r
-        bpl_threshold_max = _bpl_threshold_max;\r
-        bpl_threshold_min = _bpl_threshold_min;\r
-    }\r
-}\r
+package com.ic.protocolSrv.bean;
+
+import com.ic.jni.ICJniUtils;
+
+public class heartRateStatus {
+
+    private int lastHeartrate;
+    private String lastTestTime;
+    private int lastBPH;
+    private int lastBPL;
+    private int lastSpo2 = 0;
+
+    private int BPH_ref = 0;
+    private int BPL_ref = 0;
+    private int Age = 0;
+    private int Sex = 0;
+    private int sp02_adjust = 0;
+    private int ppg_adjust = 0;
+    private int bph_adjust = 0;
+    private int bpl_adjust = 0;
+
+    public int ppg_threshold_max = 0;
+    public int ppg_threshold_min = 0;
+    public int bph_threshold_max = 0;
+    public int bph_threshold_min = 0;
+    public int bpl_threshold_max = 0;
+    public int bpl_threshold_min = 0;
+
+    public void setXY_Ref(int refBPH, int refBPL, int refSex, int refAge) {
+        BPH_ref = refBPH;
+        BPL_ref = refBPL;
+        Age = refAge;
+        Sex = refSex;
+    }
+
+    public void setAdjust(int _ppg_adjust, int _bph_adjust, int _bpl_adjust, int _sp02_adjust) {
+        ppg_adjust = _ppg_adjust;
+        bph_adjust = _bph_adjust;
+        bpl_adjust = _bpl_adjust;
+        sp02_adjust = _sp02_adjust;
+    }
+
+
+    private HEARTRATE_WORKINGSTAT currentStat;
+
+    public enum HEARTRATE_WORKINGSTAT {
+        HEARTRATE_CLOSED,
+        HEARTRATE_OPEN,
+        HEARTRATE_NOTWARED,
+        HEARTRATE_WARED_AND_TESTING,
+        HEARTRATE_TEST_SUCCESS,
+        HEARTRATE_TEST_FAILED,
+    }
+
+    ;
+
+    public boolean isHeartrRateExists() {
+        return ICJniUtils.isPPGavailable() == 1;
+    }
+
+    public HEARTRATE_WORKINGSTAT getHeartrateWorkingStat() {
+        return currentStat;
+    }
+
+    public void setHeartrateStat(HEARTRATE_WORKINGSTAT stat) {
+
+        currentStat = stat;
+    }
+
+    public int getPPG() {
+        int ppg = lastHeartrate;
+        if (ppg_adjust != 0)
+            ppg += ppg_adjust;
+        return ppg;
+    }
+
+    public int getBPH() {
+        int BPH = lastBPH;
+        if (BPH_ref >= 35 && BPH_ref < 200) {
+            if (lastBPH > BPH_ref + 20)
+                BPH = BPH_ref + 20;
+            if (lastBPH < BPH_ref - 20)
+                BPH = BPH_ref - 20;
+        }
+
+        if (bph_adjust != 0) {
+            BPH += bph_adjust;
+        }
+        return BPH;
+    }
+
+    public int getBPL() {
+        int BPL = lastBPL;
+        if (BPL_ref >= 35 && BPL_ref < 200) {
+            if (lastBPL > BPL_ref + 20)
+                BPL = BPL_ref + 20;
+            if (lastBPL < BPL_ref - 20)
+                BPL = BPL_ref - 20;
+        }
+
+        if (bpl_adjust != 0) {
+            BPL += bpl_adjust;
+        }
+        return BPL;
+    }
+
+
+    public int getSpo2() {
+        int sp02 = lastSpo2;
+        if (sp02_adjust != 0)
+            sp02 += sp02_adjust;
+        return sp02;
+    }
+
+
+    public String getTestTime() {
+        return lastTestTime;
+    }
+
+    public void setLastTestTime(String testtime) {
+        lastTestTime = testtime;
+    }
+
+
+    public void setLastHeartrate(int value, int bph, int bpl) {
+        lastHeartrate = value;
+        lastBPH = bph;
+        lastBPL = bpl;
+    }
+
+    public void setLastHeartrate(int value, int bph, int bpl, int sp02) {
+        lastHeartrate = value;
+        lastBPH = bph;
+        lastBPL = bpl;
+        lastSpo2 = sp02;
+    }
+
+    //心率低阀值,低于该阀值上传心率,如果未设置,则留空
+//心率高阀值,高于该阀值上传心率,如果未设置,则留空
+//低压阀值,低压低于该阀值上传血压,如果未设置,则留空
+//低压阀值,低压高于该阀值上传血压,如果未设置,则留空
+//高压阀值,高压低于该阀值上传血压,如果未设置,则留空
+//高压阀值,高压高于该阀值上传血压,如果未设置,则留空
+    public void setWarningThreshold(int _ppg_threshold_max, int _ppg_threshold_min, int _bph_threshold_max, int _bph_threshold_min, int _bpl_threshold_max, int _bpl_threshold_min) {
+        ppg_threshold_max = _ppg_threshold_max;
+        ppg_threshold_min = _ppg_threshold_min;
+        bph_threshold_max = _bph_threshold_max;
+        bph_threshold_min = _bph_threshold_min;
+        bpl_threshold_max = _bpl_threshold_max;
+        bpl_threshold_min = _bpl_threshold_min;
+    }
+}
-package com.enqualcomm.support.bean;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Iterator;\r
-\r
-public class voicePacket {\r
-\r
-\r
-    private static voicePacket gvoicePacket = null;\r
-\r
-    public synchronized static voicePacket getInstance() {\r
-        if (gvoicePacket == null)\r
-            gvoicePacket = new voicePacket();\r
-        return gvoicePacket;\r
-    }\r
-\r
-    private static voicePacket gvoicepacket_sent = null;\r
-\r
-    public synchronized static voicePacket getInstanceSent() {\r
-        if (gvoicepacket_sent == null)\r
-            gvoicepacket_sent = new voicePacket();\r
-        return gvoicepacket_sent;\r
-    }\r
-\r
-\r
-    int filetype = 1;\r
-    int datatype = 3;\r
-    String Sender = "";\r
-    String durationHex = "00";\r
-    String time = null;\r
-    String Name = null;\r
-    String appendIndex = null;\r
-    int packetCount = 0;\r
-    int currentIndexToSent = 0;// 如果 (currentIndexToSent == (packetCount -1)) 则发送完毕\r
-\r
-    public void setCurrentIndexToSent(int index) {\r
-        currentIndexToSent = index;\r
-    }\r
-\r
-    public int getCurrentIndexToSent() {\r
-        return currentIndexToSent;\r
-    }\r
-\r
-    public int getPacketCount() {\r
-        return packetCount;\r
-    }\r
-\r
-    public void setDurationHex(String duration) {\r
-        durationHex = duration;\r
-    }\r
-\r
-    public String getDurationHex() {\r
-        return durationHex;\r
-    }\r
-\r
-    public void setSender(String sender) {\r
-        Sender = sender;\r
-    }\r
-\r
-    public String getSender() {\r
-        return Sender;\r
-    }\r
-\r
-    public void setPacketTime(String _time) {\r
-        time = _time;\r
-    }\r
-\r
-    public String getPacketTime() {\r
-        return time;\r
-    }\r
-\r
-    /***\r
-     * 文件类型    内容类型\r
-     * 1 语音——  1.监听语音      *   2.SOS语音      *      3.扩展\r
-     * 2 图片——  1.签到图片      *   2.指令图片      *   3.设备图片      *   4.扩展\r
-     * @param type\r
-     * @param dtype\r
-     */\r
-    public void setFileType(int type, int dtype) {\r
-        filetype = type;\r
-        datatype = dtype;\r
-    }\r
-\r
-\r
-    public int getFiletype() {\r
-        return filetype;\r
-    }\r
-\r
-    public int getDateType() {\r
-        return datatype;\r
-    }\r
-\r
-    ArrayList<voicepacketItem> packetArray = new ArrayList<voicepacketItem>();\r
-\r
-    public class voicepacketItem {\r
-        int currentId;\r
-        int packetLen;\r
-        byte[] packetData;\r
-\r
-        voicepacketItem(int _currentId, int _packetLen, byte[] _packetData) {\r
-            packetLen = _packetLen;\r
-            packetData = new byte[packetLen];\r
-            System.arraycopy(_packetData, 0, packetData, 0, packetLen);\r
-            currentId = _currentId;\r
-        }\r
-\r
-        public byte[] getPacketData() {\r
-            return packetData;\r
-        }\r
-\r
-        public int getPacketLen() {\r
-            return packetLen;\r
-        }\r
-\r
-    }\r
-\r
-    public boolean appendVoice(String _Name, String _appendIndex, int _packetCount, int _currentId, int _packetLen, byte[] _packetData) {\r
-        boolean ret = false;\r
-        if (_Name == null || _appendIndex == null || _Name.isEmpty()) {\r
-            return false;\r
-        }\r
-        if (packetArray.size() == 0) {\r
-            Name = _Name;\r
-            appendIndex = _appendIndex;\r
-            packetCount = _packetCount;\r
-        }\r
-        if (_packetCount == packetCount && Name.equals(_Name)) {\r
-            boolean packetfound = false;\r
-            for (voicepacketItem item : packetArray) {\r
-                if (item.currentId == _currentId) {\r
-                    packetfound = true;\r
-                }\r
-            }\r
-            if (packetfound)\r
-                return false;\r
-\r
-            packetArray.add(new voicepacketItem(_currentId, _packetLen, _packetData));\r
-\r
-        }\r
-\r
-        return ret;\r
-    }\r
-\r
-    public boolean isFinished() {\r
-        return (packetCount != 0 && packetCount == packetArray.size());\r
-    }\r
-\r
-    public boolean isEmpty() {\r
-        return packetArray.size() == 0;\r
-    }\r
-\r
-    @Override\r
-    public String toString() {\r
-        StringBuilder stringBuilder = new StringBuilder();\r
-        if (Name == null || appendIndex == null || Name.isEmpty()) {\r
-            return stringBuilder.toString();\r
-        }\r
-        stringBuilder.append("{ Name=").append(Name)\r
-                .append(", packetCount=").append(packetCount)\r
-                .append(", appendIndex=").append(appendIndex)\r
-                .append("[");\r
-        for (voicepacketItem item : packetArray) {\r
-            stringBuilder.append("(").append(item.currentId)\r
-                    .append(",").append(item.packetLen).append("},");\r
-        }\r
-        stringBuilder.append("]}");\r
-        return stringBuilder.toString();\r
-    }\r
-\r
-    public void clearPacket() {\r
-        packetArray.clear();\r
-        packetCount = 0;\r
-        Name = null;\r
-        appendIndex = null;\r
-    }\r
-\r
-    public int getVoicePacketLen() {\r
-        int len = 0;\r
-        if (isFinished()) {\r
-            Iterator<voicepacketItem> it = packetArray.iterator();\r
-            while (it.hasNext()) {\r
-                len += it.next().packetLen;\r
-            }\r
-        }\r
-        return len;\r
-    }\r
-\r
-    public voicepacketItem getVoicePacketWithIndex(int index) {\r
-        for (int i = 0; i < packetArray.size(); i++) {\r
-            voicepacketItem tmp = packetArray.get(i);\r
-            if (tmp.currentId == index)\r
-                return tmp;\r
-        }\r
-        return null;\r
-    }\r
-\r
-    public byte[] getVoicePacketBytes() {\r
-        byte[] amrbuf;\r
-        int buflen = getVoicePacketLen();\r
-        if (buflen > 0) {\r
-            amrbuf = new byte[buflen];\r
-            int index = 0;\r
-            for (int i = 0; i < packetCount; i++) {\r
-                voicepacketItem tmp = getVoicePacketWithIndex(i);\r
-                if (tmp != null) {\r
-                    //src - 源数组。\r
-                    //srcPos - 源数组中的起始位置。\r
-                    //dest - 目标数组。\r
-                    //destPos - 目标数据中的起始位置。\r
-                    //length - 要复制的数组元素的数量。\r
-                    System.arraycopy(tmp.packetData, 0, amrbuf, index, tmp.packetLen);\r
-                    index += tmp.packetLen;\r
-                }\r
-            }\r
-            return amrbuf;\r
-        } else {\r
-            return null;\r
-        }\r
-\r
-    }\r
-\r
-    public String getName() {\r
-        return Name;\r
-    }\r
-}\r
+package com.ic.protocolSrv.bean;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+public class voicePacket {
+
+
+    private static voicePacket gvoicePacket = null;
+
+    public synchronized static voicePacket getInstance() {
+        if (gvoicePacket == null)
+            gvoicePacket = new voicePacket();
+        return gvoicePacket;
+    }
+
+    private static voicePacket gvoicepacket_sent = null;
+
+    public synchronized static voicePacket getInstanceSent() {
+        if (gvoicepacket_sent == null)
+            gvoicepacket_sent = new voicePacket();
+        return gvoicepacket_sent;
+    }
+
+
+    int filetype = 1;
+    int datatype = 3;
+    String Sender = "";
+    String durationHex = "00";
+    String time = null;
+    String Name = null;
+    String appendIndex = null;
+    int packetCount = 0;
+    int currentIndexToSent = 0;// 如果 (currentIndexToSent == (packetCount -1)) 则发送完毕
+
+    public void setCurrentIndexToSent(int index) {
+        currentIndexToSent = index;
+    }
+
+    public int getCurrentIndexToSent() {
+        return currentIndexToSent;
+    }
+
+    public int getPacketCount() {
+        return packetCount;
+    }
+
+    public void setDurationHex(String duration) {
+        durationHex = duration;
+    }
+
+    public String getDurationHex() {
+        return durationHex;
+    }
+
+    public void setSender(String sender) {
+        Sender = sender;
+    }
+
+    public String getSender() {
+        return Sender;
+    }
+
+    public void setPacketTime(String _time) {
+        time = _time;
+    }
+
+    public String getPacketTime() {
+        return time;
+    }
+
+    /***
+     * 文件类型    内容类型
+     * 1 语音——  1.监听语音      *   2.SOS语音      *      3.扩展
+     * 2 图片——  1.签到图片      *   2.指令图片      *   3.设备图片      *   4.扩展
+     * @param type
+     * @param dtype
+     */
+    public void setFileType(int type, int dtype) {
+        filetype = type;
+        datatype = dtype;
+    }
+
+
+    public int getFiletype() {
+        return filetype;
+    }
+
+    public int getDateType() {
+        return datatype;
+    }
+
+    ArrayList<voicepacketItem> packetArray = new ArrayList<voicepacketItem>();
+
+    public class voicepacketItem {
+        int currentId;
+        int packetLen;
+        byte[] packetData;
+
+        voicepacketItem(int _currentId, int _packetLen, byte[] _packetData) {
+            packetLen = _packetLen;
+            packetData = new byte[packetLen];
+            System.arraycopy(_packetData, 0, packetData, 0, packetLen);
+            currentId = _currentId;
+        }
+
+        public byte[] getPacketData() {
+            return packetData;
+        }
+
+        public int getPacketLen() {
+            return packetLen;
+        }
+
+    }
+
+    public boolean appendVoice(String _Name, String _appendIndex, int _packetCount, int _currentId, int _packetLen, byte[] _packetData) {
+        boolean ret = false;
+        if (_Name == null || _appendIndex == null || _Name.isEmpty()) {
+            return false;
+        }
+        if (packetArray.size() == 0) {
+            Name = _Name;
+            appendIndex = _appendIndex;
+            packetCount = _packetCount;
+        }
+        if (_packetCount == packetCount && Name.equals(_Name)) {
+            boolean packetfound = false;
+            for (voicepacketItem item : packetArray) {
+                if (item.currentId == _currentId) {
+                    packetfound = true;
+                }
+            }
+            if (packetfound)
+                return false;
+
+            packetArray.add(new voicepacketItem(_currentId, _packetLen, _packetData));
+
+        }
+
+        return ret;
+    }
+
+    public boolean isFinished() {
+        return (packetCount != 0 && packetCount == packetArray.size());
+    }
+
+    public boolean isEmpty() {
+        return packetArray.size() == 0;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder stringBuilder = new StringBuilder();
+        if (Name == null || appendIndex == null || Name.isEmpty()) {
+            return stringBuilder.toString();
+        }
+        stringBuilder.append("{ Name=").append(Name)
+                .append(", packetCount=").append(packetCount)
+                .append(", appendIndex=").append(appendIndex)
+                .append("[");
+        for (voicepacketItem item : packetArray) {
+            stringBuilder.append("(").append(item.currentId)
+                    .append(",").append(item.packetLen).append("},");
+        }
+        stringBuilder.append("]}");
+        return stringBuilder.toString();
+    }
+
+    public void clearPacket() {
+        packetArray.clear();
+        packetCount = 0;
+        Name = null;
+        appendIndex = null;
+    }
+
+    public int getVoicePacketLen() {
+        int len = 0;
+        if (isFinished()) {
+            Iterator<voicepacketItem> it = packetArray.iterator();
+            while (it.hasNext()) {
+                len += it.next().packetLen;
+            }
+        }
+        return len;
+    }
+
+    public voicepacketItem getVoicePacketWithIndex(int index) {
+        for (int i = 0; i < packetArray.size(); i++) {
+            voicepacketItem tmp = packetArray.get(i);
+            if (tmp.currentId == index)
+                return tmp;
+        }
+        return null;
+    }
+
+    public byte[] getVoicePacketBytes() {
+        byte[] amrbuf;
+        int buflen = getVoicePacketLen();
+        if (buflen > 0) {
+            amrbuf = new byte[buflen];
+            int index = 0;
+            for (int i = 0; i < packetCount; i++) {
+                voicepacketItem tmp = getVoicePacketWithIndex(i);
+                if (tmp != null) {
+                    //src - 源数组。
+                    //srcPos - 源数组中的起始位置。
+                    //dest - 目标数组。
+                    //destPos - 目标数据中的起始位置。
+                    //length - 要复制的数组元素的数量。
+                    System.arraycopy(tmp.packetData, 0, amrbuf, index, tmp.packetLen);
+                    index += tmp.packetLen;
+                }
+            }
+            return amrbuf;
+        } else {
+            return null;
+        }
+
+    }
+
+    public String getName() {
+        return Name;
+    }
+}
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.provider;
+package com.ic.protocolSrv.provider;
 
 import android.content.ContentProvider;
 import android.content.ContentValues;
@@ -11,7 +11,7 @@ import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.text.TextUtils;
 
-import static com.enqualcomm.support.Constants.ACTION_ALARM_ALARM_CHANGE;
+import static com.ic.protocolSrv.Constants.ACTION_ALARM_ALARM_CHANGE;
 
 public class ICAlarmProvider extends ContentProvider {
 
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.provider;
+package com.ic.protocolSrv.provider;
 
 import android.content.ContentProvider;
 import android.content.ContentUris;
@@ -8,7 +8,7 @@ import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.net.Uri;
 
-import com.enqualcomm.support.MySqlitOpenHelper;
+import com.ic.protocolSrv.MySqlitOpenHelper;
 
 
 public class ICContentProvider extends ContentProvider {
@@ -16,117 +16,117 @@ public class ICContentProvider extends ContentProvider {
   
   private static final int ALARM_ITEM = 6;
   
-  private static final String ALARM_ITEM_MIME = "vnd.android.cursor.item/vnd.com.enqualcomm.support.alarm";
+  private static final String ALARM_ITEM_MIME = "vnd.android.cursor.item/vnd.com.ic.protocolSrv.alarm";
   
-  private static final String ALARM_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.alarm";
+  private static final String ALARM_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.alarm";
   
   private static final String ALARM_TABLE_NAME = "ALARM";
 
-  public static final Uri ALARM_URI = Uri.parse("content://com.enqualcomm.support/alarm");
+  public static final Uri ALARM_URI = Uri.parse("content://com.ic.protocolSrv/alarm");
   
   private static final int ANTIOFF = 19;
   
   private static final int ANTIOFF_ITEM = 20;
   
-  private static final String ANTIOFF_ITEM_MIME = "vnd.android.cursor.item/vnd.com.enqualcomm.support.antioff";
+  private static final String ANTIOFF_ITEM_MIME = "vnd.android.cursor.item/vnd.com.ic.protocolSrv.antioff";
   
-  private static final String ANTIOFF_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.antioff";
+  private static final String ANTIOFF_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.antioff";
   
   private static final String ANTIOFF_TABLE_NAME = "ANTIOFF";
 
-  public static final Uri ANTIOFF_URI = Uri.parse("content://com.enqualcomm.support/antioff");
+  public static final Uri ANTIOFF_URI = Uri.parse("content://com.ic.protocolSrv/antioff");
   
   private static final int CONTACT = 1;
   
   private static final int CONTACT_ITEM = 2;
   
-  private static final String CONTACT_ITEM_MIME = "vnd.android.cursor.item/vnd.com.enqualcomm.support.contact";
+  private static final String CONTACT_ITEM_MIME = "vnd.android.cursor.item/vnd.com.ic.protocolSrv.contact";
   
-  private static final String CONTACT_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.contact";
+  private static final String CONTACT_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.contact";
   
   private static final String CONTACT_TABLE_NAME = "CONTACT";
 
-  public static final Uri CONTACT_URI =Uri.parse("content://com.enqualcomm.support/contact");
+  public static final Uri CONTACT_URI =Uri.parse("content://com.ic.protocolSrv/contact");
   
   private static final int DEVICESTATUS = 15;
   
-  private static final String DEVICESTATUS_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.deviceStatus";
+  private static final String DEVICESTATUS_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.deviceStatus";
   
   private static final String DEVICESTATUS_TABLE_NAME = "DEVICESTATUS";
 
-  public static final Uri DEVICESTATUS_URL = Uri.parse("content://com.enqualcomm.support/deviceStatus");
+  public static final Uri DEVICESTATUS_URL = Uri.parse("content://com.ic.protocolSrv/deviceStatus");
   
   private static final int DOWNLOADINFO = 16;
   
   private static final int DOWNLOADINFO_ITEM = 17;
   
-  private static final String DOWNLOADINFO_ITEM_MIME = "vnd.android.cursor.item/vnd.com.enqualcomm.support.downloadInfo";
+  private static final String DOWNLOADINFO_ITEM_MIME = "vnd.android.cursor.item/vnd.com.ic.protocolSrv.downloadInfo";
   
-  private static final String DOWNLOADINFO_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.downloadInfo";
+  private static final String DOWNLOADINFO_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.downloadInfo";
   
   private static final String DOWNLOADINFO_TABLE_NAME = "DOWNLOADINFO";
 
-  public static final Uri DOWNLOADINFO_URL = Uri .parse("content://com.enqualcomm.support/downloadInfo");
+  public static final Uri DOWNLOADINFO_URL = Uri .parse("content://com.ic.protocolSrv/downloadInfo");
   
   private static final int IKNOWLEDGE = 9;
   
-  private static final String IKNOWLEDGE_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.iKnowledge";
+  private static final String IKNOWLEDGE_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.iKnowledge";
   
   private static final String IKNOWLEDGE_TABLE_NAME = "IKNOWLEDGE";
 
-  public static final Uri IKNOWLEDGE_URL = Uri.parse("content://com.enqualcomm.support/iKnowledge");
+  public static final Uri IKNOWLEDGE_URL = Uri.parse("content://com.ic.protocolSrv/iKnowledge");
   
   private static final int MESSAGE = 3;
   
   private static final int MESSAGE_ITEM = 4;
   
-  private static final String MESSAGE_ITEM_MIME = "vnd.android.cursor.item/vnd.com.enqualcomm.support.message";
+  private static final String MESSAGE_ITEM_MIME = "vnd.android.cursor.item/vnd.com.ic.protocolSrv.message";
   
-  private static final String MESSAGE_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.message";
+  private static final String MESSAGE_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.message";
   
   private static final String MESSAGE_TABLE_NAME = "MESSAGE";
 
-  public static final Uri MESSAGE_URI = Uri.parse("content://com.enqualcomm.support/message");
+  public static final Uri MESSAGE_URI = Uri.parse("content://com.ic.protocolSrv/message");
   
   private static final int NOTICE = 12;
   
   private static final int NOTICE_ITEM = 13;
   
-  private static final String NOTICE_ITEM_MIME = "vnd.android.cursor.item/vnd.com.enqualcomm.support.notice";
+  private static final String NOTICE_ITEM_MIME = "vnd.android.cursor.item/vnd.com.ic.protocolSrv.notice";
   
-  private static final String NOTICE_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.notice";
+  private static final String NOTICE_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.notice";
   
   private static final String NOTICE_TABLE_NAME = "NOTICE";
 
-  public static final Uri NOTICE_URL = Uri.parse("content://com.enqualcomm.support/notice");
+  public static final Uri NOTICE_URL = Uri.parse("content://com.ic.protocolSrv/notice");
   
   private static final int SILENT = 7;
   
   private static final int SILENT_ITEM = 8;
   
-  private static final String SILENT_ITEM_MIME = "vnd.android.cursor.item/vnd.com.enqualcomm.support.silent";
+  private static final String SILENT_ITEM_MIME = "vnd.android.cursor.item/vnd.com.ic.protocolSrv.silent";
   
-  private static final String SILENT_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.silent";
+  private static final String SILENT_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.silent";
   
   private static final String SILENT_TABLE_NAME = "SILENT";
 
-  public static final Uri SILENT_URI = Uri.parse("content://com.enqualcomm.support/silent");
+  public static final Uri SILENT_URI = Uri.parse("content://com.ic.protocolSrv/silent");
   
   private static final int STHEART_RATE = 18;
   
-  private static final String STHEART_RATE_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.stheartRate";
+  private static final String STHEART_RATE_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.stheartRate";
   
   private static final String STHEART_RATE_TABLE_NAME = "STHEART_RATE";
 
-  public static final Uri STHEART_RATE_URL = Uri.parse("content://com.enqualcomm.support/stheartRate");
+  public static final Uri STHEART_RATE_URL = Uri.parse("content://com.ic.protocolSrv/stheartRate");
   
   private static final int UNREADMSG = 21;
   
-  private static final String UNREADMSG_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.unreadMsg";
+  private static final String UNREADMSG_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.unreadMsg";
   
   private static final String UNREADMSG_TABLE_NAME = "UNREADMSG";
   
-  public static final Uri UNREAD_MSG_URI = Uri.parse("content://com.enqualcomm.support/unreadMsg");
+  public static final Uri UNREAD_MSG_URI = Uri.parse("content://com.ic.protocolSrv/unreadMsg");
   
   private static final UriMatcher URI_MATCHER = new UriMatcher(-1);
   
@@ -134,84 +134,84 @@ public class ICContentProvider extends ContentProvider {
   
   private static final int URLDOWNLOADPIC_ITEM = 11;
   
-  private static final String URLDOWNLOADPIC_ITEM_MIME = "vnd.android.cursor.item/vnd.com.enqualcomm.support.urlDownloadPic";
+  private static final String URLDOWNLOADPIC_ITEM_MIME = "vnd.android.cursor.item/vnd.com.ic.protocolSrv.urlDownloadPic";
   
-  private static final String URLDOWNLOADPIC_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.urlDownloadPic";
+  private static final String URLDOWNLOADPIC_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.urlDownloadPic";
   
   private static final String URLDOWNLOADPIC_TABLE_NAME = "URLDOWNLOADPIC";
 
-  public static final Uri URLDOWNLOADPIC_URL = Uri .parse("content://com.enqualcomm.support/urlDownloadPic");
+  public static final Uri URLDOWNLOADPIC_URL = Uri .parse("content://com.ic.protocolSrv/urlDownloadPic");
   
   private static final int WEATHER = 14;
   
-  private static final String WEATHER_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.weather";
+  private static final String WEATHER_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.weather";
   
   private static final String WEATHER_TABLE_NAME = "WEATHER";
 
-  public static final Uri WEATHER_URL = Uri.parse("content://com.enqualcomm.support/weather");
+  public static final Uri WEATHER_URL = Uri.parse("content://com.ic.protocolSrv/weather");
 
   public static final String SLEEP_RECORDS_TABLE_NAME = "SLEEP_RECORDS";
   private static final int SLEEP_RECORDS = 22;
-  private static final String SLEEP_RECORDS_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.sleepRecords";
-  public static final Uri SLEEP_RECORDS_URI = Uri.parse("content://com.enqualcomm.support/sleepRecords");
+  private static final String SLEEP_RECORDS_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.sleepRecords";
+  public static final Uri SLEEP_RECORDS_URI = Uri.parse("content://com.ic.protocolSrv/sleepRecords");
 
 
   public static final String SLEEP_STATUS_TABLE_NAME = "SLEEP_STATUS";
   private static final int SLEEP_STATUS = 23;
-  private static final String SLEEP_STATUS_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.sleepStatus";
-  public static final Uri SLEEP_STATUS_URI = Uri.parse("content://com.enqualcomm.support/sleepStatus");
+  private static final String SLEEP_STATUS_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.sleepStatus";
+  public static final Uri SLEEP_STATUS_URI = Uri.parse("content://com.ic.protocolSrv/sleepStatus");
 
 
   public static final String EVENT_MESSAGE_TABLE_NAME = "EVENT_MESSAGE";
   private static final int EVENT_MESSAGE = 24;
-  private static final String EVENT_MESSAGE_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.eventMessage";
-  public static final Uri EVENT_MESSAGE_URI = Uri.parse("content://com.enqualcomm.support/eventMessage");
+  private static final String EVENT_MESSAGE_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.eventMessage";
+  public static final Uri EVENT_MESSAGE_URI = Uri.parse("content://com.ic.protocolSrv/eventMessage");
 
   public static final String SIT_TABLE_NAME = "SIT";
   private static final int SIT = 25;
-  private static final String SIT_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.sit";
-  public static final Uri SIT_URI = Uri.parse("content://com.enqualcomm.support/sit");
+  private static final String SIT_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.sit";
+  public static final Uri SIT_URI = Uri.parse("content://com.ic.protocolSrv/sit");
 
   public static final String ALARM_MSG_RECORDS_TABLE_NAME = "ALARM_MSG_RECORDS";
   private static final int ALARM_MSG_RECORDS = 26;
-  private static final String ALARM_MSG_RECORDS_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.alarmMSG";
-  public static final Uri ALARM_MSG_RECORDS_URI = Uri.parse("content://com.enqualcomm.support/alarmMSG");
+  private static final String ALARM_MSG_RECORDS_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.alarmMSG";
+  public static final Uri ALARM_MSG_RECORDS_URI = Uri.parse("content://com.ic.protocolSrv/alarmMSG");
 
   public static final String PROTOCOL_CMD_RECORDS_TABLE_NAME = "PROTOCOL_CMD_RECORDS";
   private static final int PROTOCOL_CMD_RECORDS = 27;
-  private static final String PROTOCOL_CMD_RECORDS_MIME = "vnd.android.cursor.dir/vnd.com.enqualcomm.support.cmdRecord";
-  public static final Uri PROTOCOL_CMD_RECORDS_URI = Uri.parse("content://com.enqualcomm.support/cmdRecord");
+  private static final String PROTOCOL_CMD_RECORDS_MIME = "vnd.android.cursor.dir/vnd.com.ic.protocolSrv.cmdRecord";
+  public static final Uri PROTOCOL_CMD_RECORDS_URI = Uri.parse("content://com.ic.protocolSrv/cmdRecord");
 
   private SQLiteDatabase db;
   
   static  {
-    URI_MATCHER.addURI("com.enqualcomm.support", "contact", CONTACT);  //1
-    URI_MATCHER.addURI("com.enqualcomm.support", "contact/#", CONTACT_ITEM); //2
-    URI_MATCHER.addURI("com.enqualcomm.support", "message", MESSAGE); //3
-    URI_MATCHER.addURI("com.enqualcomm.support", "message/#", MESSAGE_ITEM); //4
-    URI_MATCHER.addURI("com.enqualcomm.support", "alarm", ALARM); //5
-    URI_MATCHER.addURI("com.enqualcomm.support", "alarm/#", ALARM_ITEM); //6
-    URI_MATCHER.addURI("com.enqualcomm.support", "silent", SILENT); //7
-    URI_MATCHER.addURI("com.enqualcomm.support", "silent/#", SILENT_ITEM); //8
-    URI_MATCHER.addURI("com.enqualcomm.support", "iKnowledge", IKNOWLEDGE); //9
-    URI_MATCHER.addURI("com.enqualcomm.support", "urlDownloadPic", URLDOWNLOADPIC); //10
-    URI_MATCHER.addURI("com.enqualcomm.support", "urlDownloadPic/#", URLDOWNLOADPIC_ITEM); //11
-    URI_MATCHER.addURI("com.enqualcomm.support", "notice", NOTICE); //12
-    URI_MATCHER.addURI("com.enqualcomm.support", "notice/#", NOTICE_ITEM); //13
-    URI_MATCHER.addURI("com.enqualcomm.support", "weather", WEATHER); //14
-    URI_MATCHER.addURI("com.enqualcomm.support", "deviceStatus", DEVICESTATUS); //15
-    URI_MATCHER.addURI("com.enqualcomm.support", "downloadInfo", DOWNLOADINFO); //16
-    URI_MATCHER.addURI("com.enqualcomm.support", "downloadInfo/#", DOWNLOADINFO_ITEM); //17
-    URI_MATCHER.addURI("com.enqualcomm.support", "stheartRate", STHEART_RATE); //18
-    URI_MATCHER.addURI("com.enqualcomm.support", "antioff", ANTIOFF);  //19
-    URI_MATCHER.addURI("com.enqualcomm.support", "antioff/#", ANTIOFF_ITEM); //20
-    URI_MATCHER.addURI("com.enqualcomm.support", "unreadMsg", UNREADMSG); //21
-    URI_MATCHER.addURI("com.enqualcomm.support", "sleepRecords", SLEEP_RECORDS); //22
-    URI_MATCHER.addURI("com.enqualcomm.support", "sleepStatus", SLEEP_STATUS); //23
-    URI_MATCHER.addURI("com.enqualcomm.support", "eventMessage", EVENT_MESSAGE); //24
-    URI_MATCHER.addURI("com.enqualcomm.support", "sit", SIT); //25
-    URI_MATCHER.addURI("com.enqualcomm.support", "alarmMSG", ALARM_MSG_RECORDS); //26
-    URI_MATCHER.addURI("com.enqualcomm.support", "cmdRecord", PROTOCOL_CMD_RECORDS); //27
+    URI_MATCHER.addURI("com.ic.protocolSrv", "contact", CONTACT);  //1
+    URI_MATCHER.addURI("com.ic.protocolSrv", "contact/#", CONTACT_ITEM); //2
+    URI_MATCHER.addURI("com.ic.protocolSrv", "message", MESSAGE); //3
+    URI_MATCHER.addURI("com.ic.protocolSrv", "message/#", MESSAGE_ITEM); //4
+    URI_MATCHER.addURI("com.ic.protocolSrv", "alarm", ALARM); //5
+    URI_MATCHER.addURI("com.ic.protocolSrv", "alarm/#", ALARM_ITEM); //6
+    URI_MATCHER.addURI("com.ic.protocolSrv", "silent", SILENT); //7
+    URI_MATCHER.addURI("com.ic.protocolSrv", "silent/#", SILENT_ITEM); //8
+    URI_MATCHER.addURI("com.ic.protocolSrv", "iKnowledge", IKNOWLEDGE); //9
+    URI_MATCHER.addURI("com.ic.protocolSrv", "urlDownloadPic", URLDOWNLOADPIC); //10
+    URI_MATCHER.addURI("com.ic.protocolSrv", "urlDownloadPic/#", URLDOWNLOADPIC_ITEM); //11
+    URI_MATCHER.addURI("com.ic.protocolSrv", "notice", NOTICE); //12
+    URI_MATCHER.addURI("com.ic.protocolSrv", "notice/#", NOTICE_ITEM); //13
+    URI_MATCHER.addURI("com.ic.protocolSrv", "weather", WEATHER); //14
+    URI_MATCHER.addURI("com.ic.protocolSrv", "deviceStatus", DEVICESTATUS); //15
+    URI_MATCHER.addURI("com.ic.protocolSrv", "downloadInfo", DOWNLOADINFO); //16
+    URI_MATCHER.addURI("com.ic.protocolSrv", "downloadInfo/#", DOWNLOADINFO_ITEM); //17
+    URI_MATCHER.addURI("com.ic.protocolSrv", "stheartRate", STHEART_RATE); //18
+    URI_MATCHER.addURI("com.ic.protocolSrv", "antioff", ANTIOFF);  //19
+    URI_MATCHER.addURI("com.ic.protocolSrv", "antioff/#", ANTIOFF_ITEM); //20
+    URI_MATCHER.addURI("com.ic.protocolSrv", "unreadMsg", UNREADMSG); //21
+    URI_MATCHER.addURI("com.ic.protocolSrv", "sleepRecords", SLEEP_RECORDS); //22
+    URI_MATCHER.addURI("com.ic.protocolSrv", "sleepStatus", SLEEP_STATUS); //23
+    URI_MATCHER.addURI("com.ic.protocolSrv", "eventMessage", EVENT_MESSAGE); //24
+    URI_MATCHER.addURI("com.ic.protocolSrv", "sit", SIT); //25
+    URI_MATCHER.addURI("com.ic.protocolSrv", "alarmMSG", ALARM_MSG_RECORDS); //26
+    URI_MATCHER.addURI("com.ic.protocolSrv", "cmdRecord", PROTOCOL_CMD_RECORDS); //27
 
   }
   
@@ -1,11 +1,11 @@
-package com.enqualcomm.support.provider;
+package com.ic.protocolSrv.provider;
 
 import android.content.Context;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteOpenHelper;
 import android.support.annotation.Nullable;
 
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.utils.ICLogger;
 
 
 public class ICDatabaseHelper extends SQLiteOpenHelper {
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.provider;
+package com.ic.protocolSrv.provider;
 
 import android.content.ContentProvider;
 import android.content.ContentValues;
@@ -15,7 +15,7 @@ import android.support.annotation.Nullable;
 public class ICFollowProvider extends ContentProvider {
 
     public static final String PATH = "follow";
-    public static final String AUTHORITY = "com.ic.fzd.follow";
+    public static final String AUTHORITY = "com.ic.protocolSrv.follow";
     public static final String FOLLOW = "content://" + AUTHORITY + "/" + PATH;
     public static final String FOLLOW_ITEM = "content://" + AUTHORITY + ".item" + "/" + PATH;
 
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.provider;
+package com.ic.protocolSrv.provider;
 
 import android.content.ContentProvider;
 import android.content.ContentValues;
@@ -10,7 +10,7 @@ import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.text.TextUtils;
 
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.utils.ICLogger;
 
 /**
  * 全局配置的内容提供者
@@ -21,7 +21,7 @@ import com.enqualcomm.support.utils.ICLogger;
 public class ICGlobalSettingsProvider extends ContentProvider {
 
     public static final String PATH = "settings";
-    public static final String AUTHORITY = "com.ic.fzd.settings";
+    public static final String AUTHORITY = "com.ic.protocolSrv.settings";
     public static final String SETTINGS = "content://" + AUTHORITY + "/" + PATH;
     private ICDatabaseHelper mDatabase;
 
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.provider;
+package com.ic.protocolSrv.provider;
 
 import android.content.ContentProvider;
 import android.content.ContentValues;
@@ -18,7 +18,7 @@ public class ICMembersProvider extends ContentProvider {
     private static final int MATH_CODE_TABLE = 1;
 
     public static final String PATH = "members";
-    //public static final String AUTHORITY = "com.ic.fzd.members";
+    //public static final String AUTHORITY = "com.ic.protocolSrv.members";
     public static final String AUTHORITY = "com.ic.provider.member";
     public static final String MEMBERS = "content://" + AUTHORITY + "/" + PATH;
 
@@ -1,95 +1,95 @@
-package com.enqualcomm.support;\r
-\r
-import android.content.Context;\r
-import android.database.sqlite.SQLiteDatabase;\r
-import android.database.sqlite.SQLiteOpenHelper;\r
-\r
-import com.enqualcomm.support.utils.ICLogger;\r
-\r
-\r
-public class MySqlitOpenHelper extends SQLiteOpenHelper {\r
-  private static int dbVersion=10;\r
-  public MySqlitOpenHelper(Context paramContext) { super(paramContext, "data", null, dbVersion); }\r
-  \r
-  public void onCreate(SQLiteDatabase sqlite) {\r
-    sqlite.execSQL("CREATE TABLE CONTACT(_id INTEGER PRIMARY KEY AUTOINCREMENT ,CATEGORY INTEGER ,NAME TEXT ,NUMBER TEXT ,ICON TEXT ,EXTRA TEXT)");\r
-    sqlite.execSQL("CREATE TABLE ALARM(_id INTEGER PRIMARY KEY AUTOINCREMENT ,TIME TEXT ,WEEK TEXT ,RING TEXT ,STATUS TEXT ,NAME TEXT)");\r
-    sqlite.execSQL("CREATE TABLE SILENT(_id INTEGER PRIMARY KEY AUTOINCREMENT ,START_TIME TEXT ,END_TIME TEXT ,WEEK TEXT ,STATUS TEXT,CUR_SYS_STATUS TEXT)");\r
-    sqlite.execSQL("CREATE TABLE IKNOWLEDGE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,SCORE TEXT ,AWARD TEXT)");\r
-    sqlite.execSQL("CREATE TABLE URLDOWNLOADPIC(_id INTEGER PRIMARY KEY AUTOINCREMENT ,URL TEXT)");\r
-//提示信息表\r
-    sqlite.execSQL("CREATE TABLE NOTICE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,TIME TEXT,NAME TEXT,NUMBER TEXT,ID TEXT,CATEGORY TEXT,FREQUENCY TEXT,CONTENT TEXT)");\r
-    sqlite.execSQL("CREATE TABLE WEATHER(_id INTEGER PRIMARY KEY AUTOINCREMENT ,WEATHER_TYPE TEXT,MIN_TEMPERATURE TEXT,MAX_TEMPERATURE TEXT,CUR_TEMPERATURE TEXT,WEATHER_INDEX TEXT,WEATHER_INFO TEXT)");\r
-    sqlite.execSQL("CREATE TABLE DEVICESTATUS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,IS_SILENCE TEXT,START_MONITOR TEXT,END_MONITOR TEXT,IS_ALARM INTEGER)");\r
-    sqlite.execSQL("CREATE TABLE DOWNLOADINFO(_id INTEGER PRIMARY KEY AUTOINCREMENT ,IMSI TEXT,TIME TEXT,NUMBER TEXT,TOTAL_NUMBER TEXT)");\r
-    sqlite.execSQL("CREATE TABLE STHEART_RATE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,START_TIME TEXT ,END_TIME TEXT ,WEEK TEXT ,STATUS TEXT,INTERVAL TEXT)");\r
-    sqlite.execSQL("CREATE TABLE UNREADMSG(_id INTEGER PRIMARY KEY AUTOINCREMENT ,CATEGORY INTEGER ,ID TEXT ,COUNT INTEGER,RECVTIME INTEGER)");\r
-    create_tables(sqlite);\r
-}\r
-\r
-\r
-  private void create_tables(SQLiteDatabase sqlite){\r
-\r
- /*\r
-系统对话消息表,包含微聊,系统推送文本,上传图片,上传语音等一系列消息。\r
-Pushtxt、message\r
-数据库 Message,记录所有message,包括类型(下发txt,chat msg, chat image),文件url或者文本内容。\r
-*/\r
-    sqlite.execSQL("CREATE TABLE MESSAGE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,CATEGORY INTEGER ,CONTENT TEXT ,PREVIEW TEXT ,STATUS INTEGER ,IN_OR_OUT INTEGER ,CONTACT_CATEGORY INTEGER ,CONTACT_NUMBER TEXT ,SERVER_TIME TEXT ,LOCAL_TIME INTEGER ,ICON TEXT)");\r
-    //sqlite.execSQL("CREATE TABLE MESSAGE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,CATEGORY INTEGER ,CONTENT TEXT ,PREVIEW TEXT ,STATUS INTEGER ,IN_OR_OUT INTEGER ,CONTACT_CATEGORY INTEGER ,CONTACT_NUMBER TEXT ,SERVER_TIME TEXT ,LOCAL_TIME INTEGER ,ICON TEXT,FILETYPE INTEGER,DATATYPE INTEGER)");\r
-\r
-\r
-\r
-//日志表格,存储开机关机,低电报警等消息。。。\r
-    sqlite.execSQL("CREATE TABLE EVENT_MESSAGE(_id INTEGER PRIMARY KEY AUTOINCREMENT , EVENT_TYPE INTEGER, EVENT_NAME TEXT, TIME TEXT )");\r
-\r
-/*\r
-脱腕检测时段AntiOff\r
-本身需要时间段的,在时间段内才进行 脱腕检测。没有设置时间段的话,或者从0:00~23:59表示持续判断脱腕检测。\r
-2个数据库,时间段和当前状态记录(包括历史记录)。\r
-*/\r
-    sqlite.execSQL("CREATE TABLE ANTIOFF(_id INTEGER PRIMARY KEY AUTOINCREMENT ,START_TIME TEXT ,END_TIME TEXT ,WEEK TEXT ,STATUS TEXT,CUR_SYS_STATUS TEXT)");\r
-    // sqlite.execSQL("CREATE TABLE ANTIOFF_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,TIME TEXT ,STATUS TEXT,CUR_SYS_STATUS TEXT)");\r
-\r
-/*\r
-睡眠\r
-根据时间段进行检测,时间段内,根据翻滚次数确认其睡眠类型。如深度睡眠或者浅睡。\r
-2个数据库翻滚次数记录,当每日睡眠情况统计计算,检测时间段记在settings里,就不放在数据库了。\r
-*/\r
-    /*每次打点的记录表  SLEEP_DATE 代表记录睡眠的日期,例如 22日上午7:00的计入到21日的睡眠记录中。 DATE代表记录的时间,此出应该等于上文的 22日 7:00 */\r
-    sqlite.execSQL("CREATE TABLE SLEEP_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,SLEEP_DATE TEXT,DATE TEXT, STEPCOUNT INTEGER ,ROLLTIMES INTEGER ,STATUS TEXT )");\r
-    /*计算后的分值,每天会在睡眠结束后计算Records获得*/\r
-    sqlite.execSQL("CREATE TABLE SLEEP_STATUS(_id INTEGER PRIMARY KEY AUTOINCREMENT , DATE TEXT , DEEP_SLEEP INTEGER , LIGHT_SLEEP INTEGER ,SCORE INTEGER )");\r
-\r
-/*久坐\r
-根据时间段进行检测,时间段内,根据计步变化确认其是否在坐着。\r
-1个数据库 久坐检测时间段,报警时长度要求,报警记录*/\r
-    sqlite.execSQL("CREATE TABLE SIT(_id INTEGER PRIMARY KEY AUTOINCREMENT ,START_TIME TEXT ,END_TIME TEXT ,WEEK TEXT ,INTERVAL INTEGER)");\r
-\r
-\r
-    /*所有报警的记录表,包括开关机事件*/\r
-    sqlite.execSQL("CREATE TABLE ALARM_MSG_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,DATE TEXT, TIME TEXT ,ALARM TEXT )");\r
-\r
-    /*缓存协议记录*/\r
-    sqlite.execSQL("CREATE TABLE PROTOCOL_CMD_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT , FLAG INTEGER, DATE TEXT, TIME TEXT ,TOPIC TEXT,CMD TEXT )");\r
-\r
-  }\r
-  \r
-  public void onUpgrade(SQLiteDatabase sqlite, int oldDBversion, int newDBversion) {\r
-    if (oldDBversion < 9) {\r
-      ICLogger.i("数据库升级 to "+dbVersion);\r
-      sqlite.execSQL("DROP TABLE IF EXISTS MESSAGE");\r
-      sqlite.execSQL("DROP TABLE IF EXISTS EVENT_MESSAGE");\r
-      sqlite.execSQL("DROP TABLE IF EXISTS ANTIOFF");\r
-      sqlite.execSQL("DROP TABLE IF EXISTS SLEEP_RECORDS");\r
-      sqlite.execSQL("DROP TABLE IF EXISTS SLEEP_STATUS");\r
-      sqlite.execSQL("DROP TABLE IF EXISTS SIT");\r
-      sqlite.execSQL("DROP TABLE IF EXISTS ALARM_MSG_RECORDS");\r
-      create_tables(sqlite);\r
-    }else if (oldDBversion == 9 ){\r
-      /*缓存协议记录*/\r
-      sqlite.execSQL("CREATE TABLE PROTOCOL_CMD_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT , FLAG INTEGER, DATE TEXT, TIME TEXT ,TOPIC TEXT,CMD TEXT )");\r
-    }\r
-  }\r
-}\r
-\r
+package com.ic.protocolSrv.provider;
+
+import android.content.Context;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteOpenHelper;
+
+import com.ic.protocolSrv.utils.ICLogger;
+
+
+public class MySqlitOpenHelper extends SQLiteOpenHelper {
+  private static int dbVersion=10;
+  public MySqlitOpenHelper(Context paramContext) { super(paramContext, "data", null, dbVersion); }
+  
+  public void onCreate(SQLiteDatabase sqlite) {
+    sqlite.execSQL("CREATE TABLE CONTACT(_id INTEGER PRIMARY KEY AUTOINCREMENT ,CATEGORY INTEGER ,NAME TEXT ,NUMBER TEXT ,ICON TEXT ,EXTRA TEXT)");
+    sqlite.execSQL("CREATE TABLE ALARM(_id INTEGER PRIMARY KEY AUTOINCREMENT ,TIME TEXT ,WEEK TEXT ,RING TEXT ,STATUS TEXT ,NAME TEXT)");
+    sqlite.execSQL("CREATE TABLE SILENT(_id INTEGER PRIMARY KEY AUTOINCREMENT ,START_TIME TEXT ,END_TIME TEXT ,WEEK TEXT ,STATUS TEXT,CUR_SYS_STATUS TEXT)");
+    sqlite.execSQL("CREATE TABLE IKNOWLEDGE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,SCORE TEXT ,AWARD TEXT)");
+    sqlite.execSQL("CREATE TABLE URLDOWNLOADPIC(_id INTEGER PRIMARY KEY AUTOINCREMENT ,URL TEXT)");
+//提示信息表
+    sqlite.execSQL("CREATE TABLE NOTICE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,TIME TEXT,NAME TEXT,NUMBER TEXT,ID TEXT,CATEGORY TEXT,FREQUENCY TEXT,CONTENT TEXT)");
+    sqlite.execSQL("CREATE TABLE WEATHER(_id INTEGER PRIMARY KEY AUTOINCREMENT ,WEATHER_TYPE TEXT,MIN_TEMPERATURE TEXT,MAX_TEMPERATURE TEXT,CUR_TEMPERATURE TEXT,WEATHER_INDEX TEXT,WEATHER_INFO TEXT)");
+    sqlite.execSQL("CREATE TABLE DEVICESTATUS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,IS_SILENCE TEXT,START_MONITOR TEXT,END_MONITOR TEXT,IS_ALARM INTEGER)");
+    sqlite.execSQL("CREATE TABLE DOWNLOADINFO(_id INTEGER PRIMARY KEY AUTOINCREMENT ,IMSI TEXT,TIME TEXT,NUMBER TEXT,TOTAL_NUMBER TEXT)");
+    sqlite.execSQL("CREATE TABLE STHEART_RATE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,START_TIME TEXT ,END_TIME TEXT ,WEEK TEXT ,STATUS TEXT,INTERVAL TEXT)");
+    sqlite.execSQL("CREATE TABLE UNREADMSG(_id INTEGER PRIMARY KEY AUTOINCREMENT ,CATEGORY INTEGER ,ID TEXT ,COUNT INTEGER,RECVTIME INTEGER)");
+    create_tables(sqlite);
+}
+
+
+  private void create_tables(SQLiteDatabase sqlite){
+
+ /*
+系统对话消息表,包含微聊,系统推送文本,上传图片,上传语音等一系列消息。
+Pushtxt、message
+数据库 Message,记录所有message,包括类型(下发txt,chat msg, chat image),文件url或者文本内容。
+*/
+    sqlite.execSQL("CREATE TABLE MESSAGE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,CATEGORY INTEGER ,CONTENT TEXT ,PREVIEW TEXT ,STATUS INTEGER ,IN_OR_OUT INTEGER ,CONTACT_CATEGORY INTEGER ,CONTACT_NUMBER TEXT ,SERVER_TIME TEXT ,LOCAL_TIME INTEGER ,ICON TEXT)");
+    //sqlite.execSQL("CREATE TABLE MESSAGE(_id INTEGER PRIMARY KEY AUTOINCREMENT ,CATEGORY INTEGER ,CONTENT TEXT ,PREVIEW TEXT ,STATUS INTEGER ,IN_OR_OUT INTEGER ,CONTACT_CATEGORY INTEGER ,CONTACT_NUMBER TEXT ,SERVER_TIME TEXT ,LOCAL_TIME INTEGER ,ICON TEXT,FILETYPE INTEGER,DATATYPE INTEGER)");
+
+
+
+//日志表格,存储开机关机,低电报警等消息。。。
+    sqlite.execSQL("CREATE TABLE EVENT_MESSAGE(_id INTEGER PRIMARY KEY AUTOINCREMENT , EVENT_TYPE INTEGER, EVENT_NAME TEXT, TIME TEXT )");
+
+/*
+脱腕检测时段AntiOff
+本身需要时间段的,在时间段内才进行 脱腕检测。没有设置时间段的话,或者从0:00~23:59表示持续判断脱腕检测。
+2个数据库,时间段和当前状态记录(包括历史记录)。
+*/
+    sqlite.execSQL("CREATE TABLE ANTIOFF(_id INTEGER PRIMARY KEY AUTOINCREMENT ,START_TIME TEXT ,END_TIME TEXT ,WEEK TEXT ,STATUS TEXT,CUR_SYS_STATUS TEXT)");
+    // sqlite.execSQL("CREATE TABLE ANTIOFF_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,TIME TEXT ,STATUS TEXT,CUR_SYS_STATUS TEXT)");
+
+/*
+睡眠
+根据时间段进行检测,时间段内,根据翻滚次数确认其睡眠类型。如深度睡眠或者浅睡。
+2个数据库翻滚次数记录,当每日睡眠情况统计计算,检测时间段记在settings里,就不放在数据库了。
+*/
+    /*每次打点的记录表  SLEEP_DATE 代表记录睡眠的日期,例如 22日上午7:00的计入到21日的睡眠记录中。 DATE代表记录的时间,此出应该等于上文的 22日 7:00 */
+    sqlite.execSQL("CREATE TABLE SLEEP_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,SLEEP_DATE TEXT,DATE TEXT, STEPCOUNT INTEGER ,ROLLTIMES INTEGER ,STATUS TEXT )");
+    /*计算后的分值,每天会在睡眠结束后计算Records获得*/
+    sqlite.execSQL("CREATE TABLE SLEEP_STATUS(_id INTEGER PRIMARY KEY AUTOINCREMENT , DATE TEXT , DEEP_SLEEP INTEGER , LIGHT_SLEEP INTEGER ,SCORE INTEGER )");
+
+/*久坐
+根据时间段进行检测,时间段内,根据计步变化确认其是否在坐着。
+1个数据库 久坐检测时间段,报警时长度要求,报警记录*/
+    sqlite.execSQL("CREATE TABLE SIT(_id INTEGER PRIMARY KEY AUTOINCREMENT ,START_TIME TEXT ,END_TIME TEXT ,WEEK TEXT ,INTERVAL INTEGER)");
+
+
+    /*所有报警的记录表,包括开关机事件*/
+    sqlite.execSQL("CREATE TABLE ALARM_MSG_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT ,DATE TEXT, TIME TEXT ,ALARM TEXT )");
+
+    /*缓存协议记录*/
+    sqlite.execSQL("CREATE TABLE PROTOCOL_CMD_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT , FLAG INTEGER, DATE TEXT, TIME TEXT ,TOPIC TEXT,CMD TEXT )");
+
+  }
+  
+  public void onUpgrade(SQLiteDatabase sqlite, int oldDBversion, int newDBversion) {
+    if (oldDBversion < 9) {
+      ICLogger.i("数据库升级 to "+dbVersion);
+      sqlite.execSQL("DROP TABLE IF EXISTS MESSAGE");
+      sqlite.execSQL("DROP TABLE IF EXISTS EVENT_MESSAGE");
+      sqlite.execSQL("DROP TABLE IF EXISTS ANTIOFF");
+      sqlite.execSQL("DROP TABLE IF EXISTS SLEEP_RECORDS");
+      sqlite.execSQL("DROP TABLE IF EXISTS SLEEP_STATUS");
+      sqlite.execSQL("DROP TABLE IF EXISTS SIT");
+      sqlite.execSQL("DROP TABLE IF EXISTS ALARM_MSG_RECORDS");
+      create_tables(sqlite);
+    }else if (oldDBversion == 9 ){
+      /*缓存协议记录*/
+      sqlite.execSQL("CREATE TABLE PROTOCOL_CMD_RECORDS(_id INTEGER PRIMARY KEY AUTOINCREMENT , FLAG INTEGER, DATE TEXT, TIME TEXT ,TOPIC TEXT,CMD TEXT )");
+    }
+  }
+}
+
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.provider;
+package com.ic.protocolSrv.provider;
 
 import android.content.ContentProvider;
 import android.content.ContentValues;
@@ -9,7 +9,7 @@ import android.net.Uri;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.utils.ICLogger;
 
 import java.util.Objects;
 
@@ -20,7 +20,7 @@ public class WeTalkMessageProvider extends ContentProvider {
 
     //添加规则
     public static final String PATH = "message";
-    public static final String AUTHORITY = "com.ic.fzd.we-talk";
+    public static final String AUTHORITY = "com.ic.protocolSrv.we-talk";
     public static final String MESSAGES = "content://" + AUTHORITY + "/" + PATH;
     public static final String MESSAGES_SEND = "content://" + AUTHORITY + ".send" + "/" + PATH;
     //一个Item添加/更新的时候,可以通过这个来通知UI
@@ -1,9 +1,9 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.content.ContentResolver;
 import android.os.Handler;
 
-import com.enqualcomm.support.service.base.BaseSettingsObserver;
+import com.ic.protocolSrv.service.base.BaseSettingsObserver;
 import com.ic.protocols.protocolAPIHelper;
 
 public class AirplaneModeObserver extends BaseSettingsObserver {
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.content.Context;
 import android.content.Intent;
@@ -11,31 +11,31 @@ import android.os.Message;
 import android.os.PowerManager;
 import android.text.TextUtils;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.LocationClient;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;
-import com.enqualcomm.support.utils.AlarmHelper;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.VibrateUtil;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.LocationClient;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.service.base.AbstractInvokeHandlerService;
+import com.ic.protocolSrv.utils.AlarmHelper;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.VibrateUtil;
 
 import java.lang.ref.WeakReference;
 
 import rx.Observable;
 import rx.schedulers.Schedulers;
 
-import static com.enqualcomm.support.Constants.ACTION_ANTI_OFF0;
-import static com.enqualcomm.support.Constants.ACTION_CHECK_ANTIOFF_EVENT;
-import static com.enqualcomm.support.Constants.ACTION_CHECK_CUTOFF_EVENT;
-import static com.enqualcomm.support.Constants.ACTION_CUT_OFF;
-import static com.enqualcomm.support.Constants.KEY_ANTI_EVENT;
-import static com.enqualcomm.support.Constants.KEY_ANTI_TXT;
-import static com.enqualcomm.support.service.InputEventReader.EVENT_TYPE_ANTI;
-import static com.enqualcomm.support.service.InputEventReader.EVENT_TYPE_CUT;
+import static com.ic.protocolSrv.Constants.ACTION_ANTI_OFF0;
+import static com.ic.protocolSrv.Constants.ACTION_CHECK_ANTIOFF_EVENT;
+import static com.ic.protocolSrv.Constants.ACTION_CHECK_CUTOFF_EVENT;
+import static com.ic.protocolSrv.Constants.ACTION_CUT_OFF;
+import static com.ic.protocolSrv.Constants.KEY_ANTI_EVENT;
+import static com.ic.protocolSrv.Constants.KEY_ANTI_TXT;
+import static com.ic.protocolSrv.service.InputEventReader.EVENT_TYPE_ANTI;
+import static com.ic.protocolSrv.service.InputEventReader.EVENT_TYPE_CUT;
 import static java.lang.Thread.sleep;
 
 
-package com.enqualcomm.support.service;\r
-\r
-import android.content.res.AssetFileDescriptor;\r
-import android.content.res.AssetManager;\r
-import android.media.MediaPlayer;\r
-import android.media.MediaRecorder;\r
-\r
-import com.enqualcomm.support.utils.ICLogger;\r
-\r
-import java.io.IOException;\r
-\r
-\r
-public class AudioService implements MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener {\r
-    private MediaPlayer mMediaPlayer;\r
-\r
-    private static AudioService mAudioService = null;\r
-    private static MediaRecorder mRecorder = null;\r
-\r
-    public AudioService() {\r
-        initMediaPlayer();\r
-    }\r
-\r
-    public static AudioService getInstance() {\r
-        if (mAudioService == null)\r
-            mAudioService = new AudioService();\r
-        return mAudioService;\r
-    }\r
-\r
-    private void initMediaPlayer() {\r
-        release();\r
-        this.mMediaPlayer = new MediaPlayer();\r
-        this.mMediaPlayer.setOnCompletionListener(this);\r
-        this.mMediaPlayer.setOnErrorListener(this);\r
-    }\r
-\r
-    public void onCompletion(MediaPlayer paramMediaPlayer) {\r
-        release();\r
-    }\r
-\r
-    public boolean onError(MediaPlayer paramMediaPlayer, int paramInt1, int paramInt2) {\r
-        release();\r
-        return false;\r
-    }\r
-\r
-    public void pause() {\r
-        if (this.mMediaPlayer != null)\r
-            this.mMediaPlayer.pause();\r
-    }\r
-\r
-    public void play(AssetManager paramAssetManager, String paramString) {\r
-        ICLogger.i("mMediaPlayer play");\r
-        if (this.mMediaPlayer == null)\r
-            initMediaPlayer();\r
-        this.mMediaPlayer.reset();\r
-        try {\r
-            AssetFileDescriptor assetFileDescriptor = paramAssetManager.openFd(paramString);\r
-            this.mMediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());\r
-            assetFileDescriptor.close();\r
-            this.mMediaPlayer.prepare();\r
-            this.mMediaPlayer.start();\r
-            return;\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-            return;\r
-        }\r
-    }\r
-\r
-    public void play(String paramString) {\r
-        if (this.mMediaPlayer == null)\r
-            initMediaPlayer();\r
-        this.mMediaPlayer.reset();\r
-        try {\r
-            this.mMediaPlayer.setDataSource(paramString);\r
-            this.mMediaPlayer.prepare();\r
-            this.mMediaPlayer.start();\r
-            return;\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-            return;\r
-        }\r
-    }\r
-\r
-    public void play(String paramString, boolean paramBoolean) {\r
-        if (this.mMediaPlayer == null)\r
-            initMediaPlayer();\r
-        this.mMediaPlayer.reset();\r
-        try {\r
-            this.mMediaPlayer.setDataSource(paramString);\r
-            this.mMediaPlayer.prepareAsync();\r
-            this.mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {\r
-                public void onPrepared(MediaPlayer param1MediaPlayer) {\r
-                    AudioService.this.mMediaPlayer.start();\r
-                }\r
-            });\r
-            return;\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-            return;\r
-        }\r
-    }\r
-\r
-    public void rePlay() {\r
-        if (this.mMediaPlayer != null)\r
-            this.mMediaPlayer.start();\r
-    }\r
-\r
-    public void release() {\r
-        if (this.mMediaPlayer != null) {\r
-            this.mMediaPlayer.setOnCompletionListener(null);\r
-            this.mMediaPlayer.setOnErrorListener(null);\r
-            this.mMediaPlayer.release();\r
-            this.mMediaPlayer = null;\r
-        }\r
-    }\r
-\r
-    public void stop() {\r
-        if (this.mMediaPlayer != null && this.mMediaPlayer.isPlaying())\r
-            this.mMediaPlayer.stop();\r
-    }\r
-\r
-\r
-    public void startRecord(String FileName) {\r
-        if (mRecorder == null)\r
-            mRecorder = new MediaRecorder();\r
-        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);\r
-        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);\r
-        mRecorder.setOutputFile(FileName);\r
-        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);\r
-        try {\r
-            mRecorder.prepare();\r
-        } catch (IOException e) {\r
-            ICLogger.e("prepare() failed");\r
-        }\r
-        mRecorder.start();\r
-    }\r
-\r
-    public void stopRecord() {\r
-        if (mRecorder != null) {\r
-            mRecorder.stop();\r
-            mRecorder.release();\r
-        }\r
-    }\r
-}\r
-\r
+package com.ic.protocolSrv.service;
+
+import android.content.res.AssetFileDescriptor;
+import android.content.res.AssetManager;
+import android.media.MediaPlayer;
+import android.media.MediaRecorder;
+
+import com.ic.protocolSrv.utils.ICLogger;
+
+import java.io.IOException;
+
+
+public class AudioService implements MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener {
+    private MediaPlayer mMediaPlayer;
+
+    private static AudioService mAudioService = null;
+    private static MediaRecorder mRecorder = null;
+
+    public AudioService() {
+        initMediaPlayer();
+    }
+
+    public static AudioService getInstance() {
+        if (mAudioService == null)
+            mAudioService = new AudioService();
+        return mAudioService;
+    }
+
+    private void initMediaPlayer() {
+        release();
+        this.mMediaPlayer = new MediaPlayer();
+        this.mMediaPlayer.setOnCompletionListener(this);
+        this.mMediaPlayer.setOnErrorListener(this);
+    }
+
+    public void onCompletion(MediaPlayer paramMediaPlayer) {
+        release();
+    }
+
+    public boolean onError(MediaPlayer paramMediaPlayer, int paramInt1, int paramInt2) {
+        release();
+        return false;
+    }
+
+    public void pause() {
+        if (this.mMediaPlayer != null)
+            this.mMediaPlayer.pause();
+    }
+
+    public void play(AssetManager paramAssetManager, String paramString) {
+        ICLogger.i("mMediaPlayer play");
+        if (this.mMediaPlayer == null)
+            initMediaPlayer();
+        this.mMediaPlayer.reset();
+        try {
+            AssetFileDescriptor assetFileDescriptor = paramAssetManager.openFd(paramString);
+            this.mMediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());
+            assetFileDescriptor.close();
+            this.mMediaPlayer.prepare();
+            this.mMediaPlayer.start();
+            return;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return;
+        }
+    }
+
+    public void play(String paramString) {
+        if (this.mMediaPlayer == null)
+            initMediaPlayer();
+        this.mMediaPlayer.reset();
+        try {
+            this.mMediaPlayer.setDataSource(paramString);
+            this.mMediaPlayer.prepare();
+            this.mMediaPlayer.start();
+            return;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return;
+        }
+    }
+
+    public void play(String paramString, boolean paramBoolean) {
+        if (this.mMediaPlayer == null)
+            initMediaPlayer();
+        this.mMediaPlayer.reset();
+        try {
+            this.mMediaPlayer.setDataSource(paramString);
+            this.mMediaPlayer.prepareAsync();
+            this.mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
+                public void onPrepared(MediaPlayer param1MediaPlayer) {
+                    AudioService.this.mMediaPlayer.start();
+                }
+            });
+            return;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return;
+        }
+    }
+
+    public void rePlay() {
+        if (this.mMediaPlayer != null)
+            this.mMediaPlayer.start();
+    }
+
+    public void release() {
+        if (this.mMediaPlayer != null) {
+            this.mMediaPlayer.setOnCompletionListener(null);
+            this.mMediaPlayer.setOnErrorListener(null);
+            this.mMediaPlayer.release();
+            this.mMediaPlayer = null;
+        }
+    }
+
+    public void stop() {
+        if (this.mMediaPlayer != null && this.mMediaPlayer.isPlaying())
+            this.mMediaPlayer.stop();
+    }
+
+
+    public void startRecord(String FileName) {
+        if (mRecorder == null)
+            mRecorder = new MediaRecorder();
+        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
+        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
+        mRecorder.setOutputFile(FileName);
+        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
+        try {
+            mRecorder.prepare();
+        } catch (IOException e) {
+            ICLogger.e("prepare() failed");
+        }
+        mRecorder.start();
+    }
+
+    public void stopRecord() {
+        if (mRecorder != null) {
+            mRecorder.stop();
+            mRecorder.release();
+        }
+    }
+}
+
-package com.enqualcomm.support.service;\r
-\r
-import android.content.BroadcastReceiver;\r
-import android.content.Context;\r
-import android.content.Intent;\r
-import android.content.IntentFilter;\r
-import android.telephony.TelephonyManager;\r
-\r
-import com.enqualcomm.support.bean.Runtime;\r
-import com.enqualcomm.support.bean.StringMessage;\r
-import com.enqualcomm.support.service.base.AbstractConnectionService;\r
-import com.enqualcomm.support.utils.Connection;\r
-\r
-import static android.telephony.TelephonyManager.SIM_STATE_ABSENT;\r
-import static android.telephony.TelephonyManager.SIM_STATE_READY;\r
-import static android.telephony.TelephonyManager.SIM_STATE_UNKNOWN;\r
-\r
-public class CheckSIM extends AbstractConnectionService {\r
-  private static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";\r
-  \r
-  private BroadcastReceiver SimStateReceive = new BroadcastReceiver() {\r
-      public void onReceive(Context param1Context, Intent param1Intent) {\r
-        if (param1Intent.getAction().equals("android.intent.action.SIM_STATE_CHANGED") && CheckSIM.this.hasSimCard()) {\r
-          CheckSIM.this.simState[0] = 1;\r
-          CheckSIM.this.simState[1] = -1;\r
-          CheckSIM.this.simState[2] = -1;\r
-          CheckSIM.this.simState[3] = -1;\r
-        } \r
-      }\r
-    };\r
-  \r
-  Runtime mRuntime;\r
-  \r
-  int[] simState = { 0, 0, 0, 0 };\r
-  \r
-  private boolean hasSimCard() {\r
-//    int i = ((TelephonyManager)(this.mRuntime.getContextProxy()).context.getSystemService(Context.TELEPHONY_SERVICE)).getSimState();\r
-//    boolean bool = false;\r
-//    switch (i) {\r
-//      default:\r
-//        bool = true;\r
-//        break;\r
-//      case SIM_STATE_ABSENT:\r
-//      case SIM_STATE_UNKNOWN:\r
-//        break;\r
-//    }\r
-//    return bool;\r
-    return (((TelephonyManager)(this.mRuntime.getContextProxy()).context.getSystemService(Context.TELEPHONY_SERVICE)).getSimState() == SIM_STATE_READY);\r
-  }\r
-  @Override\r
-  public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {\r
-    if (hasSimCard()) {\r
-      this.simState[0] = 1;\r
-      this.simState[1] = -1;\r
-      this.simState[2] = -1;\r
-      this.simState[3] = -1;\r
-      return;\r
-    } \r
-    if (this.simState[0] == 1) {\r
-//      byte b1 = 0;\r
-//      byte b2;\r
-//      byte b=0;\r
-//      for (b2 = 0; b1 < this.simState.length; b2 = b) {\r
-//         b = b2;\r
-//        if (this.simState[b1] == 0)\r
-//          b = b2+1;\r
-//        b1++;\r
-//      }\r
-//      switch (b2) {\r
-//        default:\r
-//          return;\r
-//        case 3:\r
-//          this.mRuntime.getContextProxy().reboot();\r
-//          return;\r
-//        case 2:\r
-//          this.simState[3] = 0;\r
-//          return;\r
-//        case 1:\r
-//          this.simState[2] = 0;\r
-//          return;\r
-//        case 0:\r
-//          break;\r
-//      }\r
-      this.simState[1] = 0;\r
-    } \r
-  }\r
-  \r
-  public void onAttach(Connection paramConnection, Runtime paramRuntime) {\r
-    this.mRuntime = paramRuntime;\r
-    IntentFilter intentFilter = new IntentFilter();\r
-    intentFilter.addAction("android.intent.action.SIM_STATE_CHANGED");\r
-    (paramRuntime.getContextProxy()).context.registerReceiver(this.SimStateReceive, intentFilter);\r
-  }\r
-\r
-  @Override\r
-  public boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime, String ErrorMsg) {\r
-    return false; }\r
-  \r
-  public boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime) { return false; }\r
-  \r
-  public void onDetach(Connection paramConnection, Runtime paramRuntime) {\r
-\r
-    (paramRuntime.getContextProxy()).context.unregisterReceiver(this.SimStateReceive);\r
-  }\r
-  \r
-  public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) { return false; }\r
-}\r
-\r
+package com.ic.protocolSrv.service;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.telephony.TelephonyManager;
+
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.service.base.AbstractConnectionService;
+import com.ic.protocolSrv.utils.Connection;
+
+import static android.telephony.TelephonyManager.SIM_STATE_ABSENT;
+import static android.telephony.TelephonyManager.SIM_STATE_READY;
+import static android.telephony.TelephonyManager.SIM_STATE_UNKNOWN;
+
+public class CheckSIM extends AbstractConnectionService {
+  private static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
+  
+  private BroadcastReceiver SimStateReceive = new BroadcastReceiver() {
+      public void onReceive(Context param1Context, Intent param1Intent) {
+        if (param1Intent.getAction().equals("android.intent.action.SIM_STATE_CHANGED") && CheckSIM.this.hasSimCard()) {
+          CheckSIM.this.simState[0] = 1;
+          CheckSIM.this.simState[1] = -1;
+          CheckSIM.this.simState[2] = -1;
+          CheckSIM.this.simState[3] = -1;
+        } 
+      }
+    };
+  
+  Runtime mRuntime;
+  
+  int[] simState = { 0, 0, 0, 0 };
+  
+  private boolean hasSimCard() {
+//    int i = ((TelephonyManager)(this.mRuntime.getContextProxy()).context.getSystemService(Context.TELEPHONY_SERVICE)).getSimState();
+//    boolean bool = false;
+//    switch (i) {
+//      default:
+//        bool = true;
+//        break;
+//      case SIM_STATE_ABSENT:
+//      case SIM_STATE_UNKNOWN:
+//        break;
+//    }
+//    return bool;
+    return (((TelephonyManager)(this.mRuntime.getContextProxy()).context.getSystemService(Context.TELEPHONY_SERVICE)).getSimState() == SIM_STATE_READY);
+  }
+  @Override
+  public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {
+    if (hasSimCard()) {
+      this.simState[0] = 1;
+      this.simState[1] = -1;
+      this.simState[2] = -1;
+      this.simState[3] = -1;
+      return;
+    } 
+    if (this.simState[0] == 1) {
+//      byte b1 = 0;
+//      byte b2;
+//      byte b=0;
+//      for (b2 = 0; b1 < this.simState.length; b2 = b) {
+//         b = b2;
+//        if (this.simState[b1] == 0)
+//          b = b2+1;
+//        b1++;
+//      }
+//      switch (b2) {
+//        default:
+//          return;
+//        case 3:
+//          this.mRuntime.getContextProxy().reboot();
+//          return;
+//        case 2:
+//          this.simState[3] = 0;
+//          return;
+//        case 1:
+//          this.simState[2] = 0;
+//          return;
+//        case 0:
+//          break;
+//      }
+      this.simState[1] = 0;
+    } 
+  }
+  
+  public void onAttach(Connection paramConnection, Runtime paramRuntime) {
+    this.mRuntime = paramRuntime;
+    IntentFilter intentFilter = new IntentFilter();
+    intentFilter.addAction("android.intent.action.SIM_STATE_CHANGED");
+    (paramRuntime.getContextProxy()).context.registerReceiver(this.SimStateReceive, intentFilter);
+  }
+
+  @Override
+  public boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime, String ErrorMsg) {
+    return false; }
+  
+  public boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime) { return false; }
+  
+  public void onDetach(Connection paramConnection, Runtime paramRuntime) {
+
+    (paramRuntime.getContextProxy()).context.unregisterReceiver(this.SimStateReceive);
+  }
+  
+  public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) { return false; }
+}
+
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.app.AlarmManager;
 import android.app.PendingIntent;
@@ -16,28 +16,28 @@ import android.os.HandlerThread;
 import android.os.PowerManager;
 import android.os.SystemClock;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.Constants;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.bean.VoiceContent;
-import com.enqualcomm.support.bean.voicePacket;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.WeTalkMessageProvider;
-import com.enqualcomm.support.service.base.AbstractConnectionService;
-import com.enqualcomm.support.utils.AESCipher;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.FileCache;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.NettyConnection;
-import com.enqualcomm.support.utils.SharePreferenceUtil;
-import com.enqualcomm.support.utils.SimSignalUtil;
-import com.enqualcomm.support.utils.TemperatureUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.Constants;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.bean.VoiceContent;
+import com.ic.protocolSrv.bean.voicePacket;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.WeTalkMessageProvider;
+import com.ic.protocolSrv.service.base.AbstractConnectionService;
+import com.ic.protocolSrv.utils.AESCipher;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.FileCache;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.NettyConnection;
+import com.ic.protocolSrv.utils.SharePreferenceUtil;
+import com.ic.protocolSrv.utils.SimSignalUtil;
+import com.ic.protocolSrv.utils.TemperatureUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
 import com.ic.protocols.protocolAPIHelper;
 
 import java.util.concurrent.LinkedBlockingDeque;
@@ -45,11 +45,11 @@ import java.util.concurrent.locks.Condition;
 import java.util.concurrent.locks.ReentrantLock;
 
 import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
-import static com.enqualcomm.support.Constants.ACTION_WAKEUP_ALARM;
-import static com.enqualcomm.support.Constants.DIALOG_ACTION;
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.bean.Contact.CATEGORY_GROUP;
-import static com.enqualcomm.support.bean.Content.CONTACT_CATEGORY_GROUP;
+import static com.ic.protocolSrv.Constants.ACTION_WAKEUP_ALARM;
+import static com.ic.protocolSrv.Constants.DIALOG_ACTION;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.bean.Contact.CATEGORY_GROUP;
+import static com.ic.protocolSrv.bean.Content.CONTACT_CATEGORY_GROUP;
 
 /**
  * 负责发送除了login,心跳之外的所有指令
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -13,32 +13,32 @@ import android.os.Handler;
 import android.os.IBinder;
 import android.os.Message;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.Constants;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.ICApplication;
-import com.enqualcomm.support.LocationClient;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.bean.heartRateStatus;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.ICGlobalSettingsProvider;
-import com.enqualcomm.support.provider.ICNotificationProvider;
-import com.enqualcomm.support.provider.WarningItemProvider;
-import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.HeartRateOxygenTestType;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.Constants;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.ICApplication;
+import com.ic.protocolSrv.LocationClient;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.bean.heartRateStatus;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.ICGlobalSettingsProvider;
+import com.ic.protocolSrv.provider.ICNotificationProvider;
+import com.ic.protocolSrv.provider.WarningItemProvider;
+import com.ic.protocolSrv.service.base.AbstractInvokeHandlerService;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.HeartRateOxygenTestType;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
 import com.ic.protocols.protocolAPIHelper;
 import com.ic.work.IHeartRateSensorCallback;
 import com.ic.work.IHeartRateSensorService;
 import com.ic.work.domain.HeartRate;
 
-import static com.enqualcomm.support.Constants.ACTION_BROADCAST_PPG;
-import static com.enqualcomm.support.Constants.ACTION_HEATR_RATE_START;
+import static com.ic.protocolSrv.Constants.ACTION_BROADCAST_PPG;
+import static com.ic.protocolSrv.Constants.ACTION_HEATR_RATE_START;
 
 public class HeartRateManager extends AbstractInvokeHandlerService {
 
-package com.enqualcomm.support.service;\r
-\r
-import android.database.Cursor;\r
-\r
-import com.enqualcomm.support.Config;\r
-import com.enqualcomm.support.provider.ICContentProvider;\r
-import com.ic.protocols.protocolAPIHelper;\r
-import com.enqualcomm.support.bean.StringMessage;\r
-import com.enqualcomm.support.service.base.AbstractConnectionService;\r
-import com.enqualcomm.support.utils.Connection;\r
-import com.enqualcomm.support.bean.Runtime;\r
-import com.enqualcomm.support.utils.ICLogger;\r
-import com.enqualcomm.support.utils.SimSignalUtil;\r
-\r
-public class Initialize extends AbstractConnectionService {\r
-  private boolean hasChange = false;\r
-  \r
-  private SimSignalUtil mInstance;\r
-  \r
-  private int netWorkFlag;\r
-  private boolean initOK=false;\r
-  private int weatherOutTime = 30;\r
-  \r
-  public static boolean hasContacts(Runtime paramRuntime) {\r
-    Cursor cursor = (paramRuntime.getContextProxy()).context.getContentResolver().query(ICContentProvider.CONTACT_URI, null, null, null, null);\r
-    if (cursor != null) {\r
-      if (cursor.moveToNext()) {\r
-        cursor.close();\r
-        return true;\r
-      } \r
-      cursor.close();\r
-    } \r
-    return false;\r
-  }\r
-  \r
-  public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {\r
-    if (this.netWorkFlag > 5 && !this.hasChange) {\r
-      this.hasChange = true;\r
-      this.netWorkFlag = 0;\r
-    } else {\r
-      this.netWorkFlag++;\r
-    } \r
-//    if (paramRuntime.getVideoID() == null)\r
-//      paramConnection.send(API.H139(paramRuntime));\r
-  }\r
-  \r
-  public void onAttach(Connection paramConnection, Runtime paramRuntime) { this.mInstance = SimSignalUtil.getInstance((paramRuntime.getContextProxy()).context); }\r
-\r
-  @Override\r
-  public boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime, String ErrorMsg) {\r
-\r
-    initOK=false;\r
-    return false;\r
-  }\r
-  \r
-  public boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime) {\r
-    if (this.initOK)\r
-      return false; \r
-\r
-//    if (paramRuntime.IMSI() != null && !paramRuntime.IMSI().startsWith("46001"))\r
-//      paramRuntime.IMSI().startsWith("46006");\r
-\r
-//区分联通、移动、电信 号码的策略\r
-//1 通过IMSI号前5位判断\r
-//中国移动使用46000、46002、46007\r
-//中国联通使用46001、46006\r
-//中国电信使用46003、46005、46011\r
-//\r
-//2 通过获取短信中心号码判断\r
-//通过获取的短信中心号码前3位判断\r
-//\r
-//3 通过ICCID判断\r
-//ICCID前六位运营商代码:中国移动的为:898600;898602 ,中国联通的为:898601,中国电信898603\r
-\r
-\r
-    Config.loadServerSettings(paramRuntime);\r
-\r
-    //发送登录包\r
-    paramConnection.send(protocolAPIHelper.getLoginMSG(paramRuntime));\r
-\r
-\r
-    return false;\r
-  }\r
-\r
-\r
-  public void onDetach(Connection paramConnection, Runtime paramRuntime) { this.initOK = false; }\r
-\r
-\r
-\r
-  public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) {\r
-    if (this.initOK)\r
-      return false; \r
-    if (paramStringMessage.cmd().equals("login")) {\r
-      this.initOK = true;\r
-      //login成功后,上传当前版本号\r
-      paramConnection.send(protocolAPIHelper.getDeviceVersion(paramRuntime));\r
-\r
-      if (!hasContacts(paramRuntime)) {\r
-//        paramConnection.send(API.H06(paramRuntime));\r
-        ICLogger.i("没有联系人");\r
-      } else {\r
-        ICLogger.i("有联系人");\r
-      } \r
-//      EqcAlgorithmNative.native_EqcAlgorithmMethod3(1);\r
-      StringBuilder stringBuilder = new StringBuilder();\r
-      stringBuilder.append("imei_key =");\r
-      stringBuilder.append(paramRuntime.IMEI());\r
-      ICLogger.i(stringBuilder.toString());\r
-//      paramConnection.send(API.H139(paramRuntime));\r
-      this.nextService.processConnectionOpen(paramConnection, paramRuntime);\r
-    } \r
-    return true;\r
-  }\r
-}\r
-\r
-\r
+package com.ic.protocolSrv.service;
+
+import android.database.Cursor;
+
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.provider.ICContentProvider;
+import com.ic.protocols.protocolAPIHelper;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.service.base.AbstractConnectionService;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.SimSignalUtil;
+
+public class Initialize extends AbstractConnectionService {
+  private boolean hasChange = false;
+  
+  private SimSignalUtil mInstance;
+  
+  private int netWorkFlag;
+  private boolean initOK=false;
+  private int weatherOutTime = 30;
+  
+  public static boolean hasContacts(Runtime paramRuntime) {
+    Cursor cursor = (paramRuntime.getContextProxy()).context.getContentResolver().query(ICContentProvider.CONTACT_URI, null, null, null, null);
+    if (cursor != null) {
+      if (cursor.moveToNext()) {
+        cursor.close();
+        return true;
+      } 
+      cursor.close();
+    } 
+    return false;
+  }
+  
+  public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {
+    if (this.netWorkFlag > 5 && !this.hasChange) {
+      this.hasChange = true;
+      this.netWorkFlag = 0;
+    } else {
+      this.netWorkFlag++;
+    } 
+//    if (paramRuntime.getVideoID() == null)
+//      paramConnection.send(API.H139(paramRuntime));
+  }
+  
+  public void onAttach(Connection paramConnection, Runtime paramRuntime) { this.mInstance = SimSignalUtil.getInstance((paramRuntime.getContextProxy()).context); }
+
+  @Override
+  public boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime, String ErrorMsg) {
+
+    initOK=false;
+    return false;
+  }
+  
+  public boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime) {
+    if (this.initOK)
+      return false; 
+
+//    if (paramRuntime.IMSI() != null && !paramRuntime.IMSI().startsWith("46001"))
+//      paramRuntime.IMSI().startsWith("46006");
+
+//区分联通、移动、电信 号码的策略
+//1 通过IMSI号前5位判断
+//中国移动使用46000、46002、46007
+//中国联通使用46001、46006
+//中国电信使用46003、46005、46011
+//
+//2 通过获取短信中心号码判断
+//通过获取的短信中心号码前3位判断
+//
+//3 通过ICCID判断
+//ICCID前六位运营商代码:中国移动的为:898600;898602 ,中国联通的为:898601,中国电信898603
+
+
+    Config.loadServerSettings(paramRuntime);
+
+    //发送登录包
+    paramConnection.send(protocolAPIHelper.getLoginMSG(paramRuntime));
+
+
+    return false;
+  }
+
+
+  public void onDetach(Connection paramConnection, Runtime paramRuntime) { this.initOK = false; }
+
+
+
+  public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) {
+    if (this.initOK)
+      return false; 
+    if (paramStringMessage.cmd().equals("login")) {
+      this.initOK = true;
+      //login成功后,上传当前版本号
+      paramConnection.send(protocolAPIHelper.getDeviceVersion(paramRuntime));
+
+      if (!hasContacts(paramRuntime)) {
+//        paramConnection.send(API.H06(paramRuntime));
+        ICLogger.i("没有联系人");
+      } else {
+        ICLogger.i("有联系人");
+      } 
+//      EqcAlgorithmNative.native_EqcAlgorithmMethod3(1);
+      StringBuilder stringBuilder = new StringBuilder();
+      stringBuilder.append("imei_key =");
+      stringBuilder.append(paramRuntime.IMEI());
+      ICLogger.i(stringBuilder.toString());
+//      paramConnection.send(API.H139(paramRuntime));
+      this.nextService.processConnectionOpen(paramConnection, paramRuntime);
+    } 
+    return true;
+  }
+}
+
+
@@ -1,8 +1,8 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.ThreadPool;
-import com.enqualcomm.support.utils.Util;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.ThreadPool;
+import com.ic.protocolSrv.utils.Util;
 
 import java.io.FileInputStream;
 
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -8,19 +8,19 @@ import android.os.Handler;
 import android.os.HandlerThread;
 import android.util.Log;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.LocationClient;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.service.base.AbstractConnectionService;
-import com.enqualcomm.support.utils.AlarmWakeUp;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.DeviceInfoUtil;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.NetworkObservable;
-import com.enqualcomm.support.utils.SimSignalUtil;
-import com.enqualcomm.support.utils.Util;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.LocationClient;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.service.base.AbstractConnectionService;
+import com.ic.protocolSrv.utils.AlarmWakeUp;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.DeviceInfoUtil;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.NetworkObservable;
+import com.ic.protocolSrv.utils.SimSignalUtil;
+import com.ic.protocolSrv.utils.Util;
 import com.ic.protocols.protocolAPIHelper;
 
 import java.util.concurrent.ScheduledThreadPoolExecutor;
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.content.ContentResolver;
 import android.content.ContentValues;
@@ -10,12 +10,12 @@ import android.telephony.PhoneStateListener;
 import android.telephony.ServiceState;
 import android.text.TextUtils;
 
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.ICNotificationProvider;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.ICNotificationProvider;
+import com.ic.protocolSrv.utils.ICLogger;
 
 import static android.telephony.TelephonyManager.CALL_STATE_IDLE;
-import static com.enqualcomm.support.provider.ICGlobalSettingsProvider.SETTINGS;
+import static com.ic.protocolSrv.provider.ICGlobalSettingsProvider.SETTINGS;
 
 /**
  * 监听电话数据库的状态
-package com.enqualcomm.support.service;\r
-\r
-import android.content.Context;\r
-import android.content.Intent;\r
-import android.net.Uri;\r
-import android.os.Bundle;\r
-import android.os.Message;\r
-import android.os.Messenger;\r
-\r
-import com.enqualcomm.support.bean.Runtime;\r
-import com.enqualcomm.support.bean.VoiceContent;\r
-import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;\r
-import com.enqualcomm.support.utils.Connection;\r
-import com.enqualcomm.support.utils.ICLogger;\r
-import com.enqualcomm.support.utils.SimSignalUtil;\r
-import com.enqualcomm.support.utils.TimeUtil;\r
-import com.enqualcomm.support.utils.Util;\r
-\r
-import static com.enqualcomm.support.bean.Content.CONTACT_CATEGORY_GROUP;\r
-\r
-public class SendChatMessage extends AbstractInvokeHandlerService {\r
-    private static final int LOCATION_TYPE = 7;\r
-\r
-    private int mNetworkType;\r
-\r
-    private SimSignalUtil mSignalUtil;\r
-\r
-    static {\r
-\r
-    }\r
-\r
-    private void callback(Messenger paramMessenger, int paramInt) {\r
-        if (paramMessenger != null)\r
-            try {\r
-                paramMessenger.send(Message.obtain(null, paramInt));\r
-                return;\r
-            } catch (Exception e) {\r
-                e.printStackTrace();\r
-            }\r
-    }\r
-\r
-    private void deleteImage(String paramString, Context paramContext) {\r
-//    Uri uri1;\r
-//    ContentResolver contentResolver = paramContext.getContentResolver();\r
-//    Uri uri2 = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;\r
-//    boolean bool = true;\r
-//    Cursor cursor = MediaStore.Images.Media.query(contentResolver, uri2, new String[] { "_id" }, "_data=?", new String[] { paramString }, null);\r
-//    if (cursor.moveToFirst()) {\r
-//      long l = cursor.getLong(0);\r
-//      uri1 = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, l);\r
-//      if (paramContext.getContentResolver().delete(uri1, null, null) != 1)\r
-//        bool = false;\r
-//    } else {\r
-//      bool = (new File(uri1).delete();\r
-//    }\r
-//    if (bool) {\r
-//      ICLogger.i("删除成功");\r
-//      return;\r
-//    }\r
-//    ICLogger.i("删除失败");\r
-    }\r
-\r
-    public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {\r
-    }\r
-\r
-    public void onAttach(Connection paramConnection, Runtime paramRuntime) {\r
-        this.mSignalUtil = SimSignalUtil.getInstance((paramRuntime.getContextProxy()).context);\r
-    }\r
-\r
-    public void onDetach(Connection paramConnection, Runtime paramRuntime) {\r
-    }\r
-\r
-    public boolean onUserRequest(Intent paramIntent, Connection paramConnection, final Runtime runtime) {\r
-        String action = paramIntent.getAction();\r
-        ICLogger.d("str == > action ===> " + action);\r
-        if ("com.enqualcomm.support.ACTION_REMOTE_CAMERA".equals(action)) {\r
-            this.mSignalUtil = SimSignalUtil.getInstance((runtime.getContextProxy()).context);\r
-            action = paramIntent.getStringExtra("filepath");\r
-            String str1 = paramIntent.getStringExtra("number");\r
-            if (action != null) {\r
-                if (str1 == null)\r
-                    return true;\r
-                StringBuilder stringBuilder = new StringBuilder();\r
-                stringBuilder.append("filepath == ");\r
-                stringBuilder.append(action);\r
-                stringBuilder.append("number == ");\r
-                stringBuilder.append(str1);\r
-                ICLogger.i(stringBuilder.toString());\r
-//        final PictureContent pictureContent = PictureContent.placeHolderOut(1, str1, str);\r
-//        final Uri uri = runtime.getDbHelper().insertOrUpdate(pictureContent, 0L);\r
-//        Observable.create(new SendFileMessage(API.H30(paramRuntime, str1, "2", new File(str)), paramRuntime)).subscribeOn(Schedulers.io()).subscribe(new Subscriber<String>() {\r
-//              public void onCompleted() {}\r
-//\r
-//              public void onError(Throwable param1Throwable) {\r
-//                ICLogger.i("发送失败");\r
-////                this.val$pictureContent.status = 5;\r
-//                runtime.getDbHelper().updateMessage(pictureContent, uri);\r
-//              }\r
-//\r
-//              public void onNext(String param1String) {\r
-//                StringBuilder stringBuilder = new StringBuilder();\r
-//                stringBuilder.append("发送成功:");\r
-//                stringBuilder.append(param1String);\r
-//                ICLogger.i(stringBuilder.toString());\r
-//                this.val$pictureContent.status = 3;\r
-//                this.val$pictureContent.serverTime = TimeUtil.getSystemTime3();\r
-//                this.val$pictureContent.content = Util.cutFile(this.val$pictureContent.content, runtime.getCacheDir());\r
-//                runtime.getDbHelper().updateMessage(pictureContent, uri);\r
-//              }\r
-//            });\r
-            } else {\r
-                return true;\r
-            }\r
-        } else if (!"SYNC".equals(action) && "com.enqualcomm.imessage.ACTION_ADDTEST_CONTACTS".equals(action)) {\r
-            ICLogger.i("添加测试人员名单");\r
-        }\r
-        return false;\r
-    }\r
-\r
-    public boolean onUserRequest(Message paramMessage, Connection paramConnection, final Runtime runtime) {\r
-\r
-        ICLogger.i("=============received Message What=" + paramMessage.what);\r
-        switch (paramMessage.what) {\r
-            default:\r
-                return false;\r
-            case 1001:\r
-                this.mSignalUtil = SimSignalUtil.getInstance((runtime.getContextProxy()).context);\r
-                this.mNetworkType = this.mSignalUtil.getNetworkType();\r
-                Bundle bundle = paramMessage.getData();\r
-                String filepath = bundle.getString("filepath");\r
-                String number = bundle.getString("number");\r
-                int category = bundle.getInt("category", -1);\r
-                ICLogger.i(" msg.what 101 category=" + category + ", filepath=" + filepath + ",number=" + number);\r
-\r
-                if (filepath == null || number == null || category == -1)\r
-                    return true;\r
-\r
-                //创建voiceConent并添加到数据\r
-                final VoiceContent voiceContent = VoiceContent.placeHolderOut(CONTACT_CATEGORY_GROUP, number,"0000", filepath, 1, 3);\r
-                final Uri uri2 = runtime.getDbHelper().insertOrUpdate(voiceContent, bundle.getLong("id"));\r
-\r
-                //回复UI消息,表示已经接收到\r
-                Messenger messenger = paramMessage.replyTo;\r
-                callback(messenger, 200);\r
-                voiceContent.status = 3;\r
-                voiceContent.serverTime = TimeUtil.getSystemTime3();\r
-//          voiceContent.content = Util.cutFile(voiceContent.content, runtime.getCacheDir());\r
-                voiceContent.preview = String.valueOf(Util.getDuration(voiceContent.content));\r
-                runtime.getDbHelper().updateMessage(voiceContent, uri2);\r
-\r
-\r
-                // 把voiceContent拆解成1024的分包\r
-                Util.parseToVoicePacketSent(voiceContent,1024);\r
-                //trigger 分包发送\r
-                paramConnection.DeliverCMDMessageToSystem("SentVoicePacket", "");\r
-\r
-            case 1000:\r
-                break;\r
-        }\r
-//    Bundle bundle1 = paramMessage.getData();\r
-//    i = bundle1.getInt("category");\r
-//    Observable.create(new GetVoice(String.valueOf(i), bundle1.getString("number"), bundle1.getString("filepath"), String.valueOf(i), paramRuntime)).subscribeOn(Schedulers.io()).subscribe(new Subscriber<VoiceContent>() {\r
-//          Uri uri;\r
-//\r
-//          public void onCompleted() {}\r
-//\r
-//          public void onError(Throwable param1Throwable) {}\r
-//\r
-//          public void onNext(VoiceContent param1VoiceContent) {\r
-//            if (this.uri == null) {\r
-//              this.uri = runtime.getDbHelper().insertOrUpdate(param1VoiceContent);\r
-//              return;\r
-//            }\r
-//            runtime.getDbHelper().updateMessage(param1VoiceContent, this.uri);\r
-//          }\r
-//        });\r
-        return true;\r
-    }\r
-}\r
-\r
+package com.ic.protocolSrv.service;
+
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Message;
+import android.os.Messenger;
+
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.VoiceContent;
+import com.ic.protocolSrv.service.base.AbstractInvokeHandlerService;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.SimSignalUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+
+import static com.ic.protocolSrv.bean.Content.CONTACT_CATEGORY_GROUP;
+
+public class SendChatMessage extends AbstractInvokeHandlerService {
+    private static final int LOCATION_TYPE = 7;
+
+    private int mNetworkType;
+
+    private SimSignalUtil mSignalUtil;
+
+    static {
+
+    }
+
+    private void callback(Messenger paramMessenger, int paramInt) {
+        if (paramMessenger != null)
+            try {
+                paramMessenger.send(Message.obtain(null, paramInt));
+                return;
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+    }
+
+    private void deleteImage(String paramString, Context paramContext) {
+//    Uri uri1;
+//    ContentResolver contentResolver = paramContext.getContentResolver();
+//    Uri uri2 = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
+//    boolean bool = true;
+//    Cursor cursor = MediaStore.Images.Media.query(contentResolver, uri2, new String[] { "_id" }, "_data=?", new String[] { paramString }, null);
+//    if (cursor.moveToFirst()) {
+//      long l = cursor.getLong(0);
+//      uri1 = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, l);
+//      if (paramContext.getContentResolver().delete(uri1, null, null) != 1)
+//        bool = false;
+//    } else {
+//      bool = (new File(uri1).delete();
+//    }
+//    if (bool) {
+//      ICLogger.i("删除成功");
+//      return;
+//    }
+//    ICLogger.i("删除失败");
+    }
+
+    public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {
+    }
+
+    public void onAttach(Connection paramConnection, Runtime paramRuntime) {
+        this.mSignalUtil = SimSignalUtil.getInstance((paramRuntime.getContextProxy()).context);
+    }
+
+    public void onDetach(Connection paramConnection, Runtime paramRuntime) {
+    }
+
+    public boolean onUserRequest(Intent paramIntent, Connection paramConnection, final Runtime runtime) {
+        String action = paramIntent.getAction();
+        ICLogger.d("str == > action ===> " + action);
+        if ("com.ic.protocolSrv.ACTION_REMOTE_CAMERA".equals(action)) {
+            this.mSignalUtil = SimSignalUtil.getInstance((runtime.getContextProxy()).context);
+            action = paramIntent.getStringExtra("filepath");
+            String str1 = paramIntent.getStringExtra("number");
+            if (action != null) {
+                if (str1 == null)
+                    return true;
+                StringBuilder stringBuilder = new StringBuilder();
+                stringBuilder.append("filepath == ");
+                stringBuilder.append(action);
+                stringBuilder.append("number == ");
+                stringBuilder.append(str1);
+                ICLogger.i(stringBuilder.toString());
+//        final PictureContent pictureContent = PictureContent.placeHolderOut(1, str1, str);
+//        final Uri uri = runtime.getDbHelper().insertOrUpdate(pictureContent, 0L);
+//        Observable.create(new SendFileMessage(API.H30(paramRuntime, str1, "2", new File(str)), paramRuntime)).subscribeOn(Schedulers.io()).subscribe(new Subscriber<String>() {
+//              public void onCompleted() {}
+//
+//              public void onError(Throwable param1Throwable) {
+//                ICLogger.i("发送失败");
+////                this.val$pictureContent.status = 5;
+//                runtime.getDbHelper().updateMessage(pictureContent, uri);
+//              }
+//
+//              public void onNext(String param1String) {
+//                StringBuilder stringBuilder = new StringBuilder();
+//                stringBuilder.append("发送成功:");
+//                stringBuilder.append(param1String);
+//                ICLogger.i(stringBuilder.toString());
+//                this.val$pictureContent.status = 3;
+//                this.val$pictureContent.serverTime = TimeUtil.getSystemTime3();
+//                this.val$pictureContent.content = Util.cutFile(this.val$pictureContent.content, runtime.getCacheDir());
+//                runtime.getDbHelper().updateMessage(pictureContent, uri);
+//              }
+//            });
+            } else {
+                return true;
+            }
+        } else if (!"SYNC".equals(action) && "com.ic.imessage.ACTION_ADDTEST_CONTACTS".equals(action)) {
+            ICLogger.i("添加测试人员名单");
+        }
+        return false;
+    }
+
+    public boolean onUserRequest(Message paramMessage, Connection paramConnection, final Runtime runtime) {
+
+        ICLogger.i("=============received Message What=" + paramMessage.what);
+        switch (paramMessage.what) {
+            default:
+                return false;
+            case 1001:
+                this.mSignalUtil = SimSignalUtil.getInstance((runtime.getContextProxy()).context);
+                this.mNetworkType = this.mSignalUtil.getNetworkType();
+                Bundle bundle = paramMessage.getData();
+                String filepath = bundle.getString("filepath");
+                String number = bundle.getString("number");
+                int category = bundle.getInt("category", -1);
+                ICLogger.i(" msg.what 101 category=" + category + ", filepath=" + filepath + ",number=" + number);
+
+                if (filepath == null || number == null || category == -1)
+                    return true;
+
+                //创建voiceConent并添加到数据
+                final VoiceContent voiceContent = VoiceContent.placeHolderOut(CONTACT_CATEGORY_GROUP, number,"0000", filepath, 1, 3);
+                final Uri uri2 = runtime.getDbHelper().insertOrUpdate(voiceContent, bundle.getLong("id"));
+
+                //回复UI消息,表示已经接收到
+                Messenger messenger = paramMessage.replyTo;
+                callback(messenger, 200);
+                voiceContent.status = 3;
+                voiceContent.serverTime = TimeUtil.getSystemTime3();
+//          voiceContent.content = Util.cutFile(voiceContent.content, runtime.getCacheDir());
+                voiceContent.preview = String.valueOf(Util.getDuration(voiceContent.content));
+                runtime.getDbHelper().updateMessage(voiceContent, uri2);
+
+
+                // 把voiceContent拆解成1024的分包
+                Util.parseToVoicePacketSent(voiceContent,1024);
+                //trigger 分包发送
+                paramConnection.DeliverCMDMessageToSystem("SentVoicePacket", "");
+
+            case 1000:
+                break;
+        }
+//    Bundle bundle1 = paramMessage.getData();
+//    i = bundle1.getInt("category");
+//    Observable.create(new GetVoice(String.valueOf(i), bundle1.getString("number"), bundle1.getString("filepath"), String.valueOf(i), paramRuntime)).subscribeOn(Schedulers.io()).subscribe(new Subscriber<VoiceContent>() {
+//          Uri uri;
+//
+//          public void onCompleted() {}
+//
+//          public void onError(Throwable param1Throwable) {}
+//
+//          public void onNext(VoiceContent param1VoiceContent) {
+//            if (this.uri == null) {
+//              this.uri = runtime.getDbHelper().insertOrUpdate(param1VoiceContent);
+//              return;
+//            }
+//            runtime.getDbHelper().updateMessage(param1VoiceContent, this.uri);
+//          }
+//        });
+        return true;
+    }
+}
+
@@ -1,9 +1,9 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.content.ContentResolver;
 import android.os.Handler;
 
-import com.enqualcomm.support.service.base.BaseSettingsObserver;
+import com.ic.protocolSrv.service.base.BaseSettingsObserver;
 import com.ic.protocols.protocolAPIHelper;
 
 public class ShutdownFlagObserver extends BaseSettingsObserver {
@@ -1,10 +1,10 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.content.ContentResolver;
 import android.os.Handler;
 
-import com.enqualcomm.support.service.base.BaseSettingsObserver;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.service.base.BaseSettingsObserver;
+import com.ic.protocolSrv.utils.ICLogger;
 import com.ic.protocols.protocolAPIHelper;
 
 public class SignFlagObserver extends BaseSettingsObserver {
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.app.AlarmManager;
 import android.app.PendingIntent;
@@ -15,27 +15,27 @@ import android.os.Messenger;
 import android.telephony.PhoneStateListener;
 import android.telephony.TelephonyManager;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.bean.Alarm;
-import com.enqualcomm.support.bean.Antioff;
-import com.enqualcomm.support.bean.EventLooperHandlerThread;
-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;
-import com.enqualcomm.support.utils.DBHelper;
-import com.enqualcomm.support.utils.ICAudioManager;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.MissedCallContentObserver;
-import com.enqualcomm.support.utils.SharePreferenceUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.VibrateUtil;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.bean.Alarm;
+import com.ic.protocolSrv.bean.Antioff;
+import com.ic.protocolSrv.bean.EventLooperHandlerThread;
+import com.ic.protocolSrv.bean.NoticeContent;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.Silent;
+import com.ic.protocolSrv.bean.StheartRate;
+import com.ic.protocolSrv.provider.ICContentProvider;
+import com.ic.protocolSrv.service.base.AbstractInvokeHandlerService;
+import com.ic.protocolSrv.utils.AlarmHelper;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.DBHelper;
+import com.ic.protocolSrv.utils.ICAudioManager;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.MissedCallContentObserver;
+import com.ic.protocolSrv.utils.SharePreferenceUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.VibrateUtil;
 
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -45,13 +45,13 @@ import java.util.List;
 
 import static android.telephony.TelephonyManager.CALL_STATE_OFFHOOK;
 import static android.telephony.TelephonyManager.CALL_STATE_RINGING;
-import static com.enqualcomm.support.Constants.ACTION_ALARM_ALARM_CHANGE;
-import static com.enqualcomm.support.Constants.ACTION_ANTIOFF_ALARM_CHANGE;
-import static com.enqualcomm.support.Constants.ACTION_IC_ALARM;
-import static com.enqualcomm.support.Constants.ACTION_CLOSE_UNREAD_MSG;
-import static com.enqualcomm.support.Constants.ACTION_NOTICE_ALARM_CHANGE;
-import static com.enqualcomm.support.Constants.OTHER_ALARM_END;
-import static com.enqualcomm.support.Constants.OTHER_ALARM_START;
+import static com.ic.protocolSrv.Constants.ACTION_ALARM_ALARM_CHANGE;
+import static com.ic.protocolSrv.Constants.ACTION_ANTIOFF_ALARM_CHANGE;
+import static com.ic.protocolSrv.Constants.ACTION_IC_ALARM;
+import static com.ic.protocolSrv.Constants.ACTION_CLOSE_UNREAD_MSG;
+import static com.ic.protocolSrv.Constants.ACTION_NOTICE_ALARM_CHANGE;
+import static com.ic.protocolSrv.Constants.OTHER_ALARM_END;
+import static com.ic.protocolSrv.Constants.OTHER_ALARM_START;
 
 public class SilentManager extends AbstractInvokeHandlerService {
     private static final long ONE_WEEK = 604800000L;
@@ -292,7 +292,7 @@ public class SilentManager extends AbstractInvokeHandlerService {
         var1 = var8.toString();
         Intent intent = new Intent(this.mContext, CoreService.class);
         intent.putExtra("IS_REPEAT", isRepeat);
-        intent.setAction("com.enqualcomm.support.ACTION_NOTICE_ALARM");
+        intent.setAction("com.ic.protocolSrv.ACTION_NOTICE_ALARM");
         intent.setData(Uri.parse(var1));
         return PendingIntent.getService(this.mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
     }
@@ -576,13 +576,13 @@ public class SilentManager extends AbstractInvokeHandlerService {
                 if (var8 < (long) (mRuntime.getHeartBeatCycle() * 60 * 1000) && var8 > 0L) {
                     var10 = Integer.parseInt(var5.start.substring(2, 4));
                     var11 = Integer.parseInt(var5.start.substring(5, 7));
-                    AlarmHelper.setTimeAlarm(this.mContext, var10, var11, "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_START");
+                    AlarmHelper.setTimeAlarm(this.mContext, var10, var11, "com.ic.protocolSrv.OTHER_HEARTRATE_ALARM_START");
                 }
                 var8 = var5.endTimeMillis - var2;
                 if (var8 < (long) (mRuntime.getHeartBeatCycle() * 60 * 1000) && var8 > 0L) {
                     var10 = Integer.parseInt(var5.end.substring(2, 4));
                     var11 = Integer.parseInt(var5.end.substring(5, 7));
-                    AlarmHelper.setTimeAlarm(this.mContext, var10, var11, "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_END");
+                    AlarmHelper.setTimeAlarm(this.mContext, var10, var11, "com.ic.protocolSrv.OTHER_HEARTRATE_ALARM_END");
                 }
                 if (var5.startTimeMillis > var2 || var5.endTimeMillis <= var2) {
                     continue;
@@ -829,8 +829,8 @@ public class SilentManager extends AbstractInvokeHandlerService {
         IntentFilter var5 = new IntentFilter();
         var5.addAction(ACTION_NOTICE_ALARM_CHANGE);
         var5.addAction(ACTION_ALARM_ALARM_CHANGE);
-        //  var5.addAction("com.enqualcomm.support.STHEART_RATE_ALARM_CHANGE");
-        // var5.addAction("com.eqc.heartrate.action.RESULT");
+        //  var5.addAction("com.ic.protocolSrv.STHEART_RATE_ALARM_CHANGE");
+        // var5.addAction("com.ic.heartrate.action.RESULT");
         this.mContext.registerReceiver(this.mAlarmReceiver, var5);
         runtime.getContextProxy().getTelephonyManager().listen(this.phoneStateListener, 32);
     }
@@ -881,11 +881,11 @@ public class SilentManager extends AbstractInvokeHandlerService {
                     ICLogger.e(e.getMessage(), e);
                 }
             }
-        } else if ("com.enqualcomm.support.ACTION_NOTICE_ALARM".equals(action)) {
+        } else if ("com.ic.protocolSrv.ACTION_NOTICE_ALARM".equals(action)) {
             String alarmTime = intent.getDataString();
             if (this.isIdle(this.mContext)) {
                 try {
-                    intent = new Intent("com.enqualcomm.icare.NOTICE", Uri.parse(alarmTime));
+                    intent = new Intent("com.ic.icare.NOTICE", Uri.parse(alarmTime));
                     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                     this.mContext.startActivity(intent);
                 } catch (Exception e) {
@@ -896,7 +896,7 @@ public class SilentManager extends AbstractInvokeHandlerService {
         } else {
             ICLogger.i("静默闹钟来了");
             boolean silentchange;
-            if (!"com.eqc.heartrate.action.SILENT_START".equals(action) && !"com.enqualcomm.support.OTHER_HEARTRATE_ALARM_START".equals(action)) {
+            if (!"com.ic.heartrate.action.SILENT_START".equals(action) && !"com.ic.protocolSrv.OTHER_HEARTRATE_ALARM_START".equals(action)) {
                 silentchange = false;
             } else {
                 silentchange = true;
@@ -932,11 +932,11 @@ public class SilentManager extends AbstractInvokeHandlerService {
                     //这是EQC的
                     SilentManager.this.alarms = queryAlarm();
                 }
-            } else if ("com.enqualcomm.support.STHEART_RATE_ALARM_CHANGE".equals(action)) {
+            } else if ("com.ic.protocolSrv.STHEART_RATE_ALARM_CHANGE".equals(action)) {
                 SilentManager.this.stheartRateList = SilentManager.this.queryStheartRate();
                 SilentManager.this.getStartAndEndStheartRateTime();
                 SilentManager.this.isStheartRateTime(false);
-            } else if ("com.eqc.heartrate.action.RESULT".equals(action)) {
+            } else if ("com.ic.heartrate.action.RESULT".equals(action)) {
                 String time = var2.getStringExtra("time");
                 int var4 = var2.getIntExtra("value", 0);
                 int var5 = var2.getIntExtra("type", 0);
diff --git a/app/src/main/java/com/ic/protocolSrv/service/SleepManager.java b/app/src/main/java/com/ic/protocolSrv/service/SleepManager.java
new file mode 100644 (file)
index 0000000..3a04315
--- /dev/null
@@ -0,0 +1,4 @@
+package com.ic.protocolSrv.service;
+
+public class SleepManager {
+}
-package com.enqualcomm.support.service;\r
-\r
-import android.content.ContentResolver;\r
-import android.database.ContentObserver;\r
-import android.database.Cursor;\r
-import android.net.Uri;\r
-import android.os.Bundle;\r
-import android.os.Handler;\r
-import android.os.Message;\r
-import android.text.TextUtils;\r
-\r
-import com.enqualcomm.support.utils.ICLogger;\r
-\r
-/**\r
- * 数据库观察者\r
- */\r
-public class SmsDatabaseChaneObserver extends ContentObserver {\r
-    // 只检查收件箱\r
-    public static final Uri MMSSMS_ALL_MESSAGE_URI = Uri.parse("content://sms/inbox");\r
-    public static final String SORT_FIELD_STRING = "_id asc";  // 排序\r
-    public static final String DB_FIELD_ID = "_id";\r
-    public static final String DB_FIELD_ADDRESS = "address";\r
-    public static final String DB_FIELD_PERSON = "person";\r
-    public static final String DB_FIELD_BODY = "body";\r
-    public static final String DB_FIELD_DATE = "date";\r
-    public static final String DB_FIELD_TYPE = "type";\r
-    public static final String DB_FIELD_THREAD_ID = "thread_id";\r
-    public static final String[] ALL_DB_FIELD_NAME = {\r
-            DB_FIELD_ID, DB_FIELD_ADDRESS, DB_FIELD_PERSON, DB_FIELD_BODY,\r
-            DB_FIELD_DATE, DB_FIELD_TYPE, DB_FIELD_THREAD_ID };\r
-    public static int mMessageCount = -1;\r
-\r
-    private static final long DELTA_TIME = 60 * 1000;\r
-    private ContentResolver mResolver;\r
-\r
-    private Handler mHandler=null;\r
-    public SmsDatabaseChaneObserver(ContentResolver resolver, Handler handler) {\r
-        super(handler);\r
-        mHandler=handler;\r
-        mResolver = resolver;\r
-    }\r
-\r
-    @Override\r
-    public void onChange(boolean selfChange) {\r
-        onReceiveSms();\r
-    }\r
-\r
-    private void onReceiveSms() {\r
-        Cursor cursor = null;\r
-        // 添加异常捕捉\r
-        try {\r
-            cursor = mResolver.query(MMSSMS_ALL_MESSAGE_URI, ALL_DB_FIELD_NAME,\r
-                    null, null, SORT_FIELD_STRING);\r
-            final int count = cursor.getCount();\r
-            if (count <= mMessageCount) {\r
-                mMessageCount = count;\r
-                return;\r
-            }\r
-            // 发现收件箱的短信总数目比之前大就认为是刚接收到新短信---如果出现意外,请神保佑\r
-            // 同时认为id最大的那条记录为刚刚新加入的短信的id---这个大多数是这样的,发现不一样的情况的时候可能也要求神保佑了\r
-            mMessageCount = count;\r
-            if (cursor != null) {\r
-                cursor.moveToLast();\r
-                final long smsdate = Long.parseLong(cursor.getString(cursor.getColumnIndex(DB_FIELD_DATE)));\r
-                final long nowdate = System.currentTimeMillis();\r
-                // 如果当前时间和短信时间间隔超过60秒,认为这条短信无效\r
-                if (nowdate - smsdate > DELTA_TIME) {\r
-                    return;\r
-                }\r
-                final String strAddress = cursor.getString(cursor.getColumnIndex(DB_FIELD_ADDRESS));    // 短信号码\r
-                final String strbody = cursor.getString(cursor.getColumnIndex(DB_FIELD_BODY));          // 在这里获取短信信息\r
-                final int smsid = cursor.getInt(cursor.getColumnIndex(DB_FIELD_ID));\r
-                if (TextUtils.isEmpty(strAddress) || TextUtils.isEmpty(strbody)) {\r
-                    return;\r
-                }\r
-                // 得到短信号码和内容之后进行相关处理\r
-                if(mHandler!=null) {\r
-                    Message msg=new Message();\r
-                    Bundle msgdata=new Bundle();\r
-                    msgdata.putString("SMSFrom",strAddress);\r
-                    msgdata.putString("SMSData",strbody);\r
-                    msg.what=100;\r
-                    msg.setData(msgdata);\r
-                    mHandler.sendMessage(msg);\r
-\r
-                }\r
-                ICLogger.i("Database 收到" + strAddress + "短信:" + strbody);\r
-\r
-            }\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-        } finally {\r
-            if (cursor != null) {\r
-                try {  // 有可能cursor都没有创建成功\r
-                    cursor.close();\r
-                } catch (Exception e) {\r
-                    e.printStackTrace();\r
-                }\r
-            }\r
-        }\r
-    }\r
+package com.ic.protocolSrv.service;
+
+import android.content.ContentResolver;
+import android.database.ContentObserver;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.text.TextUtils;
+
+import com.ic.protocolSrv.utils.ICLogger;
+
+/**
+ * 数据库观察者
+ */
+public class SmsDatabaseChaneObserver extends ContentObserver {
+    // 只检查收件箱
+    public static final Uri MMSSMS_ALL_MESSAGE_URI = Uri.parse("content://sms/inbox");
+    public static final String SORT_FIELD_STRING = "_id asc";  // 排序
+    public static final String DB_FIELD_ID = "_id";
+    public static final String DB_FIELD_ADDRESS = "address";
+    public static final String DB_FIELD_PERSON = "person";
+    public static final String DB_FIELD_BODY = "body";
+    public static final String DB_FIELD_DATE = "date";
+    public static final String DB_FIELD_TYPE = "type";
+    public static final String DB_FIELD_THREAD_ID = "thread_id";
+    public static final String[] ALL_DB_FIELD_NAME = {
+            DB_FIELD_ID, DB_FIELD_ADDRESS, DB_FIELD_PERSON, DB_FIELD_BODY,
+            DB_FIELD_DATE, DB_FIELD_TYPE, DB_FIELD_THREAD_ID };
+    public static int mMessageCount = -1;
+
+    private static final long DELTA_TIME = 60 * 1000;
+    private ContentResolver mResolver;
+
+    private Handler mHandler=null;
+    public SmsDatabaseChaneObserver(ContentResolver resolver, Handler handler) {
+        super(handler);
+        mHandler=handler;
+        mResolver = resolver;
+    }
+
+    @Override
+    public void onChange(boolean selfChange) {
+        onReceiveSms();
+    }
+
+    private void onReceiveSms() {
+        Cursor cursor = null;
+        // 添加异常捕捉
+        try {
+            cursor = mResolver.query(MMSSMS_ALL_MESSAGE_URI, ALL_DB_FIELD_NAME,
+                    null, null, SORT_FIELD_STRING);
+            final int count = cursor.getCount();
+            if (count <= mMessageCount) {
+                mMessageCount = count;
+                return;
+            }
+            // 发现收件箱的短信总数目比之前大就认为是刚接收到新短信---如果出现意外,请神保佑
+            // 同时认为id最大的那条记录为刚刚新加入的短信的id---这个大多数是这样的,发现不一样的情况的时候可能也要求神保佑了
+            mMessageCount = count;
+            if (cursor != null) {
+                cursor.moveToLast();
+                final long smsdate = Long.parseLong(cursor.getString(cursor.getColumnIndex(DB_FIELD_DATE)));
+                final long nowdate = System.currentTimeMillis();
+                // 如果当前时间和短信时间间隔超过60秒,认为这条短信无效
+                if (nowdate - smsdate > DELTA_TIME) {
+                    return;
+                }
+                final String strAddress = cursor.getString(cursor.getColumnIndex(DB_FIELD_ADDRESS));    // 短信号码
+                final String strbody = cursor.getString(cursor.getColumnIndex(DB_FIELD_BODY));          // 在这里获取短信信息
+                final int smsid = cursor.getInt(cursor.getColumnIndex(DB_FIELD_ID));
+                if (TextUtils.isEmpty(strAddress) || TextUtils.isEmpty(strbody)) {
+                    return;
+                }
+                // 得到短信号码和内容之后进行相关处理
+                if(mHandler!=null) {
+                    Message msg=new Message();
+                    Bundle msgdata=new Bundle();
+                    msgdata.putString("SMSFrom",strAddress);
+                    msgdata.putString("SMSData",strbody);
+                    msg.what=100;
+                    msg.setData(msgdata);
+                    mHandler.sendMessage(msg);
+
+                }
+                ICLogger.i("Database 收到" + strAddress + "短信:" + strbody);
+
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            if (cursor != null) {
+                try {  // 有可能cursor都没有创建成功
+                    cursor.close();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
 }
\ No newline at end of file
@@ -1,88 +1,88 @@
-package com.enqualcomm.support.service;\r
-\r
-import android.os.SystemClock;\r
-\r
-import com.ic.protocols.protocolAPIHelper;\r
-import com.enqualcomm.support.bean.Runtime;\r
-import com.enqualcomm.support.bean.StringMessage;\r
-import com.enqualcomm.support.service.base.AbstractConnectionService;\r
-import com.enqualcomm.support.utils.Connection;\r
-import com.enqualcomm.support.utils.ICLogger;\r
-import com.enqualcomm.support.utils.TimeUtil;\r
-\r
-public class SynchronousTime extends AbstractConnectionService {\r
-  private boolean synchronousTimeOK = false;\r
-  \r
-  private void getCoder() {\r
-//    if (CoderFactory.getCoderFactoryInstance().getCoder() != null)\r
-//      ICLogger.i("成功获取");\r
-  }\r
-  \r
-  private void setDateAndTime(long paramLong) {\r
-    SystemClock.setCurrentTimeMillis(paramLong);\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append("设置时间");\r
-    stringBuilder.append(TimeUtil.getSystemTime());\r
-    ICLogger.i(stringBuilder.toString());\r
-  }\r
-  \r
-  public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {}\r
-  \r
-  public void onAttach(Connection paramConnection, Runtime paramRuntime) {}\r
-\r
-  @Override\r
-  public boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime, String ErrorMsg) {\r
-    return this.synchronousTimeOK ^ true; }\r
-\r
-  @Override\r
-  public boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime) {\r
-    if (this.synchronousTimeOK)\r
-      return false; \r
-    //StringMessage stringMessage = new StringMessage( protocolAPIHelper.APTM(paramRuntime));\r
-//    byte[] arrayOfByte = (new StringMessageSocketEngine(paramRuntime.getHost(), paramRuntime.getPort() - 2)).request(stringMessage);\r
-   // paramConnection.sendBlocking(stringMessage);\r
-//    if (arrayOfByte != null) {\r
-//      this.synchronousTimeOK = true;\r
-//      str = new String(arrayOfByte);\r
-//      StringBuilder stringBuilder = new StringBuilder();\r
-//      stringBuilder.append("成功返回");\r
-//      stringBuilder.append(str);\r
-//      ICLogger.i(stringBuilder.toString());\r
-//      str = str.substring(5);\r
-//      str = str.substring(0, str.length() - 1);\r
-//      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd,HH:mm:ss");\r
-//      simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+08:00"));\r
-//      try {\r
-//        long l1 = simpleDateFormat.parse(str).getTime();\r
-//        long l2 = System.currentTimeMillis();\r
-//        StringBuilder stringBuilder1 = new StringBuilder();\r
-//        stringBuilder1.append("serviceTime=");\r
-//        stringBuilder1.append(l1);\r
-//        stringBuilder1.append("---localTime=");\r
-//        stringBuilder1.append(l2);\r
-//        ICLogger.i(stringBuilder1.toString());\r
-//        if (Math.abs(l1 - l2) > 60000L) {\r
-//          setDateAndTime(l1);\r
-//          return false;\r
-//        }\r
-//      } catch (ParseException str) {\r
-//        str.printStackTrace();\r
-//      }\r
-//      return false;\r
-//    }\r
-    return true;\r
-  }\r
-  \r
-  public void onDetach(Connection paramConnection, Runtime paramRuntime) {}\r
-  \r
-  public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) {\r
-    if (paramStringMessage.cmd().equals("BPTM")){\r
-      synchronousTimeOK=true;\r
-    }\r
-    return !this.synchronousTimeOK;\r
-  }\r
-\r
-\r
-\r
-}\r
-\r
+package com.ic.protocolSrv.service;
+
+import android.os.SystemClock;
+
+import com.ic.protocols.protocolAPIHelper;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.service.base.AbstractConnectionService;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.TimeUtil;
+
+public class SynchronousTime extends AbstractConnectionService {
+  private boolean synchronousTimeOK = false;
+  
+  private void getCoder() {
+//    if (CoderFactory.getCoderFactoryInstance().getCoder() != null)
+//      ICLogger.i("成功获取");
+  }
+  
+  private void setDateAndTime(long paramLong) {
+    SystemClock.setCurrentTimeMillis(paramLong);
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append("设置时间");
+    stringBuilder.append(TimeUtil.getSystemTime());
+    ICLogger.i(stringBuilder.toString());
+  }
+  
+  public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {}
+  
+  public void onAttach(Connection paramConnection, Runtime paramRuntime) {}
+
+  @Override
+  public boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime, String ErrorMsg) {
+    return this.synchronousTimeOK ^ true; }
+
+  @Override
+  public boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime) {
+    if (this.synchronousTimeOK)
+      return false; 
+    //StringMessage stringMessage = new StringMessage( protocolAPIHelper.APTM(paramRuntime));
+//    byte[] arrayOfByte = (new StringMessageSocketEngine(paramRuntime.getHost(), paramRuntime.getPort() - 2)).request(stringMessage);
+   // paramConnection.sendBlocking(stringMessage);
+//    if (arrayOfByte != null) {
+//      this.synchronousTimeOK = true;
+//      str = new String(arrayOfByte);
+//      StringBuilder stringBuilder = new StringBuilder();
+//      stringBuilder.append("成功返回");
+//      stringBuilder.append(str);
+//      ICLogger.i(stringBuilder.toString());
+//      str = str.substring(5);
+//      str = str.substring(0, str.length() - 1);
+//      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd,HH:mm:ss");
+//      simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+08:00"));
+//      try {
+//        long l1 = simpleDateFormat.parse(str).getTime();
+//        long l2 = System.currentTimeMillis();
+//        StringBuilder stringBuilder1 = new StringBuilder();
+//        stringBuilder1.append("serviceTime=");
+//        stringBuilder1.append(l1);
+//        stringBuilder1.append("---localTime=");
+//        stringBuilder1.append(l2);
+//        ICLogger.i(stringBuilder1.toString());
+//        if (Math.abs(l1 - l2) > 60000L) {
+//          setDateAndTime(l1);
+//          return false;
+//        }
+//      } catch (ParseException str) {
+//        str.printStackTrace();
+//      }
+//      return false;
+//    }
+    return true;
+  }
+  
+  public void onDetach(Connection paramConnection, Runtime paramRuntime) {}
+  
+  public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) {
+    if (paramStringMessage.cmd().equals("BPTM")){
+      synchronousTimeOK=true;
+    }
+    return !this.synchronousTimeOK;
+  }
+
+
+
+}
+
-package com.enqualcomm.support.service;\r
-\r
-import android.content.Intent;\r
-import android.os.Handler;\r
-import android.os.Message;\r
-\r
-import com.enqualcomm.support.bean.ICLocation;\r
-import com.enqualcomm.support.bean.Runtime;\r
-import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;\r
-import com.enqualcomm.support.utils.Connection;\r
-import com.enqualcomm.support.utils.ICLogger;\r
-import com.enqualcomm.support.utils.SharePreferenceUtil;\r
-\r
-import java.util.List;\r
-\r
-public class UpLoadDataPoints extends AbstractInvokeHandlerService {\r
-  private final String TAG = UpLoadDataPoints.class.getSimpleName();\r
-  \r
-  private int alarmClock;\r
-  \r
-  private Handler mHandler;\r
-  \r
-  private Runnable mRegisterDeviceTask = new Runnable() {\r
-      public void run() {\r
-\r
-      }\r
-    };\r
-  \r
-  Runtime mRuntime;\r
-  \r
-  private boolean mUpLoadSuccess = true;\r
-  \r
-  private int reLoadNum;\r
-  \r
-  public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {\r
-    if (paramRuntime.getDevice_id() == null || paramRuntime.getDevice_key() == null)\r
-      this.mHandler.post(this.mRegisterDeviceTask); \r
-    this.alarmClock++;\r
-    if (this.alarmClock >= 10) {\r
-      this.alarmClock = 0;\r
-      if (!this.mUpLoadSuccess && this.reLoadNum < 3) {\r
-        uploadCurrentLocation();\r
-        this.reLoadNum++;\r
-      } else {\r
-        this.reLoadNum = 0;\r
-        this.mUpLoadSuccess = true;\r
-      } \r
-      StringBuilder stringBuilder = new StringBuilder();\r
-      stringBuilder.append("alarmClock=");\r
-      stringBuilder.append(this.alarmClock);\r
-      stringBuilder.append("mUpLoadSuccess=");\r
-      stringBuilder.append(this.mUpLoadSuccess);\r
-      stringBuilder.append("reLoadNum=");\r
-      stringBuilder.append(this.reLoadNum);\r
-      ICLogger.i(stringBuilder.toString());\r
-    } \r
-  }\r
-  \r
-  public void onAttach(Connection paramConnection, Runtime paramRuntime) {\r
-    this.mRuntime = paramRuntime;\r
-    this.mHandler = new Handler();\r
-    String str1 = SharePreferenceUtil.getPrefString((paramRuntime.getContextProxy()).context, "key_device_key", null);\r
-    String str2 = SharePreferenceUtil.getPrefString((paramRuntime.getContextProxy()).context, "key_device_id", null);\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append("sharp_device_id=");\r
-    stringBuilder.append(str2);\r
-    stringBuilder.append("device_key=");\r
-    stringBuilder.append(str1);\r
-    ICLogger.i(stringBuilder.toString());\r
-    paramRuntime.setDevice_key(str1);\r
-    paramRuntime.setDevice_id(str2);\r
-  }\r
-  \r
-  public void onDetach(Connection paramConnection, Runtime paramRuntime) {}\r
-  \r
-  public boolean onUserRequest(Intent paramIntent, Connection paramConnection, Runtime paramRuntime) {\r
-    return false;\r
-  }\r
-  \r
-  public boolean onUserRequest(Message paramMessage, Connection paramConnection, Runtime paramRuntime) {\r
-    return false;\r
-  }\r
-  \r
-  public void uploadCurrentLocation() {\r
-    String str1 = this.mRuntime.getDevice_id();\r
-    String str2 = this.mRuntime.getDevice_key();\r
-    if (str1 != null && str2 != null) {\r
-      this.mHandler.post(new UploadCurrentLocationTask(this.mRuntime.getLocationInstance().getLocation(), str1));\r
-      return;\r
-    } \r
-//    this.mHandler.post(this.mRegisterDeviceTask);\r
-  }\r
-  \r
-  private class UploadCurrentLocationTask implements Runnable {\r
-    private ICLocation.GPS_LocationPoint mCurrentLocation;\r
-    \r
-    private String mDeviceID;\r
-    \r
-    UploadCurrentLocationTask(ICLocation.GPS_LocationPoint param1Locations, String param1String) {\r
-      this.mCurrentLocation = param1Locations;\r
-      this.mDeviceID = param1String;\r
-    }\r
-    \r
-    public void run() {\r
-\r
-    }\r
-  }\r
-\r
-  \r
-  private static class UploadLocationsTask implements Runnable {\r
-    private String mDeviceID;\r
-    \r
-    private List<ICLocation.GPS_LocationPoint> mLocations;\r
-    \r
-    UploadLocationsTask(List<ICLocation.GPS_LocationPoint> param1List, String param1String) {\r
-      this.mLocations = param1List;\r
-      this.mDeviceID = param1String;\r
-    }\r
-    \r
-    public void run() {\r
-\r
-\r
-    }\r
-  }\r
-\r
-}\r
-\r
-\r
+package com.ic.protocolSrv.service;
+
+import android.content.Intent;
+import android.os.Handler;
+import android.os.Message;
+
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.service.base.AbstractInvokeHandlerService;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.SharePreferenceUtil;
+
+import java.util.List;
+
+public class UpLoadDataPoints extends AbstractInvokeHandlerService {
+  private final String TAG = UpLoadDataPoints.class.getSimpleName();
+  
+  private int alarmClock;
+  
+  private Handler mHandler;
+  
+  private Runnable mRegisterDeviceTask = new Runnable() {
+      public void run() {
+
+      }
+    };
+  
+  Runtime mRuntime;
+  
+  private boolean mUpLoadSuccess = true;
+  
+  private int reLoadNum;
+  
+  public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {
+    if (paramRuntime.getDevice_id() == null || paramRuntime.getDevice_key() == null)
+      this.mHandler.post(this.mRegisterDeviceTask); 
+    this.alarmClock++;
+    if (this.alarmClock >= 10) {
+      this.alarmClock = 0;
+      if (!this.mUpLoadSuccess && this.reLoadNum < 3) {
+        uploadCurrentLocation();
+        this.reLoadNum++;
+      } else {
+        this.reLoadNum = 0;
+        this.mUpLoadSuccess = true;
+      } 
+      StringBuilder stringBuilder = new StringBuilder();
+      stringBuilder.append("alarmClock=");
+      stringBuilder.append(this.alarmClock);
+      stringBuilder.append("mUpLoadSuccess=");
+      stringBuilder.append(this.mUpLoadSuccess);
+      stringBuilder.append("reLoadNum=");
+      stringBuilder.append(this.reLoadNum);
+      ICLogger.i(stringBuilder.toString());
+    } 
+  }
+  
+  public void onAttach(Connection paramConnection, Runtime paramRuntime) {
+    this.mRuntime = paramRuntime;
+    this.mHandler = new Handler();
+    String str1 = SharePreferenceUtil.getPrefString((paramRuntime.getContextProxy()).context, "key_device_key", null);
+    String str2 = SharePreferenceUtil.getPrefString((paramRuntime.getContextProxy()).context, "key_device_id", null);
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append("sharp_device_id=");
+    stringBuilder.append(str2);
+    stringBuilder.append("device_key=");
+    stringBuilder.append(str1);
+    ICLogger.i(stringBuilder.toString());
+    paramRuntime.setDevice_key(str1);
+    paramRuntime.setDevice_id(str2);
+  }
+  
+  public void onDetach(Connection paramConnection, Runtime paramRuntime) {}
+  
+  public boolean onUserRequest(Intent paramIntent, Connection paramConnection, Runtime paramRuntime) {
+    return false;
+  }
+  
+  public boolean onUserRequest(Message paramMessage, Connection paramConnection, Runtime paramRuntime) {
+    return false;
+  }
+  
+  public void uploadCurrentLocation() {
+    String str1 = this.mRuntime.getDevice_id();
+    String str2 = this.mRuntime.getDevice_key();
+    if (str1 != null && str2 != null) {
+      this.mHandler.post(new UploadCurrentLocationTask(this.mRuntime.getLocationInstance().getLocation(), str1));
+      return;
+    } 
+//    this.mHandler.post(this.mRegisterDeviceTask);
+  }
+  
+  private class UploadCurrentLocationTask implements Runnable {
+    private ICLocation.GPS_LocationPoint mCurrentLocation;
+    
+    private String mDeviceID;
+    
+    UploadCurrentLocationTask(ICLocation.GPS_LocationPoint param1Locations, String param1String) {
+      this.mCurrentLocation = param1Locations;
+      this.mDeviceID = param1String;
+    }
+    
+    public void run() {
+
+    }
+  }
+
+  
+  private static class UploadLocationsTask implements Runnable {
+    private String mDeviceID;
+    
+    private List<ICLocation.GPS_LocationPoint> mLocations;
+    
+    UploadLocationsTask(List<ICLocation.GPS_LocationPoint> param1List, String param1String) {
+      this.mLocations = param1List;
+      this.mDeviceID = param1String;
+    }
+    
+    public void run() {
+
+
+    }
+  }
+
+}
+
+
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.content.ContentResolver;
 import android.database.ContentObserver;
@@ -6,9 +6,9 @@ import android.database.Cursor;
 import android.net.Uri;
 import android.os.Handler;
 
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.WeTalkMessageProvider;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.WeTalkMessageProvider;
+import com.ic.protocolSrv.utils.ICLogger;
 import com.ic.protocols.protocolAPIHelper;
 
 public class WeTalkMsgObserver extends ContentObserver {
@@ -1,10 +1,10 @@
-package com.enqualcomm.support.service;
+package com.ic.protocolSrv.service;
 
 import android.content.ContentResolver;
 import android.os.Handler;
 
-import com.enqualcomm.support.service.base.BaseSettingsObserver;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.service.base.BaseSettingsObserver;
+import com.ic.protocolSrv.utils.ICLogger;
 
 public class WebMsgStateObserver extends BaseSettingsObserver {
 
@@ -1,55 +1,55 @@
-package com.enqualcomm.support.service.base;\r
-\r
-import com.enqualcomm.support.bean.StringMessage;\r
-import com.enqualcomm.support.utils.Connection;\r
-import com.enqualcomm.support.bean.Runtime;\r
-\r
-public abstract class AbstractConnectionService implements ConnectionService {\r
-    protected AbstractConnectionService nextService;\r
-    private boolean isDetach;\r
-\r
-    public final void processAlarmClock(Connection paramConnection, Runtime paramRuntime) {\r
-        onAlarmClock(paramConnection, paramRuntime);\r
-        if (this.nextService != null)\r
-            this.nextService.processAlarmClock(paramConnection, paramRuntime);\r
-    }\r
-\r
-    public final void processAttach(Connection paramConnection, Runtime paramRuntime) {\r
-        this.isDetach = false;\r
-        onAttach(paramConnection, paramRuntime);\r
-        if (this.nextService != null)\r
-            this.nextService.processAttach(paramConnection, paramRuntime);\r
-    }\r
-\r
-    public final void processConnectionClose(Connection paramConnection, Runtime paramRuntime, String ErrorMsg) {\r
-        if (this.isDetach)\r
-            return;\r
-        if (!onConnectionClose(paramConnection, paramRuntime, ErrorMsg) && this.nextService != null)\r
-            this.nextService.processConnectionClose(paramConnection, paramRuntime, ErrorMsg);\r
-    }\r
-\r
-    public final void processConnectionOpen(Connection paramConnection, Runtime paramRuntime) {\r
-        if (this.isDetach)\r
-            return;\r
-        if (!onConnectionOpen(paramConnection, paramRuntime) && this.nextService != null)\r
-            this.nextService.processConnectionOpen(paramConnection, paramRuntime);\r
-    }\r
-\r
-    public final void processDetach(Connection paramConnection, Runtime paramRuntime) {\r
-        this.isDetach = true;\r
-        onDetach(paramConnection, paramRuntime);\r
-        if (this.nextService != null)\r
-            this.nextService.processDetach(paramConnection, paramRuntime);\r
-    }\r
-\r
-    public final void processServerResponse(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) {\r
-        if (this.isDetach)\r
-            return;\r
-        if (!onReceive(paramStringMessage, paramConnection, paramRuntime) && this.nextService != null)\r
-            this.nextService.processServerResponse(paramStringMessage, paramConnection, paramRuntime);\r
-    }\r
-\r
-    public final void setNext(AbstractConnectionService paramAbstractConnectionService) {\r
-        this.nextService = paramAbstractConnectionService;\r
-    }\r
+package com.ic.protocolSrv.service.base;
+
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.bean.Runtime;
+
+public abstract class AbstractConnectionService implements ConnectionService {
+    protected AbstractConnectionService nextService;
+    private boolean isDetach;
+
+    public final void processAlarmClock(Connection paramConnection, Runtime paramRuntime) {
+        onAlarmClock(paramConnection, paramRuntime);
+        if (this.nextService != null)
+            this.nextService.processAlarmClock(paramConnection, paramRuntime);
+    }
+
+    public final void processAttach(Connection paramConnection, Runtime paramRuntime) {
+        this.isDetach = false;
+        onAttach(paramConnection, paramRuntime);
+        if (this.nextService != null)
+            this.nextService.processAttach(paramConnection, paramRuntime);
+    }
+
+    public final void processConnectionClose(Connection paramConnection, Runtime paramRuntime, String ErrorMsg) {
+        if (this.isDetach)
+            return;
+        if (!onConnectionClose(paramConnection, paramRuntime, ErrorMsg) && this.nextService != null)
+            this.nextService.processConnectionClose(paramConnection, paramRuntime, ErrorMsg);
+    }
+
+    public final void processConnectionOpen(Connection paramConnection, Runtime paramRuntime) {
+        if (this.isDetach)
+            return;
+        if (!onConnectionOpen(paramConnection, paramRuntime) && this.nextService != null)
+            this.nextService.processConnectionOpen(paramConnection, paramRuntime);
+    }
+
+    public final void processDetach(Connection paramConnection, Runtime paramRuntime) {
+        this.isDetach = true;
+        onDetach(paramConnection, paramRuntime);
+        if (this.nextService != null)
+            this.nextService.processDetach(paramConnection, paramRuntime);
+    }
+
+    public final void processServerResponse(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) {
+        if (this.isDetach)
+            return;
+        if (!onReceive(paramStringMessage, paramConnection, paramRuntime) && this.nextService != null)
+            this.nextService.processServerResponse(paramStringMessage, paramConnection, paramRuntime);
+    }
+
+    public final void setNext(AbstractConnectionService paramAbstractConnectionService) {
+        this.nextService = paramAbstractConnectionService;
+    }
 }
\ No newline at end of file
@@ -1,42 +1,42 @@
-package com.enqualcomm.support.service.base;\r
-\r
-import android.content.Intent;\r
-import android.os.Message;\r
-\r
-import com.enqualcomm.support.utils.Connection;\r
-import com.enqualcomm.support.bean.Runtime;\r
-\r
-public abstract class AbstractInvokeHandlerService implements InvokeHandlerService {\r
-  protected AbstractInvokeHandlerService nextService;\r
-  \r
-  public final void processAlarmClock(Connection paramConnection, Runtime paramRuntime) {\r
-    onAlarmClock(paramConnection, paramRuntime);\r
-    if (this.nextService != null)\r
-      this.nextService.processAlarmClock(paramConnection, paramRuntime); \r
-  }\r
-  \r
-  public final void processAttach(Connection paramConnection, Runtime paramRuntime) {\r
-    onAttach(paramConnection, paramRuntime);\r
-    if (this.nextService != null)\r
-      this.nextService.processAttach(paramConnection, paramRuntime); \r
-  }\r
-  \r
-  public final void processDetach(Connection paramConnection, Runtime paramRuntime) {\r
-    onDetach(paramConnection, paramRuntime);\r
-    if (this.nextService != null)\r
-      this.nextService.processDetach(paramConnection, paramRuntime); \r
-  }\r
-  \r
-  public final void processUserRequest(Intent paramIntent, Connection paramConnection, Runtime paramRuntime) {\r
-    if (!onUserRequest(paramIntent, paramConnection, paramRuntime) && this.nextService != null)\r
-      this.nextService.processUserRequest(paramIntent, paramConnection, paramRuntime); \r
-  }\r
-  \r
-  public final void processUserRequest(Message paramMessage, Connection paramConnection, Runtime paramRuntime) {\r
-    if (!onUserRequest(paramMessage, paramConnection, paramRuntime) && this.nextService != null)\r
-      this.nextService.processUserRequest(paramMessage, paramConnection, paramRuntime); \r
-  }\r
-  \r
-  public final void setNext(AbstractInvokeHandlerService paramAbstractInvokeHandlerService) { this.nextService = paramAbstractInvokeHandlerService; }\r
-}\r
-\r
+package com.ic.protocolSrv.service.base;
+
+import android.content.Intent;
+import android.os.Message;
+
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.bean.Runtime;
+
+public abstract class AbstractInvokeHandlerService implements InvokeHandlerService {
+  protected AbstractInvokeHandlerService nextService;
+  
+  public final void processAlarmClock(Connection paramConnection, Runtime paramRuntime) {
+    onAlarmClock(paramConnection, paramRuntime);
+    if (this.nextService != null)
+      this.nextService.processAlarmClock(paramConnection, paramRuntime); 
+  }
+  
+  public final void processAttach(Connection paramConnection, Runtime paramRuntime) {
+    onAttach(paramConnection, paramRuntime);
+    if (this.nextService != null)
+      this.nextService.processAttach(paramConnection, paramRuntime); 
+  }
+  
+  public final void processDetach(Connection paramConnection, Runtime paramRuntime) {
+    onDetach(paramConnection, paramRuntime);
+    if (this.nextService != null)
+      this.nextService.processDetach(paramConnection, paramRuntime); 
+  }
+  
+  public final void processUserRequest(Intent paramIntent, Connection paramConnection, Runtime paramRuntime) {
+    if (!onUserRequest(paramIntent, paramConnection, paramRuntime) && this.nextService != null)
+      this.nextService.processUserRequest(paramIntent, paramConnection, paramRuntime); 
+  }
+  
+  public final void processUserRequest(Message paramMessage, Connection paramConnection, Runtime paramRuntime) {
+    if (!onUserRequest(paramMessage, paramConnection, paramRuntime) && this.nextService != null)
+      this.nextService.processUserRequest(paramMessage, paramConnection, paramRuntime); 
+  }
+  
+  public final void setNext(AbstractInvokeHandlerService paramAbstractInvokeHandlerService) { this.nextService = paramAbstractInvokeHandlerService; }
+}
+
@@ -1,13 +1,13 @@
-package com.enqualcomm.support.service.base;\r
-\r
-\r
-import com.enqualcomm.support.utils.Connection;\r
-import com.enqualcomm.support.bean.Runtime;\r
-public interface BaseService {\r
-  void onAlarmClock(Connection paramConnection, Runtime paramRuntime);\r
-  \r
-  void onAttach(Connection paramConnection, Runtime paramRuntime);\r
-  \r
-  void onDetach(Connection paramConnection, Runtime paramRuntime);\r
-}\r
-\r
+package com.ic.protocolSrv.service.base;
+
+
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.bean.Runtime;
+public interface BaseService {
+  void onAlarmClock(Connection paramConnection, Runtime paramRuntime);
+  
+  void onAttach(Connection paramConnection, Runtime paramRuntime);
+  
+  void onDetach(Connection paramConnection, Runtime paramRuntime);
+}
+
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.service.base;
+package com.ic.protocolSrv.service.base;
 
 import android.content.ContentResolver;
 import android.database.ContentObserver;
@@ -6,7 +6,7 @@ import android.database.Cursor;
 import android.net.Uri;
 import android.os.Handler;
 
-import com.enqualcomm.support.provider.ICGlobalSettingsProvider;
+import com.ic.protocolSrv.provider.ICGlobalSettingsProvider;
 
 public class BaseSettingsObserver extends ContentObserver {
 
@@ -1,15 +1,15 @@
-package com.enqualcomm.support.service.base;\r
-\r
-import com.enqualcomm.support.bean.StringMessage;\r
-import com.enqualcomm.support.utils.Connection;\r
-import com.enqualcomm.support.bean.Runtime;\r
-\r
-public interface ConnectionService extends BaseService {\r
-  boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime,String ErrorMsg);\r
-  \r
-  boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime);\r
-  \r
-  boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime);\r
-}\r
-\r
-\r
+package com.ic.protocolSrv.service.base;
+
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.bean.Runtime;
+
+public interface ConnectionService extends BaseService {
+  boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime,String ErrorMsg);
+  
+  boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime);
+  
+  boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime);
+}
+
+
@@ -1,14 +1,14 @@
-package com.enqualcomm.support.service.base;\r
-\r
-import android.content.Intent;\r
-import android.os.Message;\r
-\r
-import com.enqualcomm.support.utils.Connection;\r
-import com.enqualcomm.support.bean.Runtime;\r
-public interface InvokeHandlerService extends BaseService {\r
-  boolean onUserRequest(Intent paramIntent, Connection paramConnection, Runtime paramRuntime);\r
-  \r
-  boolean onUserRequest(Message paramMessage, Connection paramConnection, Runtime paramRuntime);\r
-}\r
-\r
-\r
+package com.ic.protocolSrv.service.base;
+
+import android.content.Intent;
+import android.os.Message;
+
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.bean.Runtime;
+public interface InvokeHandlerService extends BaseService {
+  boolean onUserRequest(Intent paramIntent, Connection paramConnection, Runtime paramRuntime);
+  
+  boolean onUserRequest(Message paramMessage, Connection paramConnection, Runtime paramRuntime);
+}
+
+
-package com.enqualcomm.support;\r
-\r
-import android.app.Activity;\r
-import android.content.ComponentName;\r
-import android.content.Intent;\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_client;\r
-\r
-import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;\r
-\r
-public class toolActivity extends Activity {\r
-    private static boolean usbstat=true;\r
-    @Override\r
-    protected void onCreate(Bundle savedInstanceState) {\r
-        super.onCreate(savedInstanceState);\r
-        setContentView(R.layout.activity_tool);\r
-\r
-        Button btnSim=(Button)findViewById(R.id.btn_simReset);\r
-        Button btnSimReload=(Button)findViewById(R.id.btn_sim2);\r
-        Button btnLogctl=(Button)findViewById(R.id.btn_logctl);\r
-        Button btnmod1=(Button)findViewById(R.id.btn_location1);\r
-        Button btnmod3=(Button)findViewById(R.id.btn_location3);\r
-        Button btnmod530=(Button)findViewById(R.id.btn_location530);\r
-\r
-        Button btnRestSrv=(Button)findViewById(R.id.btn_restartSrv);\r
-        Button btnUsbEnable=(Button)findViewById(R.id.btn_usb);\r
-        Button btnSlog=(Button)findViewById(R.id.btn_cpslog);\r
-\r
-//        protocol_mqtt_client mqttClient=new protocol_mqtt_client(toolActivity.this);\r
-//        mqttClient.connectservice();\r
-        btnmod1.setOnClickListener(new View.OnClickListener() {\r
-            @Override\r
-            public void onClick(View view) {\r
-//                protocol_mqtt.handleLGZONE(null,CoreService.getInstance().runtime,"001D,-8,08:00:00,2016-01-12");\r
-\r
-                Intent intent=new Intent();\r
-                intent.putExtra("smsCmd","#setlocation#=1,30#");\r
-                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.SMSCMD",intent);\r
-                Util.ShowToast(CoreService.getInstance().runtime,"设置模式1 , 间隔900秒定位。");\r
-            }\r
-        });\r
-\r
-        btnmod3.setOnClickListener(new View.OnClickListener() {\r
-            @Override\r
-            public void onClick(View view) {\r
-                Intent intent=new Intent();\r
-                intent.putExtra("smsCmd","#setlocation#=3,30#");\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
-            }\r
-        });\r
-        btnmod530.setOnClickListener(new View.OnClickListener() {\r
-            @Override\r
-            public void onClick(View view) {\r
-                Intent intent=new Intent();\r
-                intent.putExtra("smsCmd","#setlocation#=8,300#");\r
-                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.SMSCMD",intent);\r
-                Util.ShowToast(CoreService.getInstance().runtime,"设置模式8, 间隔300秒定位。");\r
-\r
-\r
-//                mqttClient.sendMessage("WBG100/v1/BREQ/1","[0016,QWER15WTF156OQRT1230]");\r
-//                mqttClient.sendMessage("WBG100/v1/KA/1","[001B,120414,50,100,100, 123456789]");\r
-\r
-\r
-\r
-            }\r
-        });\r
-        btnSim.setOnClickListener(new View.OnClickListener() {\r
-            @Override\r
-            public void onClick(View view) {\r
-                SimSignalUtil.send_at_to_reset_simcard(CoreService.getInstance().runtime);\r
-                Util.ShowToast(CoreService.getInstance().runtime,"Reset SimCard!");\r
-            }\r
-        });\r
-\r
-        btnSimReload.setOnClickListener(new View.OnClickListener() {\r
-            @Override\r
-            public void onClick(View view) {\r
-\r
-                Intent intent=new Intent();\r
-                ComponentName var3 = new ComponentName("com.enqualcomm.support", "com.enqualcomm.support.GPSActivity");\r
-                intent.addFlags(FLAG_ACTIVITY_NEW_TASK);\r
-                intent.setComponent(var3);\r
-                startActivity(intent);\r
-            }\r
-        });\r
-\r
-        btnLogctl.setOnClickListener(new View.OnClickListener() {\r
-            @Override\r
-            public void onClick(View view) {\r
-                Intent intent=new Intent();\r
-                intent.putExtra("smsCmd","#logctl#=upload,SDLogInfo:Android/ic");\r
-                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.enqualcomm.support.SMSCMD",intent);\r
-            }\r
-        });\r
-\r
-\r
-\r
-        btnUsbEnable.setOnClickListener(new View.OnClickListener() {\r
-            @Override\r
-            public void onClick(View view) {\r
-                if(usbstat) {\r
-                    Intent intent=new Intent();\r
-                    intent.putExtra("smsCmd", "#USB#=mtp");\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().sendBroadcast("com.enqualcomm.support.SMSCMD",intent);\r
-                    Util.ShowToast(CoreService.getInstance().runtime,"Diable MTP");\r
-                }\r
-\r
-            }\r
-        });\r
-        btnRestSrv.setOnClickListener(new View.OnClickListener() {\r
-            @Override\r
-            public void onClick(View view) {\r
-\r
-                if (CoreService.getInstance()!=null)\r
-                    Util.ShowToast(CoreService.getInstance().runtime, "Stop ProtocolService!");\r
-                    stopService(new Intent(toolActivity.this, CoreService.class));// protocol service\r
-\r
-                Util.mSleep(3000);\r
-                if (CoreService.getInstance()!=null)\r
-                     Util.ShowToast(CoreService.getInstance().runtime, "Start ProtocolService!");\r
-                    startService(new Intent(toolActivity.this, CoreService.class));// protocol service\r
-\r
-            }\r
-        });\r
-        btnSlog.setOnClickListener(new View.OnClickListener() {\r
-            @Override\r
-            public void onClick(View view) {\r
-                if(Config.forceMoveCheck)\r
-                {\r
-                    Config.forceMoveCheck=false;\r
-                }else{\r
-                    Config.forceMoveCheck=true;\r
-                }\r
-                Util.ShowToast(CoreService.getInstance().runtime,"Set ForceMoveCheck "+ Config.forceMoveCheck);\r
-            }\r
-        });\r
-\r
-    }\r
-}\r
+package com.ic.protocolSrv;
+
+import android.app.Activity;
+import android.content.ComponentName;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+
+import com.ic.protocolSrv.utils.SimSignalUtil;
+import com.ic.protocolSrv.utils.Util;
+//import com.ic.protocols.protocol_mqtt_client;
+
+import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
+
+public class toolActivity extends Activity {
+    private static boolean usbstat=true;
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_tool);
+
+        Button btnSim=(Button)findViewById(R.id.btn_simReset);
+        Button btnSimReload=(Button)findViewById(R.id.btn_sim2);
+        Button btnLogctl=(Button)findViewById(R.id.btn_logctl);
+        Button btnmod1=(Button)findViewById(R.id.btn_location1);
+        Button btnmod3=(Button)findViewById(R.id.btn_location3);
+        Button btnmod530=(Button)findViewById(R.id.btn_location530);
+
+        Button btnRestSrv=(Button)findViewById(R.id.btn_restartSrv);
+        Button btnUsbEnable=(Button)findViewById(R.id.btn_usb);
+        Button btnSlog=(Button)findViewById(R.id.btn_cpslog);
+
+//        protocol_mqtt_client mqttClient=new protocol_mqtt_client(toolActivity.this);
+//        mqttClient.connectservice();
+        btnmod1.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+//                protocol_mqtt.handleLGZONE(null,CoreService.getInstance().runtime,"001D,-8,08:00:00,2016-01-12");
+
+                Intent intent=new Intent();
+                intent.putExtra("smsCmd","#setlocation#=1,30#");
+                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.ic.protocolSrv.SMSCMD",intent);
+                Util.ShowToast(CoreService.getInstance().runtime,"设置模式1 , 间隔900秒定位。");
+            }
+        });
+
+        btnmod3.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                Intent intent=new Intent();
+                intent.putExtra("smsCmd","#setlocation#=3,30#");
+                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.ic.protocolSrv.SMSCMD",intent);
+                Util.ShowToast(CoreService.getInstance().runtime,"设置模式3 , 间隔60秒定位。");
+
+//                mqttClient.attemptConnectMqtt(protocol_mqtt.defaultServerIP,"IC_H88_1063",60);
+            }
+        });
+        btnmod530.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                Intent intent=new Intent();
+                intent.putExtra("smsCmd","#setlocation#=8,300#");
+                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.ic.protocolSrv.SMSCMD",intent);
+                Util.ShowToast(CoreService.getInstance().runtime,"设置模式8, 间隔300秒定位。");
+
+
+//                mqttClient.sendMessage("WBG100/v1/BREQ/1","[0016,QWER15WTF156OQRT1230]");
+//                mqttClient.sendMessage("WBG100/v1/KA/1","[001B,120414,50,100,100, 123456789]");
+
+
+
+            }
+        });
+        btnSim.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                SimSignalUtil.send_at_to_reset_simcard(CoreService.getInstance().runtime);
+                Util.ShowToast(CoreService.getInstance().runtime,"Reset SimCard!");
+            }
+        });
+
+        btnSimReload.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+
+                Intent intent=new Intent();
+                ComponentName var3 = new ComponentName("com.ic.protocolSrv", "com.ic.protocolSrv.GPSActivity");
+                intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
+                intent.setComponent(var3);
+                startActivity(intent);
+            }
+        });
+
+        btnLogctl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                Intent intent=new Intent();
+                intent.putExtra("smsCmd","#logctl#=upload,SDLogInfo:Android/ic");
+                CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.ic.protocolSrv.SMSCMD",intent);
+            }
+        });
+
+
+
+        btnUsbEnable.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if(usbstat) {
+                    Intent intent=new Intent();
+                    intent.putExtra("smsCmd", "#USB#=mtp");
+                    CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.ic.protocolSrv.SMSCMD",intent);
+                    Util.ShowToast(CoreService.getInstance().runtime,"Enable MTP");
+                }else{
+                    Intent intent=new Intent();
+                    intent.putExtra("smsCmd", "#USB#=none");
+                    CoreService.getInstance().runtime.getContextProxy().sendBroadcast("com.ic.protocolSrv.SMSCMD",intent);
+                    Util.ShowToast(CoreService.getInstance().runtime,"Diable MTP");
+                }
+
+            }
+        });
+        btnRestSrv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+
+                if (CoreService.getInstance()!=null)
+                    Util.ShowToast(CoreService.getInstance().runtime, "Stop ProtocolService!");
+                    stopService(new Intent(toolActivity.this, CoreService.class));// protocol service
+
+                Util.mSleep(3000);
+                if (CoreService.getInstance()!=null)
+                     Util.ShowToast(CoreService.getInstance().runtime, "Start ProtocolService!");
+                    startService(new Intent(toolActivity.this, CoreService.class));// protocol service
+
+            }
+        });
+        btnSlog.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if(Config.forceMoveCheck)
+                {
+                    Config.forceMoveCheck=false;
+                }else{
+                    Config.forceMoveCheck=true;
+                }
+                Util.ShowToast(CoreService.getInstance().runtime,"Set ForceMoveCheck "+ Config.forceMoveCheck);
+            }
+        });
+
+    }
+}
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.ContentResolver;
 import android.content.ContentValues;
@@ -13,7 +13,7 @@ import android.widget.Toast;
 
 import com.android.internal.telephony.Phone;
 //import com.android.internal.telephony.PhoneFactory;
-import com.enqualcomm.support.bean.ApnSetting;
+import com.ic.protocolSrv.bean.ApnSetting;
 //import android.sim.SimManager;
 
 import java.lang.reflect.Method;
-package com.enqualcomm.support.utils;\r
-\r
-import android.app.AlarmManager;\r
-import android.app.PendingIntent;\r
-import android.content.Context;\r
-import android.content.Intent;\r
-import android.os.Build;\r
-import android.os.SystemClock;\r
-\r
-import com.enqualcomm.support.CoreService;\r
-\r
-import java.lang.reflect.Method;\r
-import java.util.Calendar;\r
-\r
-public class AlarmHelper {\r
-    private static final String ACTION_STEP_COUNT_ALARM = "com.enqualcomm.support.ACTION_STEP_COUNT_ALARM";\r
-\r
-    private static final long ONE_DAY = 86400000L;\r
-\r
-    private static final long ONE_WEEK = 604800000L;\r
-\r
-//    private static Method setImpl;\r
-\r
-    static {\r
-//        try {\r
-//            setImpl = AlarmManager.class.getDeclaredMethod("setImpl", new Class[]{int.class, long.class, long.class, long.class, PendingIntent.class, android.os.WorkSource.class});\r
-//            setImpl.setAccessible(true);\r
-//\r
-//        } catch (Exception e) {\r
-//            e.printStackTrace();\r
-//            ICLogger.e(e.getMessage(), e);\r
-//        }\r
-    }\r
-\r
-    //设置闹铃\r
-    public static void setAlarm(AlarmManager paramAlarmManager, long triggerAtMillis, PendingIntent 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
-        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
-        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);\r
-        Intent intent = new Intent(context, com.enqualcomm.support.CoreService.class);\r
-        intent.setAction(paramString);\r
-        PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);\r
-        alarmManager.cancel(pendingIntent);\r
-        long currentMS = System.currentTimeMillis();\r
-        Calendar calendar = Calendar.getInstance();\r
-        calendar.set(Calendar.HOUR_OF_DAY, hour);\r
-        calendar.set(Calendar.MINUTE, minutes);\r
-        calendar.set(Calendar.SECOND, 0);\r
-        long targetMStmp = calendar.getTimeInMillis();\r
-        long targetMS = targetMStmp;\r
-        if (targetMStmp < currentMS)\r
-            targetMS = targetMStmp + ONE_DAY;\r
-        alarmManager.setExact(AlarmManager.RTC_WAKEUP, targetMS, pendingIntent);\r
-    }\r
-\r
-    public static void setRealTimeAlarm(Context context, int minutes, String actionname) {\r
-        ICLogger.d("minutes == > " + minutes + " action name is == > " + actionname);\r
-        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);\r
-        Intent intent = new Intent(context, CoreService.class);\r
-        intent.setAction(actionname);\r
-        PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);\r
-        alarmManager.cancel(pendingIntent);\r
-        ICLogger.d("pendingIntent cancel...");\r
-        long l = SystemClock.elapsedRealtime();\r
-        if (Build.VERSION.SDK_INT >= 19) {\r
-            alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (minutes * 60 * 1000), pendingIntent);\r
-            return;\r
-        }\r
-        ICLogger.d("set alarm....");\r
-        alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (minutes * 60 * 1000), pendingIntent);\r
-    }\r
-\r
-    public static void setRealTimeAlarmInMicorSeconds(Context context, int ms, String actionname) {\r
-        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);\r
-        Intent intent = new Intent(context, com.enqualcomm.support.CoreService.class);\r
-        intent.setAction(actionname);\r
-        PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);\r
-        alarmManager.cancel(pendingIntent);\r
-        long l = SystemClock.elapsedRealtime();\r
-        if (Build.VERSION.SDK_INT >= 19) {\r
-            alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (ms), pendingIntent);\r
-            return;\r
-        }\r
-        alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (ms), pendingIntent);\r
-    }\r
-\r
-    public static void setRealTimeAlarmInSeconds(Context context, int seconds, String actionname) {\r
-        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);\r
-        Intent intent = new Intent(context, CoreService.class);\r
-        intent.setAction(actionname);\r
-        PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);\r
-        alarmManager.cancel(pendingIntent);\r
-        long l = SystemClock.elapsedRealtime();\r
-        if (Build.VERSION.SDK_INT >= 19) {\r
-            alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (seconds * 1000), pendingIntent);\r
-            return;\r
-        }\r
-        alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (seconds * 1000), pendingIntent);\r
-    }\r
-\r
-    public static void setTimeAlarm(Context context, int hour, int minutes, String action) {\r
-        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);\r
-        Intent intent = new Intent(context, CoreService.class);\r
-        intent.setAction(action);\r
-        PendingIntent pendingIntent = PendingIntent.getService(context,\r
-                0, intent,\r
-                PendingIntent.FLAG_UPDATE_CURRENT);\r
-        long l3 = System.currentTimeMillis();\r
-        Calendar calendar = Calendar.getInstance();\r
-        calendar.set(Calendar.HOUR_OF_DAY, hour);\r
-        calendar.set(Calendar.MINUTE, minutes);\r
-        calendar.set(Calendar.SECOND, 0);\r
-        long l2 = calendar.getTimeInMillis();\r
-        long l1 = l2;\r
-        if (l2 < l3)\r
-            l1 = l2 + ONE_DAY;\r
-        alarmManager.cancel(pendingIntent);\r
-        alarmManager.set(AlarmManager.RTC_WAKEUP, l1, pendingIntent);\r
-    }\r
-\r
-\r
-    public static void setPowerOffAlarm(Context context, PendingIntent pendingIntent, int hour, int min) {\r
-        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);\r
-        long l3 = System.currentTimeMillis();\r
-        Calendar calendar = Calendar.getInstance();\r
-        calendar.set(Calendar.HOUR_OF_DAY, hour);\r
-        calendar.set(Calendar.MINUTE, min);\r
-        calendar.set(Calendar.SECOND, 0);\r
-        long l2 = calendar.getTimeInMillis();\r
-        long l1 = l2;\r
-        if (l2 < l3)\r
-            l1 = l2 + ONE_DAY;\r
-        alarmManager.cancel(pendingIntent);\r
-        //设置闹钟\r
-        ICLogger.d("target time == > " + l1);\r
-        alarmManager.set(AlarmManager.RTC_WAKEUP, l1, pendingIntent);\r
-    }\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
+package com.ic.protocolSrv.utils;
+
+import android.app.AlarmManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Build;
+import android.os.SystemClock;
+
+import com.ic.protocolSrv.CoreService;
+
+import java.lang.reflect.Method;
+import java.util.Calendar;
+
+public class AlarmHelper {
+    private static final String ACTION_STEP_COUNT_ALARM = "com.ic.protocolSrv.ACTION_STEP_COUNT_ALARM";
+
+    private static final long ONE_DAY = 86400000L;
+
+    private static final long ONE_WEEK = 604800000L;
+
+//    private static Method setImpl;
+
+    static {
+//        try {
+//            setImpl = AlarmManager.class.getDeclaredMethod("setImpl", new Class[]{int.class, long.class, long.class, long.class, PendingIntent.class, android.os.WorkSource.class});
+//            setImpl.setAccessible(true);
+//
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//            ICLogger.e(e.getMessage(), e);
+//        }
+    }
+
+    //设置闹铃
+    public static void setAlarm(AlarmManager paramAlarmManager, long triggerAtMillis, PendingIntent paramPendingIntent) {
+        //循环闹钟
+        paramAlarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtMillis, paramPendingIntent);
+        //paramAlarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, triggerAtMillis, intervalMillis, paramPendingIntent);
+    }
+
+    public static void setAlarmOnce(AlarmManager paramAlarmManager, long triggerAtMillis, PendingIntent paramPendingIntent) {
+        ICLogger.i("setAlarmOnce triggerAtMillis " + triggerAtMillis);
+        paramAlarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtMillis, paramPendingIntent);
+        // setAlarm(paramAlarmManager, triggerAtMillis, 0, paramPendingIntent);
+    }
+
+    public static void setCleanStepCountAlarm(Context context, int hour, int minutes, String paramString) {
+        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+        Intent intent = new Intent(context, com.ic.protocolSrv.CoreService.class);
+        intent.setAction(paramString);
+        PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+        alarmManager.cancel(pendingIntent);
+        long currentMS = System.currentTimeMillis();
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.HOUR_OF_DAY, hour);
+        calendar.set(Calendar.MINUTE, minutes);
+        calendar.set(Calendar.SECOND, 0);
+        long targetMStmp = calendar.getTimeInMillis();
+        long targetMS = targetMStmp;
+        if (targetMStmp < currentMS)
+            targetMS = targetMStmp + ONE_DAY;
+        alarmManager.setExact(AlarmManager.RTC_WAKEUP, targetMS, pendingIntent);
+    }
+
+    public static void setRealTimeAlarm(Context context, int minutes, String actionname) {
+        ICLogger.d("minutes == > " + minutes + " action name is == > " + actionname);
+        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+        Intent intent = new Intent(context, CoreService.class);
+        intent.setAction(actionname);
+        PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+        alarmManager.cancel(pendingIntent);
+        ICLogger.d("pendingIntent cancel...");
+        long l = SystemClock.elapsedRealtime();
+        if (Build.VERSION.SDK_INT >= 19) {
+            alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (minutes * 60 * 1000), pendingIntent);
+            return;
+        }
+        ICLogger.d("set alarm....");
+        alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (minutes * 60 * 1000), pendingIntent);
+    }
+
+    public static void setRealTimeAlarmInMicorSeconds(Context context, int ms, String actionname) {
+        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+        Intent intent = new Intent(context, com.ic.protocolSrv.CoreService.class);
+        intent.setAction(actionname);
+        PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+        alarmManager.cancel(pendingIntent);
+        long l = SystemClock.elapsedRealtime();
+        if (Build.VERSION.SDK_INT >= 19) {
+            alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (ms), pendingIntent);
+            return;
+        }
+        alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (ms), pendingIntent);
+    }
+
+    public static void setRealTimeAlarmInSeconds(Context context, int seconds, String actionname) {
+        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+        Intent intent = new Intent(context, CoreService.class);
+        intent.setAction(actionname);
+        PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+        alarmManager.cancel(pendingIntent);
+        long l = SystemClock.elapsedRealtime();
+        if (Build.VERSION.SDK_INT >= 19) {
+            alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (seconds * 1000), pendingIntent);
+            return;
+        }
+        alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + (seconds * 1000), pendingIntent);
+    }
+
+    public static void setTimeAlarm(Context context, int hour, int minutes, String action) {
+        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+        Intent intent = new Intent(context, CoreService.class);
+        intent.setAction(action);
+        PendingIntent pendingIntent = PendingIntent.getService(context,
+                0, intent,
+                PendingIntent.FLAG_UPDATE_CURRENT);
+        long l3 = System.currentTimeMillis();
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.HOUR_OF_DAY, hour);
+        calendar.set(Calendar.MINUTE, minutes);
+        calendar.set(Calendar.SECOND, 0);
+        long l2 = calendar.getTimeInMillis();
+        long l1 = l2;
+        if (l2 < l3)
+            l1 = l2 + ONE_DAY;
+        alarmManager.cancel(pendingIntent);
+        alarmManager.set(AlarmManager.RTC_WAKEUP, l1, pendingIntent);
+    }
+
+
+    public static void setPowerOffAlarm(Context context, PendingIntent pendingIntent, int hour, int min) {
+        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+        long l3 = System.currentTimeMillis();
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.HOUR_OF_DAY, hour);
+        calendar.set(Calendar.MINUTE, min);
+        calendar.set(Calendar.SECOND, 0);
+        long l2 = calendar.getTimeInMillis();
+        long l1 = l2;
+        if (l2 < l3)
+            l1 = l2 + ONE_DAY;
+        alarmManager.cancel(pendingIntent);
+        //设置闹钟
+        ICLogger.d("target time == > " + l1);
+        alarmManager.set(AlarmManager.RTC_WAKEUP, l1, pendingIntent);
+    }
+
+
+    public static void setNextWeekAlarm(AlarmManager mAlarmManager, long timeStamp, PendingIntent pendingIntent) {
+        //周期为下一周
+        timeStamp += ONE_WEEK;
+        setAlarm(mAlarmManager, timeStamp, pendingIntent);
+    }
+}
+
@@ -1,43 +1,43 @@
-package com.enqualcomm.support.utils;\r
-\r
-import android.content.ComponentName;\r
-import android.content.Context;\r
-import android.content.Intent;\r
-import android.os.SystemClock;\r
-import android.util.Log;\r
-\r
-import com.enqualcomm.support.Config;\r
-import com.enqualcomm.support.Constants;\r
-import com.enqualcomm.support.bean.Contact;\r
-import com.enqualcomm.support.bean.Runtime;\r
-import com.enqualcomm.support.CoreService;\r
-\r
-import static com.enqualcomm.support.Constants.SERVICE_CLS_NAME;\r
-import static com.enqualcomm.support.Constants.SERVICE_PKG_NAME;\r
-\r
-public class AlarmWakeUp {\r
-  private static long lastAlarmTime;\r
-  \r
-  public static void isNeedWakeUpAlarm(Runtime runtime) {\r
-    long l = SystemClock.elapsedRealtime();\r
-//    int i = Config.getAlarmCycle(runtime.getContextProxy().context);\r
-    int i = Config.getLocationCycle(runtime.getContextProxy().context);\r
-    if (l - lastAlarmTime > ((i + 1) * 60 * 1000)) { //达到cycle时间则唤醒CoreService并发送定位消息\r
-      ComponentName componentName = new ComponentName(SERVICE_PKG_NAME, SERVICE_CLS_NAME);\r
-//      Intent intent = (new Intent(CoreService.ACTION_ALARM)).setComponent(componentName);\r
-      Intent intent = (new Intent(Constants.ACTION_LOCATION_ALARM)).setComponent(componentName);\r
-      (runtime.getContextProxy()).context.startService(intent);\r
-\r
-      StringBuilder stringBuilder = new StringBuilder();\r
-      stringBuilder.append("isNeedWakeUpAlarm currentTimeMillis=");\r
-      stringBuilder.append(l);\r
-      stringBuilder.append("---lastAlarmTime=");\r
-      stringBuilder.append(lastAlarmTime);\r
-      ICLogger.i("AlarmWakeUp "+ stringBuilder.toString());\r
-      if (Config.LOG_TOFILE) ICLogger.logToFile( "alarmCycle", stringBuilder.toString());\r
-    } \r
-  }\r
-  \r
-  public static void setAlarmWakeUpTime() { lastAlarmTime = SystemClock.elapsedRealtime(); }\r
-}\r
-\r
+package com.ic.protocolSrv.utils;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.os.SystemClock;
+import android.util.Log;
+
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.Constants;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.CoreService;
+
+import static com.ic.protocolSrv.Constants.SERVICE_CLS_NAME;
+import static com.ic.protocolSrv.Constants.SERVICE_PKG_NAME;
+
+public class AlarmWakeUp {
+  private static long lastAlarmTime;
+  
+  public static void isNeedWakeUpAlarm(Runtime runtime) {
+    long l = SystemClock.elapsedRealtime();
+//    int i = Config.getAlarmCycle(runtime.getContextProxy().context);
+    int i = Config.getLocationCycle(runtime.getContextProxy().context);
+    if (l - lastAlarmTime > ((i + 1) * 60 * 1000)) { //达到cycle时间则唤醒CoreService并发送定位消息
+      ComponentName componentName = new ComponentName(SERVICE_PKG_NAME, SERVICE_CLS_NAME);
+//      Intent intent = (new Intent(CoreService.ACTION_ALARM)).setComponent(componentName);
+      Intent intent = (new Intent(Constants.ACTION_LOCATION_ALARM)).setComponent(componentName);
+      (runtime.getContextProxy()).context.startService(intent);
+
+      StringBuilder stringBuilder = new StringBuilder();
+      stringBuilder.append("isNeedWakeUpAlarm currentTimeMillis=");
+      stringBuilder.append(l);
+      stringBuilder.append("---lastAlarmTime=");
+      stringBuilder.append(lastAlarmTime);
+      ICLogger.i("AlarmWakeUp "+ stringBuilder.toString());
+      if (Config.LOG_TOFILE) ICLogger.logToFile( "alarmCycle", stringBuilder.toString());
+    } 
+  }
+  
+  public static void setAlarmWakeUpTime() { lastAlarmTime = SystemClock.elapsedRealtime(); }
+}
+
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -51,8 +51,8 @@ import android.widget.EditText;
 import android.widget.TextView;
 
 import com.android.internal.telephony.TelephonyProperties;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.ApnSetting;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.ApnSetting;
 
 import static android.content.Context.TELEPHONY_SERVICE;
 
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.BroadcastReceiver;
 import android.content.ContentValues;
@@ -12,17 +12,17 @@ import android.os.Handler;
 import android.os.Message;
 import android.os.PowerManager;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.Constants;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.LocationClient;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.EventLooperHandlerThread;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.WarningItemProvider;
-import com.enqualcomm.support.service.AntiMonitorService;
-import com.enqualcomm.support.service.AudioService;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.Constants;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.LocationClient;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.EventLooperHandlerThread;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.WarningItemProvider;
+import com.ic.protocolSrv.service.AntiMonitorService;
+import com.ic.protocolSrv.service.AudioService;
 import com.ic.protocols.protocolAPIHelper;
 
 import static android.os.BatteryManager.BATTERY_STATUS_CHARGING;
@@ -34,8 +34,8 @@ import static android.os.BatteryManager.EXTRA_LEVEL;
 import static android.os.BatteryManager.EXTRA_SCALE;
 import static android.os.BatteryManager.EXTRA_STATUS;
 import static android.os.BatteryManager.EXTRA_VOLTAGE;
-import static com.enqualcomm.support.Constants.ACTION_BATTERYLOW;
-import static com.enqualcomm.support.Constants.KEY_BATTERY_EVENT;
+import static com.ic.protocolSrv.Constants.ACTION_BATTERYLOW;
+import static com.ic.protocolSrv.Constants.KEY_BATTERY_EVENT;
 
 //import static android.content.Context.BATTERY_SERVICE;
 
-package com.enqualcomm.support.utils;\r
-\r
-import android.content.Context;\r
-import android.graphics.Bitmap;\r
-import android.graphics.BitmapFactory;\r
-import android.graphics.Color;\r
-import android.graphics.Matrix;\r
-import android.graphics.SurfaceTexture;\r
-import android.hardware.Camera;\r
-import android.media.ToneGenerator;\r
-import android.os.Environment;\r
-import android.os.StatFs;\r
-import android.view.SurfaceView;\r
-import android.view.WindowManager;\r
-\r
-import com.enqualcomm.support.Config;\r
-import com.enqualcomm.support.CoreService;\r
-\r
-import java.io.BufferedOutputStream;\r
-import java.io.File;\r
-import java.io.FileOutputStream;\r
-\r
-public class CameraUtil implements SurfaceTexture.OnFrameAvailableListener {\r
-    Context context;\r
-\r
-    private Camera.PictureCallback jpegCallback = (param1ArrayOfByte, param1Camera) -> {\r
-        StringBuilder stringBuilder = new StringBuilder();\r
-        stringBuilder.append("camera format=");\r
-        stringBuilder.append(CameraUtil.this.mPs.getPictureFormat());\r
-        ICLogger.i(stringBuilder.toString());\r
-        if (CameraUtil.this.mPs.getPictureFormat() == 256) {\r
-            String str = CameraUtil.this.savePicture(param1ArrayOfByte);\r
-            if (str != null) {\r
-                if (CoreService.getInstance() != null) {\r
-                    //str就是path.\r
-                    CoreService.DevliverStringMessage("PhotoRemoteTaken", str);\r
-                }\r
-            } else {\r
-                ICLogger.i("camera 空间不足,保存失败");\r
-            }\r
-        }\r
-        CameraUtil.this.releaseCamera();\r
-    };\r
-\r
-    private Camera mCamera;\r
-\r
-    String mNumber;\r
-\r
-    private int mOrientation;\r
-    private int custom_camera_orientation = 0;\r
-    private int custom_camera_mirror = 0;\r
-    private Camera.Parameters mPs;\r
-\r
-    private Camera.ShutterCallback shutterCallback = new Camera.ShutterCallback() {\r
-        public void onShutter() {\r
-            ICLogger.i("camera shutterCallback");\r
-        }\r
-    };\r
-\r
-    private SurfaceTexture surfaceTexture;\r
-\r
-    private ToneGenerator tone;\r
-\r
-    public CameraUtil(Context paramContext) {\r
-        this.context = paramContext;\r
-    }\r
-\r
-    private Camera openFacingBackCamera() {\r
-        Camera.CameraInfo cameraInfo = new Camera.CameraInfo();\r
-        int i = Camera.getNumberOfCameras();\r
-        Camera camera = null;\r
-        byte b = 0;\r
-        while (b < i) {\r
-            Camera.getCameraInfo(b, cameraInfo);\r
-\r
-            if (cameraInfo.facing == 0) {\r
-                try {\r
-                    camera = Camera.open(b);\r
-                } catch (RuntimeException e) {\r
-                    e.printStackTrace();\r
-                }\r
-            }\r
-            b++;\r
-        }\r
-        return camera;\r
-    }\r
-\r
-    private void releaseCamera() {\r
-        if (this.mCamera != null)\r
-            try {\r
-                if (this.surfaceTexture != null)\r
-                    this.surfaceTexture.setOnFrameAvailableListener(null);\r
-                this.mCamera.setPreviewTexture(null);\r
-                this.mCamera.stopPreview();\r
-            } catch (Exception exception) {\r
-                exception.printStackTrace();\r
-            }\r
-        this.mCamera.release();\r
-    }\r
-\r
-    private String savePicture(byte[] paramArrayOfByte) {\r
-\r
-        int jpg_quality = Util.getSystemPropertiesInt("persist.sys.capture_quality", 50);\r
-        String str = null;\r
-        try {\r
-            if (Environment.getExternalStorageState().equals("mounted")) {\r
-                if ((new StatFs(Environment.getExternalStorageDirectory().toString())).getAvailableBytes() < paramArrayOfByte.length)\r
-                    return null;\r
-                str = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath();\r
-                StringBuilder stringBuilder = new StringBuilder();\r
-                stringBuilder.append(str);\r
-                stringBuilder.append("/TakePhoto_");\r
-                stringBuilder.append(this.mNumber);\r
-                stringBuilder.append(".jpg");\r
-                str = stringBuilder.toString();\r
-                Bitmap bitmap1 = BitmapFactory.decodeByteArray(paramArrayOfByte, 0, paramArrayOfByte.length);\r
-                Bitmap bitmap2 = bitmap1;\r
-\r
-\r
-//        if ((this.context.getResources().getConfiguration()).orientation == 1) {\r
-                custom_camera_mirror = Util.getSystemPropertiesInt("persist.sys.camera_cap_mirror", 0);\r
-                Matrix matrix = new Matrix();\r
-                matrix.reset();\r
-                switch (custom_camera_orientation) {\r
-                    case 90:\r
-                    case 270:\r
-                        matrix.postRotate(custom_camera_orientation);\r
-                        if (custom_camera_mirror == -1)\r
-                            matrix.postScale(-1, 1);\r
-                        else if (custom_camera_mirror == -2)\r
-                            matrix.postScale(1, -1);\r
-\r
-                        bitmap2 = Bitmap.createBitmap(bitmap1, 0, 0, bitmap1.getWidth(), bitmap1.getHeight(), matrix, true);\r
-                        break;\r
-                    case 0:\r
-                    case 180:\r
-                        if (custom_camera_mirror < 0) {\r
-                            if (custom_camera_mirror == -1)\r
-                                matrix.postScale(-1, 1);\r
-                            else if (custom_camera_mirror == -2)\r
-                                matrix.postScale(1, -1);\r
-                            bitmap2 = Bitmap.createBitmap(bitmap1, 0, 0, bitmap1.getWidth(), bitmap1.getHeight(), matrix, true);\r
-                        }\r
-                    default:\r
-                        break;\r
-                }\r
-\r
-                Bitmap bitmap3 = bitmap2;\r
-                if (Config.needWaterMark()) {\r
-                    bitmap3 = ImageUtil.drawTextToLeftTop(this.context, bitmap2, TimeUtil.getSystemTimeForCameraMark(), 50, Color.RED, 25, 25);\r
-                }\r
-                File file = new File(str);\r
-                if (!file.exists())\r
-                    file.createNewFile();\r
-                BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file));\r
-                bitmap3.compress(Bitmap.CompressFormat.JPEG, jpg_quality, bufferedOutputStream);\r
-                bufferedOutputStream.flush();\r
-                bufferedOutputStream.close();\r
-\r
-                ICLogger.i("camera Take Photo and Save to " + str);\r
-            }\r
-            return str;\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-            return null;\r
-        }\r
-    }\r
-\r
-    private void takePicture(Context paramContext) {\r
-        if (this.mCamera != null) {\r
-            SurfaceView surfaceView = new SurfaceView(paramContext);\r
-            int width = 640;\r
-            int height = 480;\r
-            try {\r
-                this.mCamera.setPreviewDisplay(surfaceView.getHolder());\r
-                this.mPs = this.mCamera.getParameters();\r
-                String picsize = Util.getSystemProperties("persist.sys.camera_capsize", "640x480");\r
-\r
-                if (!picsize.trim().isEmpty()) {\r
-                    String sizes[] = picsize.toLowerCase().split("x");\r
-                    if (sizes.length == 2) {\r
-                        try {\r
-                            int tmpw = Integer.parseInt(sizes[0]);\r
-                            int tmph = Integer.parseInt(sizes[1]);\r
-                            width = tmpw;\r
-                            height = tmph;\r
-                        } catch (Exception e) {\r
-                        }\r
-                    }\r
-                }\r
-\r
-                ICLogger.i("CameraUtil---setCamera capture size " + width + "x" + height);\r
-                this.mPs.setPictureSize(width, height);\r
-                setCameraDisplayOrientation(paramContext, 0, this.mCamera);\r
-                this.mCamera.setParameters(this.mPs);\r
-                ICLogger.i("CameraUtil---startPreview");\r
-                this.surfaceTexture = new SurfaceTexture(10);\r
-                this.surfaceTexture.setOnFrameAvailableListener(this);\r
-                this.mCamera.setPreviewTexture(this.surfaceTexture);\r
-                this.mCamera.startPreview();\r
-                this.mCamera.enableShutterSound(false);\r
-                (new Thread(() -> {\r
-                    try {\r
-                        CameraUtil.this.mCamera.takePicture(CameraUtil.this.shutterCallback, null, CameraUtil.this.jpegCallback);\r
-                        Util.mSleep(5000);\r
-                        return;\r
-                    } catch (Exception exception) {\r
-                        exception.printStackTrace();\r
-                        CameraUtil.this.releaseCamera();\r
-                        return;\r
-                    }\r
-                })).start();\r
-                return;\r
-            } catch (Exception e) {\r
-                e.printStackTrace();\r
-                releaseCamera();\r
-            }\r
-        }\r
-    }\r
-\r
-    public int getDisplayRotation(Context paramContext) {\r
-        int i = ((WindowManager) paramContext.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getRotation();\r
-\r
-        StringBuilder stringBuilder = new StringBuilder();\r
-        stringBuilder.append("camera getDisplayRotation rotation=");\r
-        stringBuilder.append(i);\r
-        ICLogger.i(stringBuilder.toString());\r
-\r
-        switch (i) {\r
-            default:\r
-                return 0;\r
-            case 3:\r
-                return 270;\r
-            case 2:\r
-                return 180;\r
-            case 1:\r
-                return 90;\r
-            case 0:\r
-                break;\r
-        }\r
-        return 0;\r
-    }\r
-\r
-    public void getPicture(String paramString) {\r
-        this.mCamera = openFacingBackCamera();\r
-        takePicture(this.context);\r
-        this.mNumber = paramString;\r
-    }\r
-\r
-    public void onFrameAvailable(SurfaceTexture paramSurfaceTexture) {\r
-        ICLogger.i("camera onFrameAvailable");\r
-    }\r
-\r
-    public void setCameraDisplayOrientation(Context paramContext, int paramInt, Camera paramCamera) {\r
-        Camera.CameraInfo cameraInfo = new Camera.CameraInfo();\r
-        Camera.getCameraInfo(paramInt, cameraInfo);\r
-        paramInt = getDisplayRotation(paramContext);\r
-        custom_camera_orientation = Util.getSystemPropertiesInt("persist.sys.camera_orientation", 0);\r
-        ICLogger.i("camera getDisplayRotation1 " + paramInt + " cameraInfo.orientation " + cameraInfo.orientation + " custom_camera_orientation " + custom_camera_orientation);\r
-\r
-        if (cameraInfo.facing == 1) {\r
-            paramInt = (360 - (custom_camera_orientation + paramInt) % 360) % 360;\r
-        } else {\r
-            paramInt = (custom_camera_orientation - paramInt + 360) % 360;\r
-        }\r
-        /*\r
-    if (cameraInfo.facing == 1) {\r
-      paramInt = (360 - (cameraInfo.orientation + paramInt) % 360) % 360;\r
-    } else {\r
-      paramInt = (cameraInfo.orientation - paramInt + 360) % 360;\r
-    }*/\r
-\r
-        ICLogger.i("camera final display orientation " + paramInt);\r
-\r
-        paramCamera.setDisplayOrientation(paramInt);\r
-        this.mOrientation = paramInt;\r
-    }\r
-}\r
-\r
+package com.ic.protocolSrv.utils;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Color;
+import android.graphics.Matrix;
+import android.graphics.SurfaceTexture;
+import android.hardware.Camera;
+import android.media.ToneGenerator;
+import android.os.Environment;
+import android.os.StatFs;
+import android.view.SurfaceView;
+import android.view.WindowManager;
+
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+
+public class CameraUtil implements SurfaceTexture.OnFrameAvailableListener {
+    Context context;
+
+    private Camera.PictureCallback jpegCallback = (param1ArrayOfByte, param1Camera) -> {
+        StringBuilder stringBuilder = new StringBuilder();
+        stringBuilder.append("camera format=");
+        stringBuilder.append(CameraUtil.this.mPs.getPictureFormat());
+        ICLogger.i(stringBuilder.toString());
+        if (CameraUtil.this.mPs.getPictureFormat() == 256) {
+            String str = CameraUtil.this.savePicture(param1ArrayOfByte);
+            if (str != null) {
+                if (CoreService.getInstance() != null) {
+                    //str就是path.
+                    CoreService.DevliverStringMessage("PhotoRemoteTaken", str);
+                }
+            } else {
+                ICLogger.i("camera 空间不足,保存失败");
+            }
+        }
+        CameraUtil.this.releaseCamera();
+    };
+
+    private Camera mCamera;
+
+    String mNumber;
+
+    private int mOrientation;
+    private int custom_camera_orientation = 0;
+    private int custom_camera_mirror = 0;
+    private Camera.Parameters mPs;
+
+    private Camera.ShutterCallback shutterCallback = new Camera.ShutterCallback() {
+        public void onShutter() {
+            ICLogger.i("camera shutterCallback");
+        }
+    };
+
+    private SurfaceTexture surfaceTexture;
+
+    private ToneGenerator tone;
+
+    public CameraUtil(Context paramContext) {
+        this.context = paramContext;
+    }
+
+    private Camera openFacingBackCamera() {
+        Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
+        int i = Camera.getNumberOfCameras();
+        Camera camera = null;
+        byte b = 0;
+        while (b < i) {
+            Camera.getCameraInfo(b, cameraInfo);
+
+            if (cameraInfo.facing == 0) {
+                try {
+                    camera = Camera.open(b);
+                } catch (RuntimeException e) {
+                    e.printStackTrace();
+                }
+            }
+            b++;
+        }
+        return camera;
+    }
+
+    private void releaseCamera() {
+        if (this.mCamera != null)
+            try {
+                if (this.surfaceTexture != null)
+                    this.surfaceTexture.setOnFrameAvailableListener(null);
+                this.mCamera.setPreviewTexture(null);
+                this.mCamera.stopPreview();
+            } catch (Exception exception) {
+                exception.printStackTrace();
+            }
+        this.mCamera.release();
+    }
+
+    private String savePicture(byte[] paramArrayOfByte) {
+
+        int jpg_quality = Util.getSystemPropertiesInt("persist.sys.capture_quality", 50);
+        String str = null;
+        try {
+            if (Environment.getExternalStorageState().equals("mounted")) {
+                if ((new StatFs(Environment.getExternalStorageDirectory().toString())).getAvailableBytes() < paramArrayOfByte.length)
+                    return null;
+                str = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath();
+                StringBuilder stringBuilder = new StringBuilder();
+                stringBuilder.append(str);
+                stringBuilder.append("/TakePhoto_");
+                stringBuilder.append(this.mNumber);
+                stringBuilder.append(".jpg");
+                str = stringBuilder.toString();
+                Bitmap bitmap1 = BitmapFactory.decodeByteArray(paramArrayOfByte, 0, paramArrayOfByte.length);
+                Bitmap bitmap2 = bitmap1;
+
+
+//        if ((this.context.getResources().getConfiguration()).orientation == 1) {
+                custom_camera_mirror = Util.getSystemPropertiesInt("persist.sys.camera_cap_mirror", 0);
+                Matrix matrix = new Matrix();
+                matrix.reset();
+                switch (custom_camera_orientation) {
+                    case 90:
+                    case 270:
+                        matrix.postRotate(custom_camera_orientation);
+                        if (custom_camera_mirror == -1)
+                            matrix.postScale(-1, 1);
+                        else if (custom_camera_mirror == -2)
+                            matrix.postScale(1, -1);
+
+                        bitmap2 = Bitmap.createBitmap(bitmap1, 0, 0, bitmap1.getWidth(), bitmap1.getHeight(), matrix, true);
+                        break;
+                    case 0:
+                    case 180:
+                        if (custom_camera_mirror < 0) {
+                            if (custom_camera_mirror == -1)
+                                matrix.postScale(-1, 1);
+                            else if (custom_camera_mirror == -2)
+                                matrix.postScale(1, -1);
+                            bitmap2 = Bitmap.createBitmap(bitmap1, 0, 0, bitmap1.getWidth(), bitmap1.getHeight(), matrix, true);
+                        }
+                    default:
+                        break;
+                }
+
+                Bitmap bitmap3 = bitmap2;
+                if (Config.needWaterMark()) {
+                    bitmap3 = ImageUtil.drawTextToLeftTop(this.context, bitmap2, TimeUtil.getSystemTimeForCameraMark(), 50, Color.RED, 25, 25);
+                }
+                File file = new File(str);
+                if (!file.exists())
+                    file.createNewFile();
+                BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file));
+                bitmap3.compress(Bitmap.CompressFormat.JPEG, jpg_quality, bufferedOutputStream);
+                bufferedOutputStream.flush();
+                bufferedOutputStream.close();
+
+                ICLogger.i("camera Take Photo and Save to " + str);
+            }
+            return str;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    private void takePicture(Context paramContext) {
+        if (this.mCamera != null) {
+            SurfaceView surfaceView = new SurfaceView(paramContext);
+            int width = 640;
+            int height = 480;
+            try {
+                this.mCamera.setPreviewDisplay(surfaceView.getHolder());
+                this.mPs = this.mCamera.getParameters();
+                String picsize = Util.getSystemProperties("persist.sys.camera_capsize", "640x480");
+
+                if (!picsize.trim().isEmpty()) {
+                    String sizes[] = picsize.toLowerCase().split("x");
+                    if (sizes.length == 2) {
+                        try {
+                            int tmpw = Integer.parseInt(sizes[0]);
+                            int tmph = Integer.parseInt(sizes[1]);
+                            width = tmpw;
+                            height = tmph;
+                        } catch (Exception e) {
+                        }
+                    }
+                }
+
+                ICLogger.i("CameraUtil---setCamera capture size " + width + "x" + height);
+                this.mPs.setPictureSize(width, height);
+                setCameraDisplayOrientation(paramContext, 0, this.mCamera);
+                this.mCamera.setParameters(this.mPs);
+                ICLogger.i("CameraUtil---startPreview");
+                this.surfaceTexture = new SurfaceTexture(10);
+                this.surfaceTexture.setOnFrameAvailableListener(this);
+                this.mCamera.setPreviewTexture(this.surfaceTexture);
+                this.mCamera.startPreview();
+                this.mCamera.enableShutterSound(false);
+                (new Thread(() -> {
+                    try {
+                        CameraUtil.this.mCamera.takePicture(CameraUtil.this.shutterCallback, null, CameraUtil.this.jpegCallback);
+                        Util.mSleep(5000);
+                        return;
+                    } catch (Exception exception) {
+                        exception.printStackTrace();
+                        CameraUtil.this.releaseCamera();
+                        return;
+                    }
+                })).start();
+                return;
+            } catch (Exception e) {
+                e.printStackTrace();
+                releaseCamera();
+            }
+        }
+    }
+
+    public int getDisplayRotation(Context paramContext) {
+        int i = ((WindowManager) paramContext.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getRotation();
+
+        StringBuilder stringBuilder = new StringBuilder();
+        stringBuilder.append("camera getDisplayRotation rotation=");
+        stringBuilder.append(i);
+        ICLogger.i(stringBuilder.toString());
+
+        switch (i) {
+            default:
+                return 0;
+            case 3:
+                return 270;
+            case 2:
+                return 180;
+            case 1:
+                return 90;
+            case 0:
+                break;
+        }
+        return 0;
+    }
+
+    public void getPicture(String paramString) {
+        this.mCamera = openFacingBackCamera();
+        takePicture(this.context);
+        this.mNumber = paramString;
+    }
+
+    public void onFrameAvailable(SurfaceTexture paramSurfaceTexture) {
+        ICLogger.i("camera onFrameAvailable");
+    }
+
+    public void setCameraDisplayOrientation(Context paramContext, int paramInt, Camera paramCamera) {
+        Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
+        Camera.getCameraInfo(paramInt, cameraInfo);
+        paramInt = getDisplayRotation(paramContext);
+        custom_camera_orientation = Util.getSystemPropertiesInt("persist.sys.camera_orientation", 0);
+        ICLogger.i("camera getDisplayRotation1 " + paramInt + " cameraInfo.orientation " + cameraInfo.orientation + " custom_camera_orientation " + custom_camera_orientation);
+
+        if (cameraInfo.facing == 1) {
+            paramInt = (360 - (custom_camera_orientation + paramInt) % 360) % 360;
+        } else {
+            paramInt = (custom_camera_orientation - paramInt + 360) % 360;
+        }
+        /*
+    if (cameraInfo.facing == 1) {
+      paramInt = (360 - (cameraInfo.orientation + paramInt) % 360) % 360;
+    } else {
+      paramInt = (cameraInfo.orientation - paramInt + 360) % 360;
+    }*/
+
+        ICLogger.i("camera final display orientation " + paramInt);
+
+        paramCamera.setDisplayOrientation(paramInt);
+        this.mOrientation = paramInt;
+    }
+}
+
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.Context;
 import android.content.IClipboard;
@@ -26,10 +26,10 @@ import android.telephony.gsm.GsmCellLocation;
 //import com.android.internal.telephony.CallStateException;
 //import com.android.internal.telephony.Phone;
 //import com.android.internal.telephony.PhoneFactory;
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.GSensorListener;
-import com.enqualcomm.support.adapter.LBSHelper;
-import com.enqualcomm.support.bean.Runtime;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.GSensorListener;
+import com.ic.protocolSrv.adapter.LBSHelper;
+import com.ic.protocolSrv.bean.Runtime;
 //import com.sprd.internal.telephony.SprdCallManager;
 
 import java.lang.reflect.Method;
@@ -149,8 +149,10 @@ public class CellInfoUtil {
                 ICLogger.i("LBS operator == null");
                 return null;
             }
-
-            mccmnc = mccmnc.substring(0, 5);
+            ICLogger.i("LBS mccmnc == "+mccmnc);
+            if(mccmnc.length()>=6) {
+                mccmnc = mccmnc.substring(0, 5);
+            }
         } else {
             mccmnc = telephonyManager.getNetworkOperator();
         }
@@ -1,32 +1,32 @@
-package com.enqualcomm.support.utils;\r
-\r
-import com.enqualcomm.support.bean.StringMessage;\r
-\r
-public interface Connection {\r
-    void close();\r
-\r
-    void connect(String paramString, int paramInt);\r
-\r
-    void disconnect();\r
-\r
-    boolean disconnectServer();\r
-\r
-    int getTimeout();\r
-\r
-    void open();\r
-\r
-    void send(StringMessage paramStringMessage);\r
-\r
-    void send(String cmd, byte[] bytes);\r
-\r
-    boolean sendBlocking(StringMessage paramStringMessage);\r
-\r
-    void setTimeout(int paramInt);\r
-\r
-    void DeliverCMDMessageToSystem(String cmd, String msg);\r
-\r
-    boolean isServerConnected();\r
-\r
-    void onDestroy();\r
-}\r
-\r
+package com.ic.protocolSrv.utils;
+
+import com.ic.protocolSrv.bean.StringMessage;
+
+public interface Connection {
+    void close();
+
+    void connect(String paramString, int paramInt);
+
+    void disconnect();
+
+    boolean disconnectServer();
+
+    int getTimeout();
+
+    void open();
+
+    void send(StringMessage paramStringMessage);
+
+    void send(String cmd, byte[] bytes);
+
+    boolean sendBlocking(StringMessage paramStringMessage);
+
+    void setTimeout(int paramInt);
+
+    void DeliverCMDMessageToSystem(String cmd, String msg);
+
+    boolean isServerConnected();
+
+    void onDestroy();
+}
+
@@ -1,14 +1,14 @@
-package com.enqualcomm.support.utils;\r
-\r
-\r
-import com.enqualcomm.support.bean.StringMessage;\r
-\r
-public interface ConnectionListener {\r
-  void onConnectionClose(String errorName);\r
-  \r
-  void onConnectionOpen();\r
-  \r
-  void onReceive(StringMessage paramStringMessage);\r
-}\r
-\r
-\r
+package com.ic.protocolSrv.utils;
+
+
+import com.ic.protocolSrv.bean.StringMessage;
+
+public interface ConnectionListener {
+  void onConnectionClose(String errorName);
+  
+  void onConnectionOpen();
+  
+  void onReceive(StringMessage paramStringMessage);
+}
+
+
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.app.AlarmManager;
 import android.app.PendingIntent;
@@ -14,25 +14,25 @@ import android.os.Handler;
 import android.os.HandlerThread;
 import android.telephony.TelephonyManager;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.provider.ICContentProvider;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.Alarm;
-import com.enqualcomm.support.bean.NoticeContent;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.service.AudioService;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.provider.ICContentProvider;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.Alarm;
+import com.ic.protocolSrv.bean.NoticeContent;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.service.AudioService;
 
 import java.util.ArrayList;
 import java.util.Calendar;
 
 import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
-import static com.enqualcomm.support.Constants.ACTION_ISCONNECTED;
-import static com.enqualcomm.support.Constants.ACTION_KEEPSIT_ALARM;
-import static com.enqualcomm.support.Constants.ActionReceivePushTxt;
-import static com.enqualcomm.support.Constants.ActionSrvPushTxt;
-import static com.enqualcomm.support.Constants.DIALOG_ACTION;
-import static com.enqualcomm.support.Constants.DIALOG_ACTION_WITH_IC_RESPONSE;
+import static com.ic.protocolSrv.Constants.ACTION_ISCONNECTED;
+import static com.ic.protocolSrv.Constants.ACTION_KEEPSIT_ALARM;
+import static com.ic.protocolSrv.Constants.ActionReceivePushTxt;
+import static com.ic.protocolSrv.Constants.ActionSrvPushTxt;
+import static com.ic.protocolSrv.Constants.DIALOG_ACTION;
+import static com.ic.protocolSrv.Constants.DIALOG_ACTION_WITH_IC_RESPONSE;
 
 public class ContextProxy {
     private static final long ONE_WEEK = 604800000L;
@@ -80,7 +80,7 @@ public class ContextProxy {
         stringBuilder.append(name);
         stringBuilder.append(",");
         stringBuilder.append(paramInt);
-        Intent intent = new Intent("com.enqualcomm.icare.ALARM", Uri.parse(stringBuilder.toString()));
+        Intent intent = new Intent("com.ic.icare.ALARM", Uri.parse(stringBuilder.toString()));
         intent.putExtra("IS_REPEAT", isRepeat);
         return PendingIntent.getActivity(this.context, 0, intent, FLAG_UPDATE_CURRENT);
     }
@@ -102,7 +102,7 @@ public class ContextProxy {
         stringBuilder.append(noticeFrequency);
         stringBuilder.append(",");
         stringBuilder.append(noticeContent);
-        Intent intent = new Intent("com.enqualcomm.icare.NOTICE", Uri.parse(stringBuilder.toString()));
+        Intent intent = new Intent("com.ic.icare.NOTICE", Uri.parse(stringBuilder.toString()));
         intent.putExtra("IS_REPEAT", isRepeat);
         return PendingIntent.getActivity(this.context, 0, intent, FLAG_UPDATE_CURRENT);
     }
@@ -492,7 +492,7 @@ public class ContextProxy {
         Intent intent = new Intent();
         intent.setAction(paramString);
         intent.putExtra("stheartRateType", paramInt);
-        this.context.sendBroadcast(intent, "com.eqc.broadcast.permission");
+        this.context.sendBroadcast(intent, "com.ic.broadcast.permission");
     }
 
     public void sendBroadcastSitLongAlarm() {
-\r
-package com.enqualcomm.support.utils;\r
-\r
-import android.app.Dialog;\r
-import android.content.Context;\r
-import android.view.LayoutInflater;\r
-import android.view.View;\r
-import android.view.ViewGroup;\r
-import android.view.ViewGroup.LayoutParams;\r
-import android.view.Window;\r
-import android.widget.LinearLayout;\r
-import android.widget.TextView;\r
-\r
-import com.enqualcomm.support.Config;\r
-import com.enqualcomm.support.R;\r
-\r
-public class CustomDialog extends Dialog {\r
-    public CustomDialog(Context var1) {\r
-        super(var1);\r
-    }\r
-\r
-    public CustomDialog(Context var1, int var2) {\r
-        super(var1, var2);\r
-    }\r
-\r
-\r
-    public static class Builder {\r
-        private int app_id;\r
-        private View contentView;\r
-        private Context context;\r
-        private CustomDialog mDialog;\r
-        private String message;\r
-        private OnClickListener negativeButtonClickListener;\r
-        private String negativeButtonText;\r
-        private OnClickListener positiveButtonClickListener;\r
-        private String positiveButtonText;\r
-        private String title;\r
-\r
-        public Builder(Context var1) {\r
-            this.context = var1;\r
-        }\r
-\r
-        private void resizewindow() {\r
-            if (Config.custom_name.equals("YQ") || Config.custom_name.equals("YQ_EN")) {\r
-                if (mDialog != null) {\r
-                    Window window = mDialog.getWindow();\r
-                    ViewGroup.LayoutParams windowLayoutParams = window.getAttributes(); // 获取对话框当前的参数值\r
-                    windowLayoutParams.width = 200;//(int) (display.getWidth() * 0.7); // 宽度设置为屏幕的0.95\r
-                    windowLayoutParams.height = 200;//(int) (display.getHeight() * 0.6); // 高度设置为屏幕的0.6\r
-                }\r
-            }\r
-        }\r
-\r
-        private CustomDialog getDialogInstance() {\r
-\r
-            this.mDialog = new CustomDialog(this.context, R.style.Dialog);\r
-            LayoutInflater var1 = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);\r
-            View view;\r
-            if (this.app_id == 1) {\r
-                view = var1.inflate(R.layout.dialog_normal_layout, (ViewGroup) null);\r
-            } else {\r
-                view = var1.inflate(R.layout.dialog_misscall_layout, (ViewGroup) null);\r
-            }\r
-\r
-            this.mDialog.addContentView(view, new LayoutParams(-1, -2));\r
-            ((TextView) view.findViewById(R.id.title)).setText(this.title);\r
-            final CustomDialog dialog = this.mDialog;\r
-            if (this.positiveButtonText != null) {\r
-                if (this.app_id != 2) {\r
-                    if (this.positiveButtonClickListener != null) {\r
-                        view.findViewById(R.id.positiveButton).\r
-                                setOnClickListener(new android.view.View.OnClickListener() {\r
-                                    public void onClick(View var1) {\r
-                                        Builder.this.positiveButtonClickListener.onClick(dialog, -1);\r
-                                    }\r
-                                });\r
-                    }\r
-                } else if (this.positiveButtonClickListener != null) {\r
-                    view.findViewById(R.id.positiveButton).\r
-                            setOnClickListener(new android.view.View.OnClickListener() {\r
-                                public void onClick(View var1) {\r
-                                    Builder.this.positiveButtonClickListener.onClick(dialog, -1);\r
-                                }\r
-                            });\r
-                }\r
-            } else {\r
-                view.findViewById(R.id.positiveButton).setVisibility(View.GONE);\r
-            }\r
-\r
-            if (this.negativeButtonText != null) {\r
-                if (this.negativeButtonClickListener != null) {\r
-                    view.findViewById(R.id.negativeButton).setOnClickListener(new android.view.View.OnClickListener() {\r
-                        public void onClick(View var1) {\r
-                            Builder.this.negativeButtonClickListener.onClick(dialog, -2);\r
-                        }\r
-                    });\r
-                }\r
-            } else {\r
-                view.findViewById(R.id.negativeButton).setVisibility(View.GONE);\r
-            }\r
-\r
-            if (this.message != null) {\r
-                ((TextView) view.findViewById(R.id.message)).setText(this.message);\r
-            } else if (this.contentView != null) {\r
-                ((LinearLayout) (view.findViewById(R.id.content))).removeAllViews();\r
-                ((LinearLayout) (view.findViewById(R.id.content))).addView(this.contentView, new LayoutParams(-1, -1));\r
-            }\r
-\r
-            this.mDialog.setContentView(view);\r
-            mDialog.setCanceledOnTouchOutside(false);\r
-            resizewindow();\r
-            return this.mDialog;\r
-        }\r
-\r
-        public CustomDialog create() {\r
-            if (this.mDialog == null) {\r
-                synchronized (CustomDialog.class) {\r
-                }\r
-\r
-                Throwable custmExeception;\r
-                boolean ret;\r
-                label144:\r
-                {\r
-                    try {\r
-                        if (this.mDialog == null) {\r
-                            this.mDialog = this.getDialogInstance();\r
-                        }\r
-                    } catch (Throwable var13) {\r
-                        custmExeception = var13;\r
-                        ret = false;\r
-                        break label144;\r
-                    }\r
-\r
-                    label141:\r
-                    try {\r
-                        return this.mDialog;\r
-                    } catch (Throwable var12) {\r
-                        custmExeception = var12;\r
-                        ret = false;\r
-                        break label141;\r
-                    }\r
-                }\r
-\r
-                while (true) {\r
-                    Throwable var1 = custmExeception;\r
-\r
-                    try {\r
-                        throw var1;\r
-                    } catch (Throwable var11) {\r
-                        custmExeception = var11;\r
-                        ret = false;\r
-                        continue;\r
-                    }\r
-                }\r
-            } else {\r
-                return this.mDialog;\r
-            }\r
-        }\r
-\r
-        public CustomDialog.Builder setApp(int appid) {\r
-            this.app_id = appid;\r
-            return this;\r
-        }\r
-\r
-        public CustomDialog.Builder setContentView(View view) {\r
-            this.contentView = view;\r
-            return this;\r
-        }\r
-\r
-        public CustomDialog.Builder setMessage(int resId) {\r
-            this.message = (String) this.context.getText(resId);\r
-            return this;\r
-        }\r
-\r
-        public CustomDialog.Builder setMessage(String msg) {\r
-            this.message = msg;\r
-            return this;\r
-        }\r
-\r
-        public CustomDialog.Builder setNegativeButton(int resid, OnClickListener onclicklistener) {\r
-            this.negativeButtonText = (String) this.context.getText(resid);\r
-            this.negativeButtonClickListener = onclicklistener;\r
-            return this;\r
-        }\r
-\r
-        public CustomDialog.Builder setNegativeButton(String txt, OnClickListener onclicklistener) {\r
-            this.negativeButtonText = txt;\r
-            this.negativeButtonClickListener = onclicklistener;\r
-            return this;\r
-        }\r
-\r
-        public CustomDialog.Builder setPositiveButton(int resid, OnClickListener onclicklistener) {\r
-            this.positiveButtonText = (String) this.context.getText(resid);\r
-            this.positiveButtonClickListener = onclicklistener;\r
-            return this;\r
-        }\r
-\r
-        public CustomDialog.Builder setPositiveButton(String txt, OnClickListener onclicklistener) {\r
-            this.positiveButtonText = txt;\r
-            this.positiveButtonClickListener = onclicklistener;\r
-            return this;\r
-        }\r
-\r
-        public CustomDialog.Builder setTitle(int resid) {\r
-            this.title = (String) this.context.getText(resid);\r
-            return this;\r
-        }\r
-\r
-        public CustomDialog.Builder setTitle(String txt) {\r
-            this.title = txt;\r
-            return this;\r
-        }\r
-    }\r
-}\r
+
+package com.ic.protocolSrv.utils;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewGroup.LayoutParams;
+import android.view.Window;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.R;
+
+public class CustomDialog extends Dialog {
+    public CustomDialog(Context var1) {
+        super(var1);
+    }
+
+    public CustomDialog(Context var1, int var2) {
+        super(var1, var2);
+    }
+
+
+    public static class Builder {
+        private int app_id;
+        private View contentView;
+        private Context context;
+        private CustomDialog mDialog;
+        private String message;
+        private OnClickListener negativeButtonClickListener;
+        private String negativeButtonText;
+        private OnClickListener positiveButtonClickListener;
+        private String positiveButtonText;
+        private String title;
+
+        public Builder(Context var1) {
+            this.context = var1;
+        }
+
+        private void resizewindow() {
+            if (Config.custom_name.equals("YQ") || Config.custom_name.equals("YQ_EN")) {
+                if (mDialog != null) {
+                    Window window = mDialog.getWindow();
+                    ViewGroup.LayoutParams windowLayoutParams = window.getAttributes(); // 获取对话框当前的参数值
+                    windowLayoutParams.width = 200;//(int) (display.getWidth() * 0.7); // 宽度设置为屏幕的0.95
+                    windowLayoutParams.height = 200;//(int) (display.getHeight() * 0.6); // 高度设置为屏幕的0.6
+                }
+            }
+        }
+
+        private CustomDialog getDialogInstance() {
+
+            this.mDialog = new CustomDialog(this.context, R.style.Dialog);
+            LayoutInflater var1 = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+            View view;
+            if (this.app_id == 1) {
+                view = var1.inflate(R.layout.dialog_normal_layout, (ViewGroup) null);
+            } else {
+                view = var1.inflate(R.layout.dialog_misscall_layout, (ViewGroup) null);
+            }
+
+            this.mDialog.addContentView(view, new LayoutParams(-1, -2));
+            ((TextView) view.findViewById(R.id.title)).setText(this.title);
+            final CustomDialog dialog = this.mDialog;
+            if (this.positiveButtonText != null) {
+                if (this.app_id != 2) {
+                    if (this.positiveButtonClickListener != null) {
+                        view.findViewById(R.id.positiveButton).
+                                setOnClickListener(new android.view.View.OnClickListener() {
+                                    public void onClick(View var1) {
+                                        Builder.this.positiveButtonClickListener.onClick(dialog, -1);
+                                    }
+                                });
+                    }
+                } else if (this.positiveButtonClickListener != null) {
+                    view.findViewById(R.id.positiveButton).
+                            setOnClickListener(new android.view.View.OnClickListener() {
+                                public void onClick(View var1) {
+                                    Builder.this.positiveButtonClickListener.onClick(dialog, -1);
+                                }
+                            });
+                }
+            } else {
+                view.findViewById(R.id.positiveButton).setVisibility(View.GONE);
+            }
+
+            if (this.negativeButtonText != null) {
+                if (this.negativeButtonClickListener != null) {
+                    view.findViewById(R.id.negativeButton).setOnClickListener(new android.view.View.OnClickListener() {
+                        public void onClick(View var1) {
+                            Builder.this.negativeButtonClickListener.onClick(dialog, -2);
+                        }
+                    });
+                }
+            } else {
+                view.findViewById(R.id.negativeButton).setVisibility(View.GONE);
+            }
+
+            if (this.message != null) {
+                ((TextView) view.findViewById(R.id.message)).setText(this.message);
+            } else if (this.contentView != null) {
+                ((LinearLayout) (view.findViewById(R.id.content))).removeAllViews();
+                ((LinearLayout) (view.findViewById(R.id.content))).addView(this.contentView, new LayoutParams(-1, -1));
+            }
+
+            this.mDialog.setContentView(view);
+            mDialog.setCanceledOnTouchOutside(false);
+            resizewindow();
+            return this.mDialog;
+        }
+
+        public CustomDialog create() {
+            if (this.mDialog == null) {
+                synchronized (CustomDialog.class) {
+                }
+
+                Throwable custmExeception;
+                boolean ret;
+                label144:
+                {
+                    try {
+                        if (this.mDialog == null) {
+                            this.mDialog = this.getDialogInstance();
+                        }
+                    } catch (Throwable var13) {
+                        custmExeception = var13;
+                        ret = false;
+                        break label144;
+                    }
+
+                    label141:
+                    try {
+                        return this.mDialog;
+                    } catch (Throwable var12) {
+                        custmExeception = var12;
+                        ret = false;
+                        break label141;
+                    }
+                }
+
+                while (true) {
+                    Throwable var1 = custmExeception;
+
+                    try {
+                        throw var1;
+                    } catch (Throwable var11) {
+                        custmExeception = var11;
+                        ret = false;
+                        continue;
+                    }
+                }
+            } else {
+                return this.mDialog;
+            }
+        }
+
+        public CustomDialog.Builder setApp(int appid) {
+            this.app_id = appid;
+            return this;
+        }
+
+        public CustomDialog.Builder setContentView(View view) {
+            this.contentView = view;
+            return this;
+        }
+
+        public CustomDialog.Builder setMessage(int resId) {
+            this.message = (String) this.context.getText(resId);
+            return this;
+        }
+
+        public CustomDialog.Builder setMessage(String msg) {
+            this.message = msg;
+            return this;
+        }
+
+        public CustomDialog.Builder setNegativeButton(int resid, OnClickListener onclicklistener) {
+            this.negativeButtonText = (String) this.context.getText(resid);
+            this.negativeButtonClickListener = onclicklistener;
+            return this;
+        }
+
+        public CustomDialog.Builder setNegativeButton(String txt, OnClickListener onclicklistener) {
+            this.negativeButtonText = txt;
+            this.negativeButtonClickListener = onclicklistener;
+            return this;
+        }
+
+        public CustomDialog.Builder setPositiveButton(int resid, OnClickListener onclicklistener) {
+            this.positiveButtonText = (String) this.context.getText(resid);
+            this.positiveButtonClickListener = onclicklistener;
+            return this;
+        }
+
+        public CustomDialog.Builder setPositiveButton(String txt, OnClickListener onclicklistener) {
+            this.positiveButtonText = txt;
+            this.positiveButtonClickListener = onclicklistener;
+            return this;
+        }
+
+        public CustomDialog.Builder setTitle(int resid) {
+            this.title = (String) this.context.getText(resid);
+            return this;
+        }
+
+        public CustomDialog.Builder setTitle(String txt) {
+            this.title = txt;
+            return this;
+        }
+    }
+}
-\r
-package com.enqualcomm.support.utils;\r
-\r
-import android.app.Dialog;\r
-import android.content.Context;\r
-import android.content.DialogInterface.OnClickListener;\r
-import android.view.LayoutInflater;\r
-import android.view.MotionEvent;\r
-import android.view.View;\r
-import android.view.ViewGroup;\r
-import android.view.View.OnTouchListener;\r
-import android.view.ViewGroup.LayoutParams;\r
-import android.widget.ImageButton;\r
-import android.widget.ImageView;\r
-import android.widget.TextView;\r
-\r
-import com.enqualcomm.support.R;\r
-\r
-public class CustomNotification extends Dialog {\r
-  public CustomNotification(Context var1) {\r
-    super(var1);\r
-  }\r
-\r
-  public CustomNotification(Context var1, int var2) {\r
-    super(var1, var2);\r
-  }\r
-\r
-  public static class Builder {\r
-    private View contentView;\r
-    private String content_messgae;\r
-    private Context context;\r
-    private CustomNotification mDialog;\r
-    private String message;\r
-    private int msg_count;\r
-    private OnClickListener negativeButtonClickListener;\r
-    private String negativeButtonText;\r
-    private OnClickListener positiveButtonClickListener;\r
-    private String positiveButtonText;\r
-    private int time;\r
-    private String title;\r
-    private int titleImg;\r
-    private OnTouchListener viewOnTouchListener;\r
-\r
-    public Builder(Context var1) {\r
-      this.context = var1;\r
-    }\r
-\r
-    private CustomNotification getDialogInstance() {\r
-      this.mDialog = new CustomNotification(this.context, R.style.Dialog);\r
-      View var1 = ((LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.notification_wechat_layout, (ViewGroup)null);\r
-      this.mDialog.addContentView(var1, new LayoutParams(-1, -2));\r
-      ((ImageView)var1.findViewById(R.id.funcImg)).setImageResource(this.titleImg);\r
-      ((TextView)var1.findViewById(R.id.title)).setText(this.title);\r
-      StringBuilder var2;\r
-      String var3;\r
-      if (this.time <= 0) {\r
-        ((TextView)var1.findViewById(R.id.time)).setText(this.context.getText(R.string.notification_current));\r
-      } else {\r
-        var2 = new StringBuilder();\r
-        var2.append(String.valueOf(this.time));\r
-        var2.append(this.context.getText(R.string.notification_time_unit));\r
-        var3 = var2.toString();\r
-        ((TextView)var1.findViewById(R.id.time)).setText(var3);\r
-      }\r
-\r
-      final CustomNotification  dialog = this.mDialog;\r
-      ;\r
-      if (this.positiveButtonText != null) {\r
-        ((ImageButton)var1.findViewById(R.id.positiveButton)).setImageResource(R.drawable.btn_ok_selector);\r
-        if (this.positiveButtonClickListener != null) {\r
-          ((ImageButton)var1.findViewById(R.id.positiveButton)).setOnClickListener(new android.view.View.OnClickListener() {\r
-            public void onClick(View var1) {\r
-              Builder.this.positiveButtonClickListener.onClick(dialog, -1);\r
-            }\r
-          });\r
-        }\r
-      } else {\r
-        var1.findViewById(R.id.positiveButton).setVisibility(View.GONE);\r
-      }\r
-\r
-      if (this.negativeButtonText != null) {\r
-        ((ImageButton)var1.findViewById(R.id.negativeButton)).setImageResource(R.drawable.btn_cancel_selector);\r
-        if (this.negativeButtonClickListener != null) {\r
-          ((ImageButton)var1.findViewById(R.id.negativeButton)).setOnClickListener(new android.view.View.OnClickListener() {\r
-            public void onClick(View var1) {\r
-              Builder.this.negativeButtonClickListener.onClick(dialog, -2);\r
-            }\r
-          });\r
-        }\r
-      } else {\r
-        var1.findViewById(R.id.negativeButton).setVisibility(View.GONE);\r
-      }\r
-\r
-      if (this.message != null) {\r
-        if (this.msg_count > 0) {\r
-          var2 = new StringBuilder();\r
-          var2.append(this.message);\r
-          var2.append("(");\r
-          var2.append(String.valueOf(this.msg_count));\r
-          var2.append(")");\r
-          var3 = var2.toString();\r
-          ((TextView)var1.findViewById(R.id.message)).setText(var3);\r
-        } else {\r
-          ((TextView)var1.findViewById(R.id.message)).setText(this.message);\r
-        }\r
-      }\r
-\r
-      if (this.content_messgae != null) {\r
-        ((TextView)var1.findViewById(R.id.content)).setText(this.content_messgae);\r
-      }\r
-\r
-      if (this.viewOnTouchListener != null) {\r
-        var1.setOnTouchListener(new OnTouchListener() {\r
-          public boolean onTouch(View var1, MotionEvent var2) {\r
-            Builder.this.viewOnTouchListener.onTouch(var1, var2);\r
-            return true;\r
-          }\r
-        });\r
-      }\r
-\r
-      this.mDialog.setContentView(var1);\r
-      return this.mDialog;\r
-    }\r
-\r
-    public CustomNotification create() {\r
-      if (this.mDialog == null) {\r
-        synchronized(CustomNotification.class){}\r
-\r
-        Throwable var10000;\r
-        boolean var10001;\r
-        label144: {\r
-          try {\r
-            if (this.mDialog == null) {\r
-              this.mDialog = this.getDialogInstance();\r
-            }\r
-          } catch (Throwable var13) {\r
-            var10000 = var13;\r
-            var10001 = false;\r
-            break label144;\r
-          }\r
-\r
-          label141:\r
-          try {\r
-            return this.mDialog;\r
-          } catch (Throwable var12) {\r
-            var10000 = var12;\r
-            var10001 = false;\r
-            break label141;\r
-          }\r
-        }\r
-\r
-        while(true) {\r
-          Throwable var1 = var10000;\r
-\r
-          try {\r
-            throw var1;\r
-          } catch (Throwable var11) {\r
-            var10000 = var11;\r
-            var10001 = false;\r
-            continue;\r
-          }\r
-        }\r
-      } else {\r
-        return this.mDialog;\r
-      }\r
-    }\r
-\r
-    public CustomNotification.Builder setContentMessage(String var1) {\r
-      this.content_messgae = var1;\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setContentView(View var1) {\r
-      this.contentView = var1;\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setLayoutViewClick(OnTouchListener var1) {\r
-      this.viewOnTouchListener = var1;\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setMessage(int var1) {\r
-      this.message = (String)this.context.getText(var1);\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setMessage(String var1) {\r
-      this.message = var1;\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setMessage(String var1, int var2) {\r
-      this.message = var1;\r
-      this.msg_count = var2;\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setNegativeButton(int var1, OnClickListener var2) {\r
-      this.negativeButtonText = (String)this.context.getText(var1);\r
-      this.negativeButtonClickListener = var2;\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setNegativeButton(String var1, OnClickListener var2) {\r
-      this.negativeButtonText = var1;\r
-      this.negativeButtonClickListener = var2;\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setPositiveButton(int var1, OnClickListener var2) {\r
-      this.positiveButtonText = (String)this.context.getText(var1);\r
-      this.positiveButtonClickListener = var2;\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setPositiveButton(String var1, OnClickListener var2) {\r
-      this.positiveButtonText = var1;\r
-      this.positiveButtonClickListener = var2;\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setTitle(int stringID) {\r
-      this.title = (String)this.context.getText(stringID);\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setTitle(int ImgResID, int stringID, int _time) {\r
-      this.titleImg = ImgResID;\r
-      this.title = (String)this.context.getText(stringID);\r
-      this.time = _time;\r
-      return this;\r
-    }\r
-\r
-    public CustomNotification.Builder setTitle(String var1) {\r
-      this.title = var1;\r
-      return this;\r
-    }\r
-  }\r
-}\r
+
+package com.ic.protocolSrv.utils;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.content.DialogInterface.OnClickListener;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.View.OnTouchListener;
+import android.view.ViewGroup.LayoutParams;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.ic.protocolSrv.R;
+
+public class CustomNotification extends Dialog {
+  public CustomNotification(Context var1) {
+    super(var1);
+  }
+
+  public CustomNotification(Context var1, int var2) {
+    super(var1, var2);
+  }
+
+  public static class Builder {
+    private View contentView;
+    private String content_messgae;
+    private Context context;
+    private CustomNotification mDialog;
+    private String message;
+    private int msg_count;
+    private OnClickListener negativeButtonClickListener;
+    private String negativeButtonText;
+    private OnClickListener positiveButtonClickListener;
+    private String positiveButtonText;
+    private int time;
+    private String title;
+    private int titleImg;
+    private OnTouchListener viewOnTouchListener;
+
+    public Builder(Context var1) {
+      this.context = var1;
+    }
+
+    private CustomNotification getDialogInstance() {
+      this.mDialog = new CustomNotification(this.context, R.style.Dialog);
+      View var1 = ((LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.notification_wechat_layout, (ViewGroup)null);
+      this.mDialog.addContentView(var1, new LayoutParams(-1, -2));
+      ((ImageView)var1.findViewById(R.id.funcImg)).setImageResource(this.titleImg);
+      ((TextView)var1.findViewById(R.id.title)).setText(this.title);
+      StringBuilder var2;
+      String var3;
+      if (this.time <= 0) {
+        ((TextView)var1.findViewById(R.id.time)).setText(this.context.getText(R.string.notification_current));
+      } else {
+        var2 = new StringBuilder();
+        var2.append(String.valueOf(this.time));
+        var2.append(this.context.getText(R.string.notification_time_unit));
+        var3 = var2.toString();
+        ((TextView)var1.findViewById(R.id.time)).setText(var3);
+      }
+
+      final CustomNotification  dialog = this.mDialog;
+      ;
+      if (this.positiveButtonText != null) {
+        ((ImageButton)var1.findViewById(R.id.positiveButton)).setImageResource(R.drawable.btn_ok_selector);
+        if (this.positiveButtonClickListener != null) {
+          ((ImageButton)var1.findViewById(R.id.positiveButton)).setOnClickListener(new android.view.View.OnClickListener() {
+            public void onClick(View var1) {
+              Builder.this.positiveButtonClickListener.onClick(dialog, -1);
+            }
+          });
+        }
+      } else {
+        var1.findViewById(R.id.positiveButton).setVisibility(View.GONE);
+      }
+
+      if (this.negativeButtonText != null) {
+        ((ImageButton)var1.findViewById(R.id.negativeButton)).setImageResource(R.drawable.btn_cancel_selector);
+        if (this.negativeButtonClickListener != null) {
+          ((ImageButton)var1.findViewById(R.id.negativeButton)).setOnClickListener(new android.view.View.OnClickListener() {
+            public void onClick(View var1) {
+              Builder.this.negativeButtonClickListener.onClick(dialog, -2);
+            }
+          });
+        }
+      } else {
+        var1.findViewById(R.id.negativeButton).setVisibility(View.GONE);
+      }
+
+      if (this.message != null) {
+        if (this.msg_count > 0) {
+          var2 = new StringBuilder();
+          var2.append(this.message);
+          var2.append("(");
+          var2.append(String.valueOf(this.msg_count));
+          var2.append(")");
+          var3 = var2.toString();
+          ((TextView)var1.findViewById(R.id.message)).setText(var3);
+        } else {
+          ((TextView)var1.findViewById(R.id.message)).setText(this.message);
+        }
+      }
+
+      if (this.content_messgae != null) {
+        ((TextView)var1.findViewById(R.id.content)).setText(this.content_messgae);
+      }
+
+      if (this.viewOnTouchListener != null) {
+        var1.setOnTouchListener(new OnTouchListener() {
+          public boolean onTouch(View var1, MotionEvent var2) {
+            Builder.this.viewOnTouchListener.onTouch(var1, var2);
+            return true;
+          }
+        });
+      }
+
+      this.mDialog.setContentView(var1);
+      return this.mDialog;
+    }
+
+    public CustomNotification create() {
+      if (this.mDialog == null) {
+        synchronized(CustomNotification.class){}
+
+        Throwable var10000;
+        boolean var10001;
+        label144: {
+          try {
+            if (this.mDialog == null) {
+              this.mDialog = this.getDialogInstance();
+            }
+          } catch (Throwable var13) {
+            var10000 = var13;
+            var10001 = false;
+            break label144;
+          }
+
+          label141:
+          try {
+            return this.mDialog;
+          } catch (Throwable var12) {
+            var10000 = var12;
+            var10001 = false;
+            break label141;
+          }
+        }
+
+        while(true) {
+          Throwable var1 = var10000;
+
+          try {
+            throw var1;
+          } catch (Throwable var11) {
+            var10000 = var11;
+            var10001 = false;
+            continue;
+          }
+        }
+      } else {
+        return this.mDialog;
+      }
+    }
+
+    public CustomNotification.Builder setContentMessage(String var1) {
+      this.content_messgae = var1;
+      return this;
+    }
+
+    public CustomNotification.Builder setContentView(View var1) {
+      this.contentView = var1;
+      return this;
+    }
+
+    public CustomNotification.Builder setLayoutViewClick(OnTouchListener var1) {
+      this.viewOnTouchListener = var1;
+      return this;
+    }
+
+    public CustomNotification.Builder setMessage(int var1) {
+      this.message = (String)this.context.getText(var1);
+      return this;
+    }
+
+    public CustomNotification.Builder setMessage(String var1) {
+      this.message = var1;
+      return this;
+    }
+
+    public CustomNotification.Builder setMessage(String var1, int var2) {
+      this.message = var1;
+      this.msg_count = var2;
+      return this;
+    }
+
+    public CustomNotification.Builder setNegativeButton(int var1, OnClickListener var2) {
+      this.negativeButtonText = (String)this.context.getText(var1);
+      this.negativeButtonClickListener = var2;
+      return this;
+    }
+
+    public CustomNotification.Builder setNegativeButton(String var1, OnClickListener var2) {
+      this.negativeButtonText = var1;
+      this.negativeButtonClickListener = var2;
+      return this;
+    }
+
+    public CustomNotification.Builder setPositiveButton(int var1, OnClickListener var2) {
+      this.positiveButtonText = (String)this.context.getText(var1);
+      this.positiveButtonClickListener = var2;
+      return this;
+    }
+
+    public CustomNotification.Builder setPositiveButton(String var1, OnClickListener var2) {
+      this.positiveButtonText = var1;
+      this.positiveButtonClickListener = var2;
+      return this;
+    }
+
+    public CustomNotification.Builder setTitle(int stringID) {
+      this.title = (String)this.context.getText(stringID);
+      return this;
+    }
+
+    public CustomNotification.Builder setTitle(int ImgResID, int stringID, int _time) {
+      this.titleImg = ImgResID;
+      this.title = (String)this.context.getText(stringID);
+      this.time = _time;
+      return this;
+    }
+
+    public CustomNotification.Builder setTitle(String var1) {
+      this.title = var1;
+      return this;
+    }
+  }
+}
@@ -1,5 +1,5 @@
 
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.ContentResolver;
 import android.content.ContentUris;
@@ -15,36 +15,36 @@ import android.provider.ContactsContract;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.RawContacts;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.bean.Alarm;
-import com.enqualcomm.support.bean.Antioff;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.Content;
-import com.enqualcomm.support.bean.DeviceStatus;
-import com.enqualcomm.support.bean.NoticeContent;
-import com.enqualcomm.support.bean.NotificationParam;
-import com.enqualcomm.support.bean.Silent;
-import com.enqualcomm.support.bean.SleepInfo;
-import com.enqualcomm.support.bean.SleepRecord;
-import com.enqualcomm.support.bean.StheartRate;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.bean.Weather;
-import com.enqualcomm.support.provider.ICAlarmProvider;
-import com.enqualcomm.support.provider.ICContentProvider;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.bean.Alarm;
+import com.ic.protocolSrv.bean.Antioff;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Content;
+import com.ic.protocolSrv.bean.DeviceStatus;
+import com.ic.protocolSrv.bean.NoticeContent;
+import com.ic.protocolSrv.bean.NotificationParam;
+import com.ic.protocolSrv.bean.Silent;
+import com.ic.protocolSrv.bean.SleepInfo;
+import com.ic.protocolSrv.bean.SleepRecord;
+import com.ic.protocolSrv.bean.StheartRate;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.bean.Weather;
+import com.ic.protocolSrv.provider.ICAlarmProvider;
+import com.ic.protocolSrv.provider.ICContentProvider;
 import com.ic.protocols.protocolAPIHelper;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
-import static com.enqualcomm.support.Constants.ACTION_ALARM_ALARM_CHANGE;
-import static com.enqualcomm.support.Constants.ACTION_ANTIOFF_ALARM_CHANGE;
-import static com.enqualcomm.support.bean.Contact.CATEGORY_ADMIN;
-import static com.enqualcomm.support.bean.Contact.CATEGORY_CALL;
-import static com.enqualcomm.support.bean.Contact.CATEGORY_CARE;
-import static com.enqualcomm.support.bean.Contact.CATEGORY_PARTNER;
-import static com.enqualcomm.support.bean.Contact.CATEGORY_SOS;
-import static com.enqualcomm.support.bean.Contact.CATEGORY_VIDEO;
+import static com.ic.protocolSrv.Constants.ACTION_ALARM_ALARM_CHANGE;
+import static com.ic.protocolSrv.Constants.ACTION_ANTIOFF_ALARM_CHANGE;
+import static com.ic.protocolSrv.bean.Contact.CATEGORY_ADMIN;
+import static com.ic.protocolSrv.bean.Contact.CATEGORY_CALL;
+import static com.ic.protocolSrv.bean.Contact.CATEGORY_CARE;
+import static com.ic.protocolSrv.bean.Contact.CATEGORY_PARTNER;
+import static com.ic.protocolSrv.bean.Contact.CATEGORY_SOS;
+import static com.ic.protocolSrv.bean.Contact.CATEGORY_VIDEO;
 
 public class DBHelper {
     private static long lastUpdateTime;
@@ -800,7 +800,7 @@ public class DBHelper {
             }
         }
 
-        this.context.sendBroadcast(new Intent("com.enqualcomm.support.ACTION_NOTICE_ALARM_CHANGE"));
+        this.context.sendBroadcast(new Intent("com.ic.protocolSrv.ACTION_NOTICE_ALARM_CHANGE"));
     }
 
     public void saveSilent(ArrayList<Silent> sList) {
@@ -867,7 +867,7 @@ public class DBHelper {
             this.cr.bulkInsert(ICContentProvider.STHEART_RATE_URL, var7);
         }
 
-        this.context.sendBroadcast(new Intent("com.enqualcomm.support.STHEART_RATE_ALARM_CHANGE"));
+        this.context.sendBroadcast(new Intent("com.ic.protocolSrv.STHEART_RATE_ALARM_CHANGE"));
     }
 
     public void saveUrlDownloadPic(String var1) {
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.app.ActivityManager;
 import android.content.Context;
@@ -14,11 +14,11 @@ import android.provider.Settings;
 import android.telephony.PhoneNumberUtils;
 import android.telephony.TelephonyManager;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.bean.StepCount;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.service.KeepAlive;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.bean.StepCount;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.service.KeepAlive;
 import com.ic.jni.ICJniUtils;
 
 import java.io.FileInputStream;
@@ -155,7 +155,7 @@ public class DeviceInfoUtil {
     public static boolean getLockSimInfo(Context paramContext) {
         int i = 0;
         try {
-            if (Settings.System.getInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked") != 0) {
+            if (Settings.System.getInt(paramContext.getContentResolver(), "com.ic.watch.launcher.SimIsBlocked") != 0) {
                 i = 1;
             }
             StringBuilder stringBuilder = new StringBuilder();
@@ -190,7 +190,7 @@ public class DeviceInfoUtil {
     }
 
     public static int getStepCount(Context paramContext) {
-        Uri uri = Uri.parse("content://com.eqc.db.watchProvider/step/queryLast");
+        Uri uri = Uri.parse("content://com.ic.db.watchProvider/step/queryLast");
         ArrayList arrayList = new ArrayList();
         Cursor cursor = paramContext.getContentResolver().query(uri, new String[]{"number", "date"}, null, null, null);
         if (cursor != null && cursor.getCount() > 0) {
@@ -315,11 +315,11 @@ public class DeviceInfoUtil {
     }
 
     public static void setLockSimInfo(Context paramContext) {
-        Settings.System.putInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked", 1);
+        Settings.System.putInt(paramContext.getContentResolver(), "com.ic.watch.launcher.SimIsBlocked", 1);
     }
 
     private static String[][] packagelist = {
-            {"com.enqualcomm.support", "Protocol"},
+            {"com.ic.protocolSrv", "Protocol"},
             {"com.ic.blood", "BLood"},
             {"com.ic.launcher", "Launcher"},
             {"com.ic.com.ic.work", "Work"},
-package com.enqualcomm.support.utils;\r
-\r
-\r
-import android.content.Context;\r
-import android.os.Handler;\r
-import android.os.Message;\r
-\r
-import com.enqualcomm.support.Config;\r
-import com.enqualcomm.support.bean.DNSTaskModel;\r
-import com.sina.util.dnscache.DNSCache;\r
-import com.sina.util.dnscache.DomainInfo;\r
-import com.sina.util.dnscache.Tools;\r
-import com.sina.util.dnscache.net.ApacheHttpClientNetworkRequests;\r
-import com.sina.util.dnscache.net.INetworkRequests;\r
-import com.sina.util.dnscache.net.networktype.NetworkManager;\r
-\r
-import java.util.HashMap;\r
-import java.util.concurrent.Callable;\r
-import java.util.concurrent.ExecutorService;\r
-import java.util.concurrent.Executors;\r
-\r
-import static com.sina.util.dnscache.AppConfigUtil.getApplicationContext;\r
-\r
-public class DnsUtil  {\r
-\r
-    public long ID_NUMBER = 0 ;\r
-\r
-\r
-    public final ExecutorService fixedThreadPool;\r
-\r
-    public DnsUtil(int size, Context context){\r
-\r
-        DNSCache.Init(context);\r
-        DNSCache.getInstance().preLoadDomains(new String[]{Config.getProtocolServerHost(context)});\r
-\r
-        fixedThreadPool = Executors.newFixedThreadPool(size);\r
-    }\r
-\r
-    public void runTask(final DNSTaskModel model, final Callable<DNSTaskModel> call){\r
-\r
-        fixedThreadPool.execute( new Runnable() {\r
-            @Override\r
-            public void run() {\r
-\r
-                try {\r
-\r
-                    Thread.currentThread().setName("Task Pool");\r
-\r
-                    ICLogger.log("TAG", "任务开始");\r
-\r
-                    model.taskStartTime = System.currentTimeMillis();\r
-                    model.taskID = ++ID_NUMBER;\r
-\r
-\r
-                    model.domainUrl = model.url ;\r
-                    model.domainIp = java.net.InetAddress.getByName(Tools.getHostName(model.domainUrl)).getHostAddress();\r
-                    INetworkRequests domainNetRequests = new ApacheHttpClientNetworkRequests() ;\r
-                    HashMap<String, String> lmapKey = null ;\r
-                    lmapKey = new HashMap<String, String>();\r
-                    lmapKey.put("Connection", "keep-alive");\r
-\r
-//                    long startDomainRequests = System.currentTimeMillis();\r
-//                    model.domainInputStreamResult = domainNetRequests.requestsByteArr(model.domainUrl,lmapKey) ;\r
-//                    model.domainResult = byteToString(model.domainInputStreamResult) ;\r
-//                    model.domainExpendTime = System.currentTimeMillis() - startDomainRequests ;\r
-//                    model.domainCode = model.domainResult == null ? 500 : 200 ;\r
-\r
-                    try {\r
-                        long startHttpDns = System.currentTimeMillis();\r
-                        DomainInfo[] infoList = DNSCache.getInstance().getDomainServerIp(model.url) ;\r
-//                        model.httpDnsExpendTime = System.currentTimeMillis() - startHttpDns ;\r
-                        if( infoList == null || infoList.length == 0 ){\r
-                            model.httpDnsResult = "null" ;\r
-                        }else{\r
-                            model.domainInfo = infoList;\r
-//                            for( DomainInfo info : infoList ) model.httpDnsResult += Tools.getHostName(info.url) + "、" ;\r
-//\r
-//                            HashMap<String, String> hmapKey = null ;\r
-//                            hmapKey = new HashMap<String, String>();\r
-//                            hmapKey.put("host", infoList[0].host);\r
-\r
-\r
-                            model.hostUrl = infoList[0].url ;\r
-                            model.hostIp = Tools.getHostName(infoList[0].url) ;\r
-//                            INetworkRequests hostNetRequests = new ApacheHttpClientNetworkRequests() ;\r
-//                            long startHostRequests = System.currentTimeMillis();\r
-//\r
-//                            model.hostInputStreamResult = hostNetRequests.requestsByteArr(infoList[0].url, hmapKey) ;\r
-//                            model.hostResult = byteToString(model.hostInputStreamResult) ;\r
-//\r
-//                            model.hostExpendTime = System.currentTimeMillis() - startHostRequests ;\r
-//                            model.hostCode = model.hostResult == null ? 0 : 200 ;\r
-\r
-                        }\r
-                    } catch (Exception e) {\r
-                        e.printStackTrace();\r
-                    }\r
-\r
-\r
-                    try {\r
-\r
-                        // 反馈任务\r
-//                        model.domainInfo[0].code = String.valueOf(model.domainCode) ;\r
-//                        model.domainInfo[0].data = model.domainResult ;\r
-//                        model.domainInfo[0].startTime = String.valueOf(startDomainRequests) ;\r
-////                                           DNSCache.getInstance().setDomainServerIpInfo( model.domainInfo[0] );\r
-//\r
-//                        model.netType = NetworkManager.getInstance().NETWORK_TYPE_STR ;\r
-//                        model.spName = NetworkManager.getInstance().SP_TYPE_STR ;\r
-//\r
-//                        model.status = 1 ;\r
-//                        model.taskStopTime = System.currentTimeMillis();\r
-//                        model.taskExpendTime = model.taskStopTime - model.taskStartTime ;\r
-\r
-                        ICLogger.log("TAG", "任务结束");\r
-                        call.call();\r
-\r
-                    } catch (Exception e) {\r
-                        // TODO: handle exception\r
-                        e.printStackTrace();\r
-                    }\r
-\r
-\r
-                } catch (Exception e) {\r
-                    ICLogger.log("TAG", "任务失败");\r
-                    e.printStackTrace();\r
-                }\r
-\r
-//                             try {\r
-//                                     Thread.sleep( (int) (Math.random() * 1000) );\r
-//                             } catch (InterruptedException e) {\r
-//                                     e.printStackTrace();\r
-//                             }\r
-            }\r
-        } );\r
-    }\r
-\r
-\r
-    private String byteToString(byte[] data){\r
-        return new String(data) ;\r
-    }\r
-\r
-    public void reset(){\r
-        ID_NUMBER = 0;\r
-    }\r
-\r
-    public boolean isShutdown() {\r
-        return fixedThreadPool.isShutdown();\r
-    }\r
-\r
-    public void shutdownNow() {\r
-        fixedThreadPool.shutdownNow();\r
-    }\r
-\r
-    public void shutdown() {\r
-        fixedThreadPool.shutdown();\r
-    }\r
-\r
-\r
-\r
-\r
-    // ///////////////////////////////////////////////////////////////\r
-\r
-    int finishTag = 0;\r
-\r
-    public String getServerIP_ByDNSCache(String host) {\r
-\r
-\r
-        DNSTaskModel temp=new DNSTaskModel();\r
-        if (host.toLowerCase().startsWith("http://")) {\r
-            temp.url = host;\r
-        }else{\r
-            temp.url = "http://"+host;\r
-        }\r
-        temp.hostIp=null;\r
-        temp.domainIp=null;\r
-\r
-        Callable<DNSTaskModel> call = new Callable<DNSTaskModel>() {\r
-            @Override\r
-            public DNSTaskModel call() throws Exception {\r
-                ICLogger.i("get "+temp.url+" "+temp.domainIp+" , DnsCacheIP "+temp.hostIp);\r
-\r
-                return temp;\r
-            }\r
-        };\r
-        runTask(temp, call);\r
-        String ip;\r
-        Util.mSleep(500);\r
-        ICLogger.i(temp.toString());\r
-        if (temp.domainIp!=null){\r
-            if (temp.hostIp!=null){\r
-                ip=temp.hostIp.toString();\r
-            }else{\r
-                ip=temp.domainIp.toString();\r
-            }\r
-        }else{\r
-            if(temp.hostIp!=null){\r
-                ip=temp.hostIp.toString();\r
-            }else {\r
-                ip=null;\r
-            }\r
-        }\r
-        return ip;\r
-    }\r
-\r
-}\r
+package com.ic.protocolSrv.utils;
+
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.Message;
+
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.bean.DNSTaskModel;
+import com.sina.util.dnscache.DNSCache;
+import com.sina.util.dnscache.DomainInfo;
+import com.sina.util.dnscache.Tools;
+import com.sina.util.dnscache.net.ApacheHttpClientNetworkRequests;
+import com.sina.util.dnscache.net.INetworkRequests;
+import com.sina.util.dnscache.net.networktype.NetworkManager;
+
+import java.util.HashMap;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import static com.sina.util.dnscache.AppConfigUtil.getApplicationContext;
+
+public class DnsUtil  {
+
+    public long ID_NUMBER = 0 ;
+
+
+    public final ExecutorService fixedThreadPool;
+
+    public DnsUtil(int size, Context context){
+
+        DNSCache.Init(context);
+        DNSCache.getInstance().preLoadDomains(new String[]{Config.getProtocolServerHost(context)});
+
+        fixedThreadPool = Executors.newFixedThreadPool(size);
+    }
+
+    public void runTask(final DNSTaskModel model, final Callable<DNSTaskModel> call){
+
+        fixedThreadPool.execute( new Runnable() {
+            @Override
+            public void run() {
+
+                try {
+
+                    Thread.currentThread().setName("Task Pool");
+
+                    ICLogger.log("TAG", "任务开始");
+
+                    model.taskStartTime = System.currentTimeMillis();
+                    model.taskID = ++ID_NUMBER;
+
+
+                    model.domainUrl = model.url ;
+                    model.domainIp = java.net.InetAddress.getByName(Tools.getHostName(model.domainUrl)).getHostAddress();
+                    INetworkRequests domainNetRequests = new ApacheHttpClientNetworkRequests() ;
+                    HashMap<String, String> lmapKey = null ;
+                    lmapKey = new HashMap<String, String>();
+                    lmapKey.put("Connection", "keep-alive");
+
+//                    long startDomainRequests = System.currentTimeMillis();
+//                    model.domainInputStreamResult = domainNetRequests.requestsByteArr(model.domainUrl,lmapKey) ;
+//                    model.domainResult = byteToString(model.domainInputStreamResult) ;
+//                    model.domainExpendTime = System.currentTimeMillis() - startDomainRequests ;
+//                    model.domainCode = model.domainResult == null ? 500 : 200 ;
+
+                    try {
+                        long startHttpDns = System.currentTimeMillis();
+                        DomainInfo[] infoList = DNSCache.getInstance().getDomainServerIp(model.url) ;
+//                        model.httpDnsExpendTime = System.currentTimeMillis() - startHttpDns ;
+                        if( infoList == null || infoList.length == 0 ){
+                            model.httpDnsResult = "null" ;
+                        }else{
+                            model.domainInfo = infoList;
+//                            for( DomainInfo info : infoList ) model.httpDnsResult += Tools.getHostName(info.url) + "、" ;
+//
+//                            HashMap<String, String> hmapKey = null ;
+//                            hmapKey = new HashMap<String, String>();
+//                            hmapKey.put("host", infoList[0].host);
+
+
+                            model.hostUrl = infoList[0].url ;
+                            model.hostIp = Tools.getHostName(infoList[0].url) ;
+//                            INetworkRequests hostNetRequests = new ApacheHttpClientNetworkRequests() ;
+//                            long startHostRequests = System.currentTimeMillis();
+//
+//                            model.hostInputStreamResult = hostNetRequests.requestsByteArr(infoList[0].url, hmapKey) ;
+//                            model.hostResult = byteToString(model.hostInputStreamResult) ;
+//
+//                            model.hostExpendTime = System.currentTimeMillis() - startHostRequests ;
+//                            model.hostCode = model.hostResult == null ? 0 : 200 ;
+
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+
+
+                    try {
+
+                        // 反馈任务
+//                        model.domainInfo[0].code = String.valueOf(model.domainCode) ;
+//                        model.domainInfo[0].data = model.domainResult ;
+//                        model.domainInfo[0].startTime = String.valueOf(startDomainRequests) ;
+////                                           DNSCache.getInstance().setDomainServerIpInfo( model.domainInfo[0] );
+//
+//                        model.netType = NetworkManager.getInstance().NETWORK_TYPE_STR ;
+//                        model.spName = NetworkManager.getInstance().SP_TYPE_STR ;
+//
+//                        model.status = 1 ;
+//                        model.taskStopTime = System.currentTimeMillis();
+//                        model.taskExpendTime = model.taskStopTime - model.taskStartTime ;
+
+                        ICLogger.log("TAG", "任务结束");
+                        call.call();
+
+                    } catch (Exception e) {
+                        // TODO: handle exception
+                        e.printStackTrace();
+                    }
+
+
+                } catch (Exception e) {
+                    ICLogger.log("TAG", "任务失败");
+                    e.printStackTrace();
+                }
+
+//                             try {
+//                                     Thread.sleep( (int) (Math.random() * 1000) );
+//                             } catch (InterruptedException e) {
+//                                     e.printStackTrace();
+//                             }
+            }
+        } );
+    }
+
+
+    private String byteToString(byte[] data){
+        return new String(data) ;
+    }
+
+    public void reset(){
+        ID_NUMBER = 0;
+    }
+
+    public boolean isShutdown() {
+        return fixedThreadPool.isShutdown();
+    }
+
+    public void shutdownNow() {
+        fixedThreadPool.shutdownNow();
+    }
+
+    public void shutdown() {
+        fixedThreadPool.shutdown();
+    }
+
+
+
+
+    // ///////////////////////////////////////////////////////////////
+
+    int finishTag = 0;
+
+    public String getServerIP_ByDNSCache(String host) {
+
+
+        DNSTaskModel temp=new DNSTaskModel();
+        if (host.toLowerCase().startsWith("http://")) {
+            temp.url = host;
+        }else{
+            temp.url = "http://"+host;
+        }
+        temp.hostIp=null;
+        temp.domainIp=null;
+
+        Callable<DNSTaskModel> call = new Callable<DNSTaskModel>() {
+            @Override
+            public DNSTaskModel call() throws Exception {
+                ICLogger.i("get "+temp.url+" "+temp.domainIp+" , DnsCacheIP "+temp.hostIp);
+
+                return temp;
+            }
+        };
+        runTask(temp, call);
+        String ip;
+        Util.mSleep(500);
+        ICLogger.i(temp.toString());
+        if (temp.domainIp!=null){
+            if (temp.hostIp!=null){
+                ip=temp.hostIp.toString();
+            }else{
+                ip=temp.domainIp.toString();
+            }
+        }else{
+            if(temp.hostIp!=null){
+                ip=temp.hostIp.toString();
+            }else {
+                ip=null;
+            }
+        }
+        return ip;
+    }
+
+}
-package com.enqualcomm.support.utils;\r
-\r
-import java.io.File;\r
-import java.util.concurrent.locks.ReentrantLock;\r
-\r
-import okio.BufferedSink;\r
-import okio.BufferedSource;\r
-import okio.Okio;\r
-\r
-public class FileCache {\r
-  private File file;\r
-  \r
-  private File indexFile;\r
-  \r
-  private ReentrantLock lock = new ReentrantLock();\r
-  \r
-  private long skipByteCount;\r
-  \r
-  public FileCache(File paramFile) {\r
-    this.file = new File(paramFile, "location");\r
-    this.indexFile = new File(paramFile, "index");\r
-    if (this.indexFile.exists())\r
-      try {\r
-        BufferedSource bufferedSource = Okio.buffer(Okio.source(this.indexFile));\r
-        this.skipByteCount = bufferedSource.readLong();\r
-        bufferedSource.close();\r
-        return;\r
-      } catch (Exception e) {\r
-        e.printStackTrace();\r
-      }  \r
-  }\r
-  \r
-  public FileCache(File dir, String filename) {\r
-    this.file = new File(dir, filename);\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append(filename);\r
-    stringBuilder.append("Index");\r
-    this.indexFile = new File(dir, stringBuilder.toString());\r
-    if (this.indexFile.exists())\r
-      try {\r
-        BufferedSource bufferedSource = Okio.buffer(Okio.source(this.indexFile));\r
-        this.skipByteCount = bufferedSource.readLong();\r
-        bufferedSource.close();\r
-        return;\r
-      } catch (Exception e) {\r
-        e.printStackTrace();\r
-      }  \r
-  }\r
-  \r
-  public void clear() {\r
-    this.lock.lock();\r
-    try {\r
-      this.file.delete();\r
-      this.indexFile.delete();\r
-      this.skipByteCount = 0L;\r
-    } catch (Exception exception) {\r
-      exception.printStackTrace();\r
-    } finally {\r
-      String str;\r
-    } \r
-    this.lock.unlock();\r
-  }\r
-  \r
-  public String load() {\r
-    if (this.file.exists()) {\r
-      this.lock.lock();\r
-      try {\r
-        BufferedSource bufferedSource = Okio.buffer(Okio.source(this.file));\r
-        bufferedSource.skip(this.skipByteCount);\r
-        String str = bufferedSource.readUtf8Line();\r
-        bufferedSource.close();\r
-        if (str != null) {\r
-          this.skipByteCount = this.skipByteCount + str.getBytes().length + 1L;\r
-          Okio.buffer(Okio.sink(this.indexFile)).writeLong(this.skipByteCount).close();\r
-        } \r
-        this.lock.unlock();\r
-        return str;\r
-      } catch (Exception exception) {\r
-        exception.printStackTrace();\r
-        this.lock.unlock();\r
-      } finally {\r
-        String str;\r
-      } \r
-    } \r
-    return null;\r
-  }\r
-  \r
-  public void put(String paramString) {\r
-    this.lock.lock();\r
-    try {\r
-      BufferedSink bufferedSink = Okio.buffer(Okio.appendingSink(this.file));\r
-      StringBuilder stringBuilder = new StringBuilder();\r
-      stringBuilder.append(paramString);\r
-      stringBuilder.append("\n");\r
-      bufferedSink.writeUtf8(stringBuilder.toString()).close();\r
-    } catch (Exception e) {\r
-      e.printStackTrace();\r
-    } finally {}\r
-    this.lock.unlock();\r
-  }\r
-}\r
-\r
+package com.ic.protocolSrv.utils;
+
+import java.io.File;
+import java.util.concurrent.locks.ReentrantLock;
+
+import okio.BufferedSink;
+import okio.BufferedSource;
+import okio.Okio;
+
+public class FileCache {
+  private File file;
+  
+  private File indexFile;
+  
+  private ReentrantLock lock = new ReentrantLock();
+  
+  private long skipByteCount;
+  
+  public FileCache(File paramFile) {
+    this.file = new File(paramFile, "location");
+    this.indexFile = new File(paramFile, "index");
+    if (this.indexFile.exists())
+      try {
+        BufferedSource bufferedSource = Okio.buffer(Okio.source(this.indexFile));
+        this.skipByteCount = bufferedSource.readLong();
+        bufferedSource.close();
+        return;
+      } catch (Exception e) {
+        e.printStackTrace();
+      }  
+  }
+  
+  public FileCache(File dir, String filename) {
+    this.file = new File(dir, filename);
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append(filename);
+    stringBuilder.append("Index");
+    this.indexFile = new File(dir, stringBuilder.toString());
+    if (this.indexFile.exists())
+      try {
+        BufferedSource bufferedSource = Okio.buffer(Okio.source(this.indexFile));
+        this.skipByteCount = bufferedSource.readLong();
+        bufferedSource.close();
+        return;
+      } catch (Exception e) {
+        e.printStackTrace();
+      }  
+  }
+  
+  public void clear() {
+    this.lock.lock();
+    try {
+      this.file.delete();
+      this.indexFile.delete();
+      this.skipByteCount = 0L;
+    } catch (Exception exception) {
+      exception.printStackTrace();
+    } finally {
+      String str;
+    } 
+    this.lock.unlock();
+  }
+  
+  public String load() {
+    if (this.file.exists()) {
+      this.lock.lock();
+      try {
+        BufferedSource bufferedSource = Okio.buffer(Okio.source(this.file));
+        bufferedSource.skip(this.skipByteCount);
+        String str = bufferedSource.readUtf8Line();
+        bufferedSource.close();
+        if (str != null) {
+          this.skipByteCount = this.skipByteCount + str.getBytes().length + 1L;
+          Okio.buffer(Okio.sink(this.indexFile)).writeLong(this.skipByteCount).close();
+        } 
+        this.lock.unlock();
+        return str;
+      } catch (Exception exception) {
+        exception.printStackTrace();
+        this.lock.unlock();
+      } finally {
+        String str;
+      } 
+    } 
+    return null;
+  }
+  
+  public void put(String paramString) {
+    this.lock.lock();
+    try {
+      BufferedSink bufferedSink = Okio.buffer(Okio.appendingSink(this.file));
+      StringBuilder stringBuilder = new StringBuilder();
+      stringBuilder.append(paramString);
+      stringBuilder.append("\n");
+      bufferedSink.writeUtf8(stringBuilder.toString()).close();
+    } catch (Exception e) {
+      e.printStackTrace();
+    } finally {}
+    this.lock.unlock();
+  }
+}
+
-package com.enqualcomm.support.utils;\r
-\r
-import android.content.Context;\r
-\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.FileOutputStream;\r
-import java.io.InputStream;\r
-import java.io.PrintStream;\r
-\r
-public class FileOutputUtil {\r
-\r
-\r
-  /**\r
-   * 复制单个文件\r
-   * @param oldPath String 原文件路径 如:c:/fqf.txt\r
-   * @param newPath String 复制后路径 如:f:/fqf.txt\r
-   * @return boolean\r
-   */\r
-  public static void copyFile(String oldPath, String newPath) {\r
-    try {\r
-      int bytesum = 0;\r
-      int byteread = 0;\r
-      File oldfile = new File(oldPath);\r
-      if (oldfile.exists()) { //文件存在时\r
-        InputStream inStream = new FileInputStream(oldPath); //读入原文件\r
-        FileOutputStream fs = new FileOutputStream(newPath);\r
-        byte[] buffer = new byte[1444];\r
-        int length;\r
-        while ( (byteread = inStream.read(buffer)) != -1) {\r
-          bytesum += byteread; //字节数 文件大小\r
-          System.out.println(bytesum);\r
-          fs.write(buffer, 0, byteread);\r
-        }\r
-        inStream.close();\r
-      }\r
-    }\r
-    catch (Exception e) {\r
-      System.out.println("复制单个文件操作出错");\r
-      e.printStackTrace();\r
-\r
-    }\r
-\r
-  }\r
-\r
-  /**\r
-   * 复制整个文件夹内容\r
-   * @param oldPath String 原文件路径 如:c:/fqf\r
-   * @param newPath String 复制后路径 如:f:/fqf/ff\r
-   * @return boolean\r
-   */\r
-  public static void copyFolder(String oldPath, String newPath) {\r
-\r
-    try {\r
-      File dstdir=new File(newPath);\r
-      if (!dstdir.exists()) {\r
-        dstdir.mkdirs();//如果文件夹不存在 则建立新文件夹\r
-      }\r
-      File a=new File(oldPath);\r
-      String[] file=a.list();\r
-      File temp=null;\r
-      for (int i = 0; i < file.length; i++) {\r
-        if(oldPath.endsWith(File.separator)){\r
-          temp=new File(oldPath+file[i]);\r
-        }\r
-        else{\r
-          temp=new File(oldPath+File.separator+file[i]);\r
-        }\r
-\r
-        if(temp.isFile()){\r
-          FileInputStream input = new FileInputStream(temp);\r
-          FileOutputStream output = new FileOutputStream(newPath + "/" +\r
-                  (temp.getName()).toString());\r
-          byte[] b = new byte[1024 * 5];\r
-          int len;\r
-          while ( (len = input.read(b)) != -1) {\r
-            output.write(b, 0, len);\r
-          }\r
-          output.flush();\r
-          output.close();\r
-          input.close();\r
-        }\r
-        if(temp.isDirectory()){//如果是子文件夹\r
-          copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);\r
-        }\r
-      }\r
-    }\r
-    catch (Exception e) {\r
-      System.out.println("复制整个文件夹内容操作出错");\r
-      e.printStackTrace();\r
-\r
-    }\r
-\r
-  }\r
-  \r
-  public static void deleteDir(Context paramContext) {\r
-    deleteDirWihtFile(new File(String.valueOf(paramContext.getExternalCacheDir())));\r
-  }\r
-  \r
-  private static void deleteDirWihtFile(File paramFile) {\r
-    if (paramFile != null)\r
-      try {\r
-        if (paramFile.exists()) {\r
-          if (!paramFile.isDirectory())\r
-            return; \r
-          for (File file : paramFile.listFiles()) {\r
-            if (file.isFile()) {\r
-              file.delete();\r
-            } else if (file.isDirectory()) {\r
-              deleteDirWihtFile(file);\r
-            } \r
-          } \r
-          return;\r
-        } \r
-      } catch (Exception e) {\r
-        e.printStackTrace();\r
-        return;\r
-      }  \r
-  }\r
-  public static void fileOutputRaw(File dir, String filename, String msg) {\r
-//    String str = TimeUtil.getSystemTime();\r
-\r
-    ICLogger.logRAWtoFile(filename,msg);\r
-\r
-//    if (msg!=null && msg.trim().length()>0) {\r
-//      StringBuilder stringBuilder = new StringBuilder();\r
-//      stringBuilder.append(filename);\r
-//      stringBuilder.append(".txt");\r
-//      File file = new File(dir, stringBuilder.toString());\r
-//      try {\r
-//        PrintStream printStream = new PrintStream(new FileOutputStream(file, true));\r
-//        StringBuilder stringBuilder1 = new StringBuilder();\r
-//        stringBuilder1.append(msg);\r
-//        printStream.println(stringBuilder1.toString());\r
-//        printStream.close();\r
-//\r
-//      } catch (FileNotFoundException e) {\r
-//        e.printStackTrace();\r
-//\r
-//      }\r
-//    }\r
-  }\r
-  public static void fileOutput(File dir, String filename, String msg) {\r
-    ICLogger.logToFile(filename,msg);\r
-  }\r
-}\r
-\r
+package com.ic.protocolSrv.utils;
+
+import android.content.Context;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.PrintStream;
+
+public class FileOutputUtil {
+
+
+  /**
+   * 复制单个文件
+   * @param oldPath String 原文件路径 如:c:/fqf.txt
+   * @param newPath String 复制后路径 如:f:/fqf.txt
+   * @return boolean
+   */
+  public static void copyFile(String oldPath, String newPath) {
+    try {
+      int bytesum = 0;
+      int byteread = 0;
+      File oldfile = new File(oldPath);
+      if (oldfile.exists()) { //文件存在时
+        InputStream inStream = new FileInputStream(oldPath); //读入原文件
+        FileOutputStream fs = new FileOutputStream(newPath);
+        byte[] buffer = new byte[1444];
+        int length;
+        while ( (byteread = inStream.read(buffer)) != -1) {
+          bytesum += byteread; //字节数 文件大小
+          System.out.println(bytesum);
+          fs.write(buffer, 0, byteread);
+        }
+        inStream.close();
+      }
+    }
+    catch (Exception e) {
+      System.out.println("复制单个文件操作出错");
+      e.printStackTrace();
+
+    }
+
+  }
+
+  /**
+   * 复制整个文件夹内容
+   * @param oldPath String 原文件路径 如:c:/fqf
+   * @param newPath String 复制后路径 如:f:/fqf/ff
+   * @return boolean
+   */
+  public static void copyFolder(String oldPath, String newPath) {
+
+    try {
+      File dstdir=new File(newPath);
+      if (!dstdir.exists()) {
+        dstdir.mkdirs();//如果文件夹不存在 则建立新文件夹
+      }
+      File a=new File(oldPath);
+      String[] file=a.list();
+      File temp=null;
+      for (int i = 0; i < file.length; i++) {
+        if(oldPath.endsWith(File.separator)){
+          temp=new File(oldPath+file[i]);
+        }
+        else{
+          temp=new File(oldPath+File.separator+file[i]);
+        }
+
+        if(temp.isFile()){
+          FileInputStream input = new FileInputStream(temp);
+          FileOutputStream output = new FileOutputStream(newPath + "/" +
+                  (temp.getName()).toString());
+          byte[] b = new byte[1024 * 5];
+          int len;
+          while ( (len = input.read(b)) != -1) {
+            output.write(b, 0, len);
+          }
+          output.flush();
+          output.close();
+          input.close();
+        }
+        if(temp.isDirectory()){//如果是子文件夹
+          copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
+        }
+      }
+    }
+    catch (Exception e) {
+      System.out.println("复制整个文件夹内容操作出错");
+      e.printStackTrace();
+
+    }
+
+  }
+  
+  public static void deleteDir(Context paramContext) {
+    deleteDirWihtFile(new File(String.valueOf(paramContext.getExternalCacheDir())));
+  }
+  
+  private static void deleteDirWihtFile(File paramFile) {
+    if (paramFile != null)
+      try {
+        if (paramFile.exists()) {
+          if (!paramFile.isDirectory())
+            return; 
+          for (File file : paramFile.listFiles()) {
+            if (file.isFile()) {
+              file.delete();
+            } else if (file.isDirectory()) {
+              deleteDirWihtFile(file);
+            } 
+          } 
+          return;
+        } 
+      } catch (Exception e) {
+        e.printStackTrace();
+        return;
+      }  
+  }
+  public static void fileOutputRaw(File dir, String filename, String msg) {
+//    String str = TimeUtil.getSystemTime();
+
+    ICLogger.logRAWtoFile(filename,msg);
+
+//    if (msg!=null && msg.trim().length()>0) {
+//      StringBuilder stringBuilder = new StringBuilder();
+//      stringBuilder.append(filename);
+//      stringBuilder.append(".txt");
+//      File file = new File(dir, stringBuilder.toString());
+//      try {
+//        PrintStream printStream = new PrintStream(new FileOutputStream(file, true));
+//        StringBuilder stringBuilder1 = new StringBuilder();
+//        stringBuilder1.append(msg);
+//        printStream.println(stringBuilder1.toString());
+//        printStream.close();
+//
+//      } catch (FileNotFoundException e) {
+//        e.printStackTrace();
+//
+//      }
+//    }
+  }
+  public static void fileOutput(File dir, String filename, String msg) {
+    ICLogger.logToFile(filename,msg);
+  }
+}
+
@@ -1,47 +1,47 @@
-package com.enqualcomm.support.utils;\r
-\r
-import android.content.Context;\r
-import android.database.Cursor;\r
-import com.enqualcomm.support.provider.ICContentProvider;\r
-import com.enqualcomm.support.bean.Contact;\r
-import rx.Observable;\r
-import rx.Subscriber;\r
-\r
-public class GetContact implements Observable.OnSubscribe<Contact> {\r
-    String contactNumber;\r
-\r
-    Context context;\r
-\r
-    public GetContact(String paramString, Context paramContext) {\r
-        this.contactNumber = paramString;\r
-        this.context = paramContext;\r
-    }\r
-\r
-    public void call(Subscriber<? super Contact> paramSubscriber) {\r
-        Cursor cursor = this.context.getContentResolver().query(ICContentProvider.CONTACT_URI, null, "NUMBER=? AND CATEGORY NOT IN (?,?)", new String[] { this.contactNumber, "5", "6" }, null);\r
-        Contact contact1 = null;\r
-        Contact contact2 = null;\r
-        if (cursor != null) {\r
-            for (contact1 = contact2; cursor.moveToNext();\r
-                 contact1 = new Contact(cursor.getInt(1), cursor.getString(2),\r
-                         cursor.getString(3), cursor.getString(4),\r
-                         cursor.getString(5)));\r
-            cursor.close();\r
-        }\r
-        contact2 = contact1;\r
-        if (contact1 == null) {\r
-            if (this.contactNumber.contains("@"))\r
-                this.contactNumber = this.contactNumber.substring(2);\r
-            Cursor cursor1 = this.context.getContentResolver().query(ICContentProvider.CONTACT_URI, null, "EXTRA=?", new String[] { this.contactNumber }, null);\r
-            contact2 = contact1;\r
-            if (cursor1 != null) {\r
-                while (cursor1.moveToNext())\r
-                    contact1 = new Contact(cursor1.getInt(1), cursor1.getString(2), cursor1.getString(3), cursor1.getString(4), cursor1.getString(5));\r
-                cursor.close();\r
-                contact2 = contact1;\r
-            }\r
-        }\r
-        paramSubscriber.onNext(contact2);\r
-    }\r
-}\r
-\r
+package com.ic.protocolSrv.utils;
+
+import android.content.Context;
+import android.database.Cursor;
+import com.ic.protocolSrv.provider.ICContentProvider;
+import com.ic.protocolSrv.bean.Contact;
+import rx.Observable;
+import rx.Subscriber;
+
+public class GetContact implements Observable.OnSubscribe<Contact> {
+    String contactNumber;
+
+    Context context;
+
+    public GetContact(String paramString, Context paramContext) {
+        this.contactNumber = paramString;
+        this.context = paramContext;
+    }
+
+    public void call(Subscriber<? super Contact> paramSubscriber) {
+        Cursor cursor = this.context.getContentResolver().query(ICContentProvider.CONTACT_URI, null, "NUMBER=? AND CATEGORY NOT IN (?,?)", new String[] { this.contactNumber, "5", "6" }, null);
+        Contact contact1 = null;
+        Contact contact2 = null;
+        if (cursor != null) {
+            for (contact1 = contact2; cursor.moveToNext();
+                 contact1 = new Contact(cursor.getInt(1), cursor.getString(2),
+                         cursor.getString(3), cursor.getString(4),
+                         cursor.getString(5)));
+            cursor.close();
+        }
+        contact2 = contact1;
+        if (contact1 == null) {
+            if (this.contactNumber.contains("@"))
+                this.contactNumber = this.contactNumber.substring(2);
+            Cursor cursor1 = this.context.getContentResolver().query(ICContentProvider.CONTACT_URI, null, "EXTRA=?", new String[] { this.contactNumber }, null);
+            contact2 = contact1;
+            if (cursor1 != null) {
+                while (cursor1.moveToNext())
+                    contact1 = new Contact(cursor1.getInt(1), cursor1.getString(2), cursor1.getString(3), cursor1.getString(4), cursor1.getString(5));
+                cursor.close();
+                contact2 = contact1;
+            }
+        }
+        paramSubscriber.onNext(contact2);
+    }
+}
+
@@ -1,9 +1,9 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 
 
-import com.enqualcomm.support.ICApplication;
-import com.enqualcomm.support.bean.DNSTaskModel;
+import com.ic.protocolSrv.ICApplication;
+import com.ic.protocolSrv.bean.DNSTaskModel;
 
 import org.json.JSONException;
 import org.json.JSONStringer;
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 public class IBeaconUtil {
     static public  class iBeacon{
         public String name;
@@ -1,10 +1,10 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.os.Environment;
 import android.os.Handler;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.bean.Runtime;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.bean.Runtime;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.Context;
 
@@ -96,7 +96,7 @@ public class ICLogger {
             logConfigurator.setLevel("log", Level.ALL);
 //        logConfigurator.setFilePattern("%d %-5p [%c{2}]-[%L] %m%n");// 设置文件输出模式
             logConfigurator.setFilePattern("%d %m%n ");// 设置文件输出模式
-//        02-29 16:28:38.195 4629-4658/com.enqualcomm.support E/com.enqualcomm.support.utils.ICLogger:
+//        02-29 16:28:38.195 4629-4658/com.ic.protocolSrv E/com.ic.protocolSrv.utils.ICLogger:
             logConfigurator.setMaxBackupSize(2); // 设置最大备份数量
             logConfigurator.setMaxFileSize(1024 * 1024 * 20);// 设置最大文件大小  20MB
             logConfigurator.setImmediateFlush(true);// 设置是否立即刷新
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.app.backup.BackupManager;
 import android.content.Context;
@@ -6,7 +6,7 @@ import android.os.Build;
 import android.support.annotation.RequiresApi;
 import android.util.Log;
 
-import com.enqualcomm.support.R;
+import com.ic.protocolSrv.R;
 
 import java.util.Locale;
 
-package com.enqualcomm.support.utils;\r
-\r
-import com.enqualcomm.support.bean.voicePacket;\r
-\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.FileOutputStream;\r
-import java.io.IOException;\r
-\r
-public class LedUtil {\r
-    private final static String RED_LED_PATH="/sys/class/leds/redled/brightness";\r
-    private final static String BLUE_LED_PATH="/sys/class/leds/blueled/brightness";\r
-\r
-    private static File BlueLedFile=new File(BLUE_LED_PATH);\r
-    private static FileInputStream fisLedBlue =null;\r
-    private static FileOutputStream fosLedBlue=null;\r
-\r
-    private static File RedLedFile=new File(RED_LED_PATH);\r
-    private static FileInputStream fisLedRed =null;\r
-    private static FileOutputStream fosLedRed=null;\r
-\r
-\r
-    /*\r
-    1:长按按键开机。开机震动+铃声。\r
-2:联系按按键6次,关机。播放关机铃声\r
-3:开机后,长按3秒是SOS报警,循环拨打事先设置好的3个SOS号码。\r
-4:电量低时红灯闪烁 (2~3秒一次),充电时,红灯常亮。充满以后蓝灯常亮。\r
-5:SIM卡异常,没有连上后台等异常时,蓝灯闪烁。\r
-6:来电时,按键一次接听,连续2次按按键是拒接。\r
-7:待机时,按一次按键,语音播报当前时间。并且蓝灯闪烁一次。\r
-     */\r
-    enum LedChargeStatus{\r
-        LED_CHARGE_ON_NOT_FULL,\r
-        LED_CHARGE_ON_FULL,\r
-        LED_CHARGE_OFF,\r
-    }\r
-\r
-    enum LedSimServerStatus{\r
-        LED_SERVER_CONNECTED,\r
-        LED_SERVER_DISCONNECTED,\r
-    }\r
-\r
-    enum LedPlayTimeStatus{\r
-\r
-    }\r
-    public static int ChargeLEDStatus=0;\r
-\r
-\r
-\r
-    public static boolean isRedLedExist(){\r
-\r
-        return RedLedFile.exists();\r
-    }\r
-    public static boolean isBlueLedExist(){\r
-        return BlueLedFile.exists();\r
-    }\r
-    public static boolean isRedLedOn(){\r
-\r
-        int ledon;\r
-        if (isRedLedExist()) {\r
-            try {\r
-                fisLedRed=new FileInputStream(RedLedFile);\r
-                ledon= fisLedBlue.read();\r
-                fisLedRed.close();\r
-                if (ledon == '0'){\r
-                    return false;\r
-                }else{\r
-                    return true;\r
-                }\r
-            } catch (FileNotFoundException e) {\r
-                e.printStackTrace();\r
-                ICLogger.e(e.getMessage(),e);\r
-                return false;\r
-            } catch (IOException e) {\r
-                e.printStackTrace();\r
-                ICLogger.e(e.getMessage(),e);\r
-                return false;\r
-            }\r
-\r
-        }else{\r
-\r
-            return false;\r
-        }\r
-    }\r
-    public static boolean isBlueLedOn(){\r
-\r
-        int ledon;\r
-        if (isBlueLedExist()) {\r
-            try {\r
-                fisLedBlue=new FileInputStream(BlueLedFile);\r
-                ledon= fisLedBlue.read();\r
-                fisLedBlue.close();\r
-                if (ledon == '0'){\r
-                    return false;\r
-                }else{\r
-                    return true;\r
-                }\r
-            } catch (FileNotFoundException e) {\r
-                e.printStackTrace();\r
-                ICLogger.e(e.getMessage(),e);\r
-                return false;\r
-            } catch (IOException e) {\r
-                e.printStackTrace();\r
-                ICLogger.e(e.getMessage(),e);\r
-                return false;\r
-            }\r
-\r
-        }else{\r
-\r
-            return false;\r
-        }\r
-    }\r
-    public static void setRedLedOn(boolean ledon){\r
-        if (isRedLedExist()) {\r
-            try {\r
-                fosLedRed=new FileOutputStream(RedLedFile);\r
-                if (ledon)\r
-                    fosLedRed.write('1');\r
-                else\r
-                    fosLedRed.write('0');\r
-                fosLedRed.close();\r
-            } catch (FileNotFoundException e) {\r
-                e.printStackTrace();\r
-                ICLogger.e(e.getMessage(),e);\r
-            } catch (IOException e) {\r
-                e.printStackTrace();\r
-                ICLogger.e(e.getMessage(),e);\r
-            }\r
-        }\r
-    }\r
-\r
-    public static void setBlueLedOn(boolean ledon){\r
-        if (isRedLedExist()) {\r
-            try {\r
-                fosLedBlue=new FileOutputStream(BlueLedFile);\r
-                if (ledon)\r
-                    fosLedBlue.write('1');\r
-                else\r
-                    fosLedBlue.write('0');\r
-                fosLedBlue.close();\r
-            } catch (FileNotFoundException e) {\r
-                e.printStackTrace();\r
-                ICLogger.e(e.getMessage(),e);\r
-            } catch (IOException e) {\r
-                e.printStackTrace();\r
-                ICLogger.e(e.getMessage(),e);\r
-            }\r
-        }\r
-    }\r
-}\r
+package com.ic.protocolSrv.utils;
+
+import com.ic.protocolSrv.bean.voicePacket;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+public class LedUtil {
+    private final static String RED_LED_PATH="/sys/class/leds/redled/brightness";
+    private final static String BLUE_LED_PATH="/sys/class/leds/blueled/brightness";
+
+    private static File BlueLedFile=new File(BLUE_LED_PATH);
+    private static FileInputStream fisLedBlue =null;
+    private static FileOutputStream fosLedBlue=null;
+
+    private static File RedLedFile=new File(RED_LED_PATH);
+    private static FileInputStream fisLedRed =null;
+    private static FileOutputStream fosLedRed=null;
+
+
+    /*
+    1:长按按键开机。开机震动+铃声。
+2:联系按按键6次,关机。播放关机铃声
+3:开机后,长按3秒是SOS报警,循环拨打事先设置好的3个SOS号码。
+4:电量低时红灯闪烁 (2~3秒一次),充电时,红灯常亮。充满以后蓝灯常亮。
+5:SIM卡异常,没有连上后台等异常时,蓝灯闪烁。
+6:来电时,按键一次接听,连续2次按按键是拒接。
+7:待机时,按一次按键,语音播报当前时间。并且蓝灯闪烁一次。
+     */
+    enum LedChargeStatus{
+        LED_CHARGE_ON_NOT_FULL,
+        LED_CHARGE_ON_FULL,
+        LED_CHARGE_OFF,
+    }
+
+    enum LedSimServerStatus{
+        LED_SERVER_CONNECTED,
+        LED_SERVER_DISCONNECTED,
+    }
+
+    enum LedPlayTimeStatus{
+
+    }
+    public static int ChargeLEDStatus=0;
+
+
+
+    public static boolean isRedLedExist(){
+
+        return RedLedFile.exists();
+    }
+    public static boolean isBlueLedExist(){
+        return BlueLedFile.exists();
+    }
+    public static boolean isRedLedOn(){
+
+        int ledon;
+        if (isRedLedExist()) {
+            try {
+                fisLedRed=new FileInputStream(RedLedFile);
+                ledon= fisLedBlue.read();
+                fisLedRed.close();
+                if (ledon == '0'){
+                    return false;
+                }else{
+                    return true;
+                }
+            } catch (FileNotFoundException e) {
+                e.printStackTrace();
+                ICLogger.e(e.getMessage(),e);
+                return false;
+            } catch (IOException e) {
+                e.printStackTrace();
+                ICLogger.e(e.getMessage(),e);
+                return false;
+            }
+
+        }else{
+
+            return false;
+        }
+    }
+    public static boolean isBlueLedOn(){
+
+        int ledon;
+        if (isBlueLedExist()) {
+            try {
+                fisLedBlue=new FileInputStream(BlueLedFile);
+                ledon= fisLedBlue.read();
+                fisLedBlue.close();
+                if (ledon == '0'){
+                    return false;
+                }else{
+                    return true;
+                }
+            } catch (FileNotFoundException e) {
+                e.printStackTrace();
+                ICLogger.e(e.getMessage(),e);
+                return false;
+            } catch (IOException e) {
+                e.printStackTrace();
+                ICLogger.e(e.getMessage(),e);
+                return false;
+            }
+
+        }else{
+
+            return false;
+        }
+    }
+    public static void setRedLedOn(boolean ledon){
+        if (isRedLedExist()) {
+            try {
+                fosLedRed=new FileOutputStream(RedLedFile);
+                if (ledon)
+                    fosLedRed.write('1');
+                else
+                    fosLedRed.write('0');
+                fosLedRed.close();
+            } catch (FileNotFoundException e) {
+                e.printStackTrace();
+                ICLogger.e(e.getMessage(),e);
+            } catch (IOException e) {
+                e.printStackTrace();
+                ICLogger.e(e.getMessage(),e);
+            }
+        }
+    }
+
+    public static void setBlueLedOn(boolean ledon){
+        if (isRedLedExist()) {
+            try {
+                fosLedBlue=new FileOutputStream(BlueLedFile);
+                if (ledon)
+                    fosLedBlue.write('1');
+                else
+                    fosLedBlue.write('0');
+                fosLedBlue.close();
+            } catch (FileNotFoundException e) {
+                e.printStackTrace();
+                ICLogger.e(e.getMessage(),e);
+            } catch (IOException e) {
+                e.printStackTrace();
+                ICLogger.e(e.getMessage(),e);
+            }
+        }
+    }
+}
@@ -1,61 +1,61 @@
-package com.enqualcomm.support.utils;\r
-\r
-import android.support.annotation.NonNull;\r
-import android.support.v7.widget.RecyclerView;\r
-import android.view.LayoutInflater;\r
-import android.view.View;\r
-import android.view.ViewGroup;\r
-\r
-import com.enqualcomm.support.R;\r
-import com.enqualcomm.support.SnrHistogramView;\r
-\r
-import java.util.ArrayList;\r
-\r
-public class LocationSnrAdapter extends RecyclerView.Adapter<LocationSnrAdapter.SnrHolder> {\r
-\r
-\r
-    private ArrayList<SnrEntriy> mSnrList = new ArrayList<>();\r
-\r
-    public LocationSnrAdapter(ArrayList<SnrEntriy> mSnrList) {\r
-        this.mSnrList = mSnrList;\r
-    }\r
-\r
-    public void updateLocationValue(ArrayList<SnrEntriy> snrEntriys){\r
-        mSnrList.clear();\r
-        mSnrList.addAll(snrEntriys);\r
-        notifyDataSetChanged();\r
-    }\r
-\r
-    @NonNull\r
-    @Override\r
-    public SnrHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {\r
-        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_snr_layout, parent, false);\r
-        return new SnrHolder(view);\r
-    }\r
-\r
-    @Override\r
-    public void onBindViewHolder(@NonNull SnrHolder holder, int position) {\r
-        holder.updateSnrValue(mSnrList.get(position));\r
-    }\r
-\r
-    @Override\r
-    public int getItemCount() {\r
-        return mSnrList.size();\r
-    }\r
-\r
-    static class SnrHolder extends RecyclerView.ViewHolder {\r
-\r
-        private SnrHistogramView snrView;\r
-\r
-        public SnrHolder(@NonNull View itemView) {\r
-            super(itemView);\r
-            snrView = (SnrHistogramView)itemView.findViewById(R.id.item_snr_view);\r
-        }\r
-\r
-\r
-        public void updateSnrValue(SnrEntriy entriy){\r
-            snrView.updateValue(entriy.getSnrValue(),entriy.getSnrNumber(),entriy.getSnrBg());\r
-        }\r
-\r
-    }\r
-}\r
+package com.ic.protocolSrv.utils;
+
+import android.support.annotation.NonNull;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.SnrHistogramView;
+
+import java.util.ArrayList;
+
+public class LocationSnrAdapter extends RecyclerView.Adapter<LocationSnrAdapter.SnrHolder> {
+
+
+    private ArrayList<SnrEntriy> mSnrList = new ArrayList<>();
+
+    public LocationSnrAdapter(ArrayList<SnrEntriy> mSnrList) {
+        this.mSnrList = mSnrList;
+    }
+
+    public void updateLocationValue(ArrayList<SnrEntriy> snrEntriys){
+        mSnrList.clear();
+        mSnrList.addAll(snrEntriys);
+        notifyDataSetChanged();
+    }
+
+    @NonNull
+    @Override
+    public SnrHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_snr_layout, parent, false);
+        return new SnrHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull SnrHolder holder, int position) {
+        holder.updateSnrValue(mSnrList.get(position));
+    }
+
+    @Override
+    public int getItemCount() {
+        return mSnrList.size();
+    }
+
+    static class SnrHolder extends RecyclerView.ViewHolder {
+
+        private SnrHistogramView snrView;
+
+        public SnrHolder(@NonNull View itemView) {
+            super(itemView);
+            snrView = (SnrHistogramView)itemView.findViewById(R.id.item_snr_view);
+        }
+
+
+        public void updateSnrValue(SnrEntriy entriy){
+            snrView.updateValue(entriy.getSnrValue(),entriy.getSnrNumber(),entriy.getSnrBg());
+        }
+
+    }
+}
@@ -1,87 +1,87 @@
-package com.enqualcomm.support.utils;\r
-\r
-import android.util.Log;\r
-\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.IOException;\r
-import java.math.BigInteger;\r
-import java.security.MessageDigest;\r
-import java.security.NoSuchAlgorithmException;\r
-\r
-public class MD5 {\r
-    static String TAG = "MD5";\r
-\r
-    public static String getCMDStringMD5(String src){\r
-\r
-            if (src==null || src.isEmpty()) {\r
-                return "";\r
-            }\r
-            MessageDigest md5 = null;\r
-            try {\r
-                md5 = MessageDigest.getInstance("MD5");\r
-                byte[] bytes = md5.digest(src.getBytes());\r
-                String result = "";\r
-                for (byte b : bytes) {\r
-                    String temp = Integer.toHexString(b & 0xff);\r
-                    if (temp.length() == 1) {\r
-                        temp = "0" + temp;\r
-                    }\r
-                    result += temp;\r
-                }\r
-                return result;\r
-            } catch (Exception e) {\r
-                e.printStackTrace();\r
-            }\r
-            return "";\r
-    }\r
-    public static String createMd5(String str) {\r
-        MessageDigest mMDigest;\r
-        FileInputStream Input;\r
-        File file = new File(str);\r
-        byte buffer[] = new byte[1024];\r
-        int len;\r
-        if (!file.exists())\r
-            return null;\r
-        try {\r
-            mMDigest = MessageDigest.getInstance("MD5");\r
-            Input = new FileInputStream(file);\r
-            while ((len = Input.read(buffer, 0, 1024)) != -1) {\r
-                mMDigest.update(buffer, 0, len);\r
-            }\r
-            Input.close();\r
-        } catch (NoSuchAlgorithmException e) {\r
-            // TODO Auto-generated catch block\r
-            e.printStackTrace();\r
-            return null;\r
-        } catch (FileNotFoundException e) {\r
-            // TODO Auto-generated catch block\r
-            e.printStackTrace();\r
-            return null;\r
-        } catch (IOException e) {\r
-            // TODO Auto-generated catch block\r
-            e.printStackTrace();\r
-            return null;\r
-        }\r
-        BigInteger mBInteger = new BigInteger(1, mMDigest.digest());\r
-        Log.v(TAG, "create_MD5=" + mBInteger.toString(16));\r
-        return mBInteger.toString(16);\r
-\r
-    }\r
-\r
-    public static boolean checkMd5(String Md5, String file) {\r
-\r
-        if (Md5!=null) {\r
-            String str = createMd5(file);\r
-            Log.d(TAG, "md5sum = " + str);\r
-            if (Md5.compareTo(str) == 0)\r
-                return true;\r
-            else\r
-                return false;\r
-        }else\r
-        {\r
-            return true;\r
-        }\r
-    }\r
-}\r
+package com.ic.protocolSrv.utils;
+
+import android.util.Log;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.math.BigInteger;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+public class MD5 {
+    static String TAG = "MD5";
+
+    public static String getCMDStringMD5(String src){
+
+            if (src==null || src.isEmpty()) {
+                return "";
+            }
+            MessageDigest md5 = null;
+            try {
+                md5 = MessageDigest.getInstance("MD5");
+                byte[] bytes = md5.digest(src.getBytes());
+                String result = "";
+                for (byte b : bytes) {
+                    String temp = Integer.toHexString(b & 0xff);
+                    if (temp.length() == 1) {
+                        temp = "0" + temp;
+                    }
+                    result += temp;
+                }
+                return result;
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            return "";
+    }
+    public static String createMd5(String str) {
+        MessageDigest mMDigest;
+        FileInputStream Input;
+        File file = new File(str);
+        byte buffer[] = new byte[1024];
+        int len;
+        if (!file.exists())
+            return null;
+        try {
+            mMDigest = MessageDigest.getInstance("MD5");
+            Input = new FileInputStream(file);
+            while ((len = Input.read(buffer, 0, 1024)) != -1) {
+                mMDigest.update(buffer, 0, len);
+            }
+            Input.close();
+        } catch (NoSuchAlgorithmException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+            return null;
+        } catch (FileNotFoundException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+            return null;
+        } catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+            return null;
+        }
+        BigInteger mBInteger = new BigInteger(1, mMDigest.digest());
+        Log.v(TAG, "create_MD5=" + mBInteger.toString(16));
+        return mBInteger.toString(16);
+
+    }
+
+    public static boolean checkMd5(String Md5, String file) {
+
+        if (Md5!=null) {
+            String str = createMd5(file);
+            Log.d(TAG, "md5sum = " + str);
+            if (Md5.compareTo(str) == 0)
+                return true;
+            else
+                return false;
+        }else
+        {
+            return true;
+        }
+    }
+}
@@ -1,12 +1,12 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.bluetooth.BluetoothAdapter;
 import android.os.Handler;
 import android.os.HandlerThread;
 
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.service.Deliver;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.service.Deliver;
 import com.ic.protocols.protocolAPIHelper;
 
 import java.util.ArrayList;
@@ -1,8 +1,8 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.service.Deliver;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.service.Deliver;
 import com.ic.protocols.protocolAPIHelper;
 
 /**
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.Context;
 import android.content.Intent;
@@ -8,10 +8,10 @@ import android.os.Handler;
 import android.os.Message;
 import android.provider.CallLog.Calls;
 
-import com.enqualcomm.support.Constants;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.EventLooperHandlerThread;
-import com.enqualcomm.support.bean.Runtime;
+import com.ic.protocolSrv.Constants;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.EventLooperHandlerThread;
+import com.ic.protocolSrv.bean.Runtime;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -40,7 +40,7 @@ public class MissedCallContentObserver extends ContentObserver {
                 }
 
                 if (Boolean.valueOf(var3)) {
-                    Intent var6 = new Intent("com.enqualcomm.support.ACTION_MISSED_CALL_GET");
+                    Intent var6 = new Intent("com.ic.protocolSrv.ACTION_MISSED_CALL_GET");
                     var6.putExtra("contact", var5.contact);
                     var6.putExtra("date", var5.date);
                     MissedCallContentObserver.this.mContext.sendBroadcast(var6);
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.os.Bundle;
 import android.os.Handler;
@@ -7,9 +7,9 @@ import android.os.Message;
 import android.os.SystemClock;
 import android.util.Log;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
 import com.ic.protocols.protocolAPIHelper;
 
 import java.nio.ByteBuffer;
@@ -19,7 +19,7 @@ import java.util.concurrent.Executors;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.schedulers.Schedulers;
 
-import static com.enqualcomm.support.utils.RxSocket.SocketStatus.CONNECTED;
+import static com.ic.protocolSrv.utils.RxSocket.SocketStatus.CONNECTED;
 
 public class NettyConnection implements Connection {
     private static long realtime_old;
@@ -1,89 +1,89 @@
-package com.enqualcomm.support.utils;\r
-\r
-import android.content.BroadcastReceiver;\r
-import android.content.Context;\r
-import android.content.Intent;\r
-import android.content.IntentFilter;\r
-import android.net.ConnectivityManager;\r
-import android.net.NetworkInfo;\r
-\r
-import com.enqualcomm.support.service.KeepAlive;\r
-\r
-import rx.Observable;\r
-import rx.subjects.BehaviorSubject;\r
-\r
-public class NetworkObservable {\r
-    static String lastActivType = "off";\r
-    BroadcastReceiver mNetStateBroadcastReceiver = new BroadcastReceiver() {\r
-        public void onReceive(Context context, Intent intent) {\r
-            NetworkInfo networkInfo = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();\r
-//      NetworkInfo wifiinfo=((ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE)).getNetworkInfo(ConnectivityManager.TYPE_WIFI);\r
-//      NetworkInfo mobileinfo=((ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE)).getNetworkInfo(ConnectivityManager.TYPE_MOBILE);\r
-//      ICLogger.i("active network type = "+wifiinfo.getTypeName()+", status="+wifiinfo.getState().name());\r
-//      ICLogger.i("active network type = "+mobileinfo.getTypeName()+", status="+mobileinfo.getState().name());\r
-            if (networkInfo != null && networkInfo.isAvailable()) {\r
-                if (lastActivType != networkInfo.getTypeName()) {\r
-                    lastActivType = networkInfo.getTypeName();\r
-                    active_network_changed = true;\r
-                } else {\r
-                    active_network_changed = false;\r
-                }\r
-                StringBuilder var4 = new StringBuilder();\r
-\r
-                var4.append("BroadcastReceiver---网络连接成功  KeepAlive.isConnected=");\r
-                var4.append(KeepAlive.isConnected);\r
-                var4.append(",active_network_changed=");\r
-                var4.append(active_network_changed);\r
-                var4.append(",network_is_from_no_to_yes=");\r
-                var4.append(network_is_from_no_to_yes);\r
-                var4.append(",network_type=").append(networkInfo.getTypeName());\r
-                ICLogger.i(var4.toString());\r
-                if (!KeepAlive.isConnected && !network_is_from_no_to_yes) {\r
-                    //如果serversocket 未连接成功,且之前网络未断开重连\r
-                    if (active_network_changed) {\r
-                        //如果之前一次是网络断开,则重连\r
-                        objectPublishSubject.onNext(2);\r
-                    } else {\r
-                        //如果之前网络正常,则无需重连\r
-                        objectPublishSubject.onNext(1);\r
-                    }\r
-                } else if (network_is_from_no_to_yes) {\r
-                    //如果是断网重连,则证明需要重连\r
-                    objectPublishSubject.onNext(3);\r
-                } else if (KeepAlive.isConnected) {\r
-                    //如果网络实际连接的,就无需重连\r
-                    active_network_changed = false;\r
-                }\r
-                //下次在有新状态,无需重连\r
-                network_is_from_no_to_yes = false;\r
-            } else {\r
-                ICLogger.i("网络断开");\r
-                lastActivType = "off";\r
-                network_is_from_no_to_yes = true; //断网了,则下次变化必然是 FromNoToYes,需要重连 所以为 True\r
-                objectPublishSubject.onNext(0); //发送断网消息。\r
-            }\r
-\r
-        }\r
-    };\r
-    private boolean active_network_changed = false;\r
-    private boolean network_is_from_no_to_yes = true;\r
-    BehaviorSubject<Integer> objectPublishSubject = BehaviorSubject.create();\r
-\r
-    public NetworkObservable() {\r
-    }\r
-\r
-    public Observable<Integer> onChange() {\r
-        return this.objectPublishSubject.distinctUntilChanged();\r
-    }\r
-\r
-    public void register(Context var1) {\r
-        IntentFilter var2 = new IntentFilter();\r
-        var2.addAction("android.net.conn.CONNECTIVITY_CHANGE");\r
-        var1.registerReceiver(this.mNetStateBroadcastReceiver, var2);\r
-    }\r
-\r
-    public void unregister(Context var1) {\r
-        var1.unregisterReceiver(this.mNetStateBroadcastReceiver);\r
-    }\r
-}\r
-\r
+package com.ic.protocolSrv.utils;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+
+import com.ic.protocolSrv.service.KeepAlive;
+
+import rx.Observable;
+import rx.subjects.BehaviorSubject;
+
+public class NetworkObservable {
+    static String lastActivType = "off";
+    BroadcastReceiver mNetStateBroadcastReceiver = new BroadcastReceiver() {
+        public void onReceive(Context context, Intent intent) {
+            NetworkInfo networkInfo = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
+//      NetworkInfo wifiinfo=((ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE)).getNetworkInfo(ConnectivityManager.TYPE_WIFI);
+//      NetworkInfo mobileinfo=((ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE)).getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
+//      ICLogger.i("active network type = "+wifiinfo.getTypeName()+", status="+wifiinfo.getState().name());
+//      ICLogger.i("active network type = "+mobileinfo.getTypeName()+", status="+mobileinfo.getState().name());
+            if (networkInfo != null && networkInfo.isAvailable()) {
+                if (lastActivType != networkInfo.getTypeName()) {
+                    lastActivType = networkInfo.getTypeName();
+                    active_network_changed = true;
+                } else {
+                    active_network_changed = false;
+                }
+                StringBuilder var4 = new StringBuilder();
+
+                var4.append("BroadcastReceiver---网络连接成功  KeepAlive.isConnected=");
+                var4.append(KeepAlive.isConnected);
+                var4.append(",active_network_changed=");
+                var4.append(active_network_changed);
+                var4.append(",network_is_from_no_to_yes=");
+                var4.append(network_is_from_no_to_yes);
+                var4.append(",network_type=").append(networkInfo.getTypeName());
+                ICLogger.i(var4.toString());
+                if (!KeepAlive.isConnected && !network_is_from_no_to_yes) {
+                    //如果serversocket 未连接成功,且之前网络未断开重连
+                    if (active_network_changed) {
+                        //如果之前一次是网络断开,则重连
+                        objectPublishSubject.onNext(2);
+                    } else {
+                        //如果之前网络正常,则无需重连
+                        objectPublishSubject.onNext(1);
+                    }
+                } else if (network_is_from_no_to_yes) {
+                    //如果是断网重连,则证明需要重连
+                    objectPublishSubject.onNext(3);
+                } else if (KeepAlive.isConnected) {
+                    //如果网络实际连接的,就无需重连
+                    active_network_changed = false;
+                }
+                //下次在有新状态,无需重连
+                network_is_from_no_to_yes = false;
+            } else {
+                ICLogger.i("网络断开");
+                lastActivType = "off";
+                network_is_from_no_to_yes = true; //断网了,则下次变化必然是 FromNoToYes,需要重连 所以为 True
+                objectPublishSubject.onNext(0); //发送断网消息。
+            }
+
+        }
+    };
+    private boolean active_network_changed = false;
+    private boolean network_is_from_no_to_yes = true;
+    BehaviorSubject<Integer> objectPublishSubject = BehaviorSubject.create();
+
+    public NetworkObservable() {
+    }
+
+    public Observable<Integer> onChange() {
+        return this.objectPublishSubject.distinctUntilChanged();
+    }
+
+    public void register(Context var1) {
+        IntentFilter var2 = new IntentFilter();
+        var2.addAction("android.net.conn.CONNECTIVITY_CHANGE");
+        var1.registerReceiver(this.mNetStateBroadcastReceiver, var2);
+    }
+
+    public void unregister(Context var1) {
+        var1.unregisterReceiver(this.mNetStateBroadcastReceiver);
+    }
+}
+
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.app.NotificationManager;
 import android.content.BroadcastReceiver;
@@ -12,35 +12,35 @@ import android.os.PowerManager;
 import android.os.Vibrator;
 import android.view.WindowManager;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.Constants;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.VoiceContent;
-import com.enqualcomm.support.service.AudioService;
-import com.enqualcomm.support.service.Deliver;
-import com.enqualcomm.support.service.HeartRateManager;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.Constants;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.VoiceContent;
+import com.ic.protocolSrv.service.AudioService;
+import com.ic.protocolSrv.service.Deliver;
+import com.ic.protocolSrv.service.HeartRateManager;
 import com.ic.protocols.protocolAPIHelper;
 import com.ic.view.webmsgresponse.WebMsgView;
 
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
 import static android.os.PowerManager.ACQUIRE_CAUSES_WAKEUP;
 import static android.os.PowerManager.SCREEN_DIM_WAKE_LOCK;
-import static com.enqualcomm.support.Constants.ACTION_MESSAGE_SENT;
-import static com.enqualcomm.support.Constants.ACTION_PLAYTIME;
-import static com.enqualcomm.support.Constants.ACTION_REMOTE_CAMERA;
-import static com.enqualcomm.support.Constants.ACTION_SET_SIT_RANGE;
-import static com.enqualcomm.support.Constants.ACTION_SHUTDOWN;
-import static com.enqualcomm.support.Constants.DIALOG_ACTION;
-import static com.enqualcomm.support.Constants.DIALOG_ACTION_WITH_IC_RESPONSE;
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.Constants.KEY_MESSAGE_FROM;
-import static com.enqualcomm.support.Constants.KEY_MESSAGE_TYPE;
-import static com.enqualcomm.support.Constants.KEY_MESSAGE_URL;
-import static com.enqualcomm.support.Constants.RESUME_ACTION;
-import static com.enqualcomm.support.bean.Content.CONTACT_CATEGORY_GROUP;
+import static com.ic.protocolSrv.Constants.ACTION_MESSAGE_SENT;
+import static com.ic.protocolSrv.Constants.ACTION_PLAYTIME;
+import static com.ic.protocolSrv.Constants.ACTION_REMOTE_CAMERA;
+import static com.ic.protocolSrv.Constants.ACTION_SET_SIT_RANGE;
+import static com.ic.protocolSrv.Constants.ACTION_SHUTDOWN;
+import static com.ic.protocolSrv.Constants.DIALOG_ACTION;
+import static com.ic.protocolSrv.Constants.DIALOG_ACTION_WITH_IC_RESPONSE;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.Constants.KEY_MESSAGE_FROM;
+import static com.ic.protocolSrv.Constants.KEY_MESSAGE_TYPE;
+import static com.ic.protocolSrv.Constants.KEY_MESSAGE_URL;
+import static com.ic.protocolSrv.Constants.RESUME_ACTION;
+import static com.ic.protocolSrv.bean.Content.CONTACT_CATEGORY_GROUP;
 
 
 public class ProcessReceiver extends BroadcastReceiver {
@@ -235,8 +235,8 @@ public class ProcessReceiver extends BroadcastReceiver {
                     stopmediaplayer();
 
                     if (msg.contains("Take Photo")) {
-                        String packagename = "com.eqc.camera";
-                        String activityName = "com.eqc.camera.TakePictureActivity";
+                        String packagename = "com.ic.camera";
+                        String activityName = "com.ic.camera.TakePictureActivity";
                         if (Util.installed(context, "com.ic.camera")) {
                             packagename = "com.ic.camera";
                             activityName = "com.ic.camera.MainActivity";
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import java.net.InetSocketAddress;
 import java.nio.ByteBuffer;
@@ -1,50 +1,50 @@
-package com.enqualcomm.support.utils;\r
-\r
-import android.annotation.SuppressLint;\r
-\r
-import com.enqualcomm.support.LocationClient;\r
-import com.enqualcomm.support.bean.StringMessage;\r
-import com.enqualcomm.support.service.Deliver;\r
-\r
-import java.util.concurrent.LinkedBlockingDeque;\r
-\r
-public class ServiceUtil {\r
-\r
-  public static boolean offerQueue(StringMessage paramStringMessage) {\r
-    return offerQueue(paramStringMessage, false);\r
-  }\r
-\r
-  public static boolean offerQueue(StringMessage paramStringMessage, boolean paramBoolean) {\r
-    if (paramBoolean) {\r
-      if (!Deliver.queue.offerFirst(paramStringMessage)) {\r
-//        Deliver.saveQueue();\r
-//        Deliver.queue.offerFirst(paramStringMessage);\r
-        return false;\r
-      } \r
-    } else if (!Deliver.queue.offerLast(paramStringMessage)) {\r
-//      Deliver.saveQueue();\r
-//      Deliver.queue.offerLast(paramStringMessage);\r
-      return false;\r
-    }\r
-    return true;\r
-  }\r
-\r
-\r
-  \r
-//  public static void offerVideoQueue(OssFileContent paramOssFileContent, LinkedBlockingDeque<OssFileContent> paramLinkedBlockingDeque, FileCache paramFileCache) {\r
-//    if (!paramLinkedBlockingDeque.offerLast(paramOssFileContent)) {\r
-//      (new Thread(new Runnable(paramLinkedBlockingDeque, paramFileCache) {\r
-//            public void run() { SendOssMessage.saveVideoPathQueue(queue, fileCache); }\r
-//          })).start();\r
-//      paramLinkedBlockingDeque.offerLast(paramOssFileContent);\r
-//    }\r
-//  }\r
-//\r
-//  public static void offerVideoQueueForThread(OssFileContent paramOssFileContent, LinkedBlockingDeque<OssFileContent> paramLinkedBlockingDeque, FileCache paramFileCache) {\r
-//    if (!paramLinkedBlockingDeque.offerLast(paramOssFileContent)) {\r
-//      SendOssMessage.saveVideoPathQueue(paramLinkedBlockingDeque, paramFileCache);\r
-//      paramLinkedBlockingDeque.offerLast(paramOssFileContent);\r
-//    }\r
-//  }\r
-}\r
-\r
+package com.ic.protocolSrv.utils;
+
+import android.annotation.SuppressLint;
+
+import com.ic.protocolSrv.LocationClient;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.service.Deliver;
+
+import java.util.concurrent.LinkedBlockingDeque;
+
+public class ServiceUtil {
+
+  public static boolean offerQueue(StringMessage paramStringMessage) {
+    return offerQueue(paramStringMessage, false);
+  }
+
+  public static boolean offerQueue(StringMessage paramStringMessage, boolean paramBoolean) {
+    if (paramBoolean) {
+      if (!Deliver.queue.offerFirst(paramStringMessage)) {
+//        Deliver.saveQueue();
+//        Deliver.queue.offerFirst(paramStringMessage);
+        return false;
+      } 
+    } else if (!Deliver.queue.offerLast(paramStringMessage)) {
+//      Deliver.saveQueue();
+//      Deliver.queue.offerLast(paramStringMessage);
+      return false;
+    }
+    return true;
+  }
+
+
+  
+//  public static void offerVideoQueue(OssFileContent paramOssFileContent, LinkedBlockingDeque<OssFileContent> paramLinkedBlockingDeque, FileCache paramFileCache) {
+//    if (!paramLinkedBlockingDeque.offerLast(paramOssFileContent)) {
+//      (new Thread(new Runnable(paramLinkedBlockingDeque, paramFileCache) {
+//            public void run() { SendOssMessage.saveVideoPathQueue(queue, fileCache); }
+//          })).start();
+//      paramLinkedBlockingDeque.offerLast(paramOssFileContent);
+//    }
+//  }
+//
+//  public static void offerVideoQueueForThread(OssFileContent paramOssFileContent, LinkedBlockingDeque<OssFileContent> paramLinkedBlockingDeque, FileCache paramFileCache) {
+//    if (!paramLinkedBlockingDeque.offerLast(paramOssFileContent)) {
+//      SendOssMessage.saveVideoPathQueue(paramLinkedBlockingDeque, paramFileCache);
+//      paramLinkedBlockingDeque.offerLast(paramOssFileContent);
+//    }
+//  }
+}
+
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.Context;
 import android.content.SharedPreferences;
@@ -76,7 +76,7 @@ public class SharePreferenceUtil {
 //// 其他应用读取写入访问的方法
 //    public static String getPrefStringPublic(Context context, String key, String value) {
 //
-//        String PREFERENCE_PACKAGE="com.enqualcomm.support";
+//        String PREFERENCE_PACKAGE="com.ic.protocolSrv";
 //        Context c;
 //        try {
 //            c = context.createPackageContext(PREFERENCE_PACKAGE, Context.CONTEXT_IGNORE_SECURITY);
@@ -89,7 +89,7 @@ public class SharePreferenceUtil {
 //        return value;
 //    }
 //    public static void setPrefStringPublic(Context context, String key, String value) {
-//        String PREFERENCE_PACKAGE="com.enqualcomm.support";
+//        String PREFERENCE_PACKAGE="com.ic.protocolSrv";
 //        Context c;
 //        try {
 //            c = context.createPackageContext(PREFERENCE_PACKAGE, Context.CONTEXT_IGNORE_SECURITY);
@@ -102,7 +102,7 @@ public class SharePreferenceUtil {
 //
 //    }
 //    public static void setPrefIntPublic(Context context, String key, int value) {
-//        String PREFERENCE_PACKAGE="com.enqualcomm.support";
+//        String PREFERENCE_PACKAGE="com.ic.protocolSrv";
 //        Context c;
 //        try {
 //            c = context.createPackageContext(PREFERENCE_PACKAGE, Context.CONTEXT_IGNORE_SECURITY);
@@ -115,7 +115,7 @@ public class SharePreferenceUtil {
 //
 //    }
 //    public static int getPrefIntPublic(Context context, String key, int value) {
-//        String PREFERENCE_PACKAGE="com.enqualcomm.support";
+//        String PREFERENCE_PACKAGE="com.ic.protocolSrv";
 //        Context c;
 //        try {
 //            c = context.createPackageContext(PREFERENCE_PACKAGE, Context.CONTEXT_IGNORE_SECURITY);
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.ContentResolver;
 import android.content.Context;
@@ -8,7 +8,7 @@ import android.net.NetworkInfo;
 import android.provider.Settings;
 import android.telephony.TelephonyManager;
 
-import com.enqualcomm.support.bean.Runtime;
+import com.ic.protocolSrv.bean.Runtime;
 
 import static android.telephony.TelephonyManager.NETWORK_TYPE_CDMA;
 import static android.telephony.TelephonyManager.NETWORK_TYPE_EDGE;
@@ -1,40 +1,40 @@
-package com.enqualcomm.support.utils;\r
-\r
-public class SnrEntriy {\r
-    private float snrValue;\r
-    private int snrNumber;\r
-    private int snrBg;\r
-\r
-    public SnrEntriy() {\r
-    }\r
-\r
-    public SnrEntriy(float snrValue, int snrNumber, int snrBg) {\r
-        this.snrNumber = snrNumber;\r
-        this.snrValue = snrValue;\r
-        this.snrBg = snrBg;\r
-    }\r
-\r
-    public float getSnrValue() {\r
-        return snrValue;\r
-    }\r
-\r
-    public void setSnrValue(int snrValue) {\r
-        this.snrValue = snrValue;\r
-    }\r
-\r
-    public int getSnrNumber() {\r
-        return snrNumber;\r
-    }\r
-\r
-    public void setSnrNumber(int snrNumber) {\r
-        this.snrNumber = snrNumber;\r
-    }\r
-\r
-    public int getSnrBg() {\r
-        return snrBg;\r
-    }\r
-\r
-    public void setSnrBg(int snrBg) {\r
-        this.snrBg = snrBg;\r
-    }\r
-}\r
+package com.ic.protocolSrv.utils;
+
+public class SnrEntriy {
+    private float snrValue;
+    private int snrNumber;
+    private int snrBg;
+
+    public SnrEntriy() {
+    }
+
+    public SnrEntriy(float snrValue, int snrNumber, int snrBg) {
+        this.snrNumber = snrNumber;
+        this.snrValue = snrValue;
+        this.snrBg = snrBg;
+    }
+
+    public float getSnrValue() {
+        return snrValue;
+    }
+
+    public void setSnrValue(int snrValue) {
+        this.snrValue = snrValue;
+    }
+
+    public int getSnrNumber() {
+        return snrNumber;
+    }
+
+    public void setSnrNumber(int snrNumber) {
+        this.snrNumber = snrNumber;
+    }
+
+    public int getSnrBg() {
+        return snrBg;
+    }
+
+    public void setSnrBg(int snrBg) {
+        this.snrBg = snrBg;
+    }
+}
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  *******************************************************************************/
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.Context;
 import android.content.pm.PackageManager;
@@ -1,9 +1,9 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.text.TextUtils;
 import android.util.Log;
 
-import com.enqualcomm.support.bean.TemperatureItem;
+import com.ic.protocolSrv.bean.TemperatureItem;
 import com.ic.jni.ICJniUtils;
 
 public class TempAlgUtil {
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.ComponentName;
 import android.content.ContentResolver;
@@ -9,19 +9,19 @@ import android.content.ServiceConnection;
 import android.net.Uri;
 import android.os.IBinder;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.Constants;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.ICApplication;
-import com.enqualcomm.support.LocationClient;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.ICGlobalSettingsProvider;
-import com.enqualcomm.support.provider.ICNotificationProvider;
-import com.enqualcomm.support.provider.WarningItemProvider;
-import com.enqualcomm.support.service.Deliver;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.Constants;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.ICApplication;
+import com.ic.protocolSrv.LocationClient;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.ICGlobalSettingsProvider;
+import com.ic.protocolSrv.provider.ICNotificationProvider;
+import com.ic.protocolSrv.provider.WarningItemProvider;
+import com.ic.protocolSrv.service.Deliver;
 import com.ic.protocols.protocolAPIHelper;
 import com.ic.work.ITempSensorCallback;
 import com.ic.work.ITempSensorService;
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.app.AlarmManager;
 import android.content.Context;
@@ -1,4 +1,4 @@
-package com.enqualcomm.support.utils;
+package com.ic.protocolSrv.utils;
 
 import android.content.Context;
 import android.content.Intent;
@@ -18,12 +18,12 @@ import android.os.PowerManager;
 import android.provider.Settings;
 import android.widget.Toast;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.VoiceContent;
-import com.enqualcomm.support.bean.voicePacket;
-import com.enqualcomm.support.service.Deliver;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.VoiceContent;
+import com.ic.protocolSrv.bean.voicePacket;
+import com.ic.protocolSrv.service.Deliver;
 import com.ic.protocols.protocolAPIHelper;
 
 import java.io.BufferedInputStream;
@@ -711,7 +711,7 @@ public class Util {
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.append(StorageUtils.getExternalStorageLogDir());
         stringBuilder.append("/contacts.db");
-        FileOutputUtil.copyFolder("/data/data/com.enqualcomm.support/databases", stringBuilder.toString());
+        FileOutputUtil.copyFolder("/data/data/com.ic.protocolSrv/databases", stringBuilder.toString());
     }
 
     private static int BUFFER_LEN = 1024;
@@ -1,58 +1,58 @@
-package com.enqualcomm.support.utils;\r
-\r
-import android.content.Context;\r
-import android.os.Vibrator;\r
-\r
-import static android.content.Context.VIBRATOR_SERVICE;\r
-\r
-public class VibrateUtil {\r
-\r
-    private static Context mContext = null;\r
-\r
-    public static VibrateUtil getInstance(Context context) {\r
-        if (mContext == null)\r
-            mContext = context;\r
-        if (vibrator == null)\r
-            vibrator = (Vibrator) mContext.getSystemService(VIBRATOR_SERVICE);\r
-        vibrateUtil = new VibrateUtil();\r
-        return vibrateUtil;\r
-    }\r
-\r
-    private static Vibrator vibrator = null;\r
-    private static VibrateUtil vibrateUtil = null;\r
-\r
-    private static long patter_item = 1000;\r
-    private long[] patter = {patter_item, 1000, patter_item, 1000}; //1秒开,1秒关,2秒开,50ms关\r
-    private long[] patterOnce = {patter_item, 1000}; //1秒开,1秒关,2秒开,50ms关\r
-\r
-    /**\r
-     * 设置震动时长\r
-     *\r
-     * @param l 单位ms\r
-     */\r
-    public static void setVibPattern(int l) {\r
-        patter_item = l;\r
-    }\r
-\r
-    public void vibrateOn(boolean on) {\r
-        if (vibrator != null) {\r
-            if (on)\r
-                vibrator.vibrate(1000);//不循环\r
-            else\r
-                vibrator.cancel();\r
-        }\r
-    }\r
-\r
-    public void VibrateOnOnce(boolean on) {\r
-        if (patter_item > 0) {\r
-            if (vibrator != null) {\r
-                patterOnce = new long[]{patter_item, 1000};\r
-                if (on)\r
-//                vibrator.vibrate(patter, 0);//一直循环\r
-                    vibrator.vibrate(patterOnce, -1);//不循环\r
-                else\r
-                    vibrator.cancel();\r
-            }\r
-        }\r
-    }\r
-}\r
+package com.ic.protocolSrv.utils;
+
+import android.content.Context;
+import android.os.Vibrator;
+
+import static android.content.Context.VIBRATOR_SERVICE;
+
+public class VibrateUtil {
+
+    private static Context mContext = null;
+
+    public static VibrateUtil getInstance(Context context) {
+        if (mContext == null)
+            mContext = context;
+        if (vibrator == null)
+            vibrator = (Vibrator) mContext.getSystemService(VIBRATOR_SERVICE);
+        vibrateUtil = new VibrateUtil();
+        return vibrateUtil;
+    }
+
+    private static Vibrator vibrator = null;
+    private static VibrateUtil vibrateUtil = null;
+
+    private static long patter_item = 1000;
+    private long[] patter = {patter_item, 1000, patter_item, 1000}; //1秒开,1秒关,2秒开,50ms关
+    private long[] patterOnce = {patter_item, 1000}; //1秒开,1秒关,2秒开,50ms关
+
+    /**
+     * 设置震动时长
+     *
+     * @param l 单位ms
+     */
+    public static void setVibPattern(int l) {
+        patter_item = l;
+    }
+
+    public void vibrateOn(boolean on) {
+        if (vibrator != null) {
+            if (on)
+                vibrator.vibrate(1000);//不循环
+            else
+                vibrator.cancel();
+        }
+    }
+
+    public void VibrateOnOnce(boolean on) {
+        if (patter_item > 0) {
+            if (vibrator != null) {
+                patterOnce = new long[]{patter_item, 1000};
+                if (on)
+//                vibrator.vibrate(patter, 0);//一直循环
+                    vibrator.vibrate(patterOnce, -1);//不循环
+                else
+                    vibrator.cancel();
+            }
+        }
+    }
+}
@@ -1,33 +1,33 @@
-package com.enqualcomm.support.utils;\r
-\r
-import android.content.Context;\r
-import android.os.Handler;\r
-import android.os.Message;\r
-import android.os.PowerManager;\r
-\r
-\r
-import static android.os.PowerManager.ACQUIRE_CAUSES_WAKEUP;\r
-import static android.os.PowerManager.SCREEN_DIM_WAKE_LOCK;\r
-\r
-\r
-public class WakeLockUtil {\r
-\r
-  public static PowerManager.WakeLock getScreenOnWakeLock(Context context, String tag) {\r
-    PowerManager.WakeLock wakeLock = ((PowerManager)(context.getSystemService(Context.POWER_SERVICE))).newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, tag);\r
-//    wakeLock.acquire(900000L);\r
-    wakeLock.acquire();\r
-    return wakeLock;\r
-  }\r
-  public static void ScreenOnWakeLockTemperary(Context context) {\r
-    final PowerManager.WakeLock wakelock = ((PowerManager)context.getSystemService(Context.POWER_SERVICE)).newWakeLock(ACQUIRE_CAUSES_WAKEUP| SCREEN_DIM_WAKE_LOCK, WakeLockUtil.class.getSimpleName());\r
-    wakelock.acquire();\r
-    new Handler().postDelayed(new Runnable() {\r
-      @Override\r
-      public void run() {\r
-        wakelock.release();\r
-      }\r
-    },5000);\r
-  }\r
-\r
-}\r
-\r
+package com.ic.protocolSrv.utils;
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.Message;
+import android.os.PowerManager;
+
+
+import static android.os.PowerManager.ACQUIRE_CAUSES_WAKEUP;
+import static android.os.PowerManager.SCREEN_DIM_WAKE_LOCK;
+
+
+public class WakeLockUtil {
+
+  public static PowerManager.WakeLock getScreenOnWakeLock(Context context, String tag) {
+    PowerManager.WakeLock wakeLock = ((PowerManager)(context.getSystemService(Context.POWER_SERVICE))).newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, tag);
+//    wakeLock.acquire(900000L);
+    wakeLock.acquire();
+    return wakeLock;
+  }
+  public static void ScreenOnWakeLockTemperary(Context context) {
+    final PowerManager.WakeLock wakelock = ((PowerManager)context.getSystemService(Context.POWER_SERVICE)).newWakeLock(ACQUIRE_CAUSES_WAKEUP| SCREEN_DIM_WAKE_LOCK, WakeLockUtil.class.getSimpleName());
+    wakelock.acquire();
+    new Handler().postDelayed(new Runnable() {
+      @Override
+      public void run() {
+        wakelock.release();
+      }
+    },5000);
+  }
+
+}
+
-package com.enqualcomm.support.utils;\r
-\r
-import com.sina.util.dnscache.log.FileUtil;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.net.MalformedURLException;\r
-import java.net.URL;\r
-\r
-import it.sauronsoftware.ftp4j.FTPClient;\r
-import it.sauronsoftware.ftp4j.FTPFile;\r
-\r
-//uploadFolder(new URL("ftp://localhost:21/test/"), "admin", "123", new File("d:/test"));\r
-//downloadFolder(new URL("ftp://localhost:21/test/"), "admin", "123", new File("d:/dbtest"));\r
-\r
-\r
-\r
-public class ftpUtils {\r
-\r
- ////   2. 共用方法\r
-\r
-  //  上传下载方法需要引用的方法:\r
-\r
-    public static URL newURL(URL parentUrl, String child)throws MalformedURLException {\r
-        String path = parentUrl.getPath();\r
-        if(!path.endsWith("/")){\r
-            path += "/";\r
-        }\r
-        path += child;\r
-        return new URL(parentUrl, path);\r
-    }\r
-\r
-//3. 下载文件\r
-\r
-    public static void download(URL url, String username, String password, File file){\r
-        download(url, username, password, "UTF-8", file);\r
-    }\r
-    public static void download(URL url, String username, String password, String encoding, File file){\r
-        FTPClient client = new FTPClient();\r
-        client.setCharset(encoding);\r
-        client.setType(FTPClient.TYPE_BINARY);\r
-        //连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21\r
-        try {\r
-            int port = url.getPort();\r
-            if(port < 1){\r
-                port = 21;\r
-            }\r
-            client.connect(url.getHost(), port);\r
-            //登录验证\r
-            client.login(username, password);\r
-//            client.changeDirectory(url.getPath());\r
-            client.download(url.getFile(), file);\r
-            client.logout();\r
-            //安全退出\r
-            client.disconnect(true);\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-        }\r
-    }\r
-\r
-//4. 下载文件夹\r
-\r
-    public static void downloadFolder(URL url, String username, String password, File folder){\r
-        downloadFolder(url, username, password, "UTF-8", folder);\r
-    }\r
-    public static void downloadFolder(URL url, String username, String password, String encoding, File folder){\r
-        FTPClient client = new FTPClient();\r
-        client.setCharset(encoding);\r
-        client.setType(FTPClient.TYPE_BINARY);\r
-        //连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21\r
-        try {\r
-            int port = url.getPort();\r
-            if(port < 1){\r
-                port = 21;\r
-            }\r
-            client.connect(url.getHost(), port);\r
-            //登录验证\r
-            client.login(username, password);\r
-            downloadFolder(client, url, folder);\r
-            client.logout();\r
-            //安全退出\r
-            client.disconnect(true);\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-        }\r
-    }\r
-    private static void downloadFolder(FTPClient client, URL url, File folder)throws Exception{\r
-        client.changeDirectory(url.getPath());\r
-        FTPFile[] ftpFiles = client.list();\r
-        if(!folder.exists()){\r
-            folder.mkdirs();\r
-        }\r
-        for(FTPFile ftpFile : ftpFiles){\r
-            String name = ftpFile.getName();\r
-            if(ftpFile.getType() == FTPFile.TYPE_FILE){\r
-                client.changeDirectory(url.getPath());\r
-                File f = new File(folder, name);\r
-                client.download(name, f);\r
-            }else if(ftpFile.getType() == FTPFile.TYPE_DIRECTORY){\r
-                downloadFolder(client, newURL(url, name), new File(folder, name));\r
-            }\r
-        }\r
-    }\r
-\r
-//5. 上传文件\r
-\r
-    public static boolean upload(URL url, String username, String password, File file){\r
-        return upload(url, username, password, "UTF-8", file);\r
-    }\r
-    public static boolean upload(URL url, String username, String password, String encoding, File file){\r
-        FTPClient client = new FTPClient();\r
-        client.setCharset(encoding);\r
-        client.setType(FTPClient.TYPE_AUTO);\r
-        client.setPassive(false);\r
-        //连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21\r
-        try {\r
-            int port = url.getPort();\r
-            if(port < 1){\r
-                port = 21;\r
-            }\r
-            client.connect(url.getHost(), port);\r
-            //登录验证\r
-            client.login(username, password);\r
-\r
-            String folders[]=url.getPath().split("/");\r
-            String urlpath_tmp="";\r
-            URL urlTmp=null;\r
-            //遍历创建目录\r
-            for( String folder : folders) {\r
-                if(!folder.isEmpty()) {\r
-                    urlpath_tmp += "/" + folder;\r
-                    if (!existsFtpDir(client,folder)) {\r
-                        client.createDirectory(folder);\r
-                    }\r
-                    client.changeDirectory(urlpath_tmp);\r
-\r
-                }\r
-            }\r
-            client.changeDirectory(url.getPath());\r
-            client.upload(file);\r
-\r
-\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-            return false;\r
-        }\r
-\r
-        try{\r
-            client.logout();\r
-            //安全退出\r
-            client.disconnect(true);\r
-        }catch(Exception e){\r
-//            e.printStackTrace();\r
-        }\r
-        return true;\r
-\r
-    }\r
-\r
-//6. 上传文件夹\r
-\r
-    public static void uploadFolder(URL url, String username, String password, File folder){\r
-        uploadFolder(url, username, password, "UTF-8", folder);\r
-    }\r
-    public static void uploadFolder(URL url, String username, String password, String encoding, File folder){\r
-        FTPClient client = new FTPClient();\r
-        client.setCharset(encoding);\r
-        client.setType(FTPClient.TYPE_BINARY);\r
-        //连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21\r
-        try {\r
-            int port = url.getPort();\r
-            if(port < 1){\r
-                port = 21;\r
-            }\r
-            client.connect(url.getHost(), port);\r
-            //登录验证\r
-            client.login(username, password);\r
-            client.changeDirectory(url.getPath());\r
-            String[] files = folder.list();\r
-            for(String file : files){\r
-                File f = new File(folder, file);\r
-                if(f.isDirectory()){\r
-                    uploadFolder(client, url, f);\r
-                }else{\r
-                    client.changeDirectory(url.getPath());\r
-                    client.upload(f);\r
-                }\r
-            }\r
-            client.logout();\r
-            //安全退出\r
-            client.disconnect(true);\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-        }\r
-    }\r
-    private static void uploadFolder(FTPClient client, URL parentUrl, File folder)throws Exception{\r
-        client.changeDirectory(parentUrl.getPath());\r
-        if(!existsFtpDir(client, folder.getName())){\r
-            client.createDirectory(folder.getName());\r
-        }\r
-        client.changeDirectory(folder.getName());\r
-\r
-        String[] fileList = folder.list();\r
-        if(fileList == null){\r
-            return ;\r
-        }\r
-\r
-        for(String file : fileList){\r
-            File f = new File(folder, file);\r
-            if(f.isDirectory()){\r
-                uploadFolder(client, newURL(parentUrl, folder.getName()), f);\r
-            }else if(f.isFile()){\r
-                client.changeDirectory(parentUrl.getPath());\r
-                client.changeDirectory(folder.getName());\r
-                client.upload(f);\r
-            }\r
-        }\r
-    }\r
-\r
-    private static boolean existsFtpDir(FTPClient client, String dir)throws Exception{\r
-        FTPFile[] ftpFiles = client.list();\r
-        for(FTPFile ftpFile : ftpFiles){\r
-            if((ftpFile.getType() == FTPFile.TYPE_DIRECTORY) && (dir.equals(ftpFile.getName()))){\r
-                return true;\r
-            }\r
-        }\r
-        return false;\r
-    }\r
-\r
-//7. 判断是否存在文件或文件夹\r
-\r
-    public static boolean exists(URL url, String username, String password){\r
-        return exists(url, username, password, "UTF-8");\r
-\r
-    }\r
-    public static boolean exists(URL url, String username, String password, String encoding){\r
-        FTPClient client = new FTPClient();\r
-        client.setCharset(encoding);\r
-        client.setType(FTPClient.TYPE_AUTO);\r
-        client.setPassive(false);//设置被动模式 false\r
-\r
-        try {\r
-            int port = url.getPort();\r
-            if(port < 1){\r
-                port = 21;\r
-            }\r
-            String[] welcome = client.connect(url.getHost(), port);\r
-            ICLogger.i("welcome = " + welcome.length);\r
-            //登录验证\r
-            client.login(username, password);\r
-            String path = url.getPath();\r
-            ICLogger.i("path = " + path);\r
-            if(path.indexOf(".") != -1){//文件\r
-                int index = path.lastIndexOf("/");\r
-                String p = path.substring(0, index);\r
-                String f = path.substring(index + 1);\r
-                ICLogger.i("p = " + p + ", f = " + f);\r
-                client.changeDirectory(p);\r
-                FTPFile[] ftpFiles = client.list();\r
-                for(FTPFile ftpFile : ftpFiles){\r
-                    if((ftpFile.getType() == FTPFile.TYPE_FILE) && (ftpFile.getName().equals(f))){\r
-                        return true;\r
-                    }\r
-                }\r
-                return false;\r
-            }else{//文件夹\r
-                client.changeDirectory(path);\r
-            }\r
-            client.logout();\r
-            //安全退出\r
-            client.disconnect(true);\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-            return false;\r
-        }\r
-\r
-        return true;\r
-    }\r
-\r
-//8. FTP服务器之间复制文件夹\r
-\r
-    public static void copyFolder(URL sourceUrl, String sourceUsername, String sourcePassword, String sourceEncoding, URL destUrl, String destUsername, String destPassword, String destEncoding, String tmpDir)throws IOException {\r
-        downloadFolder(sourceUrl, sourceUsername, sourcePassword, sourceEncoding, new File(tmpDir));\r
-        uploadFolder(destUrl, destUsername, destPassword, destEncoding, new File(tmpDir));\r
-        FileUtil.deleteFolder(tmpDir); //待实现\r
-    }\r
-    public static void copyFolder(URL sourceUrl, String sourceUsername, String sourcePassword, URL destUrl, String destUsername, String destPassword, String tmpDir)throws IOException{\r
-        copyFolder(sourceUrl, sourceUsername, sourcePassword, "UTF-8", destUrl, destUsername, destPassword, "UTF-8", tmpDir);\r
-    }\r
-\r
-//9.删除文件\r
-\r
-    public static void delete(URL url, String username, String password){\r
-        delete(url, username, password, "UTF-8");\r
-    }\r
-    public static void delete(URL url, String username, String password, String encoding){\r
-        FTPClient client = new FTPClient();\r
-        client.setCharset(encoding);\r
-        client.setType(FTPClient.TYPE_BINARY);\r
-        //连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21\r
-        try {\r
-            int port = url.getPort();\r
-            if(port < 1){\r
-                port = 21;\r
-            }\r
-            client.connect(url.getHost(), port);\r
-            //登录验证\r
-            client.login(username, password);\r
-            client.deleteFile(url.getPath());\r
-            client.logout();\r
-            //安全退出\r
-            client.disconnect(true);\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-        }\r
-    }\r
-}\r
+package com.ic.protocolSrv.utils;
+
+import com.sina.util.dnscache.log.FileUtil;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import it.sauronsoftware.ftp4j.FTPClient;
+import it.sauronsoftware.ftp4j.FTPFile;
+
+//uploadFolder(new URL("ftp://localhost:21/test/"), "admin", "123", new File("d:/test"));
+//downloadFolder(new URL("ftp://localhost:21/test/"), "admin", "123", new File("d:/dbtest"));
+
+
+
+public class ftpUtils {
+
+ ////   2. 共用方法
+
+  //  上传下载方法需要引用的方法:
+
+    public static URL newURL(URL parentUrl, String child)throws MalformedURLException {
+        String path = parentUrl.getPath();
+        if(!path.endsWith("/")){
+            path += "/";
+        }
+        path += child;
+        return new URL(parentUrl, path);
+    }
+
+//3. 下载文件
+
+    public static void download(URL url, String username, String password, File file){
+        download(url, username, password, "UTF-8", file);
+    }
+    public static void download(URL url, String username, String password, String encoding, File file){
+        FTPClient client = new FTPClient();
+        client.setCharset(encoding);
+        client.setType(FTPClient.TYPE_BINARY);
+        //连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21
+        try {
+            int port = url.getPort();
+            if(port < 1){
+                port = 21;
+            }
+            client.connect(url.getHost(), port);
+            //登录验证
+            client.login(username, password);
+//            client.changeDirectory(url.getPath());
+            client.download(url.getFile(), file);
+            client.logout();
+            //安全退出
+            client.disconnect(true);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+//4. 下载文件夹
+
+    public static void downloadFolder(URL url, String username, String password, File folder){
+        downloadFolder(url, username, password, "UTF-8", folder);
+    }
+    public static void downloadFolder(URL url, String username, String password, String encoding, File folder){
+        FTPClient client = new FTPClient();
+        client.setCharset(encoding);
+        client.setType(FTPClient.TYPE_BINARY);
+        //连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21
+        try {
+            int port = url.getPort();
+            if(port < 1){
+                port = 21;
+            }
+            client.connect(url.getHost(), port);
+            //登录验证
+            client.login(username, password);
+            downloadFolder(client, url, folder);
+            client.logout();
+            //安全退出
+            client.disconnect(true);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    private static void downloadFolder(FTPClient client, URL url, File folder)throws Exception{
+        client.changeDirectory(url.getPath());
+        FTPFile[] ftpFiles = client.list();
+        if(!folder.exists()){
+            folder.mkdirs();
+        }
+        for(FTPFile ftpFile : ftpFiles){
+            String name = ftpFile.getName();
+            if(ftpFile.getType() == FTPFile.TYPE_FILE){
+                client.changeDirectory(url.getPath());
+                File f = new File(folder, name);
+                client.download(name, f);
+            }else if(ftpFile.getType() == FTPFile.TYPE_DIRECTORY){
+                downloadFolder(client, newURL(url, name), new File(folder, name));
+            }
+        }
+    }
+
+//5. 上传文件
+
+    public static boolean upload(URL url, String username, String password, File file){
+        return upload(url, username, password, "UTF-8", file);
+    }
+    public static boolean upload(URL url, String username, String password, String encoding, File file){
+        FTPClient client = new FTPClient();
+        client.setCharset(encoding);
+        client.setType(FTPClient.TYPE_AUTO);
+        client.setPassive(false);
+        //连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21
+        try {
+            int port = url.getPort();
+            if(port < 1){
+                port = 21;
+            }
+            client.connect(url.getHost(), port);
+            //登录验证
+            client.login(username, password);
+
+            String folders[]=url.getPath().split("/");
+            String urlpath_tmp="";
+            URL urlTmp=null;
+            //遍历创建目录
+            for( String folder : folders) {
+                if(!folder.isEmpty()) {
+                    urlpath_tmp += "/" + folder;
+                    if (!existsFtpDir(client,folder)) {
+                        client.createDirectory(folder);
+                    }
+                    client.changeDirectory(urlpath_tmp);
+
+                }
+            }
+            client.changeDirectory(url.getPath());
+            client.upload(file);
+
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+
+        try{
+            client.logout();
+            //安全退出
+            client.disconnect(true);
+        }catch(Exception e){
+//            e.printStackTrace();
+        }
+        return true;
+
+    }
+
+//6. 上传文件夹
+
+    public static void uploadFolder(URL url, String username, String password, File folder){
+        uploadFolder(url, username, password, "UTF-8", folder);
+    }
+    public static void uploadFolder(URL url, String username, String password, String encoding, File folder){
+        FTPClient client = new FTPClient();
+        client.setCharset(encoding);
+        client.setType(FTPClient.TYPE_BINARY);
+        //连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21
+        try {
+            int port = url.getPort();
+            if(port < 1){
+                port = 21;
+            }
+            client.connect(url.getHost(), port);
+            //登录验证
+            client.login(username, password);
+            client.changeDirectory(url.getPath());
+            String[] files = folder.list();
+            for(String file : files){
+                File f = new File(folder, file);
+                if(f.isDirectory()){
+                    uploadFolder(client, url, f);
+                }else{
+                    client.changeDirectory(url.getPath());
+                    client.upload(f);
+                }
+            }
+            client.logout();
+            //安全退出
+            client.disconnect(true);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    private static void uploadFolder(FTPClient client, URL parentUrl, File folder)throws Exception{
+        client.changeDirectory(parentUrl.getPath());
+        if(!existsFtpDir(client, folder.getName())){
+            client.createDirectory(folder.getName());
+        }
+        client.changeDirectory(folder.getName());
+
+        String[] fileList = folder.list();
+        if(fileList == null){
+            return ;
+        }
+
+        for(String file : fileList){
+            File f = new File(folder, file);
+            if(f.isDirectory()){
+                uploadFolder(client, newURL(parentUrl, folder.getName()), f);
+            }else if(f.isFile()){
+                client.changeDirectory(parentUrl.getPath());
+                client.changeDirectory(folder.getName());
+                client.upload(f);
+            }
+        }
+    }
+
+    private static boolean existsFtpDir(FTPClient client, String dir)throws Exception{
+        FTPFile[] ftpFiles = client.list();
+        for(FTPFile ftpFile : ftpFiles){
+            if((ftpFile.getType() == FTPFile.TYPE_DIRECTORY) && (dir.equals(ftpFile.getName()))){
+                return true;
+            }
+        }
+        return false;
+    }
+
+//7. 判断是否存在文件或文件夹
+
+    public static boolean exists(URL url, String username, String password){
+        return exists(url, username, password, "UTF-8");
+
+    }
+    public static boolean exists(URL url, String username, String password, String encoding){
+        FTPClient client = new FTPClient();
+        client.setCharset(encoding);
+        client.setType(FTPClient.TYPE_AUTO);
+        client.setPassive(false);//设置被动模式 false
+
+        try {
+            int port = url.getPort();
+            if(port < 1){
+                port = 21;
+            }
+            String[] welcome = client.connect(url.getHost(), port);
+            ICLogger.i("welcome = " + welcome.length);
+            //登录验证
+            client.login(username, password);
+            String path = url.getPath();
+            ICLogger.i("path = " + path);
+            if(path.indexOf(".") != -1){//文件
+                int index = path.lastIndexOf("/");
+                String p = path.substring(0, index);
+                String f = path.substring(index + 1);
+                ICLogger.i("p = " + p + ", f = " + f);
+                client.changeDirectory(p);
+                FTPFile[] ftpFiles = client.list();
+                for(FTPFile ftpFile : ftpFiles){
+                    if((ftpFile.getType() == FTPFile.TYPE_FILE) && (ftpFile.getName().equals(f))){
+                        return true;
+                    }
+                }
+                return false;
+            }else{//文件夹
+                client.changeDirectory(path);
+            }
+            client.logout();
+            //安全退出
+            client.disconnect(true);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+
+        return true;
+    }
+
+//8. FTP服务器之间复制文件夹
+
+    public static void copyFolder(URL sourceUrl, String sourceUsername, String sourcePassword, String sourceEncoding, URL destUrl, String destUsername, String destPassword, String destEncoding, String tmpDir)throws IOException {
+        downloadFolder(sourceUrl, sourceUsername, sourcePassword, sourceEncoding, new File(tmpDir));
+        uploadFolder(destUrl, destUsername, destPassword, destEncoding, new File(tmpDir));
+        FileUtil.deleteFolder(tmpDir); //待实现
+    }
+    public static void copyFolder(URL sourceUrl, String sourceUsername, String sourcePassword, URL destUrl, String destUsername, String destPassword, String tmpDir)throws IOException{
+        copyFolder(sourceUrl, sourceUsername, sourcePassword, "UTF-8", destUrl, destUsername, destPassword, "UTF-8", tmpDir);
+    }
+
+//9.删除文件
+
+    public static void delete(URL url, String username, String password){
+        delete(url, username, password, "UTF-8");
+    }
+    public static void delete(URL url, String username, String password, String encoding){
+        FTPClient client = new FTPClient();
+        client.setCharset(encoding);
+        client.setType(FTPClient.TYPE_BINARY);
+        //连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21
+        try {
+            int port = url.getPort();
+            if(port < 1){
+                port = 21;
+            }
+            client.connect(url.getHost(), port);
+            //登录验证
+            client.login(username, password);
+            client.deleteFile(url.getPath());
+            client.logout();
+            //安全退出
+            client.disconnect(true);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
-package com.enqualcomm.support.utils;\r
-\r
-import com.enqualcomm.support.bean.Runtime;\r
-import com.enqualcomm.support.bean.StringMessage;\r
-import com.ic.protocols.protocolAPIHelper;\r
-import com.ic.protocols.protocol_mqtt_client;\r
-\r
-public class mqttConnection implements Connection {\r
-    private String topic_header = "";\r
-    private protocol_mqtt_client.MqttCallbackInterface mqttcallback = new protocol_mqtt_client.MqttCallbackInterface() {\r
-        @Override\r
-        public void onMqttConnected() {\r
-            ICLogger.i("onMqttConnected");\r
-            topic_header = "WBG100/v1/" + mRuntime.IMEI() + "/";\r
-            ICLogger.i("topic_header " + topic_header);\r
-            mqtt_client.setSubscriptTopicHeader(topic_header);\r
-            mqtt_client.attemptSubscribeToTopic(topic_header + "+");\r
-            isServerconnected = true;\r
-//            mRuntime.setServerProtocolConnected(true);\r
-            if (listener != null)\r
-                listener.onConnectionOpen();\r
-\r
-        }\r
-\r
-        @Override\r
-        public void onMqttDisconnected() {\r
-            ICLogger.i("onMqttDisconnected");\r
-            isServerconnected = false;\r
-            mRuntime.setServerProtocolConnected(false);\r
-            if (listener != null)\r
-                listener.onConnectionClose("");\r
-        }\r
-\r
-        @Override\r
-        public void handleMqttMessage(String cmdtype, byte[] msgdata) {\r
-            ICLogger.i("handleMqttMessage " + cmdtype + " " + new String(msgdata));\r
-            API.parserCmd(cmdtype, msgdata);\r
-        }\r
-\r
-        @Override\r
-        public void handleMqttMessage(String cmdtype, String msgdata) {\r
-            ICLogger.i("handleMqttMessage " + cmdtype + " " + msgdata);\r
-            API.parserCmd(cmdtype, msgdata.getBytes());\r
-        }\r
-    };\r
-\r
-    public mqttConnection(ConnectionListener paramConnectionListener, Runtime runtime) {\r
-        ICLogger.i("mqttConnection ");\r
-        mqtt_client = new protocol_mqtt_client(runtime.getContextProxy().context, mqttcallback);\r
-        listener = paramConnectionListener;\r
-        mRuntime = runtime;\r
-        if (API == null) API = new protocolAPIHelper(this, runtime);\r
-\r
-    }\r
-\r
-    private Runtime mRuntime = null;\r
-    private protocol_mqtt_client mqtt_client = null;\r
-\r
-    private static boolean isServerconnected = false;\r
-    private protocolAPIHelper API = null;\r
-    private ConnectionListener listener = null;\r
-\r
-    @Override\r
-    public void close() {\r
-\r
-    }\r
-\r
-    @Override\r
-    public void connect(String serverip, int serverport) {\r
-//        mqtt_client.attemptConnectMqtt(paramString,"IC_"+mRuntime.IMEI(),paramInt);\r
-        ICLogger.i("mqttconnect " + serverip + " " + serverport + " cycle " + mRuntime.getHeartBeatCycle() * 60 + " as " + "IC_" + mRuntime.IMEI());\r
-        mqtt_client.configMqtt(serverip, serverport, mRuntime.getHeartBeatCycle() * 60, "IC_" + mRuntime.IMEI());\r
-        mqtt_client.connectservice();\r
-        // if(isServerconnected) mqtt_client.attemptConnectMqtt();\r
-    }\r
-\r
-    @Override\r
-    public void disconnect() {\r
-        disconnectServer();\r
-    }\r
-\r
-    @Override\r
-    public boolean disconnectServer() {\r
-        mqtt_client.disconnect();\r
-        return true;\r
-    }\r
-\r
-    @Override\r
-    public int getTimeout() {\r
-\r
-        return 0;\r
-    }\r
-\r
-    @Override\r
-    public void open() {\r
-\r
-    }\r
-\r
-    @Override\r
-    public void send(StringMessage paramStringMessage) {\r
-\r
-        if (paramStringMessage == null) {\r
-            ICLogger.i("mqtt send StringMessage Null skip!");\r
-            return;\r
-        }\r
-        String topci = paramStringMessage.cmd();\r
-        String msgdata = paramStringMessage.isFromCache();\r
-        ICLogger.i("mqtt send " + topci + " " + msgdata);\r
-        if (topci.startsWith("WBG100/v1")) {\r
-            mqtt_client.sendMessage(topci, msgdata);\r
-            ICLogger.logToFile("APILog", "mqtt send " + topci + " " + msgdata);\r
-        } else {\r
-            ICLogger.i("mqtt topci foramt error " + topci);\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public void send(String cmd, byte[] bytes) {\r
-        mqtt_client.publish(cmd, bytes);\r
-    }\r
-\r
-    @Override\r
-    public boolean sendBlocking(StringMessage paramStringMessage) {\r
-        send(paramStringMessage);\r
-        return true;\r
-    }\r
-\r
-    @Override\r
-    public void setTimeout(int paramInt) {\r
-\r
-    }\r
-\r
-    @Override\r
-    public void DeliverCMDMessageToSystem(String cmd, String msg) {\r
-        if (this.listener != null) {\r
-            String[] msgArr = new String[]{cmd, msg};\r
-            StringMessage stringMessage = new StringMessage(msgArr);\r
-            stringMessage.refresh(msg);\r
-            this.listener.onReceive(stringMessage);\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public boolean isServerConnected() {\r
-        ICLogger.d("isServerconnected == > " + isServerconnected);\r
-        return isServerconnected;\r
-    }\r
-\r
-    @Override\r
-    public void onDestroy() {\r
-\r
-    }\r
-\r
-}\r
+package com.ic.protocolSrv.utils;
+
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocols.protocolAPIHelper;
+import com.ic.protocols.protocol_mqtt_client;
+
+public class mqttConnection implements Connection {
+    private String topic_header = "";
+    private protocol_mqtt_client.MqttCallbackInterface mqttcallback = new protocol_mqtt_client.MqttCallbackInterface() {
+        @Override
+        public void onMqttConnected() {
+            ICLogger.i("onMqttConnected");
+            topic_header = "WBG100/v1/" + mRuntime.IMEI() + "/";
+            ICLogger.i("topic_header " + topic_header);
+            mqtt_client.setSubscriptTopicHeader(topic_header);
+            mqtt_client.attemptSubscribeToTopic(topic_header + "+");
+            isServerconnected = true;
+//            mRuntime.setServerProtocolConnected(true);
+            if (listener != null)
+                listener.onConnectionOpen();
+
+        }
+
+        @Override
+        public void onMqttDisconnected() {
+            ICLogger.i("onMqttDisconnected");
+            isServerconnected = false;
+            mRuntime.setServerProtocolConnected(false);
+            if (listener != null)
+                listener.onConnectionClose("");
+        }
+
+        @Override
+        public void handleMqttMessage(String cmdtype, byte[] msgdata) {
+            ICLogger.i("handleMqttMessage " + cmdtype + " " + new String(msgdata));
+            API.parserCmd(cmdtype, msgdata);
+        }
+
+        @Override
+        public void handleMqttMessage(String cmdtype, String msgdata) {
+            ICLogger.i("handleMqttMessage " + cmdtype + " " + msgdata);
+            API.parserCmd(cmdtype, msgdata.getBytes());
+        }
+    };
+
+    public mqttConnection(ConnectionListener paramConnectionListener, Runtime runtime) {
+        ICLogger.i("mqttConnection ");
+        mqtt_client = new protocol_mqtt_client(runtime.getContextProxy().context, mqttcallback);
+        listener = paramConnectionListener;
+        mRuntime = runtime;
+        if (API == null) API = new protocolAPIHelper(this, runtime);
+
+    }
+
+    private Runtime mRuntime = null;
+    private protocol_mqtt_client mqtt_client = null;
+
+    private static boolean isServerconnected = false;
+    private protocolAPIHelper API = null;
+    private ConnectionListener listener = null;
+
+    @Override
+    public void close() {
+
+    }
+
+    @Override
+    public void connect(String serverip, int serverport) {
+//        mqtt_client.attemptConnectMqtt(paramString,"IC_"+mRuntime.IMEI(),paramInt);
+        ICLogger.i("mqttconnect " + serverip + " " + serverport + " cycle " + mRuntime.getHeartBeatCycle() * 60 + " as " + "IC_" + mRuntime.IMEI());
+        mqtt_client.configMqtt(serverip, serverport, mRuntime.getHeartBeatCycle() * 60, "IC_" + mRuntime.IMEI());
+        mqtt_client.connectservice();
+        // if(isServerconnected) mqtt_client.attemptConnectMqtt();
+    }
+
+    @Override
+    public void disconnect() {
+        disconnectServer();
+    }
+
+    @Override
+    public boolean disconnectServer() {
+        mqtt_client.disconnect();
+        return true;
+    }
+
+    @Override
+    public int getTimeout() {
+
+        return 0;
+    }
+
+    @Override
+    public void open() {
+
+    }
+
+    @Override
+    public void send(StringMessage paramStringMessage) {
+
+        if (paramStringMessage == null) {
+            ICLogger.i("mqtt send StringMessage Null skip!");
+            return;
+        }
+        String topci = paramStringMessage.cmd();
+        String msgdata = paramStringMessage.isFromCache();
+        ICLogger.i("mqtt send " + topci + " " + msgdata);
+        if (topci.startsWith("WBG100/v1")) {
+            mqtt_client.sendMessage(topci, msgdata);
+            ICLogger.logToFile("APILog", "mqtt send " + topci + " " + msgdata);
+        } else {
+            ICLogger.i("mqtt topci foramt error " + topci);
+        }
+    }
+
+    @Override
+    public void send(String cmd, byte[] bytes) {
+        mqtt_client.publish(cmd, bytes);
+    }
+
+    @Override
+    public boolean sendBlocking(StringMessage paramStringMessage) {
+        send(paramStringMessage);
+        return true;
+    }
+
+    @Override
+    public void setTimeout(int paramInt) {
+
+    }
+
+    @Override
+    public void DeliverCMDMessageToSystem(String cmd, String msg) {
+        if (this.listener != null) {
+            String[] msgArr = new String[]{cmd, msg};
+            StringMessage stringMessage = new StringMessage(msgArr);
+            stringMessage.refresh(msg);
+            this.listener.onReceive(stringMessage);
+        }
+    }
+
+    @Override
+    public boolean isServerConnected() {
+        ICLogger.d("isServerconnected == > " + isServerconnected);
+        return isServerconnected;
+    }
+
+    @Override
+    public void onDestroy() {
+
+    }
+
+}
-package com.enqualcomm.support.utils;\r
-\r
-import java.util.regex.Matcher;\r
-import java.util.regex.Pattern;\r
-\r
-/***********************************************\r
- * 正则表达式工具\r
- *\r
- * @author chen.lin\r
- * @version 1.0\r
- ************************************************/\r
-\r
-public class regexUtil {\r
-\r
-\r
-        public static final Pattern PATTERN_FZD_CMD_HEADER= Pattern\r
-                .compile("IC\\*\\d{15}\\*\\d*\\*[a-zA-Z0-9]+$");\r
-        /**\r
-         * 车牌号码Pattern\r
-         */\r
-        public static final Pattern PLATE_NUMBER_PATTERN = Pattern\r
-                .compile("^[\u0391-\uFFE5]{1}[a-zA-Z0-9]{6}$");\r
-\r
-        /**\r
-         * 证件号码Pattern\r
-         */\r
-        public static final Pattern ID_CODE_PATTERN = Pattern\r
-                .compile("^[a-zA-Z0-9]+$");\r
-\r
-        /**\r
-         * 编码Pattern\r
-         */\r
-        public static final Pattern CODE_PATTERN = Pattern\r
-                .compile("^[a-zA-Z0-9]+$");\r
-\r
-        /**\r
-         * 固定电话编码Pattern\r
-         */\r
-        public static final Pattern PHONE_NUMBER_PATTERN = Pattern\r
-                .compile("0\\d{2,3}-[0-9]+");\r
-\r
-        /**\r
-         * 邮政编码Pattern\r
-         */\r
-        public static final Pattern POST_CODE_PATTERN = Pattern.compile("\\d{6}");\r
-\r
-        /**\r
-         * 面积Pattern\r
-         */\r
-        public static final Pattern AREA_PATTERN = Pattern.compile("\\d*.?\\d*");\r
-\r
-        /**\r
-         * 手机号码Pattern\r
-         */\r
-        public static final Pattern MOBILE_NUMBER_PATTERN = Pattern\r
-                .compile("\\d{11}");\r
-\r
-        /**\r
-         * 银行帐号Pattern\r
-         */\r
-        public static final Pattern ACCOUNT_NUMBER_PATTERN = Pattern\r
-                .compile("\\d{16,21}");\r
-\r
-        /**\r
-         * 车牌号码是否正确\r
-         *\r
-         * @param s\r
-         * @return\r
-         */\r
-        public static boolean isPlateNumber(String s) {\r
-            Matcher m = PLATE_NUMBER_PATTERN.matcher(s);\r
-            return m.matches();\r
-        }\r
-\r
-        /**\r
-         * 证件号码是否正确\r
-         *\r
-         * @param s\r
-         * @return\r
-         */\r
-        public static boolean isIDCode(String s) {\r
-            Matcher m = ID_CODE_PATTERN.matcher(s);\r
-            return m.matches();\r
-        }\r
-\r
-        /**\r
-         * 编码是否正确\r
-         *\r
-         * @param s\r
-         * @return\r
-         */\r
-        public static boolean isCode(String s) {\r
-            Matcher m = CODE_PATTERN.matcher(s);\r
-            return m.matches();\r
-        }\r
-\r
-        /**\r
-         * 固话编码是否正确\r
-         *\r
-         * @param s\r
-         * @return\r
-         */\r
-        public static boolean isPhoneNumber(String s) {\r
-            Matcher m = PHONE_NUMBER_PATTERN.matcher(s);\r
-            return m.matches();\r
-        }\r
-\r
-        /**\r
-         * 邮政编码是否正确\r
-         *\r
-         * @param s\r
-         * @return\r
-         */\r
-        public static boolean isPostCode(String s) {\r
-            Matcher m = POST_CODE_PATTERN.matcher(s);\r
-            return m.matches();\r
-        }\r
-\r
-        /**\r
-         * 面积是否正确\r
-         *\r
-         * @param s\r
-         * @return\r
-         */\r
-        public static boolean isArea(String s) {\r
-            Matcher m = AREA_PATTERN.matcher(s);\r
-            return m.matches();\r
-        }\r
-\r
-        /**\r
-         * 手机号码否正确\r
-         *\r
-         * @param s\r
-         * @return\r
-         */\r
-        public static boolean isMobileNumber(String s) {\r
-            Matcher m = MOBILE_NUMBER_PATTERN.matcher(s);\r
-            return m.matches();\r
-        }\r
-\r
-        /**\r
-         * 银行账号否正确\r
-         *\r
-         * @param s\r
-         * @return\r
-         */\r
-        public static boolean isAccountNumber(String s) {\r
-            Matcher m = ACCOUNT_NUMBER_PATTERN.matcher(s);\r
-            return m.matches();\r
-        }\r
-\r
-\r
-        public static boolean isFZDCMD(String s){\r
-            return Pattern.compile("IC\\*\\d{15}\\*[a-fA-F0-9]{4}\\*[a-zA-Z0-9]+$").matcher(s).matches();\r
-        }\r
-        public static boolean isFZDCompanyCMD(String company,String s){\r
-            return Pattern.compile(company+"\\*\\d{15}\\*[a-fA-F0-9]{4}\\*[a-zA-Z0-9]+$").matcher(s).matches();\r
-        }\r
-        public static boolean isFZDCompanyCMD(String company,String cmd, String s){\r
-            return Pattern.compile(company+"\\*\\d{15}\\*[a-fA-F0-9]{4}\\*"+cmd).matcher(s).matches();\r
-        }\r
-        public static boolean isFZDCMD(String cmd, String s){\r
-           return Pattern.compile("IC\\*\\d{15}\\*[a-fA-F0-9]{4}\\*"+cmd).matcher(s).matches();\r
-        }\r
-\r
-        public static boolean isGatorCMD(String s){\r
-            return  Pattern.compile("\\([a-fA-F0-9]{4}\\d{15}[a-zA-Z0-9]{4}.*").matcher(s).matches();\r
-        }\r
-        public static boolean isGatorCMD(String cmd, String s){\r
-            return  Pattern.compile("\\([a-fA-F0-9]{4}\\d{15}"+cmd+".*").matcher(s).matches();\r
-        }\r
-\r
-}\r
+package com.ic.protocolSrv.utils;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/***********************************************
+ * 正则表达式工具
+ *
+ * @author chen.lin
+ * @version 1.0
+ ************************************************/
+
+public class regexUtil {
+
+
+        public static final Pattern PATTERN_FZD_CMD_HEADER= Pattern
+                .compile("IC\\*\\d{15}\\*\\d*\\*[a-zA-Z0-9]+$");
+        /**
+         * 车牌号码Pattern
+         */
+        public static final Pattern PLATE_NUMBER_PATTERN = Pattern
+                .compile("^[\u0391-\uFFE5]{1}[a-zA-Z0-9]{6}$");
+
+        /**
+         * 证件号码Pattern
+         */
+        public static final Pattern ID_CODE_PATTERN = Pattern
+                .compile("^[a-zA-Z0-9]+$");
+
+        /**
+         * 编码Pattern
+         */
+        public static final Pattern CODE_PATTERN = Pattern
+                .compile("^[a-zA-Z0-9]+$");
+
+        /**
+         * 固定电话编码Pattern
+         */
+        public static final Pattern PHONE_NUMBER_PATTERN = Pattern
+                .compile("0\\d{2,3}-[0-9]+");
+
+        /**
+         * 邮政编码Pattern
+         */
+        public static final Pattern POST_CODE_PATTERN = Pattern.compile("\\d{6}");
+
+        /**
+         * 面积Pattern
+         */
+        public static final Pattern AREA_PATTERN = Pattern.compile("\\d*.?\\d*");
+
+        /**
+         * 手机号码Pattern
+         */
+        public static final Pattern MOBILE_NUMBER_PATTERN = Pattern
+                .compile("\\d{11}");
+
+        /**
+         * 银行帐号Pattern
+         */
+        public static final Pattern ACCOUNT_NUMBER_PATTERN = Pattern
+                .compile("\\d{16,21}");
+
+        /**
+         * 车牌号码是否正确
+         *
+         * @param s
+         * @return
+         */
+        public static boolean isPlateNumber(String s) {
+            Matcher m = PLATE_NUMBER_PATTERN.matcher(s);
+            return m.matches();
+        }
+
+        /**
+         * 证件号码是否正确
+         *
+         * @param s
+         * @return
+         */
+        public static boolean isIDCode(String s) {
+            Matcher m = ID_CODE_PATTERN.matcher(s);
+            return m.matches();
+        }
+
+        /**
+         * 编码是否正确
+         *
+         * @param s
+         * @return
+         */
+        public static boolean isCode(String s) {
+            Matcher m = CODE_PATTERN.matcher(s);
+            return m.matches();
+        }
+
+        /**
+         * 固话编码是否正确
+         *
+         * @param s
+         * @return
+         */
+        public static boolean isPhoneNumber(String s) {
+            Matcher m = PHONE_NUMBER_PATTERN.matcher(s);
+            return m.matches();
+        }
+
+        /**
+         * 邮政编码是否正确
+         *
+         * @param s
+         * @return
+         */
+        public static boolean isPostCode(String s) {
+            Matcher m = POST_CODE_PATTERN.matcher(s);
+            return m.matches();
+        }
+
+        /**
+         * 面积是否正确
+         *
+         * @param s
+         * @return
+         */
+        public static boolean isArea(String s) {
+            Matcher m = AREA_PATTERN.matcher(s);
+            return m.matches();
+        }
+
+        /**
+         * 手机号码否正确
+         *
+         * @param s
+         * @return
+         */
+        public static boolean isMobileNumber(String s) {
+            Matcher m = MOBILE_NUMBER_PATTERN.matcher(s);
+            return m.matches();
+        }
+
+        /**
+         * 银行账号否正确
+         *
+         * @param s
+         * @return
+         */
+        public static boolean isAccountNumber(String s) {
+            Matcher m = ACCOUNT_NUMBER_PATTERN.matcher(s);
+            return m.matches();
+        }
+
+
+        public static boolean isFZDCMD(String s){
+            return Pattern.compile("IC\\*\\d{15}\\*[a-fA-F0-9]{4}\\*[a-zA-Z0-9]+$").matcher(s).matches();
+        }
+        public static boolean isFZDCompanyCMD(String company,String s){
+            return Pattern.compile(company+"\\*\\d{15}\\*[a-fA-F0-9]{4}\\*[a-zA-Z0-9]+$").matcher(s).matches();
+        }
+        public static boolean isFZDCompanyCMD(String company,String cmd, String s){
+            return Pattern.compile(company+"\\*\\d{15}\\*[a-fA-F0-9]{4}\\*"+cmd).matcher(s).matches();
+        }
+        public static boolean isFZDCMD(String cmd, String s){
+           return Pattern.compile("IC\\*\\d{15}\\*[a-fA-F0-9]{4}\\*"+cmd).matcher(s).matches();
+        }
+
+        public static boolean isGatorCMD(String s){
+            return  Pattern.compile("\\([a-fA-F0-9]{4}\\d{15}[a-zA-Z0-9]{4}.*").matcher(s).matches();
+        }
+        public static boolean isGatorCMD(String cmd, String s){
+            return  Pattern.compile("\\([a-fA-F0-9]{4}\\d{15}"+cmd+".*").matcher(s).matches();
+        }
+
+}
@@ -1,63 +1,63 @@
-package com.enqualcomm.support.utils;\r
-\r
-\r
-import java.lang.reflect.InvocationTargetException;\r
-import java.lang.reflect.Method;\r
-\r
-public class sysProperties {\r
-\r
-    private static Method sysPropGet;\r
-    private static Method sysPropSet;\r
-\r
-    private sysProperties() {\r
-    }\r
-\r
-    static {\r
-        try {\r
-            Class  S = Class.forName("android.os.SystemProperties");\r
-            Method M[] = S.getMethods();\r
-            for (Method m : M) {\r
-                String n = m.getName();\r
-                if (n.equals("get")) {\r
-                    sysPropGet = m;\r
-                } else if (n.equals("set")) {\r
-                    sysPropSet = m;\r
-                }\r
-            }\r
-        } catch (ClassNotFoundException e) {\r
-            e.printStackTrace();\r
-            ICLogger.e(e.getMessage(),e);\r
-        }\r
-    }\r
-\r
-    public static String get(String name, String default_value) {\r
-        try {\r
-            return (String) sysPropGet.invoke(null, name, default_value);\r
-        } catch (IllegalArgumentException e) {\r
-            e.printStackTrace();\r
-            ICLogger.e(e.getMessage(),e);\r
-        } catch (IllegalAccessException e) {\r
-            e.printStackTrace();\r
-            ICLogger.e(e.getMessage(),e);\r
-        } catch (InvocationTargetException e) {\r
-            e.printStackTrace();\r
-            ICLogger.e(e.getMessage(),e);\r
-        }\r
-        return default_value;\r
-    }\r
-\r
-    public static void set(String name, String value) {\r
-        try {\r
-            sysPropSet.invoke(null, name, value);\r
-        } catch (IllegalArgumentException e) {\r
-            e.printStackTrace();\r
-            ICLogger.e(e.getMessage(),e);\r
-        } catch (IllegalAccessException e) {\r
-            e.printStackTrace();\r
-            ICLogger.e(e.getMessage(),e);\r
-        } catch (InvocationTargetException e) {\r
-            e.printStackTrace();\r
-            ICLogger.e(e.getMessage(),e);\r
-        }\r
-    }\r
+package com.ic.protocolSrv.utils;
+
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+public class sysProperties {
+
+    private static Method sysPropGet;
+    private static Method sysPropSet;
+
+    private sysProperties() {
+    }
+
+    static {
+        try {
+            Class  S = Class.forName("android.os.SystemProperties");
+            Method M[] = S.getMethods();
+            for (Method m : M) {
+                String n = m.getName();
+                if (n.equals("get")) {
+                    sysPropGet = m;
+                } else if (n.equals("set")) {
+                    sysPropSet = m;
+                }
+            }
+        } catch (ClassNotFoundException e) {
+            e.printStackTrace();
+            ICLogger.e(e.getMessage(),e);
+        }
+    }
+
+    public static String get(String name, String default_value) {
+        try {
+            return (String) sysPropGet.invoke(null, name, default_value);
+        } catch (IllegalArgumentException e) {
+            e.printStackTrace();
+            ICLogger.e(e.getMessage(),e);
+        } catch (IllegalAccessException e) {
+            e.printStackTrace();
+            ICLogger.e(e.getMessage(),e);
+        } catch (InvocationTargetException e) {
+            e.printStackTrace();
+            ICLogger.e(e.getMessage(),e);
+        }
+        return default_value;
+    }
+
+    public static void set(String name, String value) {
+        try {
+            sysPropSet.invoke(null, name, value);
+        } catch (IllegalArgumentException e) {
+            e.printStackTrace();
+            ICLogger.e(e.getMessage(),e);
+        } catch (IllegalAccessException e) {
+            e.printStackTrace();
+            ICLogger.e(e.getMessage(),e);
+        } catch (InvocationTargetException e) {
+            e.printStackTrace();
+            ICLogger.e(e.getMessage(),e);
+        }
+    }
 }
\ No newline at end of file
index 48da1cb..67ae828 100644 (file)
@@ -1,17 +1,17 @@
 package com.ic.protocols;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.SleepInfo;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.utils.AESCipher;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.MakeFriendsBtHelper;
-import com.enqualcomm.support.utils.MakeFriendsLocationHelper;
-
-import static com.enqualcomm.support.Config.PROTOCOL_ANAN;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.SleepInfo;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.utils.AESCipher;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.MakeFriendsBtHelper;
+import com.ic.protocolSrv.utils.MakeFriendsLocationHelper;
+
+import static com.ic.protocolSrv.Config.PROTOCOL_ANAN;
 
 
 public class protocolAPIHelper {
index ccd174d..cdb679b 100644 (file)
@@ -19,30 +19,30 @@ import android.view.Gravity;
 import android.view.View;
 import android.view.WindowManager;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.Constants;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.Alarm;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.Content;
-import com.enqualcomm.support.bean.ICLocation;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.bean.VoiceContent;
-import com.enqualcomm.support.bean.voicePacket;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.ICMembersProvider;
-import com.enqualcomm.support.provider.ICGlobalSettingsProvider;
-import com.enqualcomm.support.service.HeartRateManager;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.ProfileManager;
-import com.enqualcomm.support.utils.SharePreferenceUtil;
-import com.enqualcomm.support.utils.TemperatureUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.VibrateUtil;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.Constants;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.Alarm;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Content;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.bean.VoiceContent;
+import com.ic.protocolSrv.bean.voicePacket;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.ICMembersProvider;
+import com.ic.protocolSrv.provider.ICGlobalSettingsProvider;
+import com.ic.protocolSrv.service.HeartRateManager;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.ProfileManager;
+import com.ic.protocolSrv.utils.SharePreferenceUtil;
+import com.ic.protocolSrv.utils.TemperatureUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.VibrateUtil;
 import com.ic.s123.GenericWeatherInfo;
 
 import java.io.File;
@@ -53,8 +53,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
 
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.bean.Contact.GROUP_ALL;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.bean.Contact.GROUP_ALL;
 import static com.ic.protocols.protocol_anan.CMD_TYPE.AP32;
 import static com.ic.protocols.protocol_anan.CMD_TYPE.BP75;
 import static com.ic.protocols.protocol_anan.CMD_TYPE.BPSW;
@@ -1085,7 +1085,7 @@ public class protocol_anan {
     public void handleBP00(Runtime runtime, String cmd) {
         String[] msg = cmd.split(CMDSPLIT);
 //        get Msg :IWBP00,20191229171933,8# (size)24
-//        12-30 01:19:33.861 6492-6492/com.enqualcomm.support I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8
+//        12-30 01:19:33.861 6492-6492/com.ic.protocolSrv I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8
 
         if (msg.length >= 3) {
             ICLogger.d("handleBP00 Set Datetime " + msg[1]);
index 5aa1530..86f447a 100644 (file)
@@ -5,32 +5,32 @@ import android.content.Intent;
 import android.net.Uri;
 import android.os.Environment;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.bean.Alarm;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.Content;
-import com.enqualcomm.support.bean.ICLocation;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.bean.VoiceContent;
-import com.enqualcomm.support.bean.voicePacket;
-import com.enqualcomm.support.service.HeartRateManager;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.DeviceInfoUtil;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.TemperatureUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.bean.Alarm;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Content;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.bean.VoiceContent;
+import com.ic.protocolSrv.bean.voicePacket;
+import com.ic.protocolSrv.service.HeartRateManager;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.DeviceInfoUtil;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.TemperatureUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
 
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.LocationClient.LOCATION_MODE;
-import static com.enqualcomm.support.bean.Contact.GROUP_ALL;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.LocationClient.LOCATION_MODE;
+import static com.ic.protocolSrv.bean.Contact.GROUP_ALL;
 import static java.lang.Math.abs;
 
 public class protocol_beehome {
@@ -372,7 +372,7 @@ public class protocol_beehome {
     public void handleBP00(Runtime runtime, String cmd) {
         String[] msg = cmd.split(CMDSPLIT);
 //        get Msg :IWBP00,20191229171933,8# (size)24
-//        12-30 01:19:33.861 6492-6492/com.enqualcomm.support I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8
+//        12-30 01:19:33.861 6492-6492/com.ic.protocolSrv I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8
 
         if (msg.length >= 3) {
             log("handleBP00", "Set Datetime " + msg[1]);
@@ -1459,7 +1459,7 @@ public class protocol_beehome {
 
     public void sendBroadcast(String cmd, Runtime dev) {
 
-        ComponentName componentName = new ComponentName("com.eqc.watch", "com.eqc.watch.launcher.ChatActivity");
+        ComponentName componentName = new ComponentName("com.ic.watch", "com.ic.watch.launcher.ChatActivity");
         Intent intent = new Intent("android.intent.action.MAIN");
 //              intent.putExtra("ACTIVITY_TYPE", 2);
 //              intent.addCategory("android.intent.category.DEFAULT");
index 56bc894..805c3c2 100644 (file)
@@ -25,33 +25,33 @@ import android.os.RemoteCallbackList;
 import android.support.v4.app.ActivityCompat;
 import android.text.TextUtils;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.IFZDCallback;
-import com.enqualcomm.support.bean.Alarm;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.HealthInfo;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.Silent;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.ICFollowProvider;
-import com.enqualcomm.support.provider.ICMembersProvider;
-import com.enqualcomm.support.provider.WeTalkMessageProvider;
-import com.enqualcomm.support.provider.ICGlobalSettingsProvider;
-import com.enqualcomm.support.service.HeartRateManager;
-import com.enqualcomm.support.utils.AlarmHelper;
-import com.enqualcomm.support.utils.CameraUtil;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.HeartRateOxygenTestType;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.MD5;
-import com.enqualcomm.support.utils.ProfileManager;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.WifiSupport;
-import com.enqualcomm.support.utils.regexUtil;
-import com.ic.fzd.weather.FZDWeatherInfo;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.IFZDCallback;
+import com.ic.protocolSrv.bean.Alarm;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.HealthInfo;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.Silent;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.ICFollowProvider;
+import com.ic.protocolSrv.provider.ICMembersProvider;
+import com.ic.protocolSrv.provider.WeTalkMessageProvider;
+import com.ic.protocolSrv.provider.ICGlobalSettingsProvider;
+import com.ic.protocolSrv.service.HeartRateManager;
+import com.ic.protocolSrv.utils.AlarmHelper;
+import com.ic.protocolSrv.utils.CameraUtil;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.HeartRateOxygenTestType;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.MD5;
+import com.ic.protocolSrv.utils.ProfileManager;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.WifiSupport;
+import com.ic.protocolSrv.utils.regexUtil;
+import com.ic.protocolSrv.weather.FZDWeatherInfo;
 import com.sina.util.dnscache.AppConfigUtil;
 
 import java.io.ByteArrayOutputStream;
@@ -67,10 +67,10 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.UUID;
 
-import static com.enqualcomm.support.Constants.ALARM_POWER_OFF;
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.Constants.contact;
-import static com.enqualcomm.support.LocationClient.LOCATION_MODE;
+import static com.ic.protocolSrv.Constants.ALARM_POWER_OFF;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.Constants.contact;
+import static com.ic.protocolSrv.LocationClient.LOCATION_MODE;
 import static java.lang.Math.abs;
 
 //import android.content.IClipboard;
@@ -1477,7 +1477,7 @@ public class protocol_fzd {
 
     public void sendBroadcast(String cmd, Runtime dev) {
 
-        ComponentName componentName = new ComponentName("com.eqc.watch", "com.eqc.watch.launcher.ChatActivity");
+        ComponentName componentName = new ComponentName("com.ic.watch", "com.ic.watch.launcher.ChatActivity");
         Intent intent = new Intent("android.intent.action.MAIN");
 //              intent.putExtra("ACTIVITY_TYPE", 2);
 //              intent.addCategory("android.intent.category.DEFAULT");
index e673235..8074079 100644 (file)
@@ -10,29 +10,29 @@ import android.os.HandlerThread;
 import android.text.TextUtils;
 import android.util.Log;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.bean.Alarm;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.Content;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.Silent;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.bean.VoiceContent;
-import com.enqualcomm.support.bean.voicePacket;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.ICMembersProvider;
-import com.enqualcomm.support.provider.WeTalkMessageProvider;
-import com.enqualcomm.support.utils.AESCipher;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.DeviceInfoUtil;
-import com.enqualcomm.support.utils.ICAudioManager;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.LanguageUtils;
-import com.enqualcomm.support.utils.MakeFriendsBtHelper;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.regexUtil;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.bean.Alarm;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Content;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.Silent;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.bean.VoiceContent;
+import com.ic.protocolSrv.bean.voicePacket;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.ICMembersProvider;
+import com.ic.protocolSrv.provider.WeTalkMessageProvider;
+import com.ic.protocolSrv.utils.AESCipher;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.DeviceInfoUtil;
+import com.ic.protocolSrv.utils.ICAudioManager;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.LanguageUtils;
+import com.ic.protocolSrv.utils.MakeFriendsBtHelper;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.regexUtil;
 
 import java.io.File;
 import java.io.IOException;
@@ -41,8 +41,8 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 
-import static com.enqualcomm.support.bean.Contact.GROUP_ALL;
-import static com.enqualcomm.support.bean.Content.CONTACT_CATEGORY_GROUP;
+import static com.ic.protocolSrv.bean.Contact.GROUP_ALL;
+import static com.ic.protocolSrv.bean.Content.CONTACT_CATEGORY_GROUP;
 
 /**
  * IC协议
index 82b4bee..257ecda 100644 (file)
@@ -9,28 +9,28 @@ import android.os.Handler;
 import android.os.HandlerThread;
 import android.text.TextUtils;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.Constants;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.Alarm;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.Content;
-import com.enqualcomm.support.bean.ICLocation;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.bean.VoiceContent;
-import com.enqualcomm.support.bean.voicePacket;
-import com.enqualcomm.support.service.HeartRateManager;
-import com.enqualcomm.support.utils.CameraUtil;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.ICAudioManager;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.TemperatureUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.VibrateUtil;
-import com.enqualcomm.support.utils.WakeLockUtil;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.Constants;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.Alarm;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Content;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.bean.VoiceContent;
+import com.ic.protocolSrv.bean.voicePacket;
+import com.ic.protocolSrv.service.HeartRateManager;
+import com.ic.protocolSrv.utils.CameraUtil;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ICAudioManager;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.TemperatureUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.VibrateUtil;
+import com.ic.protocolSrv.utils.WakeLockUtil;
 import com.ic.view.msg.MsgMustReadDialog;
 
 import java.io.File;
@@ -41,10 +41,10 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
 
-import static com.enqualcomm.support.Constants.DIALOG_ACTION;
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.LocationClient.LOCATION_MODE;
-import static com.enqualcomm.support.bean.Contact.GROUP_ALL;
+import static com.ic.protocolSrv.Constants.DIALOG_ACTION;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.LocationClient.LOCATION_MODE;
+import static com.ic.protocolSrv.bean.Contact.GROUP_ALL;
 import static java.lang.Math.abs;
 
 /**
@@ -474,7 +474,7 @@ public class protocol_ic {
     public void handleBP00(Runtime runtime, String cmd) {
         String[] msg = cmd.split(CMDSPLIT);
 //        get Msg :IWBP00,20191229171933,8# (size)24
-//        12-30 01:19:33.861 6492-6492/com.enqualcomm.support I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8
+//        12-30 01:19:33.861 6492-6492/com.ic.protocolSrv I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8
 
         if (msg.length >= 3) {
             log("handleBP00", "Set Datetime " + msg[1]);
@@ -1593,7 +1593,7 @@ public class protocol_ic {
 
     public void sendBroadcast(String cmd, Runtime dev) {
 
-        ComponentName componentName = new ComponentName("com.eqc.watch", "com.eqc.watch.launcher.ChatActivity");
+        ComponentName componentName = new ComponentName("com.ic.watch", "com.ic.watch.launcher.ChatActivity");
         Intent intent = new Intent("android.intent.action.MAIN");
 //              intent.putExtra("ACTIVITY_TYPE", 2);
 //              intent.addCategory("android.intent.category.DEFAULT");
@@ -2370,7 +2370,7 @@ public class protocol_ic {
             if (cdd.equals("1")) {
                 //delay 启动
 
-//            Intent intent = new Intent(context, com.enqualcomm.support.CoreService.class);
+//            Intent intent = new Intent(context, com.ic.protocolSrv.CoreService.class);
 //            intent.setAction(ACTION_REMOTE_CAMERA);
 //            intent.putExtra("remote_number", id);
 //                context.startService(intent);
index ab09b1d..2a88e01 100644 (file)
@@ -5,31 +5,31 @@ import android.content.Intent;
 import android.net.Uri;
 import android.os.Environment;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.bean.Alarm;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.Content;
-import com.enqualcomm.support.bean.ICLocation;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.bean.VoiceContent;
-import com.enqualcomm.support.bean.voicePacket;
-import com.enqualcomm.support.service.HeartRateManager;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.LanguageUtils;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.bean.Alarm;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Content;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.bean.VoiceContent;
+import com.ic.protocolSrv.bean.voicePacket;
+import com.ic.protocolSrv.service.HeartRateManager;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.LanguageUtils;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
 
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.LocationClient.LOCATION_MODE;
-import static com.enqualcomm.support.bean.Contact.GROUP_ALL;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.LocationClient.LOCATION_MODE;
+import static com.ic.protocolSrv.bean.Contact.GROUP_ALL;
 import static java.lang.Math.abs;
 
 public class protocol_jiai {
@@ -361,7 +361,7 @@ public class protocol_jiai {
     public void handleBP00(Runtime runtime, String cmd) {
         String[] msg = cmd.split(CMDSPLIT);
 //        get Msg :IWBP00,20191229171933,8# (size)24
-//        12-30 01:19:33.861 6492-6492/com.enqualcomm.support I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8
+//        12-30 01:19:33.861 6492-6492/com.ic.protocolSrv I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8
 
         if (msg.length >= 3) {
             log("handleBP00", "Set Datetime " + msg[1]);
@@ -1480,7 +1480,7 @@ public class protocol_jiai {
 
     public void sendBroadcast(String cmd, Runtime dev) {
 
-        ComponentName componentName = new ComponentName("com.eqc.watch", "com.eqc.watch.launcher.ChatActivity");
+        ComponentName componentName = new ComponentName("com.ic.watch", "com.ic.watch.launcher.ChatActivity");
         Intent intent = new Intent("android.intent.action.MAIN");
 //              intent.putExtra("ACTIVITY_TYPE", 2);
 //              intent.addCategory("android.intent.category.DEFAULT");
index 6f7cb7e..0272996 100644 (file)
@@ -4,24 +4,24 @@ import android.content.ComponentName;
 import android.content.Intent;
 import android.text.TextUtils;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.service.HeartRateManager;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.TemperatureUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.regexUtil;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.service.HeartRateManager;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.TemperatureUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.regexUtil;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.LocationClient.LOCATION_MODE;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.LocationClient.LOCATION_MODE;
 import static java.lang.Math.abs;
 
 //import android.content.IClipboard;
@@ -862,7 +862,7 @@ public class protocol_mqtt {
 
     public void sendBroadcast(String cmd, Runtime dev) {
 
-        ComponentName componentName = new ComponentName("com.eqc.watch", "com.eqc.watch.launcher.ChatActivity");
+        ComponentName componentName = new ComponentName("com.ic.watch", "com.ic.watch.launcher.ChatActivity");
         Intent intent = new Intent("android.intent.action.MAIN");
 //              intent.putExtra("ACTIVITY_TYPE", 2);
 //              intent.addCategory("android.intent.category.DEFAULT");
index 1988ffd..c993098 100644 (file)
@@ -10,8 +10,8 @@ import android.os.IBinder;
 import android.os.Message;
 import android.util.Log;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.utils.ICLogger;
 
 import se.wetcat.qatja.MQTTConstants;
 import se.wetcat.qatja.android.MQTTConnectionConstants;
index a1dc000..5492490 100644 (file)
@@ -20,37 +20,37 @@ import android.telephony.CellInfoWcdma;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 
-import com.enqualcomm.support.Config;
-import com.enqualcomm.support.Constants;
-import com.enqualcomm.support.CoreService;
-import com.enqualcomm.support.ICSmsManager;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.bean.Alarm;
-import com.enqualcomm.support.bean.Contact;
-import com.enqualcomm.support.bean.Content;
-import com.enqualcomm.support.bean.ICLocation;
-import com.enqualcomm.support.bean.Runtime;
-import com.enqualcomm.support.bean.StringMessage;
-import com.enqualcomm.support.bean.VoiceContent;
-import com.enqualcomm.support.bean.voicePacket;
-import com.enqualcomm.support.provider.ICAlarmProvider;
-import com.enqualcomm.support.provider.ICDatabaseHelper;
-import com.enqualcomm.support.provider.ICGlobalSettingsProvider;
-import com.enqualcomm.support.provider.ICMembersProvider;
-import com.enqualcomm.support.provider.ShootTextProvider;
-import com.enqualcomm.support.provider.WebSmsProvider;
-import com.enqualcomm.support.service.Deliver;
-import com.enqualcomm.support.service.HeartRateManager;
-import com.enqualcomm.support.utils.APNUtil;
-import com.enqualcomm.support.utils.CameraUtil;
-import com.enqualcomm.support.utils.Connection;
-import com.enqualcomm.support.utils.ICAudioManager;
-import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.TemperatureUtil;
-import com.enqualcomm.support.utils.TimeUtil;
-import com.enqualcomm.support.utils.Util;
-import com.enqualcomm.support.utils.VibrateUtil;
-import com.enqualcomm.support.utils.WakeLockUtil;
+import com.ic.protocolSrv.Config;
+import com.ic.protocolSrv.Constants;
+import com.ic.protocolSrv.CoreService;
+import com.ic.protocolSrv.ICSmsManager;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.bean.Alarm;
+import com.ic.protocolSrv.bean.Contact;
+import com.ic.protocolSrv.bean.Content;
+import com.ic.protocolSrv.bean.ICLocation;
+import com.ic.protocolSrv.bean.Runtime;
+import com.ic.protocolSrv.bean.StringMessage;
+import com.ic.protocolSrv.bean.VoiceContent;
+import com.ic.protocolSrv.bean.voicePacket;
+import com.ic.protocolSrv.provider.ICAlarmProvider;
+import com.ic.protocolSrv.provider.ICDatabaseHelper;
+import com.ic.protocolSrv.provider.ICGlobalSettingsProvider;
+import com.ic.protocolSrv.provider.ICMembersProvider;
+import com.ic.protocolSrv.provider.ShootTextProvider;
+import com.ic.protocolSrv.provider.WebSmsProvider;
+import com.ic.protocolSrv.service.Deliver;
+import com.ic.protocolSrv.service.HeartRateManager;
+import com.ic.protocolSrv.utils.APNUtil;
+import com.ic.protocolSrv.utils.CameraUtil;
+import com.ic.protocolSrv.utils.Connection;
+import com.ic.protocolSrv.utils.ICAudioManager;
+import com.ic.protocolSrv.utils.ICLogger;
+import com.ic.protocolSrv.utils.TemperatureUtil;
+import com.ic.protocolSrv.utils.TimeUtil;
+import com.ic.protocolSrv.utils.Util;
+import com.ic.protocolSrv.utils.VibrateUtil;
+import com.ic.protocolSrv.utils.WakeLockUtil;
 import com.ic.s123.GenericWeatherInfo;
 import com.ic.view.msg.MsgMustReadDialog;
 
@@ -62,11 +62,11 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
 
-import static com.enqualcomm.support.Constants.ACTION_ALARM_ALARM_CHANGE;
-import static com.enqualcomm.support.Constants.DIALOG_ACTION;
-import static com.enqualcomm.support.Constants.FROM_SERVER;
-import static com.enqualcomm.support.LocationClient.LOCATION_MODE;
-import static com.enqualcomm.support.bean.Contact.GROUP_ALL;
+import static com.ic.protocolSrv.Constants.ACTION_ALARM_ALARM_CHANGE;
+import static com.ic.protocolSrv.Constants.DIALOG_ACTION;
+import static com.ic.protocolSrv.Constants.FROM_SERVER;
+import static com.ic.protocolSrv.LocationClient.LOCATION_MODE;
+import static com.ic.protocolSrv.bean.Contact.GROUP_ALL;
 import static java.lang.Math.abs;
 
 /**
@@ -750,7 +750,7 @@ public class protocol_s123 {
     public void handleBP00(Runtime runtime, String cmd) {
         String[] msg = cmd.split(CMDSPLIT);
         //get Msg :IWBP00,20191229171933,8# (size)24
-        // 12-30 01:19:33.861 6492-6492/com.enqualcomm.support I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8
+        // 12-30 01:19:33.861 6492-6492/com.ic.protocolSrv I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8
         if (msg.length >= 3) {
             log("handleBP00", "Set Datetime " + msg[1]);
             log("handleBP00", "Set TimeZone " + msg[2]);
@@ -1925,7 +1925,7 @@ public class protocol_s123 {
 
     public void sendBroadcast(String cmd, Runtime dev) {
 
-        ComponentName componentName = new ComponentName("com.eqc.watch", "com.eqc.watch.launcher.ChatActivity");
+        ComponentName componentName = new ComponentName("com.ic.watch", "com.ic.watch.launcher.ChatActivity");
         Intent intent = new Intent("android.intent.action.MAIN");
 //              intent.putExtra("ACTIVITY_TYPE", 2);
 //              intent.addCategory("android.intent.category.DEFAULT");
@@ -2739,7 +2739,7 @@ public class protocol_s123 {
             if (cdd.equals("1")) {
                 //delay 启动
 
-//            Intent intent = new Intent(context, com.enqualcomm.support.CoreService.class);
+//            Intent intent = new Intent(context, com.ic.protocolSrv.CoreService.class);
 //            intent.setAction(ACTION_REMOTE_CAMERA);
 //            intent.putExtra("remote_number", id);
 //                context.startService(intent);
index 7d97237..0b079e7 100644 (file)
@@ -5,8 +5,8 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
 
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.utils.ICLogger;
 
 import java.util.ArrayList;
 import java.util.List;
index ba1feb1..686cbe2 100644 (file)
@@ -6,9 +6,9 @@ import android.view.Gravity;
 import android.view.View;
 import android.view.WindowManager;
 
-import com.enqualcomm.support.ICApplication;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.ICApplication;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.utils.ICLogger;
 
 import java.util.List;
 
index e8ddd9e..839c97a 100644 (file)
@@ -6,8 +6,8 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.CheckBox;
 
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.utils.ICLogger;
 
 import java.util.ArrayList;
 import java.util.List;
index 2d772b2..b95398b 100644 (file)
@@ -10,8 +10,8 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
 
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.utils.ICLogger;
 
 import java.util.List;
 
index 279a33d..1e30098 100644 (file)
@@ -10,10 +10,10 @@ import android.view.Gravity;
 import android.view.View;
 import android.view.WindowManager;
 
-import com.enqualcomm.support.ICApplication;
-import com.enqualcomm.support.R;
-import com.enqualcomm.support.provider.ShootTextProvider;
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.ICApplication;
+import com.ic.protocolSrv.R;
+import com.ic.protocolSrv.provider.ShootTextProvider;
+import com.ic.protocolSrv.utils.ICLogger;
 import com.ic.protocols.protocolAPIHelper;
 
 import java.util.ArrayList;
index 5b37af5..6d9d5d0 100644 (file)
@@ -25,7 +25,7 @@ import android.os.HandlerThread;
 import android.os.IBinder;
 import android.text.TextUtils;
 
-import com.enqualcomm.support.utils.ICLogger;
+import com.ic.protocolSrv.utils.ICLogger;
 
 import java.io.Closeable;
 import java.io.IOException;
index 070d23e..66bb5f2 100644 (file)
@@ -9,7 +9,7 @@
     android:paddingTop="@dimen/activity_vertical_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingBottom="@dimen/activity_vertical_margin"
-    tools:context="com.enqualcomm.support.MainActivity">
+    tools:context="com.ic.protocolSrv.MainActivity">
 
     <LinearLayout
         android:layout_width="match_parent"
index 990587d..d347a71 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>\r
-<com.enqualcomm.support.SnrHistogramView xmlns:android="http://schemas.android.com/apk/res/android"\r
+<com.ic.protocolSrv.SnrHistogramView xmlns:android="http://schemas.android.com/apk/res/android"\r
     android:id="@+id/item_snr_view"\r
     android:layout_width="24sp"\r
     android:layout_height="match_parent"/>
\ No newline at end of file
index 7d11bdc..19c6918 100644 (file)
@@ -12,7 +12,7 @@ public class LauncherCtrl {
     private static final String TAG = "LauncherCtrl";\r
     private static final boolean DEBUG = false;//BuildConfig.DEBUG;\r
 \r
-    private static final String AUTHORITY = "com.eqc.db.watchProvider";\r
+    private static final String AUTHORITY = "com.ic.db.watchProvider";\r
     private static final String STATUS_BAR_TABLE = "status_bar";\r
     public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY);\r
     public static final Uri STATUS_BAR_URI = Uri.withAppendedPath(AUTHORITY_URI, STATUS_BAR_TABLE);\r