修改package 名称为 com.enqualcomm.support.
authorsnickersun <snickersun@qq.com>
Tue, 4 Feb 2020 07:02:51 +0000 (15:02 +0800)
committersnickersun <snickersun@qq.com>
Tue, 4 Feb 2020 07:02:51 +0000 (15:02 +0800)
解决与com.enqualcomm.message 通讯问题。已经可以实现微聊。

78 files changed:
app/app.iml
app/build.gradle
app/src/main/AndroidManifest.xml
app/src/main/java/com/enqualcomm/support/BootCompleteReceiver.java [moved from app/src/main/java/com/ic/protocol/BootCompleteReceiver.java with 80% similarity]
app/src/main/java/com/enqualcomm/support/Config.java [moved from app/src/main/java/com/ic/protocol/Config.java with 96% similarity]
app/src/main/java/com/enqualcomm/support/Constants.java [moved from app/src/main/java/com/ic/protocol/Constants.java with 97% similarity]
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/CrashHandler.java [moved from app/src/main/java/com/ic/protocol/CrashHandler.java with 96% similarity]
app/src/main/java/com/enqualcomm/support/GSensorListener.java [moved from app/src/main/java/com/ic/protocol/GSensorListener.java with 84% similarity]
app/src/main/java/com/enqualcomm/support/ICApplication.java [moved from app/src/main/java/com/ic/protocol/ICApplication.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/ICContentProvider.java [moved from app/src/main/java/com/ic/protocol/ICContentProvider.java with 97% similarity]
app/src/main/java/com/enqualcomm/support/LocationClient.java [moved from app/src/main/java/com/ic/protocol/LocationClient.java with 92% similarity]
app/src/main/java/com/enqualcomm/support/MainActivity.java [moved from app/src/main/java/com/ic/protocol/MainActivity.java with 98% similarity]
app/src/main/java/com/enqualcomm/support/MySqlitOpenHelper.java [moved from app/src/main/java/com/ic/protocol/MySqlitOpenHelper.java with 96% similarity]
app/src/main/java/com/enqualcomm/support/NMEAListener.java [moved from app/src/main/java/com/ic/protocol/NMEAListener.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/ParseUpdate.java [moved from app/src/main/java/com/ic/protocol/ParseUpdate.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/PassData.java [moved from app/src/main/java/com/ic/protocol/PassData.java with 79% similarity]
app/src/main/java/com/enqualcomm/support/adapter/LBSHelper.java [moved from app/src/main/java/com/ic/protocol/adapter/LBSHelper.java with 96% similarity]
app/src/main/java/com/enqualcomm/support/adapter/protocolAPIHelper.java [moved from app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java with 90% similarity]
app/src/main/java/com/enqualcomm/support/bean/Alarm.java [moved from app/src/main/java/com/ic/protocol/bean/Alarm.java with 94% similarity]
app/src/main/java/com/enqualcomm/support/bean/Antioff.java [moved from app/src/main/java/com/ic/protocol/bean/Antioff.java with 94% similarity]
app/src/main/java/com/enqualcomm/support/bean/Contact.java [moved from app/src/main/java/com/ic/protocol/bean/Contact.java with 93% similarity]
app/src/main/java/com/enqualcomm/support/bean/Content.java [moved from app/src/main/java/com/ic/protocol/bean/Content.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/bean/DeviceStatus.java [moved from app/src/main/java/com/ic/protocol/bean/DeviceStatus.java with 90% similarity]
app/src/main/java/com/enqualcomm/support/bean/ICLocation.java [moved from app/src/main/java/com/ic/protocol/bean/ICLocation.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/bean/Locations.java [moved from app/src/main/java/com/ic/protocol/bean/Locations.java with 91% similarity]
app/src/main/java/com/enqualcomm/support/bean/NoticeContent.java [moved from app/src/main/java/com/ic/protocol/bean/NoticeContent.java with 96% similarity]
app/src/main/java/com/enqualcomm/support/bean/NotificationParam.java [moved from app/src/main/java/com/ic/protocol/bean/NotificationParam.java with 82% similarity]
app/src/main/java/com/enqualcomm/support/bean/Runtime.java [moved from app/src/main/java/com/ic/protocol/bean/Runtime.java with 94% similarity]
app/src/main/java/com/enqualcomm/support/bean/Silent.java [moved from app/src/main/java/com/ic/protocol/bean/Silent.java with 94% similarity]
app/src/main/java/com/enqualcomm/support/bean/StepCount.java [moved from app/src/main/java/com/ic/protocol/bean/StepCount.java with 88% similarity]
app/src/main/java/com/enqualcomm/support/bean/StheartRate.java [moved from app/src/main/java/com/ic/protocol/bean/StheartRate.java with 94% similarity]
app/src/main/java/com/enqualcomm/support/bean/StringMessage.java [moved from app/src/main/java/com/ic/protocol/bean/StringMessage.java with 93% similarity]
app/src/main/java/com/enqualcomm/support/bean/Update.java [moved from app/src/main/java/com/ic/protocol/bean/Update.java with 96% similarity]
app/src/main/java/com/enqualcomm/support/bean/VoiceContent.java [moved from app/src/main/java/com/ic/protocol/bean/VoiceContent.java with 92% similarity]
app/src/main/java/com/enqualcomm/support/bean/Weather.java [moved from app/src/main/java/com/ic/protocol/bean/Weather.java with 93% similarity]
app/src/main/java/com/enqualcomm/support/bean/heartRateStatus.java [moved from app/src/main/java/com/ic/protocol/bean/heartRateStatus.java with 93% similarity]
app/src/main/java/com/enqualcomm/support/bean/voicePacket.java [moved from app/src/main/java/com/ic/protocol/bean/voicePacket.java with 93% similarity]
app/src/main/java/com/enqualcomm/support/service/AudioService.java [moved from app/src/main/java/com/ic/protocol/service/AudioService.java with 93% similarity]
app/src/main/java/com/enqualcomm/support/service/CheckSIM.java [moved from app/src/main/java/com/ic/protocol/service/CheckSIM.java with 90% similarity]
app/src/main/java/com/enqualcomm/support/service/Deliver.java [moved from app/src/main/java/com/ic/protocol/service/Deliver.java with 92% similarity]
app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java [moved from app/src/main/java/com/ic/protocol/service/HeartRateManager.java with 89% similarity]
app/src/main/java/com/enqualcomm/support/service/Initialize.java [moved from app/src/main/java/com/ic/protocol/service/Initialize.java with 84% similarity]
app/src/main/java/com/enqualcomm/support/service/KeepAlive.java [moved from app/src/main/java/com/ic/protocol/service/KeepAlive.java with 89% similarity]
app/src/main/java/com/enqualcomm/support/service/SendChatMessage.java [moved from app/src/main/java/com/ic/protocol/service/SendChatMessage.java with 72% similarity]
app/src/main/java/com/enqualcomm/support/service/SilentManager.java [moved from app/src/main/java/com/ic/protocol/service/SilentManager.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/service/SynchronousTime.java [moved from app/src/main/java/com/ic/protocol/service/SynchronousTime.java with 83% similarity]
app/src/main/java/com/enqualcomm/support/service/UpLoadDataPoints.java [moved from app/src/main/java/com/ic/protocol/service/UpLoadDataPoints.java with 87% similarity]
app/src/main/java/com/enqualcomm/support/service/base/AbstractConnectionService.java [moved from app/src/main/java/com/ic/protocol/service/base/AbstractConnectionService.java with 89% similarity]
app/src/main/java/com/enqualcomm/support/service/base/AbstractInvokeHandlerService.java [moved from app/src/main/java/com/ic/protocol/service/base/AbstractInvokeHandlerService.java with 90% similarity]
app/src/main/java/com/enqualcomm/support/service/base/BaseService.java [moved from app/src/main/java/com/ic/protocol/service/base/BaseService.java with 62% similarity]
app/src/main/java/com/enqualcomm/support/service/base/ConnectionService.java [moved from app/src/main/java/com/ic/protocol/service/base/ConnectionService.java with 62% similarity]
app/src/main/java/com/enqualcomm/support/service/base/InvokeHandlerService.java [moved from app/src/main/java/com/ic/protocol/service/base/InvokeHandlerService.java with 67% similarity]
app/src/main/java/com/enqualcomm/support/utils/AlarmHelper.java [moved from app/src/main/java/com/ic/protocol/utils/AlarmHelper.java with 96% similarity]
app/src/main/java/com/enqualcomm/support/utils/AlarmWakeUp.java [moved from app/src/main/java/com/ic/protocol/utils/AlarmWakeUp.java with 88% similarity]
app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java [moved from app/src/main/java/com/ic/protocol/utils/BatteryUtil.java with 93% similarity]
app/src/main/java/com/enqualcomm/support/utils/CameraUtil.java [moved from app/src/main/java/com/ic/protocol/utils/CameraUtil.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java [moved from app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/utils/Connection.java [moved from app/src/main/java/com/ic/protocol/utils/Connection.java with 74% similarity]
app/src/main/java/com/enqualcomm/support/utils/ConnectionListener.java [moved from app/src/main/java/com/ic/protocol/utils/ConnectionListener.java with 60% similarity]
app/src/main/java/com/enqualcomm/support/utils/ContextProxy.java [moved from app/src/main/java/com/ic/protocol/utils/ContextProxy.java with 94% similarity]
app/src/main/java/com/enqualcomm/support/utils/CustomNotification.java [moved from app/src/main/java/com/ic/protocol/utils/CustomNotification.java with 96% similarity]
app/src/main/java/com/enqualcomm/support/utils/DBHelper.java [moved from app/src/main/java/com/ic/protocol/utils/DBHelper.java with 93% similarity]
app/src/main/java/com/enqualcomm/support/utils/DeviceInfoUtil.java [moved from app/src/main/java/com/ic/protocol/utils/DeviceInfoUtil.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/utils/FileCache.java [moved from app/src/main/java/com/ic/protocol/utils/FileCache.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/utils/FileOutputUtil.java [moved from app/src/main/java/com/ic/protocol/utils/FileOutputUtil.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/utils/Logger.java [moved from app/src/main/java/com/ic/protocol/utils/Logger.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/utils/NettyConnection.java [moved from app/src/main/java/com/ic/protocol/utils/NettyConnection.java with 93% similarity]
app/src/main/java/com/enqualcomm/support/utils/NetworkObservable.java [moved from app/src/main/java/com/ic/protocol/utils/NetworkObservable.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java [moved from app/src/main/java/com/ic/protocol/utils/ProcessReceiver.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/utils/RxSocket.java [moved from app/src/main/java/com/ic/protocol/utils/RxSocket.java with 99% similarity]
app/src/main/java/com/enqualcomm/support/utils/ServiceUtil.java [moved from app/src/main/java/com/ic/protocol/utils/ServiceUtil.java with 89% similarity]
app/src/main/java/com/enqualcomm/support/utils/SharPreferenceUtil.java [moved from app/src/main/java/com/ic/protocol/utils/SharPreferenceUtil.java with 96% similarity]
app/src/main/java/com/enqualcomm/support/utils/SimSignalUtil.java [moved from app/src/main/java/com/ic/protocol/utils/SimSignalUtil.java with 95% similarity]
app/src/main/java/com/enqualcomm/support/utils/TimeUtil.java [moved from app/src/main/java/com/ic/protocol/utils/TimeUtil.java with 96% similarity]
app/src/main/java/com/enqualcomm/support/utils/Util.java [moved from app/src/main/java/com/ic/protocol/utils/Util.java with 76% similarity]
app/src/main/java/com/enqualcomm/support/utils/WakeLockUtil.java [moved from app/src/main/java/com/ic/protocol/utils/WakeLockUtil.java with 88% similarity]
app/src/main/res/layout/activity_main.xml

index 95ac0dd..325d885 100644 (file)
@@ -19,7 +19,7 @@
         <option name="ALLOW_USER_CONFIGURATION" value="false" />\r
         <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />\r
         <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />\r
-        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/resValues/debug" />\r
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />\r
         <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />\r
         <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />\r
       </configuration>\r
index 6b9b91a..d1a2093 100644 (file)
@@ -11,7 +11,7 @@ android {
     def currentVersionCode = getVersionCode()
     def currentVersionName = releaseTime()
     defaultConfig {
-        applicationId "com.ic.protocol"
+        applicationId "com.enqualcomm.support"
         minSdkVersion 19
         targetSdkVersion 25
         versionCode currentVersionCode
index e11fe1e..ecd63be 100644 (file)
         android:label="@string/app_name"
         android:supportsRtl="true"
         android:theme="@style/AppTheme">
-        <activity android:name="com.ic.protocol.MainActivity">
+        <activity android:name="com.enqualcomm.support.MainActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 
 
         <service android:name="com.enqualcomm.support.CoreService">   <!--协议通讯服务-->
             <intent-filter>
-                <action android:name="com.ic.protocol.startsrv" />
+                <action android:name="com.enqualcomm.support.startsrv" />
                 <action android:name="com.enqualcomm.support.ACTION_ALARM" />
                 <action android:name="com.enqualcomm.support.HEART_ALARM" />
             </intent-filter>
         <provider
             android:authorities="com.enqualcomm.support"
             android:exported="true"
-            android:name="com.ic.protocol.ICContentProvider"/>
+            android:name="com.enqualcomm.support.ICContentProvider"/>
 
-        <receiver android:exported="true" android:name="com.ic.protocol.BootCompleteReceiver">
+        <receiver android:exported="true" android:name="com.enqualcomm.support.BootCompleteReceiver">
             <intent-filter>
                 <action android:name="android.intent.action.BOOT_COMPLETED"/>
             </intent-filter>
         </receiver>
-        <receiver android:exported="true" android:name="com.ic.protocol.utils.ProcessReceiver">
+        <receiver android:exported="true" android:name="com.enqualcomm.support.utils.ProcessReceiver">
             <intent-filter>
                 <action android:name="com.enqualcomm.support.DIALOG"/>
                 <action android:name="com.enqualcomm.imessage.RESUME_ACTION"/>
@@ -1,10 +1,10 @@
-package com.ic.protocol;\r
+package com.enqualcomm.support;\r
 \r
 import android.content.BroadcastReceiver;\r
 import android.content.Context;\r
 import android.content.Intent;\r
 \r
-import com.ic.protocol.utils.Logger;\r
+import com.enqualcomm.support.utils.Logger;\r
 \r
 public class BootCompleteReceiver extends BroadcastReceiver {\r
   public void onReceive(Context paramContext, Intent paramIntent) {\r
@@ -1,4 +1,4 @@
-package com.ic.protocol;\r
+package com.enqualcomm.support;\r
 \r
 import android.text.TextUtils;\r
 import org.json.JSONException;\r
index 3e9b7aa..415c55e 100644 (file)
@@ -19,37 +19,37 @@ import android.util.Log;
 import android.widget.Toast;\r
 \r
 import com.ic.jni.ICJniUtils;\r
-import com.ic.protocol.Constants;\r
-import com.ic.protocol.GSensorListener;\r
-import com.ic.protocol.LocationClient;\r
-import com.ic.protocol.adapter.LBSHelper;\r
-import com.ic.protocol.adapter.protocolAPIHelper;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.bean.heartRateStatus;\r
-import com.ic.protocol.service.CheckSIM;\r
-import com.ic.protocol.service.Deliver;\r
-import com.ic.protocol.service.HeartRateManager;\r
-import com.ic.protocol.service.Initialize;\r
-import com.ic.protocol.service.KeepAlive;\r
-import com.ic.protocol.service.SendChatMessage;\r
-import com.ic.protocol.service.SilentManager;\r
-import com.ic.protocol.service.UpLoadDataPoints;\r
-import com.ic.protocol.service.base.AbstractConnectionService;\r
-import com.ic.protocol.service.base.AbstractInvokeHandlerService;\r
-import com.ic.protocol.utils.AlarmHelper;\r
-import com.ic.protocol.utils.AlarmWakeUp;\r
-import com.ic.protocol.utils.BatteryUtil;\r
-import com.ic.protocol.utils.ConnectionListener;\r
-import com.ic.protocol.utils.ContextProxy;\r
-import com.ic.protocol.utils.DBHelper;\r
-import com.ic.protocol.utils.FileOutputUtil;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.NettyConnection;\r
-import com.ic.protocol.utils.SharPreferenceUtil;\r
-import com.ic.protocol.utils.SimSignalUtil;\r
-import com.ic.protocol.utils.TimeUtil;\r
-import com.ic.protocol.utils.Util;\r
+import com.enqualcomm.support.Constants;\r
+import com.enqualcomm.support.GSensorListener;\r
+import com.enqualcomm.support.LocationClient;\r
+import com.enqualcomm.support.adapter.LBSHelper;\r
+import com.enqualcomm.support.adapter.protocolAPIHelper;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.bean.StringMessage;\r
+import com.enqualcomm.support.bean.heartRateStatus;\r
+import com.enqualcomm.support.service.CheckSIM;\r
+import com.enqualcomm.support.service.Deliver;\r
+import com.enqualcomm.support.service.HeartRateManager;\r
+import com.enqualcomm.support.service.Initialize;\r
+import com.enqualcomm.support.service.KeepAlive;\r
+import com.enqualcomm.support.service.SendChatMessage;\r
+import com.enqualcomm.support.service.SilentManager;\r
+import com.enqualcomm.support.service.UpLoadDataPoints;\r
+import com.enqualcomm.support.service.base.AbstractConnectionService;\r
+import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;\r
+import com.enqualcomm.support.utils.AlarmHelper;\r
+import com.enqualcomm.support.utils.AlarmWakeUp;\r
+import com.enqualcomm.support.utils.BatteryUtil;\r
+import com.enqualcomm.support.utils.ConnectionListener;\r
+import com.enqualcomm.support.utils.ContextProxy;\r
+import com.enqualcomm.support.utils.DBHelper;\r
+import com.enqualcomm.support.utils.FileOutputUtil;\r
+import com.enqualcomm.support.utils.Logger;\r
+import com.enqualcomm.support.utils.NettyConnection;\r
+import com.enqualcomm.support.utils.SharPreferenceUtil;\r
+import com.enqualcomm.support.utils.SimSignalUtil;\r
+import com.enqualcomm.support.utils.TimeUtil;\r
+import com.enqualcomm.support.utils.Util;\r
 \r
 import java.lang.ref.WeakReference;\r
 import chestnut.ui.Toastc;\r
@@ -67,18 +67,18 @@ import java.util.Timer;
 import java.util.TimerTask;\r
 \r
 import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;\r
-import static com.ic.protocol.Constants.ACTION_ALARM_ADD_DATAPOINTS;\r
-import static com.ic.protocol.Constants.ACTION_EQC_ALARM;\r
-import static com.ic.protocol.Constants.ACTION_HEATR_RATE_START;\r
-import static com.ic.protocol.Constants.ACTION_LOCATION_ALARM;\r
-import static com.ic.protocol.Constants.HEART_ALARM;\r
-import static com.ic.protocol.Constants.KEY_SAVE_STEP_COUNT;\r
-import static com.ic.protocol.Constants.KEY_STEP_COUNT;\r
-import static com.ic.protocol.Constants.SLEEP_ALARM;\r
-import static com.ic.protocol.Constants.STEP_COUNT_ALARM_ACTION;\r
-import static com.ic.protocol.Constants.WAKE_ALARM;\r
-import static com.ic.protocol.Constants.WEATHER_ALARM;\r
-import static com.ic.protocol.bean.ICLocation.*;\r
+import static com.enqualcomm.support.Constants.ACTION_ALARM_ADD_DATAPOINTS;\r
+import static com.enqualcomm.support.Constants.ACTION_EQC_ALARM;\r
+import static com.enqualcomm.support.Constants.ACTION_HEATR_RATE_START;\r
+import static com.enqualcomm.support.Constants.ACTION_LOCATION_ALARM;\r
+import static com.enqualcomm.support.Constants.HEART_ALARM;\r
+import static com.enqualcomm.support.Constants.KEY_SAVE_STEP_COUNT;\r
+import static com.enqualcomm.support.Constants.KEY_STEP_COUNT;\r
+import static com.enqualcomm.support.Constants.SLEEP_ALARM;\r
+import static com.enqualcomm.support.Constants.STEP_COUNT_ALARM_ACTION;\r
+import static com.enqualcomm.support.Constants.WAKE_ALARM;\r
+import static com.enqualcomm.support.Constants.WEATHER_ALARM;\r
+import static com.enqualcomm.support.bean.ICLocation.*;\r
 \r
 \r
 public class CoreService extends Service {\r
@@ -276,7 +276,7 @@ public class CoreService extends Service {
         StringBuilder stringBuilder = new StringBuilder();\r
         stringBuilder.append(getExternalCacheDir());\r
         stringBuilder.append("/contacts.db");\r
-        FileOutputUtil.copyFolder("/data/data/com.ic.protocol/databases", stringBuilder.toString());\r
+        FileOutputUtil.copyFolder("/data/data/com.enqualcomm.support/databases", stringBuilder.toString());\r
     }\r
 \r
     private AbstractInvokeHandlerService getInvokeHandlerServiceChain() {\r
@@ -1,4 +1,4 @@
-package com.ic.protocol;\r
+package com.enqualcomm.support;\r
 \r
 import android.content.Context;\r
 import android.content.pm.PackageInfo;\r
@@ -1,14 +1,14 @@
-package com.ic.protocol;\r
+package com.enqualcomm.support;\r
 \r
 \r
 import android.os.Handler;\r
 import android.os.Message;\r
 \r
 import com.ic.jni.ICJniUtils;\r
-import com.ic.protocol.bean.Runtime;\r
+import com.enqualcomm.support.bean.Runtime;\r
 \r
-import com.ic.protocol.utils.FileOutputUtil;\r
-import com.ic.protocol.utils.Logger;\r
+import com.enqualcomm.support.utils.FileOutputUtil;\r
+import com.enqualcomm.support.utils.Logger;\r
 \r
 /**\r
  * 由于Gsensor用的硬件计步,只需要保证打开计步器即可\r
@@ -1,4 +1,4 @@
-package com.ic.protocol;\r
+package com.enqualcomm.support;\r
 \r
 import android.app.Application;\r
 import android.content.Context;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol;\r
+package com.enqualcomm.support;\r
 \r
 import android.content.ContentProvider;\r
 import android.content.ContentUris;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol;\r
+package com.enqualcomm.support;\r
 \r
 import android.content.BroadcastReceiver;\r
 import android.content.Context;\r
@@ -11,24 +11,24 @@ import android.os.SystemClock;
 import android.provider.Settings;\r
 \r
 import com.ic.jni.ICJniUtils;\r
-import com.ic.protocol.adapter.LBSHelper;\r
-import com.ic.protocol.adapter.protocolAPIHelper;\r
-import com.ic.protocol.bean.ICLocation;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.service.Deliver;\r
-import com.ic.protocol.service.KeepAlive;\r
+import com.enqualcomm.support.adapter.LBSHelper;\r
+import com.enqualcomm.support.adapter.protocolAPIHelper;\r
+import com.enqualcomm.support.bean.ICLocation;\r
+import com.enqualcomm.support.bean.StringMessage;\r
+import com.enqualcomm.support.service.Deliver;\r
+import com.enqualcomm.support.service.KeepAlive;\r
 import com.enqualcomm.support.CoreService;\r
-import com.ic.protocol.utils.CellInfoUtil;\r
-import com.ic.protocol.utils.DeviceInfoUtil;\r
-import com.ic.protocol.utils.FileCache;\r
-import com.ic.protocol.utils.FileOutputUtil;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.NettyConnection;\r
-import com.ic.protocol.utils.ServiceUtil;\r
-import com.ic.protocol.utils.SharPreferenceUtil;\r
-import com.ic.protocol.utils.SimSignalUtil;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.utils.TimeUtil;\r
+import com.enqualcomm.support.utils.CellInfoUtil;\r
+import com.enqualcomm.support.utils.DeviceInfoUtil;\r
+import com.enqualcomm.support.utils.FileCache;\r
+import com.enqualcomm.support.utils.FileOutputUtil;\r
+import com.enqualcomm.support.utils.Logger;\r
+import com.enqualcomm.support.utils.NettyConnection;\r
+import com.enqualcomm.support.utils.ServiceUtil;\r
+import com.enqualcomm.support.utils.SharPreferenceUtil;\r
+import com.enqualcomm.support.utils.SimSignalUtil;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.utils.TimeUtil;\r
 \r
 import java.util.Timer;\r
 import java.util.TimerTask;\r
@@ -44,7 +44,7 @@ import rx.android.schedulers.AndroidSchedulers;
 import rx.functions.Action1;\r
 \r
 import static android.location.LocationManager.GPS_PROVIDER;\r
-import static com.ic.protocol.Constants.HEART_ALARM;\r
+import static com.enqualcomm.support.Constants.HEART_ALARM;\r
 \r
 public class LocationClient {\r
   private static final String TAG = LocationClient.class.getSimpleName();\r
@@ -1,4 +1,4 @@
-package com.ic.protocol;
+package com.enqualcomm.support;
 
 import android.content.Context;
 import android.content.Intent;
@@ -17,7 +17,7 @@ import android.widget.ToggleButton;
 import com.enqualcomm.support.R;
 import com.ic.jni.ICJniUtils;
 import com.enqualcomm.support.CoreService;
-import com.ic.protocol.utils.Logger;
+import com.enqualcomm.support.utils.Logger;
 
 import java.util.Timer;
 import java.util.TimerTask;
@@ -1,10 +1,10 @@
-package com.ic.protocol;\r
+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.ic.protocol.utils.Logger;\r
+import com.enqualcomm.support.utils.Logger;\r
 \r
 \r
 public class MySqlitOpenHelper extends SQLiteOpenHelper {\r
@@ -1,4 +1,4 @@
-package com.ic.protocol;\r
+package com.enqualcomm.support;\r
 \r
 import android.content.Context;\r
 import android.location.Criteria;\r
@@ -11,11 +11,11 @@ import android.location.LocationManager;
 import android.os.Bundle;\r
 import android.os.Handler;\r
 import android.os.Message;\r
-import com.ic.protocol.bean.ICLocation;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.utils.FileOutputUtil;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.TimeUtil;\r
+import com.enqualcomm.support.bean.ICLocation;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.utils.FileOutputUtil;\r
+import com.enqualcomm.support.utils.Logger;\r
+import com.enqualcomm.support.utils.TimeUtil;\r
 \r
 import java.text.DecimalFormat;\r
 import java.util.ArrayList;\r
@@ -1,11 +1,11 @@
-package com.ic.protocol;\r
+package com.enqualcomm.support;\r
 \r
 import android.content.Intent;\r
 \r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.bean.Update;\r
-import com.ic.protocol.utils.Util;\r
-import com.ic.protocol.bean.Runtime;\r
+import com.enqualcomm.support.bean.StringMessage;\r
+import com.enqualcomm.support.bean.Update;\r
+import com.enqualcomm.support.utils.Util;\r
+import com.enqualcomm.support.bean.Runtime;\r
 \r
 import java.util.ArrayList;\r
 import java.util.Iterator;\r
@@ -329,9 +329,3 @@ public class ParseUpdate extends Object implements Observable.OnSubscribe<Update
 //    paramSubscriber.onCompleted();\r
   }\r
 }\r
-\r
-\r
-/* Location:              D:\android\ApkIDE3.3\ApkIDE\Worksrc\com.enqualcomm.support\!\com\enqualcomm\support\task\ParseUpdate.class\r
- * Java compiler version: 6 (50.0)\r
- * JD-Core Version:       1.0.7\r
- */
\ No newline at end of file
@@ -1,8 +1,8 @@
-package com.ic.protocol;\r
+package com.enqualcomm.support;\r
 \r
 \r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.utils.Logger;\r
+import com.enqualcomm.support.bean.StringMessage;\r
+import com.enqualcomm.support.utils.Logger;\r
 \r
 import rx.Observable;\r
 import rx.Subscriber;\r
@@ -53,8 +53,3 @@ public class PassData extends Object implements Observable.OnSubscribe<String> {
   }\r
 }\r
 \r
-\r
-/* Location:              D:\android\ApkIDE3.3\ApkIDE\Worksrc\com.enqualcomm.support\!\com\enqualcomm\support\task\PassData.class\r
- * Java compiler version: 6 (50.0)\r
- * JD-Core Version:       1.0.7\r
- */
\ No newline at end of file
@@ -1,4 +1,4 @@
-package com.ic.protocol.adapter;\r
+package com.enqualcomm.support.adapter;\r
 \r
 import android.Manifest;\r
 import android.annotation.SuppressLint;\r
@@ -21,9 +21,9 @@ import android.telephony.TelephonyManager;
 import android.telephony.cdma.CdmaCellLocation;\r
 import android.telephony.gsm.GsmCellLocation;\r
 \r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.utils.FileOutputUtil;\r
-import com.ic.protocol.utils.Logger;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.utils.FileOutputUtil;\r
+import com.enqualcomm.support.utils.Logger;\r
 \r
 import java.util.Collections;\r
 import java.util.Comparator;\r
@@ -1,32 +1,41 @@
-package com.ic.protocol.adapter;\r
+package com.enqualcomm.support.adapter;\r
 \r
+import android.content.ComponentName;\r
 import android.content.Intent;\r
+import android.net.Uri;\r
+import android.os.Environment;\r
+import android.os.Messenger;\r
 import android.util.Log;\r
 \r
-import com.ic.protocol.Config;\r
-import com.ic.protocol.bean.Contact;\r
-import com.ic.protocol.bean.Content;\r
-import com.ic.protocol.bean.ICLocation;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.bean.VoiceContent;\r
-import com.ic.protocol.bean.voicePacket;\r
+import com.enqualcomm.support.Config;\r
+import com.enqualcomm.support.bean.Contact;\r
+import com.enqualcomm.support.bean.Content;\r
+import com.enqualcomm.support.bean.ICLocation;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.bean.StringMessage;\r
+import com.enqualcomm.support.bean.VoiceContent;\r
+import com.enqualcomm.support.bean.voicePacket;\r
 import com.enqualcomm.support.CoreService;\r
-import com.ic.protocol.service.Deliver;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.utils.DBHelper;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.NettyConnection;\r
-import com.ic.protocol.utils.ProcessReceiver;\r
-import com.ic.protocol.utils.SharPreferenceUtil;\r
-import com.ic.protocol.utils.TimeUtil;\r
-import com.ic.protocol.utils.Util;\r
-\r
+import com.enqualcomm.support.service.Deliver;\r
+import com.enqualcomm.support.utils.Connection;\r
+import com.enqualcomm.support.utils.DBHelper;\r
+import com.enqualcomm.support.utils.Logger;\r
+import com.enqualcomm.support.utils.NettyConnection;\r
+import com.enqualcomm.support.utils.ProcessReceiver;\r
+import com.enqualcomm.support.utils.ServiceUtil;\r
+import com.enqualcomm.support.utils.SharPreferenceUtil;\r
+import com.enqualcomm.support.utils.TimeUtil;\r
+import com.enqualcomm.support.utils.Util;\r
+\r
+import java.io.File;\r
 import java.util.ArrayList;\r
 import java.util.HashMap;\r
 \r
-import static com.ic.protocol.LocationClient.LOCATION_CYCLE;\r
-import static com.ic.protocol.LocationClient.LOCATION_MODE;\r
+import static com.enqualcomm.support.Constants.ACTION_EQC_ALARM;\r
+import static com.enqualcomm.support.Constants.ACTION_IMESSAGE;\r
+import static com.enqualcomm.support.LocationClient.LOCATION_CYCLE;\r
+import static com.enqualcomm.support.LocationClient.LOCATION_MODE;\r
+import static com.enqualcomm.support.bean.Contact.GROUP_ALL;\r
 import static java.lang.Math.abs;\r
 \r
 public class protocolAPIHelper {\r
@@ -296,7 +305,7 @@ public class protocolAPIHelper {
     public void handleBP00(String cmd){\r
         String[] msg=cmd.split(CMDSPLIT);\r
 //        get Msg :IWBP00,20191229171933,8# (size)24\r
-//        12-30 01:19:33.861 6492-6492/com.ic.protocol I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8\r
+//        12-30 01:19:33.861 6492-6492/com.enqualcomm.support I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8\r
 \r
         if (msg.length>=3) {\r
             log("handleBP00", "Set Datetime " + msg[1]);\r
@@ -654,7 +663,11 @@ public class protocolAPIHelper {
 \r
                }\r
             }\r
-            contactArray.add(new Contact(Contact.CATEGORY_ADMIN,"GROUP","123"));\r
+//            contactArray.add(new Contact(Contact.CATEGORY_GROUP,"All","666"));\r
+//            contactArray.add(new Contact(Contact.CATEGORY_PARTNER,"PARTNER","666"));\r
+//            contactArray.add(new Contact(Contact.CATEGORY_CARE,"CARE","666"));\r
+//            contactArray.add(new Contact(Contact.CATEGORY_VOLTE,"VOLTE","666"));\r
+\r
             runtime.getDbHelper().saveContacts(contactArray,true,false,true,false,false);\r
 \r
         }else{\r
@@ -833,7 +846,7 @@ public class protocolAPIHelper {
             Logger.i("服务器在"+time+" 收到语音 "+packetIndex+"/"+packetCount+" "+ (receiveSuccess==1?"成功":"失敗"));\r
             if (receiveSuccess == 1){\r
                 //如果服务器接收 语音成功,则设置下一个要发送的语音包Index,当index == packetCount的时候表示所有包发送完毕,停止继续发送\r
-                voicePacket.getInstanceSent().setCurrentIndexToSent(++packetIndex);\r
+                voicePacket.getInstanceSent().setCurrentIndexToSent(packetIndex);\r
             }\r
             //发送消息,再次检查要发送的语音包,确认其发送完毕\r
             connection.DeliverCMDMessageToSystem("BP07","SentVoicePacket");\r
@@ -1110,10 +1123,24 @@ public static String AP15(String index){
             log("================"+voicePacket.getInstance().toString());\r
             if (voicePacket.getInstance().isFinished())\r
             {\r
-                String amrFilepath=Util.saveFile(voicePacket.getInstance().getVoicePacketBytes(),0,voicePacket.getInstance().getVoicePacketLen(),runtime.getCacheDir(),voicePacket.getInstance().getName()+".amr");\r
+\r
+                String dir = Environment.getExternalStorageDirectory()+ "/Android/VoiceCache";\r
+                String amrFilepath=Util.saveFile(voicePacket.getInstance().getVoicePacketBytes(),0,voicePacket.getInstance().getVoicePacketLen(),new File(dir),"receive_"+voicePacket.getInstance().getPacketTime()+".amr");\r
                 Logger.i("save Amr file to "+amrFilepath);\r
                 voicePacket.getInstance().clearPacket();\r
-                runtime.getDbHelper().insertMessage( VoiceContent.placeHolderIn(Content.CATEGORY_VOICE,"1234567890",amrFilepath));\r
+                VoiceContent voiceContent=VoiceContent.placeHolderIn(Content.CONTACT_CATEGORY_GROUP,GROUP_ALL,amrFilepath);\r
+\r
+\r
+                final Uri uri2 = runtime.getDbHelper().insertMessage( voiceContent);\r
+\r
+                //回复UI消息,表示已经接收到\r
+                voiceContent.status = 3;\r
+                voiceContent.serverTime = TimeUtil.getSystemTime3();\r
+                voiceContent.preview = String.valueOf(Util.getDuration(voiceContent.content));\r
+                runtime.getDbHelper().updateMessage(voiceContent, uri2);\r
+\r
+                runtime.getContextProxy().sendBroadcast(ACTION_IMESSAGE, runtime);\r
+\r
 \r
             }\r
 \r
@@ -1125,6 +1152,16 @@ public static String AP15(String index){
 \r
     }\r
 \r
+    public void sendBroadcast(String cmd, Runtime dev) {\r
+\r
+              ComponentName componentName = new ComponentName("com.eqc.watch", "com.eqc.watch.launcher.ChatActivity");\r
+              Intent intent = new Intent("android.intent.action.MAIN");\r
+//              intent.putExtra("ACTIVITY_TYPE", 2);\r
+//              intent.addCategory("android.intent.category.DEFAULT");\r
+              intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);\r
+              intent.setComponent(componentName);\r
+              dev.getContextProxy().context.startActivity(intent);\r
+    }\r
 \r
     //白名单开关(下行协议号:BP84,响应:AP84)\r
     public static String AP84(String index,int success){\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
 public class Alarm {\r
   public String name;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
 public class Antioff {\r
   public String cur_sys_status;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
 import android.os.Parcel;\r
 import android.os.Parcelable;\r
@@ -26,7 +26,7 @@ public class Contact implements Parcelable {
   \r
   public static final String GROUP_FAMILY = "1@-1";\r
   \r
-  String GROUP_ALL = "1@-3";\r
+  public static final String GROUP_ALL = "1@-3";\r
   \r
   String GROUP_PARTNER = "1@-2";\r
   \r
@@ -1,4 +1,4 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
 public abstract class Content {\r
   public static final int CATEGORY_EMOJI = 5;\r
@@ -1,6 +1,6 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
-import com.ic.protocol.utils.Logger;\r
+import com.enqualcomm.support.utils.Logger;\r
 \r
 import java.text.ParseException;\r
 import java.text.SimpleDateFormat;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
 import java.text.SimpleDateFormat;\r
 import java.util.Date;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
 public class NotificationParam {\r
   public static final int ADD_NEW_ONE = 1;\r
@@ -46,9 +46,3 @@ public class NotificationParam {
     return stringBuilder.toString();\r
   }\r
 }\r
-\r
-\r
-/* Location:              D:\android\ApkIDE3.3\ApkIDE\Worksrc\com.enqualcomm.support\!\com\enqualcomm\support\bean\NotificationParam.class\r
- * Java compiler version: 6 (50.0)\r
- * JD-Core Version:       1.0.7\r
- */
\ No newline at end of file
@@ -1,10 +1,10 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
 \r
-import com.ic.protocol.adapter.LBSHelper;\r
-import com.ic.protocol.utils.ContextProxy;\r
-import com.ic.protocol.utils.DBHelper;\r
-import com.ic.protocol.utils.Logger;\r
+import com.enqualcomm.support.adapter.LBSHelper;\r
+import com.enqualcomm.support.utils.ContextProxy;\r
+import com.enqualcomm.support.utils.DBHelper;\r
+import com.enqualcomm.support.utils.Logger;\r
 \r
 import java.io.File;\r
 import java.text.ParseException;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
 public class Silent {\r
   public String cur_sys_status;\r
@@ -1,6 +1,6 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
-import com.ic.protocol.utils.Logger;\r
+import com.enqualcomm.support.utils.Logger;\r
 \r
 import java.util.ArrayList;\r
 \r
@@ -1,6 +1,6 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
-import com.ic.protocol.utils.Util;\r
+import com.enqualcomm.support.utils.Util;\r
 \r
 import java.io.File;\r
 import java.util.ArrayList;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
 public class Weather {\r
   public String cur_Temperature;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.bean;\r
+package com.enqualcomm.support.bean;\r
 \r
 import java.util.ArrayList;\r
 import java.util.Iterator;\r
@@ -51,7 +51,8 @@ public class voicePacket {
         byte[] packetData;\r
         voicepacketItem(int _currentId,     int _packetLen,  byte[] _packetData){\r
             packetLen=_packetLen;\r
-            packetData=_packetData;\r
+            packetData=new byte[packetLen];\r
+            System.arraycopy(_packetData,0,packetData,0,packetLen);\r
             currentId=_currentId;\r
         }\r
         public byte[] getPacketData()\r
@@ -61,6 +62,7 @@ public class voicePacket {
         public int getPacketLen(){\r
             return packetLen;\r
         }\r
+\r
     }\r
     public boolean appendVoice(String _Name, String _appendIndex,int _packetCount,int _currentId, int _packetLen, byte[] _packetData){\r
         boolean ret=false;\r
@@ -1,10 +1,10 @@
-package com.ic.protocol.service;\r
+package com.enqualcomm.support.service;\r
 \r
 import android.content.res.AssetFileDescriptor;\r
 import android.content.res.AssetManager;\r
 import android.media.MediaPlayer;\r
 \r
-import com.ic.protocol.utils.Logger;\r
+import com.enqualcomm.support.utils.Logger;\r
 \r
 \r
 public class AudioService implements MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener {\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.service;\r
+package com.enqualcomm.support.service;\r
 \r
 import android.content.BroadcastReceiver;\r
 import android.content.Context;\r
@@ -6,10 +6,10 @@ import android.content.Intent;
 import android.content.IntentFilter;\r
 import android.telephony.TelephonyManager;\r
 \r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.service.base.AbstractConnectionService;\r
-import com.ic.protocol.utils.Connection;\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
@@ -1,4 +1,4 @@
-package com.ic.protocol.service;\r
+package com.enqualcomm.support.service;\r
 \r
 import android.app.AlarmManager;\r
 import android.app.PendingIntent;\r
@@ -17,24 +17,24 @@ import android.os.SystemClock;
 import android.text.TextUtils;\r
 \r
 import com.enqualcomm.support.CoreService;\r
-import com.ic.protocol.LocationClient;\r
-import com.ic.protocol.adapter.protocolAPIHelper;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.bean.VoiceContent;\r
-import com.ic.protocol.bean.voicePacket;\r
-import com.ic.protocol.service.base.AbstractConnectionService;\r
-import com.ic.protocol.utils.AlarmHelper;\r
-import com.ic.protocol.utils.AlarmWakeUp;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.utils.DBHelper;\r
-import com.ic.protocol.utils.FileCache;\r
-import com.ic.protocol.utils.FileOutputUtil;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.NettyConnection;\r
-import com.ic.protocol.utils.ServiceUtil;\r
-import com.ic.protocol.utils.SharPreferenceUtil;\r
-import com.ic.protocol.utils.SimSignalUtil;\r
+import com.enqualcomm.support.LocationClient;\r
+import com.enqualcomm.support.adapter.protocolAPIHelper;\r
+import com.enqualcomm.support.bean.StringMessage;\r
+import com.enqualcomm.support.bean.VoiceContent;\r
+import com.enqualcomm.support.bean.voicePacket;\r
+import com.enqualcomm.support.service.base.AbstractConnectionService;\r
+import com.enqualcomm.support.utils.AlarmHelper;\r
+import com.enqualcomm.support.utils.AlarmWakeUp;\r
+import com.enqualcomm.support.utils.Connection;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.utils.DBHelper;\r
+import com.enqualcomm.support.utils.FileCache;\r
+import com.enqualcomm.support.utils.FileOutputUtil;\r
+import com.enqualcomm.support.utils.Logger;\r
+import com.enqualcomm.support.utils.NettyConnection;\r
+import com.enqualcomm.support.utils.ServiceUtil;\r
+import com.enqualcomm.support.utils.SharPreferenceUtil;\r
+import com.enqualcomm.support.utils.SimSignalUtil;\r
 \r
 import java.util.ArrayList;\r
 import java.util.concurrent.LinkedBlockingDeque;\r
@@ -49,7 +49,7 @@ import rx.schedulers.Schedulers;
 \r
 import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;\r
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;\r
-import static com.ic.protocol.Constants.ACTION_WAKEUP_ALARM;\r
+import static com.enqualcomm.support.Constants.ACTION_WAKEUP_ALARM;\r
 \r
 /**\r
  * 负责发送除了login,心跳之外的所有指令\r
@@ -403,14 +403,16 @@ public static void sendLocationMSG( String Msg){
     Logger.i("Deliver receive cmd "+paramStringMessage.cmd());\r
     if (cmd.equals("BP07") || cmd.equals("SentVoicePacket")){\r
     //收到BP07 表示服务器收到一个voicePacket 分包成功,开始检查下一个包是否存在需要发送。\r
-      //收到SentVoicePacket 表示 有一个VoiceMessage要发送,需要开始检查并发送语音分包。\r
+      //收到SentVoicePacket 表示 有一个VoiceMessage要发送,需要从第0个包开始发送语音分包。\r
+\r
      voicePacket voicepacket= voicePacket.getInstanceSent();\r
+\r
      if (voicepacket.getCurrentIndexToSent() < voicepacket.getPacketCount()){\r
        Logger.i("voicepacket "+voicepacket.getName()+" "+voicepacket.getPacketTime()+" send "+(voicepacket.getCurrentIndexToSent()+1)+"/"+voicepacket.getPacketCount());\r
        ((NettyConnection)mConnection).sendMsg(\r
                protocolAPIHelper.AP07(voicepacket.getPacketTime(),\r
                        voicepacket.getPacketCount(),\r
-                       voicepacket.getCurrentIndexToSent(),\r
+                       (voicepacket.getCurrentIndexToSent()+1),\r
                        voicepacket.getVoicePacketWithIndex(voicepacket.getCurrentIndexToSent()).getPacketLen(),\r
                        voicepacket.getVoicePacketWithIndex(voicepacket.getCurrentIndexToSent()).getPacketData())\r
        );\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.service;\r
+package com.enqualcomm.support.service;\r
 \r
 import android.content.BroadcastReceiver;\r
 import android.content.Context;\r
@@ -12,22 +12,22 @@ import android.os.Messenger;
 import android.os.PowerManager;\r
 \r
 import com.ic.jni.ICJniUtils;\r
-import com.ic.protocol.LocationClient;\r
-import com.ic.protocol.adapter.protocolAPIHelper;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.bean.heartRateStatus;\r
-import com.ic.protocol.service.base.AbstractInvokeHandlerService;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.NettyConnection;\r
-import com.ic.protocol.utils.SimSignalUtil;\r
-import com.ic.protocol.utils.TimeUtil;\r
+import com.enqualcomm.support.LocationClient;\r
+import com.enqualcomm.support.adapter.protocolAPIHelper;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.bean.StringMessage;\r
+import com.enqualcomm.support.bean.heartRateStatus;\r
+import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;\r
+import com.enqualcomm.support.utils.Connection;\r
+import com.enqualcomm.support.utils.Logger;\r
+import com.enqualcomm.support.utils.NettyConnection;\r
+import com.enqualcomm.support.utils.SimSignalUtil;\r
+import com.enqualcomm.support.utils.TimeUtil;\r
 \r
 import java.util.Timer;\r
 import java.util.TimerTask;\r
 \r
-import static com.ic.protocol.Constants.ACTION_HEATR_RATE_START;\r
+import static com.enqualcomm.support.Constants.ACTION_HEATR_RATE_START;\r
 \r
 public class HeartRateManager extends AbstractInvokeHandlerService {\r
   private int mNetworkType;\r
@@ -1,18 +1,18 @@
-package com.ic.protocol.service;\r
+package com.enqualcomm.support.service;\r
 \r
 import android.database.Cursor;\r
 \r
-import com.ic.protocol.Config;\r
-import com.ic.protocol.ICContentProvider;\r
-import com.ic.protocol.adapter.protocolAPIHelper;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.service.base.AbstractConnectionService;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.utils.DeviceInfoUtil;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.SharPreferenceUtil;\r
-import com.ic.protocol.utils.SimSignalUtil;\r
+import com.enqualcomm.support.Config;\r
+import com.enqualcomm.support.ICContentProvider;\r
+import com.enqualcomm.support.adapter.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.DeviceInfoUtil;\r
+import com.enqualcomm.support.utils.Logger;\r
+import com.enqualcomm.support.utils.SharPreferenceUtil;\r
+import com.enqualcomm.support.utils.SimSignalUtil;\r
 \r
 import org.json.JSONObject;\r
 import org.json.JSONTokener;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.service;\r
+package com.enqualcomm.support.service;\r
 \r
 import android.content.BroadcastReceiver;\r
 import android.content.Context;\r
@@ -9,17 +9,17 @@ import android.util.Log;
 \r
 import com.eiot.watch_lib.LauncherCtrl;\r
 import com.enqualcomm.support.CoreService;\r
-import com.ic.protocol.adapter.protocolAPIHelper;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.service.base.AbstractConnectionService;\r
-import com.ic.protocol.utils.AlarmHelper;\r
-import com.ic.protocol.utils.AlarmWakeUp;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.NettyConnection;\r
-import com.ic.protocol.utils.NetworkObservable;\r
-import com.ic.protocol.utils.ServiceUtil;\r
-import com.ic.protocol.bean.Runtime;\r
+import com.enqualcomm.support.adapter.protocolAPIHelper;\r
+import com.enqualcomm.support.bean.StringMessage;\r
+import com.enqualcomm.support.service.base.AbstractConnectionService;\r
+import com.enqualcomm.support.utils.AlarmHelper;\r
+import com.enqualcomm.support.utils.AlarmWakeUp;\r
+import com.enqualcomm.support.utils.Connection;\r
+import com.enqualcomm.support.utils.Logger;\r
+import com.enqualcomm.support.utils.NettyConnection;\r
+import com.enqualcomm.support.utils.NetworkObservable;\r
+import com.enqualcomm.support.utils.ServiceUtil;\r
+import com.enqualcomm.support.bean.Runtime;\r
 \r
 import java.util.concurrent.TimeUnit;\r
 \r
@@ -1,4 +1,4 @@
-package com.ic.protocol.service;\r
+package com.enqualcomm.support.service;\r
 \r
 import android.content.Context;\r
 import android.content.Intent;\r
@@ -7,12 +7,20 @@ import android.os.Bundle;
 import android.os.Message;\r
 import android.os.Messenger;\r
 \r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.bean.VoiceContent;\r
-import com.ic.protocol.service.base.AbstractInvokeHandlerService;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.SimSignalUtil;\r
+import com.enqualcomm.support.CoreService;\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.Logger;\r
+import com.enqualcomm.support.utils.NettyConnection;\r
+import com.enqualcomm.support.utils.SimSignalUtil;\r
+import com.enqualcomm.support.utils.TimeUtil;\r
+import com.enqualcomm.support.utils.Util;\r
+\r
+import rx.Observable;\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
@@ -110,8 +118,6 @@ public class SendChatMessage extends AbstractInvokeHandlerService {
   \r
   public boolean onUserRequest(Message paramMessage, Connection paramConnection, final Runtime runtime) {\r
 \r
-    final Messenger callback2;\r
-\r
     Logger.i("=============received Message What="+paramMessage.what);\r
     int i = 1;\r
     switch (paramMessage.what) {\r
@@ -127,37 +133,29 @@ public class SendChatMessage extends AbstractInvokeHandlerService {
         Logger.i(" msg.what 101 category="+category+", filepath="+filepath+",number="+number);\r
 \r
 \r
-        if (filepath != null && number != null) {\r
+          if (filepath == null || number == null || category == -1)\r
+            return true;\r
 \r
+            //创建voiceConent并添加到数据\r
+            final VoiceContent voiceContent = VoiceContent.placeHolderOut(CONTACT_CATEGORY_GROUP, number, filepath);\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
+\r
+          // 把voiceContent拆解成1024的分包\r
+            Util.parseToVoicePacketSent(voiceContent, runtime);\r
+            //trigger 分包发送\r
+            ((NettyConnection) paramConnection).DeliverCMDMessageToSystem("SentVoicePacket", "");\r
 \r
-          final VoiceContent voiceContent = VoiceContent.placeHolderOut(category, filepath, number);\r
-          final Uri uri2 = runtime.getDbHelper().insertOrUpdate(voiceContent);\r
-         Messenger messenger = paramMessage.replyTo;\r
-//          Observable.create(new SendFileMessage(fileMessage, paramRuntime)).subscribeOn(Schedulers.io()).subscribe(new Subscriber<String>() {\r
-//                public void onCompleted() {}\r
-//\r
-//                public void onError(Throwable param1Throwable) {\r
-//                  Logger.i("发送失败");\r
-//                  SendChatMessage.this.callback(callback2, 500);\r
-//                  this.val$voiceContent.status = 5;\r
-//                  runtime.getDbHelper().updateMessage(voiceContent, uri2);\r
-//                }\r
-//\r
-//                public void onNext(String param1String) {\r
-//                  StringBuilder stringBuilder = new StringBuilder();\r
-//                  stringBuilder.append("发送成功:");\r
-//                  stringBuilder.append(param1String);\r
-//                  Logger.i(stringBuilder.toString());\r
-//                  SendChatMessage.this.callback(callback2, 200);\r
-//                  this.val$voiceContent.status = 3;\r
-//                  this.val$voiceContent.serverTime = TimeUtil.getSystemTime3();\r
-//                  this.val$voiceContent.preview = (this.val$voiceContent.content = Util.cutFile(this.val$voiceContent.content, runtime.getCacheDir())).valueOf(Util.getDuration(this.val$voiceContent.content));\r
-//                  runtime.getDbHelper().updateMessage(voiceContent, uri2);\r
-//                }\r
-//              });\r
-        } else {\r
-          return true;\r
-        }\r
       case 1000:\r
         break;\r
     }\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.service;\r
+package com.enqualcomm.support.service;\r
 \r
 import android.app.AlarmManager;\r
 import android.app.PendingIntent;\r
@@ -17,21 +17,21 @@ import android.telephony.TelephonyManager;
 \r
 \r
 import com.enqualcomm.support.CoreService;\r
-import com.ic.protocol.ICContentProvider;\r
-import com.ic.protocol.bean.Alarm;\r
-import com.ic.protocol.bean.Antioff;\r
-import com.ic.protocol.bean.NoticeContent;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.bean.Silent;\r
-import com.ic.protocol.bean.StheartRate;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.service.base.AbstractInvokeHandlerService;\r
-import com.ic.protocol.utils.AlarmHelper;\r
-import com.ic.protocol.utils.DBHelper;\r
-import com.ic.protocol.utils.Logger;\r
+import com.enqualcomm.support.ICContentProvider;\r
+import com.enqualcomm.support.bean.Alarm;\r
+import com.enqualcomm.support.bean.Antioff;\r
+import com.enqualcomm.support.bean.NoticeContent;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.bean.Silent;\r
+import com.enqualcomm.support.bean.StheartRate;\r
+import com.enqualcomm.support.utils.Connection;\r
+import com.enqualcomm.support.service.base.AbstractInvokeHandlerService;\r
+import com.enqualcomm.support.utils.AlarmHelper;\r
+import com.enqualcomm.support.utils.DBHelper;\r
+import com.enqualcomm.support.utils.Logger;\r
 \r
-import com.ic.protocol.utils.SharPreferenceUtil;\r
-import com.ic.protocol.utils.TimeUtil;\r
+import com.enqualcomm.support.utils.SharPreferenceUtil;\r
+import com.enqualcomm.support.utils.TimeUtil;\r
 \r
 import java.util.ArrayList;\r
 import java.util.Calendar;\r
@@ -1,16 +1,16 @@
-package com.ic.protocol.service;\r
+package com.enqualcomm.support.service;\r
 \r
 import android.os.SystemClock;\r
 \r
-import com.ic.protocol.adapter.protocolAPIHelper;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.service.base.AbstractConnectionService;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.NettyConnection;\r
-import com.ic.protocol.utils.TimeUtil;\r
-import  com.ic.protocol.bean.Runtime;\r
+import com.enqualcomm.support.adapter.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.Logger;\r
+import com.enqualcomm.support.utils.NettyConnection;\r
+import com.enqualcomm.support.utils.TimeUtil;\r
+import  com.enqualcomm.support.bean.Runtime;\r
 \r
 import java.text.ParseException;\r
 import java.text.SimpleDateFormat;\r
@@ -1,16 +1,16 @@
-package com.ic.protocol.service;\r
+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.ic.protocol.bean.ICLocation;\r
-import com.ic.protocol.bean.Locations;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.service.base.AbstractInvokeHandlerService;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.SharPreferenceUtil;\r
+import com.enqualcomm.support.bean.ICLocation;\r
+import com.enqualcomm.support.bean.Locations;\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.Logger;\r
+import com.enqualcomm.support.utils.SharPreferenceUtil;\r
 \r
 import org.json.JSONArray;\r
 import org.json.JSONException;\r
@@ -1,8 +1,8 @@
-package com.ic.protocol.service.base;\r
+package com.enqualcomm.support.service.base;\r
 \r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.bean.Runtime;\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
@@ -1,10 +1,10 @@
-package com.ic.protocol.service.base;\r
+package com.enqualcomm.support.service.base;\r
 \r
 import android.content.Intent;\r
 import android.os.Message;\r
 \r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.bean.Runtime;\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
@@ -1,8 +1,8 @@
-package com.ic.protocol.service.base;\r
+package com.enqualcomm.support.service.base;\r
 \r
 \r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.bean.Runtime;\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
@@ -1,8 +1,8 @@
-package com.ic.protocol.service.base;\r
+package com.enqualcomm.support.service.base;\r
 \r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.bean.Runtime;\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);\r
@@ -1,10 +1,10 @@
-package com.ic.protocol.service.base;\r
+package com.enqualcomm.support.service.base;\r
 \r
 import android.content.Intent;\r
 import android.os.Message;\r
 \r
-import com.ic.protocol.utils.Connection;\r
-import com.ic.protocol.bean.Runtime;\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
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.app.AlarmManager;\r
 import android.app.PendingIntent;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.content.ComponentName;\r
 import android.content.Context;\r
@@ -6,8 +6,8 @@ import android.content.Intent;
 import android.os.SystemClock;\r
 import android.util.Log;\r
 \r
-import com.ic.protocol.bean.Contact;\r
-import com.ic.protocol.bean.Runtime;\r
+import com.enqualcomm.support.bean.Contact;\r
+import com.enqualcomm.support.bean.Runtime;\r
 import com.enqualcomm.support.CoreService;\r
 \r
 public class AlarmWakeUp {\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.content.BroadcastReceiver;\r
 import android.content.ComponentName;\r
@@ -6,7 +6,7 @@ import android.content.Context;
 import android.content.Intent;\r
 import android.content.IntentFilter;\r
 \r
-import com.ic.protocol.bean.Runtime;\r
+import com.enqualcomm.support.bean.Runtime;\r
 \r
 public class BatteryUtil {\r
   private BroadcastReceiver batteryChangedReceiver = new BroadcastReceiver() {\r
@@ -78,7 +78,7 @@ public class BatteryUtil {
         if ("android.intent.action.BATTERY_LOW".equals(param1Intent.getAction())) {\r
           BatteryUtil.this.mRuntime.setBatteryLow(true);\r
           Logger.i("lowbattery finish video_end_call");\r
-          ComponentName componentName = new ComponentName("com.ic.protocol", "com.enqualcomm.support.CoreService");\r
+          ComponentName componentName = new ComponentName("com.enqualcomm.support", "com.enqualcomm.support.CoreService");\r
           Intent intent = (new Intent("com.enqualcomm.support.lowbatteryMsg")).setComponent(componentName);\r
           (mRuntime.getContextProxy()).context.startService(intent);\r
         }\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.content.Context;\r
 import android.content.Intent;\r
@@ -17,7 +17,7 @@ import java.io.BufferedOutputStream;
 import java.io.File;\r
 import java.io.FileOutputStream;\r
 \r
-import static com.ic.protocol.Constants.ACTION_REMOTE_CAMERA;\r
+import static com.enqualcomm.support.Constants.ACTION_REMOTE_CAMERA;\r
 \r
 public class CameraUtil implements SurfaceTexture.OnFrameAvailableListener {\r
   Context context;\r
@@ -1,11 +1,11 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.os.Handler;\r
 import android.os.Message;\r
 import android.os.PowerManager;\r
 \r
-import com.ic.protocol.GSensorListener;\r
-import com.ic.protocol.bean.Runtime;\r
+import com.enqualcomm.support.GSensorListener;\r
+import com.enqualcomm.support.bean.Runtime;\r
 \r
 public class CellInfoUtil {\r
   static int BSSS = 0;\r
@@ -1,6 +1,6 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
-import com.ic.protocol.bean.StringMessage;\r
+import com.enqualcomm.support.bean.StringMessage;\r
 \r
 public interface Connection {\r
   void close();\r
@@ -1,7 +1,7 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 \r
-import com.ic.protocol.bean.StringMessage;\r
+import com.enqualcomm.support.bean.StringMessage;\r
 \r
 public interface ConnectionListener {\r
   void onConnectionClose();\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.app.AlarmManager;\r
 import android.app.PendingIntent;\r
@@ -17,12 +17,12 @@ import android.telephony.TelephonyManager;
 import android.util.Log;\r
 \r
 \r
-import com.ic.protocol.ICContentProvider;\r
-import com.ic.protocol.bean.Alarm;\r
-import com.ic.protocol.bean.NoticeContent;\r
-import com.ic.protocol.bean.Silent;\r
-import com.ic.protocol.bean.Runtime;\r
-import com.ic.protocol.bean.VoiceContent;\r
+import com.enqualcomm.support.ICContentProvider;\r
+import com.enqualcomm.support.bean.Alarm;\r
+import com.enqualcomm.support.bean.NoticeContent;\r
+import com.enqualcomm.support.bean.Silent;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.bean.VoiceContent;\r
 \r
 import java.lang.reflect.Method;\r
 import java.util.ArrayList;\r
@@ -31,7 +31,7 @@ import java.util.Iterator;
 \r
 import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;\r
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;\r
-import static com.ic.protocol.Constants.ACTION_ISCONNECTED;\r
+import static com.enqualcomm.support.Constants.ACTION_ISCONNECTED;\r
 \r
 public class ContextProxy {\r
   private static final long ONE_WEEK = 604800000L;\r
@@ -280,7 +280,7 @@ public class ContextProxy {
     }\r
   }\r
 \r
-  \r
+\r
   public void sendBroadcast(String cmd, Runtime dev) {\r
     Intent intent = new Intent();\r
     intent.putExtra("longitude", dev.getLocationInstance().getLocation().lon);\r
@@ -1,5 +1,5 @@
 \r
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.content.ContentProviderOperation;\r
 import android.content.ContentResolver;\r
@@ -17,17 +17,17 @@ import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.RawContacts;\r
 import android.text.TextUtils;\r
 \r
-import com.ic.protocol.ICContentProvider;\r
-import com.ic.protocol.bean.Alarm;\r
-import com.ic.protocol.bean.Antioff;\r
-import com.ic.protocol.bean.Contact;\r
-import com.ic.protocol.bean.Content;\r
-import com.ic.protocol.bean.DeviceStatus;\r
-import com.ic.protocol.bean.NoticeContent;\r
-import com.ic.protocol.bean.NotificationParam;\r
-import com.ic.protocol.bean.Silent;\r
-import com.ic.protocol.bean.StheartRate;\r
-import com.ic.protocol.bean.Weather;\r
+import com.enqualcomm.support.ICContentProvider;\r
+import com.enqualcomm.support.bean.Alarm;\r
+import com.enqualcomm.support.bean.Antioff;\r
+import com.enqualcomm.support.bean.Contact;\r
+import com.enqualcomm.support.bean.Content;\r
+import com.enqualcomm.support.bean.DeviceStatus;\r
+import com.enqualcomm.support.bean.NoticeContent;\r
+import com.enqualcomm.support.bean.NotificationParam;\r
+import com.enqualcomm.support.bean.Silent;\r
+import com.enqualcomm.support.bean.StheartRate;\r
+import com.enqualcomm.support.bean.Weather;\r
 \r
 import java.io.File;\r
 import java.util.ArrayList;\r
@@ -36,11 +36,11 @@ import java.util.concurrent.TimeUnit;
 import rx.Observable;\r
 import rx.functions.Action1;\r
 \r
-import static com.ic.protocol.bean.Contact.CATEGORY_ADMIN;\r
-import static com.ic.protocol.bean.Contact.CATEGORY_CALL;\r
-import static com.ic.protocol.bean.Contact.CATEGORY_CARE;\r
-import static com.ic.protocol.bean.Contact.CATEGORY_PARTNER;\r
-import static com.ic.protocol.bean.Contact.CATEGORY_VIDEO;\r
+import static com.enqualcomm.support.bean.Contact.CATEGORY_ADMIN;\r
+import static com.enqualcomm.support.bean.Contact.CATEGORY_CALL;\r
+import static com.enqualcomm.support.bean.Contact.CATEGORY_CARE;\r
+import static com.enqualcomm.support.bean.Contact.CATEGORY_PARTNER;\r
+import static com.enqualcomm.support.bean.Contact.CATEGORY_VIDEO;\r
 \r
 public class DBHelper {\r
   private static long lastUpdateTime;\r
@@ -92,6 +92,11 @@ public class DBHelper {
     resolver.delete(ICContentProvider.CONTACT_URI, where, (String[])null);\r
   }\r
 \r
+  //确保数据库中有一个Group通讯录,供微聊使用\r
+  public void createMessageGroupID(ContentResolver resolver){\r
+\r
+  }\r
+\r
   private Uri insertDownLoadInfo(String var1, int var2, int var3, String var4) {\r
     ContentValues var5 = new ContentValues();\r
     var5.put("IMSI", var1);\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.app.ActivityManager;\r
 import android.content.Context;\r
@@ -8,7 +8,7 @@ import android.os.Build;
 import android.provider.Settings;\r
 import android.telephony.TelephonyManager;\r
 \r
-import com.ic.protocol.bean.StepCount;\r
+import com.enqualcomm.support.bean.StepCount;\r
 \r
 import java.io.FileInputStream;\r
 import java.util.ArrayList;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import java.io.File;\r
 import java.util.concurrent.locks.ReentrantLock;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.content.Intent;\r
 import android.os.Bundle;\r
@@ -7,10 +7,10 @@ import android.os.Message;
 import android.os.SystemClock;\r
 \r
 \r
-import com.ic.protocol.LocationClient;\r
-import com.ic.protocol.adapter.protocolAPIHelper;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.service.HeartRateManager;\r
+import com.enqualcomm.support.LocationClient;\r
+import com.enqualcomm.support.adapter.protocolAPIHelper;\r
+import com.enqualcomm.support.bean.StringMessage;\r
+import com.enqualcomm.support.service.HeartRateManager;\r
 import com.enqualcomm.support.CoreService;\r
 \r
 import java.io.UnsupportedEncodingException;\r
@@ -24,9 +24,9 @@ import rx.Subscription;
 import rx.android.schedulers.AndroidSchedulers;\r
 import rx.schedulers.Schedulers;\r
 \r
-import static com.ic.protocol.utils.RxSocket.SocketStatus.CONNECTED;\r
-import static com.ic.protocol.utils.RxSocket.SocketStatus.DIS_CONNECT;\r
-import com.ic.protocol.bean.Runtime;\r
+import static com.enqualcomm.support.utils.RxSocket.SocketStatus.CONNECTED;\r
+import static com.enqualcomm.support.utils.RxSocket.SocketStatus.DIS_CONNECT;\r
+import com.enqualcomm.support.bean.Runtime;\r
 \r
 public class NettyConnection implements Connection {\r
   private static long realtime_old;\r
@@ -68,6 +68,10 @@ public class NettyConnection implements Connection {
                                 DeliverCMDMessageToSystem("BP03",cmd);//通知下面线程状态变化\r
 \r
                                 break;\r
+\r
+                            case BP07:\r
+                                API.handleBP07(cmd,NettyConnection.this);\r
+                                break;\r
                             case BPTM:\r
                                 API.handleBPTM(cmd);\r
                                 Logger.i("服务器收到校时命令APTM");\r
@@ -177,7 +181,7 @@ public class NettyConnection implements Connection {
                     switch (type) {\r
                         case BP28:\r
                             API.handleBP28(NettyConnection.this,cmd, runtime,bytes);\r
-                            Logger.i("æ\9c\8då\8a¡å\99¨æ\94¶å\88°语音BP28");\r
+                            Logger.i("æ\94¶å\88°æ\9c\8då\8a¡å\99¨语音BP28");\r
                             DeliverCMDMessageToSystem("BP28", "");//通知下面线程状态变化\r
                             break;\r
                     }\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.content.BroadcastReceiver;\r
 import android.content.Context;\r
@@ -8,7 +8,7 @@ import android.net.ConnectivityManager;
 import android.net.NetworkInfo;\r
 \r
 \r
-import com.ic.protocol.service.KeepAlive;\r
+import com.enqualcomm.support.service.KeepAlive;\r
 \r
 import rx.Observable;\r
 import rx.subjects.BehaviorSubject;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.app.Notification;\r
 import android.app.NotificationManager;\r
@@ -19,9 +19,9 @@ import android.view.View;
 \r
 import com.enqualcomm.support.R;\r
 import com.ic.jni.ICJniUtils;\r
-import com.ic.protocol.bean.Contact;\r
-import com.ic.protocol.service.AudioService;\r
-import com.ic.protocol.service.HeartRateManager;\r
+import com.enqualcomm.support.bean.Contact;\r
+import com.enqualcomm.support.service.AudioService;\r
+import com.enqualcomm.support.service.HeartRateManager;\r
 \r
 import java.util.concurrent.TimeUnit;\r
 \r
@@ -32,11 +32,11 @@ import rx.schedulers.Schedulers;
 \r
 import static android.os.PowerManager.ACQUIRE_CAUSES_WAKEUP;\r
 import static android.os.PowerManager.SCREEN_DIM_WAKE_LOCK;\r
-import static com.ic.protocol.Constants.ACTION_HEATR_RATE_START;\r
-import static com.ic.protocol.Constants.ACTION_REMOTE_CAMERA;\r
-import static com.ic.protocol.Constants.RESUME_ACTION;\r
-import static com.ic.protocol.Constants.SOS_ACTION;\r
-import static com.ic.protocol.Constants.STEP_COUNT_ALARM_ACTION;\r
+import static com.enqualcomm.support.Constants.ACTION_HEATR_RATE_START;\r
+import static com.enqualcomm.support.Constants.ACTION_REMOTE_CAMERA;\r
+import static com.enqualcomm.support.Constants.RESUME_ACTION;\r
+import static com.enqualcomm.support.Constants.SOS_ACTION;\r
+import static com.enqualcomm.support.Constants.STEP_COUNT_ALARM_ACTION;\r
 \r
 public class ProcessReceiver extends BroadcastReceiver {\r
   private static final int MICRO_CHAT = 2;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;
+package com.enqualcomm.support.utils;
 
 import java.net.InetSocketAddress;
 import java.net.SocketOptions;
@@ -1,10 +1,10 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.annotation.SuppressLint;\r
 \r
-import com.ic.protocol.LocationClient;\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.service.Deliver;\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
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.content.ContentResolver;\r
 import android.content.Context;\r
@@ -9,7 +9,7 @@ import android.os.PowerManager;
 import android.provider.Settings;\r
 import android.telephony.TelephonyManager;\r
 import android.view.Display;\r
-import com.ic.protocol.bean.Runtime;\r
+import com.enqualcomm.support.bean.Runtime;\r
 \r
 import static android.content.Context.POWER_SERVICE;\r
 import static android.telephony.TelephonyManager.NETWORK_TYPE_CDMA;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import java.text.ParseException;\r
 import java.text.SimpleDateFormat;\r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.annotation.TargetApi;\r
 import android.content.Context;\r
@@ -13,11 +13,14 @@ import android.os.Build;
 \r
 \r
 import java.io.ByteArrayOutputStream;\r
+import java.io.ByteArrayInputStream;\r
 import java.io.File;\r
+import java.io.FileInputStream;\r
 import java.io.FileOutputStream;\r
 import java.io.IOException;\r
 import java.lang.reflect.Method;\r
 import java.net.InetAddress;\r
+import java.nio.ByteBuffer;\r
 import java.nio.charset.Charset;\r
 import java.util.ArrayList;\r
 import java.util.UUID;\r
@@ -25,7 +28,9 @@ import java.util.UUID;
 import okio.BufferedSink;\r
 import okio.Okio;\r
 import okio.Source;\r
-import com.ic.protocol.bean.Runtime;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.bean.VoiceContent;\r
+import com.enqualcomm.support.bean.voicePacket;\r
 \r
 import static android.content.Context.CONNECTIVITY_SERVICE;\r
 \r
@@ -282,137 +287,7 @@ public class Util {
 //    }\r
     return null;\r
   }\r
-  \r
-  public static byte[] decode(byte[] paramArrayOfByte) {\r
-    int i = paramArrayOfByte.length;\r
-    byte[] arrayOfByte = new byte[i];\r
-//    byte b2 = 0;\r
-//    byte b1 = 0;\r
-//    while (b2 < i) {\r
-//      if (paramArrayOfByte[b2] == 56) {\r
-//        byte b4 = b2 + true;\r
-//        byte b3 = b1;\r
-//        if (paramArrayOfByte[b4] == 0) {\r
-//          arrayOfByte[b1] = 56;\r
-//          b3 = b1 + true;\r
-//        }\r
-//        b2 = b4;\r
-//        b1 = b3;\r
-//        if (paramArrayOfByte[b4] == 2) {\r
-//          b1 = b3 + 1;\r
-//          arrayOfByte[b3] = 58;\r
-//          b2 = b4;\r
-//        }\r
-//      } else if (paramArrayOfByte[b2] == 57) {\r
-//        byte b4 = b2 + 1;\r
-//        byte b3 = b1;\r
-//        if (paramArrayOfByte[b4] == 0) {\r
-//          arrayOfByte[b1] = 57;\r
-//          b3 = b1 + 1;\r
-//        }\r
-//        b2 = b4;\r
-//        b1 = b3;\r
-//        if (paramArrayOfByte[b4] == 2) {\r
-//          b1 = b3 + 1;\r
-//          arrayOfByte[b3] = 59;\r
-//          b2 = b4;\r
-//        }\r
-//      } else if (paramArrayOfByte[b2] == 62) {\r
-//        byte b4 = b2 + 1;\r
-//        byte b3 = b1;\r
-//        if (paramArrayOfByte[b4] == 0) {\r
-//          arrayOfByte[b1] = 62;\r
-//          b3 = b1 + 1;\r
-//        }\r
-//        b2 = b4;\r
-//        b1 = b3;\r
-//        if (paramArrayOfByte[b4] == 2) {\r
-//          b1 = b3 + 1;\r
-//          arrayOfByte[b3] = 64;\r
-//          b2 = b4;\r
-//        }\r
-//      } else if (paramArrayOfByte[b2] == 42) {\r
-//        byte b4 = b2 + 1;\r
-//        byte b3 = b1;\r
-//        if (paramArrayOfByte[b4] == 0) {\r
-//          arrayOfByte[b1] = 42;\r
-//          b3 = b1 + 1;\r
-//        }\r
-//        b2 = b4;\r
-//        b1 = b3;\r
-//        if (paramArrayOfByte[b4] == 2) {\r
-//          b1 = b3 + 1;\r
-//          arrayOfByte[b3] = 44;\r
-//          b2 = b4;\r
-//        }\r
-//      } else {\r
-//        byte b = b1 + 1;\r
-//        arrayOfByte[b1] = paramArrayOfByte[b2];\r
-//        b1 = b;\r
-//      }\r
-//      b2++;\r
-//    }\r
-//    paramArrayOfByte = new byte[b1];\r
-//    System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, b1);\r
-    return paramArrayOfByte;\r
-  }\r
-  \r
-  public static byte[] encode(byte[] paramArrayOfByte) {\r
-    int i = paramArrayOfByte.length;\r
-    byte[] arrayOfByte = new byte[i * 2];\r
-//    byte b2 = 0;\r
-//    byte b1 = 0;\r
-//    while (b2 < i) {\r
-//      if (paramArrayOfByte[b2] == 56) {\r
-//        boolean bool = b1 + true;\r
-//        arrayOfByte[b1] = 56;\r
-//        b1 = bool + true;\r
-//        arrayOfByte[bool] = 0;\r
-//      } else if (paramArrayOfByte[b2] == 58) {\r
-//        boolean bool = b1 + true;\r
-//        arrayOfByte[b1] = 56;\r
-//        b1 = bool + true;\r
-//        arrayOfByte[bool] = 2;\r
-//      } else if (paramArrayOfByte[b2] == 57) {\r
-//        boolean bool = b1 + true;\r
-//        arrayOfByte[b1] = 57;\r
-//        b1 = bool + true;\r
-//        arrayOfByte[bool] = 0;\r
-//      } else if (paramArrayOfByte[b2] == 59) {\r
-//        boolean bool = b1 + true;\r
-//        arrayOfByte[b1] = 57;\r
-//        b1 = bool + true;\r
-//        arrayOfByte[bool] = 2;\r
-//      } else if (paramArrayOfByte[b2] == 62) {\r
-//        boolean bool = b1 + true;\r
-//        arrayOfByte[b1] = 62;\r
-//        b1 = bool + true;\r
-//        arrayOfByte[bool] = 0;\r
-//      } else if (paramArrayOfByte[b2] == 64) {\r
-//        boolean bool = b1 + true;\r
-//        arrayOfByte[b1] = 62;\r
-//        b1 = bool + true;\r
-//        arrayOfByte[bool] = 2;\r
-//      } else if (paramArrayOfByte[b2] == 42) {\r
-//        boolean bool = b1 + true;\r
-//        arrayOfByte[b1] = 42;\r
-//        b1 = bool + true;\r
-//        arrayOfByte[bool] = 0;\r
-//      } else if (paramArrayOfByte[b2] == 44) {\r
-//        boolean bool = b1 + true;\r
-//        arrayOfByte[b1] = 42;\r
-//        b1 = bool + true;\r
-//        arrayOfByte[bool] = 2;\r
-//      } else {\r
-//        arrayOfByte[b1] = paramArrayOfByte[b2];\r
-//        b1++;\r
-//      }\r
-//      b2++;\r
-//    }\r
-//    paramArrayOfByte = new byte[b1];\r
-//    System.arraycopy(arrayOfByte, 0, paramArrayOfByte, 0, b1);\r
-    return paramArrayOfByte;\r
-  }\r
+\r
   \r
   public static int getDuration(String amrfilePath) {\r
     if (amrfilePath != null) {\r
@@ -435,14 +310,7 @@ public class Util {
     return 0;\r
   }\r
   \r
-  @TargetApi(Build.VERSION_CODES.GINGERBREAD)\r
-  public static String getRealName(byte[] paramArrayOfByte) {\r
-    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {\r
-      return new String(decode(paramArrayOfByte), UTF_16);\r
-    }else\r
-      return null;\r
-  }\r
-  \r
+\r
   public static boolean isConnectWifi(Context paramContext) {\r
     ConnectivityManager connectivityManager = (ConnectivityManager)paramContext.getSystemService(CONNECTIVITY_SERVICE);\r
     NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();\r
@@ -611,5 +479,37 @@ public class Util {
   public static void turnOnWifiForConnect(Context paramContext, Runtime paramRuntime) {\r
     paramRuntime.getContextProxy().getWifiManager().setWifiEnabled(true);\r
   }\r
+\r
+\r
+  public static boolean parseToVoicePacketSent(VoiceContent voiceContent,Runtime runtime){\r
+\r
+    long filesize;\r
+    File  voicefile=new File(voiceContent.content);\r
+    if (voicefile.exists()) {\r
+      filesize = voicefile.length();\r
+\r
+      int count= (int)(filesize/1024);\r
+      if ((filesize%1024)>0)\r
+          count++;\r
+      Logger.i("File "+voiceContent.content+", size "+filesize+", count "+count);\r
+      voicePacket.getInstanceSent().clearPacket();\r
+      try {\r
+        FileInputStream fis = new FileInputStream(voicefile);\r
+        byte[] audiobuf = new byte[1024];\r
+        for (int i = 0; i < count; i++) {\r
+          int readbytes=fis.read(audiobuf,0,1024);\r
+          voicePacket.getInstanceSent().appendVoice(voiceContent.contactNumber, "", count, i, readbytes, audiobuf);\r
+        }\r
+        fis.close();\r
+        voicePacket.getInstanceSent().setCurrentIndexToSent(0);\r
+        voicePacket.getInstanceSent().setPacketTime(TimeUtil.getSystemTime3());\r
+        return true;\r
+      }catch (Exception e){\r
+        e.printStackTrace();\r
+      }\r
+\r
+    }\r
+    return false;\r
+  }\r
 }\r
 \r
@@ -1,4 +1,4 @@
-package com.ic.protocol.utils;\r
+package com.enqualcomm.support.utils;\r
 \r
 import android.content.Context;\r
 import android.os.PowerManager;\r
index eec6830..87a9f75 100644 (file)
@@ -8,7 +8,7 @@
     android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
-    tools:context="com.ic.protocol.MainActivity">
+    tools:context="com.enqualcomm.support.MainActivity">
 
     <LinearLayout
         android:layout_width="match_parent"