location 3
authorsnickersun <scy@incartech.cn>
Wed, 8 Jan 2020 15:54:36 +0000 (23:54 +0800)
committersnickersun <scy@incartech.cn>
Wed, 8 Jan 2020 15:54:36 +0000 (23:54 +0800)
32 files changed:
.gradle/5.4.1/executionHistory/executionHistory.bin
.gradle/5.4.1/executionHistory/executionHistory.lock
.gradle/5.4.1/fileHashes/fileHashes.bin
.gradle/5.4.1/fileHashes/fileHashes.lock
.gradle/5.4.1/fileHashes/resourceHashesCache.bin
.gradle/5.4.1/javaCompile/classAnalysis.bin
.gradle/5.4.1/javaCompile/javaCompile.lock
.gradle/5.4.1/javaCompile/taskHistory.bin
.gradle/buildOutputCleanup/buildOutputCleanup.lock
.idea/caches/build_file_checksums.ser
.idea/caches/gradle_models.ser
.idea/misc.xml
.idea/workspace.xml
app/app.iml
app/debug/ICSer_V320_202001082349_debug.apk [new file with mode: 0644]
app/debug/output.json
app/src/main/java/com/ic/protocol/LocationClient.java
app/src/main/java/com/ic/protocol/NMEAListener.java
app/src/main/java/com/ic/protocol/adapter/LBSHelper.java
app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java
app/src/main/java/com/ic/protocol/bean/ICLocation.java
app/src/main/java/com/ic/protocol/bean/Runtime.java
app/src/main/java/com/ic/protocol/service/Deliver.java
app/src/main/java/com/ic/protocol/service/Initialize.java
app/src/main/java/com/ic/protocol/service/KeepAlive.java
app/src/main/java/com/ic/protocol/service/protocolMainServer.java
app/src/main/java/com/ic/protocol/utils/ContextProxy.java
app/src/main/java/com/ic/protocol/utils/NettyConnection.java
app/src/main/java/com/ic/protocol/utils/RxSocket.java
app/src/main/java/com/ic/protocol/utils/ServiceUtil.java
app/src/main/java/com/ic/protocol/utils/Util.java
local.properties

index dafd201..defc338 100644 (file)
Binary files a/.gradle/5.4.1/executionHistory/executionHistory.bin and b/.gradle/5.4.1/executionHistory/executionHistory.bin differ
index b35a9c5..63276a9 100644 (file)
Binary files a/.gradle/5.4.1/executionHistory/executionHistory.lock and b/.gradle/5.4.1/executionHistory/executionHistory.lock differ
index b9c16e0..b87f520 100644 (file)
Binary files a/.gradle/5.4.1/fileHashes/fileHashes.bin and b/.gradle/5.4.1/fileHashes/fileHashes.bin differ
index 59e0142..57ebfec 100644 (file)
Binary files a/.gradle/5.4.1/fileHashes/fileHashes.lock and b/.gradle/5.4.1/fileHashes/fileHashes.lock differ
index 9589070..900b78c 100644 (file)
Binary files a/.gradle/5.4.1/fileHashes/resourceHashesCache.bin and b/.gradle/5.4.1/fileHashes/resourceHashesCache.bin differ
index d5442d2..4b5524c 100644 (file)
Binary files a/.gradle/5.4.1/javaCompile/classAnalysis.bin and b/.gradle/5.4.1/javaCompile/classAnalysis.bin differ
index 2ba9568..0930d53 100644 (file)
Binary files a/.gradle/5.4.1/javaCompile/javaCompile.lock and b/.gradle/5.4.1/javaCompile/javaCompile.lock differ
index 228a51e..2968907 100644 (file)
Binary files a/.gradle/5.4.1/javaCompile/taskHistory.bin and b/.gradle/5.4.1/javaCompile/taskHistory.bin differ
index d8b8b9b..00ae716 100644 (file)
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
index e17750a..1f99b15 100644 (file)
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
index 424b027..4cfea5a 100644 (file)
Binary files a/.idea/caches/gradle_models.ser and b/.idea/caches/gradle_models.ser differ
index 6f32454..6fd9e2b 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 <project version="4">\r
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">\r
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">\r
     <output url="file://$PROJECT_DIR$/build/classes" />\r
   </component>\r
   <component name="ProjectType">\r
index 93d4eaf..dafd761 100644 (file)
       <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/javaCompile.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/javaCompile.lock" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/taskHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/taskHistory.bin" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/caches/gradle_models.ser" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/caches/gradle_models.ser" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/app/app.iml" beforeDir="false" afterPath="$PROJECT_DIR$/app/app.iml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/app/debug/output.json" beforeDir="false" afterPath="$PROJECT_DIR$/app/debug/output.json" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Initialize.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Initialize.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ContextProxy.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ContextProxy.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/version_code.properties" beforeDir="false" afterPath="$PROJECT_DIR$/app/version_code.properties" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ServiceUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ServiceUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Util.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Util.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/local.properties" beforeDir="false" afterPath="$PROJECT_DIR$/local.properties" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -46,7 +51,7 @@
   <component name="DefaultGradleProjectSettings">
     <option name="isMigrated" value="true" />
   </component>
-  <component name="ExecutionTargetManager" SELECTED_TARGET="860312001004444" />
+  <component name="ExecutionTargetManager" SELECTED_TARGET="867155030002145" />
   <component name="ExternalProjectsData">
     <projectState path="$PROJECT_DIR$">
       <ProjectState />
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-1083">
-              <caret line="79" column="21" selection-start-line="79" selection-start-column="21" selection-end-line="79" selection-end-column="21" />
+            <state relative-caret-position="151">
+              <caret line="324" column="28" selection-start-line="324" selection-start-column="28" selection-end-line="324" selection-end-column="28" />
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="270">
-              <caret line="276" column="53" selection-start-line="276" selection-start-column="53" selection-end-line="276" selection-end-column="53" />
+            <state relative-caret-position="321">
+              <caret line="326" column="28" selection-start-line="326" selection-start-column="28" selection-end-line="326" selection-end-column="28" />
+              <folding>
+                <element signature="e#8222#8223#0" expanded="true" />
+                <element signature="e#8284#8285#0" expanded="true" />
+                <element signature="e#8802#8803#0" expanded="true" />
+                <element signature="e#8845#8846#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ServiceUtil.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="304">
-              <caret line="39" column="15" selection-start-line="39" selection-start-column="15" selection-end-line="39" selection-end-column="15" />
+            <state relative-caret-position="190">
+              <caret line="109" column="17" selection-start-line="109" selection-start-column="17" selection-end-line="109" selection-end-column="17" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="209">
-              <caret line="248" column="32" selection-start-line="248" selection-start-column="32" selection-end-line="248" selection-end-column="32" />
+            <state relative-caret-position="378">
+              <caret line="301" column="68" selection-start-line="301" selection-start-column="68" selection-end-line="301" selection-end-column="68" />
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GSensorListener.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="161">
-              <caret line="105" column="17" selection-start-line="105" selection-start-column="17" selection-end-line="105" selection-end-column="17" />
+            <state relative-caret-position="94">
+              <caret line="90" column="8" selection-start-line="90" selection-start-column="8" selection-end-line="90" selection-end-column="8" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="171">
-              <caret line="32" column="54" selection-start-line="32" selection-start-column="54" selection-end-line="32" selection-end-column="54" />
+            <state relative-caret-position="151">
+              <caret line="234" column="68" selection-start-line="234" selection-start-column="68" selection-end-line="234" selection-end-column="68" />
             </state>
           </provider>
         </entry>
       <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="168">
-              <caret line="563" column="112" selection-start-line="563" selection-start-column="112" selection-end-line="563" selection-end-column="112" />
+            <state relative-caret-position="169">
+              <caret line="254" column="46" selection-start-line="254" selection-start-column="46" selection-end-line="254" selection-end-column="46" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="2580">
-              <caret line="590" column="48" selection-start-line="590" selection-start-column="48" selection-end-line="590" selection-end-column="48" />
+            <state relative-caret-position="131">
+              <caret line="18" column="29" selection-start-line="18" selection-start-column="29" selection-end-line="18" selection-end-column="29" />
+              <folding>
+                <element signature="e#9387#9388#0" expanded="true" />
+                <element signature="e#9408#9409#0" expanded="true" />
+                <element signature="e#9441#9442#0" expanded="true" />
+                <element signature="e#9462#9463#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="275">
-              <caret line="479" column="31" selection-start-line="479" selection-start-column="25" selection-end-line="479" selection-end-column="41" />
+            <state relative-caret-position="151">
+              <caret line="26" column="26" selection-start-line="26" selection-start-column="26" selection-end-line="26" selection-end-column="26" />
               <folding>
-                <element signature="e#9269#9270#0" expanded="true" />
-                <element signature="e#9290#9291#0" expanded="true" />
+                <element signature="imports" expanded="true" />
               </folding>
             </state>
           </provider>
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>StepCount</find>
-      <find>startGpsLocate();</find>
-      <find>startGpsLocate</find>
+      <find>location</find>
+      <find>onReceive</find>
+      <find>handle_cmd</find>
+      <find>stop</find>
+      <find>runtime.getLocationInstance()</find>
+      <find>timetofix</find>
+      <find>getHost</find>
+      <find>gethost</find>
+      <find>runt</find>
+      <find>AP01</find>
+      <find>setIMEI</find>
+      <find>867155030002145</find>
       <find>runtime</find>
-      <find>delay</find>
-      <find>gpsp</find>
-      <find>_FIXED</find>
-      <find>getGPSDATA</find>
-      <find>saveste</find>
-      <find>开启GPS开启wifi扫描</find>
-      <find>getwifi</find>
-      <find>stringMessage</find>
-      <find>heart</find>
-      <find>locksim</find>
-      <find>connection.send</find>
-      <find>Link:OK</find>
-      <find>com.enqualcomm.support.ACTION_ALARM</find>
-      <find>onHeartAlarm</find>
-      <find>send_at_to_update_lbs</find>
+      <find>setoption</find>
+      <find>Socket</find>
+      <find>socketChannel</find>
+      <find>onClose</find>
+      <find>setCdma</find>
       <find>lbs</find>
-      <find>AP03</find>
-      <find>at</find>
-      <find>ServiceUtil</find>
-      <find>queue</find>
-      <find>startG</find>
       <find>receive</find>
-      <find>Connect</find>
-      <find>L</find>
-      <find>getlocksim</find>
-      <find>AP01</find>
+      <find>startLocationProcess</find>
+      <find>CellInfo</find>
+      <find>mCellinfo</find>
+      <find>CurrentCellInfo</find>
+      <find>Cellinfoutil</find>
+      <find>close</find>
+      <find>waitAndSendLocation</find>
+      <find>getCdm</find>
+      <find>battery</find>
+      <find>preCellInfo</find>
     </findStrings>
     <replaceStrings>
       <replace>stop</replace>
       <replace>GPS_CURRENT_STATUS</replace>
+      <replace>AP16</replace>
+      <replace>sendCMDMessage</replace>
     </replaceStrings>
   </component>
   <component name="GenerateSignedApkSettings">
       <list>
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/SynchronousTime.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmHelper.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Initialize.java" />
         <option value="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" />
         <option value="$PROJECT_DIR$/app/build.gradle" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RunCMD.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Logger.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GSensorListener.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.java" />
+        <option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ContextProxy.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/UpLoadDataPoints.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Initialize.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ServiceUtil.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Util.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java" />
-        <option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java" />
       </list>
     </option>
   </component>
   <component name="ProjectFrameBounds" extendedState="6">
-    <option name="x" value="29" />
-    <option name="y" value="111" />
+    <option name="x" value="620" />
+    <option name="y" value="198" />
     <option name="width" value="964" />
     <option name="height" value="784" />
   </component>
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
+      <pane id="PackagesPane" />
+      <pane id="Scope" />
       <pane id="ProjectPane" />
       <pane id="AndroidView">
         <subPane>
           <select />
         </subPane>
       </pane>
-      <pane id="PackagesPane" />
-      <pane id="Scope" />
     </panes>
   </component>
   <component name="PropertiesComponent">
-    <property name="DEBUGGABLE_DEVICE" value="sprd-c41_q3fd-860312001004444" />
+    <property name="DEBUGGABLE_DEVICE" value="sprd-c41_l02_wgd-867155030002145" />
     <property name="DEBUGGABLE_PROCESS" value="com.ic.protocol" />
     <property name="DEBUGGER_ID" value="Auto" />
-    <property name="ExportApk.ApkPath" value="D:\Snicker\icsupport\app" />
+    <property name="ExportApk.ApkPath" value="D:\workspace\icsupport\app" />
     <property name="ExportApk.BuildVariants" value="debug" />
     <property name="ExportApk.SignV1" value="true" />
     <property name="ExportApk.SignV2" value="true" />
     <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
     <property name="SHOW_ALL_PROCESSES" value="false" />
     <property name="android.sdk.path" value="$USER_HOME$/AppData/Local/Android/Sdk" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/app" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/app/EQC_G5.jks" />
     <property name="project.structure.last.edited" value="Dependencies" />
     <property name="project.structure.proportion" value="0.17" />
     <property name="project.structure.side.proportion" value="0.2" />
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
-    <editor active="true" />
+    <frame x="-8" y="-8" width="1858" height="1096" extended-state="6" />
     <layout>
-      <window_info id="Captures" order="0" sideWeight="0.50138503" side_tool="true" weight="0.32995737" />
-      <window_info content_ui="combo" id="Project" order="1" sideWeight="0.7834275" visible="true" weight="0.26012793" />
-      <window_info id="Structure" order="2" sideWeight="0.50138503" side_tool="true" weight="0.32995737" />
-      <window_info id="Favorites" order="3" sideWeight="0.50138503" side_tool="true" weight="0.32995737" />
-      <window_info id="Build Variants" order="4" sideWeight="0.21657251" side_tool="true" weight="0.26028922" />
+      <window_info id="Captures" order="0" sideWeight="0.22002634" side_tool="true" visible="true" weight="0.26028922" />
+      <window_info content_ui="combo" id="Project" order="1" sideWeight="0.7799736" visible="true" weight="0.26028922" />
+      <window_info id="Structure" order="2" sideWeight="0.21818182" side_tool="true" weight="0.26028922" />
+      <window_info id="Favorites" order="3" sideWeight="0.21818182" side_tool="true" weight="0.26028922" />
+      <window_info id="Build Variants" order="4" sideWeight="0.21818182" side_tool="true" weight="0.26028922" />
       <window_info id="Image Layers" order="5" />
       <window_info id="Designer" order="6" />
       <window_info id="Resources Explorer" order="7" sideWeight="0.49717513" weight="0.3298109" />
       <window_info id="Capture Tool" order="8" />
-      <window_info anchor="bottom" id="Run" order="0" />
-      <window_info active="true" anchor="bottom" id="Logcat" order="1" sideWeight="0.63570637" visible="true" weight="0.62689805" />
-      <window_info anchor="bottom" id="TODO" order="2" weight="0.329718" />
-      <window_info anchor="bottom" id="Find" order="3" sideWeight="0.48164627" weight="0.47288504" />
-      <window_info anchor="bottom" id="Terminal" order="4" sideWeight="0.49499443" weight="0.3286334" />
+      <window_info anchor="bottom" id="Run" order="0" weight="0.32952183" />
+      <window_info anchor="bottom" auto_hide="true" x="96" y="344" width="1798" height="456" id="Logcat" order="1" sideWeight="0.63570637" weight="0.6496881" />
+      <window_info anchor="bottom" id="TODO" order="2" weight="0.32952183" />
+      <window_info anchor="bottom" id="Find" order="3" sideWeight="0.48164627" weight="0.47193348" />
+      <window_info anchor="bottom" id="Terminal" order="4" sideWeight="0.49499443" weight="0.32848233" />
       <window_info anchor="bottom" id="Event Log" order="5" sideWeight="0.36429366" side_tool="true" weight="0.44802496" />
       <window_info anchor="bottom" id="Version Control" order="6" sideWeight="0.49944383" weight="0.32952183" />
-      <window_info anchor="bottom" id="Build" order="7" sideWeight="0.49276975" weight="0.21343446" />
-      <window_info anchor="bottom" id="Debug" order="8" sideWeight="0.4938821" weight="0.3286334" />
+      <window_info active="true" anchor="bottom" id="Build" order="7" sideWeight="0.49276975" visible="true" weight="0.21101871" />
+      <window_info anchor="bottom" id="Debug" order="8" sideWeight="0.4938821" weight="0.32848233" />
       <window_info anchor="bottom" id="Android Profiler" order="9" />
       <window_info anchor="right" id="Device File Explorer" order="0" side_tool="true" />
       <window_info anchor="right" id="Capture Analysis" order="1" />
       <breakpoints>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java</url>
-          <line>348</line>
+          <line>350</line>
           <properties />
           <option name="timeStamp" value="6" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java</url>
-          <line>488</line>
+          <line>489</line>
           <properties />
           <option name="timeStamp" value="17" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java</url>
-          <line>653</line>
+          <line>250</line>
           <properties />
-          <option name="timeStamp" value="18" />
+          <option name="timeStamp" value="32" />
         </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
     <watches-manager>
       <configuration name="app">
         <watch expression="ds.getWifiInfo()" language="JAVA" />
+        <watch expression="arrayOfString1[5]" language="JAVA" />
+        <watch expression="mRuntime.getCellinfo()" language="JAVA" />
+        <watch expression="mRuntime.getMccAndMnc()" language="JAVA" />
+        <watch expression="mRuntime.getCdmaInfo()" language="JAVA" />
         <watch expression="ds.getLBSData()" language="JAVA" />
         <watch expression="CellInfoUtil.getMNC()" language="JAVA" />
+        <watch expression="mRuntime.getGsmInfo()" language="JAVA" />
         <watch expression="String.valueOf(CellInfoUtil.getMNC())" language="JAVA" />
         <watch expression="CellInfoUtil.getCELL_ID()" language="JAVA" />
         <watch expression="String.valueOf(CellInfoUtil.getMCC())" language="JAVA" />
         <watch expression="CellInfoUtil.getLAC()" language="JAVA" />
         <watch expression="runtime.getLocationInstance()" language="JAVA" />
+        <watch expression="gpsp.getLocationStat()" language="JAVA" />
+        <watch expression="gpsp.getLocationStat() " language="JAVA" />
       </configuration>
     </watches-manager>
   </component>
   <component name="debuggerHistoryManager">
     <expressions id="watch">
       <expression>
-        <expression-string>runtime.getLocationInstance()</expression-string>
+        <expression-string>arrayOfString1[5]</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>CellInfoUtil.getLAC()</expression-string>
+        <expression-string>mRuntime.getCellinfo()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>String.valueOf(CellInfoUtil.getMCC())</expression-string>
+        <expression-string>CellInfoUtil.getMNC()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>CellInfoUtil.getCELL_ID()</expression-string>
+        <expression-string>mRuntime.getGsmInfo()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>String.valueOf(CellInfoUtil.getMNC())</expression-string>
+        <expression-string>mRuntime.getCdmaInfo()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>CellInfoUtil.getMNC()</expression-string>
+        <expression-string>mRuntime.getMccAndMnc()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>ds.getLBSData()</expression-string>
+        <expression-string>mRuntime.getGSMSignal()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>ds.getWifiInfo()</expression-string>
+        <expression-string>gpsp.getLocationStat()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>mCellInfo.split(&quot;|&quot;)</expression-string>
+        <expression-string>runtime.getLocationInstance()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>mCellInfo.split(&quot;|&quot;)[0]</expression-string>
+        <expression-string>CellInfoUtil.getLAC()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
     </expressions>
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/library/build.gradle">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/SynchronousTime.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="171">
-          <caret line="9" column="38" selection-start-line="9" selection-start-column="38" selection-end-line="9" selection-end-column="38" />
+        <state relative-caret-position="76">
+          <caret line="18" column="13" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/build.gradle">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Logger.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="133">
-          <caret line="7" column="25" selection-start-line="7" selection-start-column="25" selection-end-line="7" selection-end-column="25" />
+        <state relative-caret-position="760">
+          <caret line="40" column="22" selection-start-line="40" selection-start-column="22" selection-end-line="40" selection-end-column="22" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/build.gradle">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/base/AbstractConnectionService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1938">
-          <caret line="102" column="41" selection-start-line="102" selection-start-column="41" selection-end-line="102" selection-end-column="41" />
+        <state relative-caret-position="151">
+          <caret line="13" column="23" selection-start-line="13" selection-start-column="23" selection-end-line="13" selection-end-column="23" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/lang/Integer.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Initialize.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="202">
-          <caret line="46" column="30" selection-start-line="46" selection-start-column="22" selection-end-line="46" selection-end-column="30" />
+        <state relative-caret-position="281">
+          <caret line="73" column="39" lean-forward="true" selection-start-line="73" selection-start-column="39" selection-end-line="73" selection-end-column="39" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/hardware/SensorManager.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmHelper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="114">
-          <caret line="10" column="22" selection-start-line="10" selection-start-column="22" selection-end-line="10" selection-end-column="22" />
+        <state relative-caret-position="443">
+          <caret line="40" column="27" lean-forward="true" selection-start-line="40" selection-start-column="27" selection-end-line="40" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ExeCommand.java" />
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.java">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/telephony/gsm/GsmCellLocation.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="436">
-          <caret line="72" column="9" lean-forward="true" selection-start-line="72" selection-start-column="9" selection-end-line="72" selection-end-column="9" />
+        <state relative-caret-position="167">
+          <caret line="23" column="15" selection-start-line="23" selection-start-column="15" selection-end-line="23" selection-end-column="15" />
+          <folding>
+            <element signature="e#537#538#0" expanded="true" />
+            <element signature="e#588#589#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/CrashHandler.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/stepCounter.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="152">
-          <caret line="32" column="59" selection-start-line="32" selection-start-column="44" selection-end-line="32" selection-end-column="59" />
+        <state relative-caret-position="38">
+          <caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/location/LocationListener.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/StepCount.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="114">
-          <caret line="9" column="17" selection-start-line="9" selection-start-column="17" selection-end-line="9" selection-end-column="17" />
+        <state relative-caret-position="38">
+          <caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/location/GpsStatus.class">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/util/Timer.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="418">
-          <caret line="33" column="21" selection-start-line="33" selection-start-column="21" selection-end-line="33" selection-end-column="21" />
+        <state relative-caret-position="205">
+          <caret line="26" column="5" lean-forward="true" selection-start-line="26" selection-start-column="5" selection-end-line="26" selection-end-column="5" />
+          <folding>
+            <element signature="e#548#549#0" expanded="true" />
+            <element signature="e#599#600#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GPSListener.java" />
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/text/TextUtils.class">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/os/PowerManager.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="114">
-          <caret line="14" column="13" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
+        <state relative-caret-position="233">
+          <caret line="96" column="23" selection-start-line="96" selection-start-column="23" selection-end-line="96" selection-end-column="23" />
+          <folding>
+            <element signature="e#2767#2768#0" expanded="true" />
+            <element signature="e#2826#2827#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ContextProxy.java">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/app/PendingIntent.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="399">
-          <caret line="47" column="15" selection-start-line="47" selection-start-column="15" selection-end-line="47" selection-end-column="15" />
+        <state relative-caret-position="209">
+          <caret line="53" lean-forward="true" selection-start-line="53" selection-end-line="53" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/util/concurrent/locks/Condition.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/DeviceInfoUtil.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="312">
-          <caret line="21" column="9" selection-start-line="21" selection-start-column="9" selection-end-line="21" selection-end-column="9" />
+        <state relative-caret-position="1767">
+          <caret line="104" column="35" lean-forward="true" selection-start-line="104" selection-start-column="35" selection-end-line="104" selection-end-column="35" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/util/concurrent/LinkedBlockingDeque.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Constants.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="159">
-          <caret line="150" column="13" selection-start-line="150" selection-start-column="13" selection-end-line="150" selection-end-column="13" />
-          <folding>
-            <element signature="e#3757#3758#0" expanded="true" />
-            <element signature="e#3808#3809#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="196">
+          <caret line="89" column="75" selection-start-line="89" selection-start-column="75" selection-end-line="89" selection-end-column="75" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/location/LocationManager.class">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/app/Service.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="236">
-          <caret line="217" column="21" selection-start-line="217" selection-start-column="21" selection-end-line="217" selection-end-column="21" />
-          <folding>
-            <element signature="e#7511#7512#0" expanded="true" />
-            <element signature="e#7562#7563#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="152">
+          <caret line="20" column="28" selection-start-line="20" selection-start-column="28" selection-end-line="20" selection-end-column="28" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/FileCache.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
+      <provider editor-type-id="android-manifest" />
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="112">
-          <caret line="18" column="14" selection-start-line="18" selection-start-column="14" selection-end-line="18" selection-end-column="14" />
+        <state relative-caret-position="224">
+          <caret line="134" column="73" selection-start-line="134" selection-start-column="73" selection-end-line="134" selection-end-column="73" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ProcessReceiver.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmWakeUp.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="76">
-          <caret line="4" column="39" selection-start-line="4" selection-start-column="32" selection-end-line="4" selection-end-column="39" />
+        <state relative-caret-position="133">
+          <caret line="13" column="38" selection-start-line="13" selection-start-column="21" selection-end-line="13" selection-end-column="38" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ConnectionListener.java">
+    <entry file="file://$PROJECT_DIR$/build.gradle">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="190">
-          <caret line="10" column="7" selection-start-line="10" selection-start-column="7" selection-end-line="10" selection-end-column="7" />
+        <state relative-caret-position="133">
+          <caret line="7" column="25" selection-start-line="7" selection-start-column="25" selection-end-line="7" selection-end-column="25" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/SynchronousTime.java">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/content/Context.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="76">
-          <caret line="18" column="13" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
+        <state relative-caret-position="159">
+          <caret line="298" column="25" selection-start-line="298" selection-start-column="25" selection-end-line="298" selection-end-column="25" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ContextProxy.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-1809">
+          <caret line="170" column="58" selection-start-line="170" selection-start-column="42" selection-end-line="170" selection-end-column="58" />
         </state>
       </provider>
     </entry>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Logger.java">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/net/InetAddress.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="760">
-          <caret line="40" column="22" selection-start-line="40" selection-start-column="22" selection-end-line="40" selection-end-column="22" />
+        <state relative-caret-position="159">
+          <caret line="75" column="18" selection-start-line="75" selection-start-column="18" selection-end-line="75" selection-end-column="18" />
+          <folding>
+            <element signature="e#1783#1784#0" expanded="true" />
+            <element signature="e#1834#1835#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/base/AbstractConnectionService.java">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/location/LocationManager.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="151">
-          <caret line="13" column="23" selection-start-line="13" selection-start-column="23" selection-end-line="13" selection-end-column="23" />
+        <state relative-caret-position="133">
+          <caret line="17" column="31" selection-start-line="17" selection-start-column="31" selection-end-line="17" selection-end-column="31" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Initialize.java">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/provider/Settings.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="281">
-          <caret line="73" column="39" lean-forward="true" selection-start-line="73" selection-start-column="39" selection-end-line="73" selection-end-column="39" />
+        <state relative-caret-position="243">
+          <caret line="397" column="59" selection-start-line="397" selection-start-column="33" selection-end-line="397" selection-end-column="59" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmHelper.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="443">
-          <caret line="40" column="27" lean-forward="true" selection-start-line="40" selection-start-column="27" selection-end-line="40" selection-end-column="27" />
+        <state relative-caret-position="265">
+          <caret line="391" column="67" selection-start-line="391" selection-start-column="45" selection-end-line="391" selection-end-column="67" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/telephony/gsm/GsmCellLocation.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/StepCounterInterface.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="167">
-          <caret line="23" column="15" selection-start-line="23" selection-start-column="15" selection-end-line="23" selection-end-column="15" />
-          <folding>
-            <element signature="e#537#538#0" expanded="true" />
-            <element signature="e#588#589#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="379">
+          <caret line="43" column="34" selection-start-line="43" selection-start-column="34" selection-end-line="43" selection-end-column="34" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/StepCounterInterface.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Config.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="38">
-          <caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
+        <state relative-caret-position="151">
+          <caret line="149" column="20" selection-start-line="149" selection-start-column="20" selection-end-line="149" selection-end-column="20" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/stepCounter.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/SharPreferenceUtil.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="38">
-          <caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
+        <state relative-caret-position="76">
+          <caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/StepCount.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Locations.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="38">
-          <caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
+        <state relative-caret-position="37">
+          <caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ConnectionListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-781">
-          <caret line="29" column="31" lean-forward="true" selection-start-line="29" selection-start-column="31" selection-end-line="29" selection-end-column="31" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="190">
+          <caret line="10" column="7" selection-start-line="10" selection-start-column="7" selection-end-line="10" selection-end-column="7" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/util/concurrent/LinkedBlockingDeque.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="245">
-          <caret line="213" column="60" selection-start-line="213" selection-start-column="60" selection-end-line="213" selection-end-column="60" />
+        <state relative-caret-position="-12">
+          <caret line="138" column="13" selection-start-line="138" selection-start-column="13" selection-end-line="138" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/util/Timer.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/UpLoadDataPoints.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="205">
-          <caret line="26" column="5" lean-forward="true" selection-start-line="26" selection-start-column="5" selection-end-line="26" selection-end-column="5" />
-          <folding>
-            <element signature="e#548#549#0" expanded="true" />
-            <element signature="e#599#600#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="308">
+          <caret line="141" column="47" lean-forward="true" selection-start-line="141" selection-start-column="47" selection-end-line="141" selection-end-column="47" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GSensorListener.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Util.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2812">
-          <caret line="165" column="20" selection-start-line="165" selection-start-column="20" selection-end-line="165" selection-end-column="20" />
+        <state relative-caret-position="80">
+          <caret line="54" column="47" selection-start-line="54" selection-start-column="47" selection-end-line="54" selection-end-column="47" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/os/PowerManager.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="233">
-          <caret line="96" column="23" selection-start-line="96" selection-start-column="23" selection-end-line="96" selection-end-column="23" />
+        <state relative-caret-position="302">
+          <caret line="235" column="51" selection-start-line="235" selection-start-column="51" selection-end-line="235" selection-end-column="51" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="197">
+          <caret line="77" selection-start-line="77" selection-end-line="77" />
           <folding>
-            <element signature="e#2767#2768#0" expanded="true" />
-            <element signature="e#2826#2827#0" expanded="true" />
+            <element signature="e#1252#1253#0" expanded="true" />
+            <element signature="e#1291#1292#0" expanded="true" />
+            <element signature="e#1733#1734#0" expanded="true" />
+            <element signature="e#3018#3019#0" expanded="true" />
+            <element signature="e#3044#3045#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/app/PendingIntent.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ServiceUtil.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="209">
-          <caret line="53" lean-forward="true" selection-start-line="53" selection-end-line="53" />
+        <state relative-caret-position="377">
+          <caret line="42" column="20" selection-start-line="42" selection-start-column="20" selection-end-line="42" selection-end-column="20" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/DeviceInfoUtil.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1767">
-          <caret line="104" column="35" lean-forward="true" selection-start-line="104" selection-start-column="35" selection-end-line="104" selection-end-column="35" />
+        <state relative-caret-position="171">
+          <caret line="81" column="16" lean-forward="true" selection-start-line="81" selection-start-column="16" selection-end-line="81" selection-end-column="16" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Constants.java">
+    <entry file="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/71856ddd748344c89a323fa69958dc46/TestModules-v1.0.16/jars/classes.jar!/chestnut/utils/PhoneUtils.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="196">
-          <caret line="89" column="75" selection-start-line="89" selection-start-column="75" selection-end-line="89" selection-end-column="75" />
+        <state relative-caret-position="178">
+          <caret line="38" column="63" selection-start-line="38" selection-start-column="63" selection-end-line="38" selection-end-column="63" />
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/app/Service.class">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/net/SocketOption.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="152">
-          <caret line="20" column="28" selection-start-line="20" selection-start-column="28" selection-end-line="20" selection-end-column="28" />
+        <state relative-caret-position="76">
+          <caret line="7" column="17" selection-start-line="7" selection-start-column="17" selection-end-line="7" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/nio/channels/SocketChannel.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="224">
-          <caret line="134" column="73" selection-start-line="134" selection-start-column="73" selection-end-line="134" selection-end-column="73" />
+        <state relative-caret-position="159">
+          <caret line="35" column="51" lean-forward="true" selection-start-line="35" selection-start-column="51" selection-end-line="35" selection-end-column="51" />
         </state>
       </provider>
-      <provider editor-type-id="android-manifest" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/net/SocketOptions.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="199">
-          <caret line="420" column="40" selection-start-line="420" selection-start-column="40" selection-end-line="420" selection-end-column="40" />
-          <folding>
-            <element signature="e#28774#28775#0" expanded="true" />
-            <element signature="e#28871#28872#0" expanded="true" />
-            <element signature="e#29722#29723#0" expanded="true" />
-            <element signature="e#29760#29761#0" expanded="true" />
-            <element signature="e#32962#32963#0" expanded="true" />
-            <element signature="e#32989#32990#0" expanded="true" />
-            <element signature="e#36135#36136#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="76">
+          <caret line="7" column="27" selection-start-line="25" selection-start-column="11" selection-end-line="25" selection-end-column="20" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmWakeUp.java">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/net/StandardSocketOptions.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="133">
-          <caret line="13" column="38" selection-start-line="13" selection-start-column="21" selection-end-line="13" selection-end-column="38" />
+        <state relative-caret-position="190">
+          <caret line="13" column="58" selection-start-line="13" selection-start-column="46" selection-end-line="13" selection-end-column="58" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1083">
-          <caret line="79" column="21" selection-start-line="79" selection-start-column="21" selection-end-line="79" selection-end-column="21" />
+        <state relative-caret-position="-402">
+          <caret line="72" column="70" lean-forward="true" selection-start-line="72" selection-start-column="70" selection-end-line="72" selection-end-column="70" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="171">
-          <caret line="32" column="54" selection-start-line="32" selection-start-column="54" selection-end-line="32" selection-end-column="54" />
+        <state relative-caret-position="321">
+          <caret line="326" column="28" selection-start-line="326" selection-start-column="28" selection-end-line="326" selection-end-column="28" />
+          <folding>
+            <element signature="e#8222#8223#0" expanded="true" />
+            <element signature="e#8284#8285#0" expanded="true" />
+            <element signature="e#8802#8803#0" expanded="true" />
+            <element signature="e#8845#8846#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="161">
-          <caret line="105" column="17" selection-start-line="105" selection-start-column="17" selection-end-line="105" selection-end-column="17" />
+        <state relative-caret-position="151">
+          <caret line="324" column="28" selection-start-line="324" selection-start-column="28" selection-end-line="324" selection-end-column="28" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="270">
-          <caret line="276" column="53" selection-start-line="276" selection-start-column="53" selection-end-line="276" selection-end-column="53" />
+        <state relative-caret-position="378">
+          <caret line="301" column="68" selection-start-line="301" selection-start-column="68" selection-end-line="301" selection-end-column="68" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ServiceUtil.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GSensorListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="304">
-          <caret line="39" column="15" selection-start-line="39" selection-start-column="15" selection-end-line="39" selection-end-column="15" />
+        <state relative-caret-position="94">
+          <caret line="90" column="8" selection-start-line="90" selection-start-column="8" selection-end-line="90" selection-end-column="8" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="209">
-          <caret line="248" column="32" selection-start-line="248" selection-start-column="32" selection-end-line="248" selection-end-column="32" />
+        <state relative-caret-position="151">
+          <caret line="234" column="68" selection-start-line="234" selection-start-column="68" selection-end-line="234" selection-end-column="68" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2580">
-          <caret line="590" column="48" selection-start-line="590" selection-start-column="48" selection-end-line="590" selection-end-column="48" />
+        <state relative-caret-position="151">
+          <caret line="26" column="26" selection-start-line="26" selection-start-column="26" selection-end-line="26" selection-end-column="26" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="275">
-          <caret line="479" column="31" selection-start-line="479" selection-start-column="25" selection-end-line="479" selection-end-column="41" />
+        <state relative-caret-position="131">
+          <caret line="18" column="29" selection-start-line="18" selection-start-column="29" selection-end-line="18" selection-end-column="29" />
           <folding>
-            <element signature="e#9269#9270#0" expanded="true" />
-            <element signature="e#9290#9291#0" expanded="true" />
+            <element signature="e#9387#9388#0" expanded="true" />
+            <element signature="e#9408#9409#0" expanded="true" />
+            <element signature="e#9441#9442#0" expanded="true" />
+            <element signature="e#9462#9463#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="325">
-          <caret line="102" column="18" selection-start-line="102" selection-start-column="18" selection-end-line="102" selection-end-column="18" />
-          <folding>
-            <element signature="e#2789#2790#0" expanded="true" />
-            <element signature="e#2815#2816#0" expanded="true" />
-            <element signature="e#2843#2844#0" expanded="true" />
-            <element signature="e#2869#2870#0" expanded="true" />
-            <element signature="e#2957#2958#0" expanded="true" />
-            <element signature="e#2983#2984#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="190">
+          <caret line="109" column="17" selection-start-line="109" selection-start-column="17" selection-end-line="109" selection-end-column="17" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="168">
-          <caret line="563" column="112" selection-start-line="563" selection-start-column="112" selection-end-line="563" selection-end-column="112" />
+        <state relative-caret-position="169">
+          <caret line="254" column="46" selection-start-line="254" selection-start-column="46" selection-end-line="254" selection-end-column="46" />
         </state>
       </provider>
     </entry>
index 95ac0dd..f9ea079 100644 (file)
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner:0.5@aar" level="project" />\r
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:exposed-instrumentation-api-publish:0.5@aar" level="project" />\r
     <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource:2.2.2@aar" level="project" />\r
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\LauncherCtrl.jar:unspecified@jar" level="project" />\r
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\okio-2.4.3.jar:unspecified@jar" level="project" />\r
+    <orderEntry type="library" name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\LauncherCtrl.jar:unspecified@jar" level="project" />\r
+    <orderEntry type="library" name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\okio-2.4.3.jar:unspecified@jar" level="project" />\r
     <orderEntry type="library" name="Gradle: com.android.support:support-annotations:25.1.0@jar" level="project" />\r
     <orderEntry type="library" name="Gradle: io.reactivex:rxjava:1.1.0@jar" level="project" />\r
     <orderEntry type="library" name="Gradle: com.github.ChestnutPlus:TestModules:v1.0.16@aar" level="project" />\r
diff --git a/app/debug/ICSer_V320_202001082349_debug.apk b/app/debug/ICSer_V320_202001082349_debug.apk
new file mode 100644 (file)
index 0000000..d258efa
Binary files /dev/null and b/app/debug/ICSer_V320_202001082349_debug.apk differ
index 82a6f42..4a5be37 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":320,"versionName":"202001080850","enabled":true,"outputFile":"ICSer_V320_202001080850_debug.apk","fullName":"debug","baseName":"debug"},"path":"ICSer_V320_202001080850_debug.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":320,"versionName":"202001082349","enabled":true,"outputFile":"ICSer_V320_202001082349_debug.apk","fullName":"debug","baseName":"debug"},"path":"ICSer_V320_202001082349_debug.apk","properties":{}}]
\ No newline at end of file
index c0fd7f9..974d1b8 100644 (file)
@@ -31,6 +31,7 @@ import com.ic.protocol.utils.ServiceUtil;
 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.StepCounterInterface;\r
 import com.ic.protocol.utils.TimeUtil;\r
 \r
 import java.util.Timer;\r
@@ -246,15 +247,16 @@ public class LocationClient {
         })).start(); }\r
   \r
   private void performAlarm(PowerManager.WakeLock paramWakeLock) {\r
-    if (!runtime.isAirMode)\r
+    if (!runtime.isAirMode) {\r
       CellInfoUtil.setCurrentAttachCellInfo(runtime, paramWakeLock);\r
-    runtime.getLocationInstance().setMNC(String.valueOf(CellInfoUtil.getMNC()));\r
-    runtime.getLocationInstance().setCID(CellInfoUtil.getCELL_ID());\r
-    runtime.getLocationInstance().setMCC(String.valueOf(CellInfoUtil.getMCC()));\r
-    runtime.getLocationInstance().setLAC(CellInfoUtil.getLAC());\r
-    runtime.preCellInfo = CellInfoUtil.getCellInfo();\r
-    sendBatteryNotification();\r
-    startGpsLocate();\r
+      runtime.getLocationInstance().setMNC(String.valueOf(CellInfoUtil.getMNC()));\r
+      runtime.getLocationInstance().setCID(CellInfoUtil.getCELL_ID());\r
+      runtime.getLocationInstance().setMCC(String.valueOf(CellInfoUtil.getMCC()));\r
+      runtime.getLocationInstance().setLAC(CellInfoUtil.getLAC());\r
+      runtime.preCellInfo = CellInfoUtil.getCellInfo();\r
+      sendBatteryNotification();\r
+      startGpsLocate();\r
+    }\r
   }\r
   \r
   private void performExecute(int paramInt1, int paramInt2, int paramInt3, int paramInt4, double paramDouble1, double paramDouble2, double paramDouble3, float paramFloat1, float paramFloat2, int paramInt5, float paramFloat3, long paramLong1, long paramLong2, String paramString1, String paramString2, int paramInt6, long paramLong3, int paramInt7) {\r
@@ -325,32 +327,32 @@ public class LocationClient {
       ServiceUtil.offerQueue(stringMessage);\r
   }\r
   \r
-  public static void saveQueue() {\r
-    lock.lock();\r
-    try {\r
-      String str;\r
-      if (!queue.isEmpty()) {\r
-        StringBuilder stringBuilder = new StringBuilder();\r
-        StringMessage stringMessage = (StringMessage)queue.poll();\r
-        while (stringMessage != null) {\r
-          if (ServiceUtil.hasSave(stringMessage)) {\r
-            stringMessage=changeDelayFlag(stringMessage);\r
-            stringBuilder.append(stringMessage.toString());\r
-            stringBuilder.append("\n");\r
-            stringMessage = (StringMessage)queue.poll();\r
-          }\r
-        }\r
-        str = stringBuilder.toString();\r
-        Log.i(TAG,str);\r
-      } else {\r
-        str = null;\r
-      }\r
-      lock.unlock();\r
-      return ;\r
-    } finally {\r
-      lock.unlock();\r
-    }\r
-  }\r
+//  public static void AP16Queue() {\r
+//    lock.lock();\r
+//    try {\r
+//      String str;\r
+//      if (!queue.isEmpty()) {\r
+//        StringBuilder stringBuilder = new StringBuilder();\r
+//        StringMessage stringMessage = (StringMessage)queue.poll();\r
+//        while (stringMessage != null) {\r
+//          if (ServiceUtil.hasAP16(stringMessage)) {\r
+//            stringMessage=changeDelayFlag(stringMessage);\r
+//            stringBuilder.append(stringMessage.toString());\r
+//            stringBuilder.append("\n");\r
+//            stringMessage = (StringMessage)queue.poll();\r
+//          }\r
+//        }\r
+//        str = stringBuilder.toString();\r
+//        Log.i(TAG,str);\r
+//      } else {\r
+//        str = null;\r
+//      }\r
+//      lock.unlock();\r
+//      return ;\r
+//    } finally {\r
+//      lock.unlock();\r
+//    }\r
+//  }\r
   \r
   private void sendBatteryNotification() {\r
     if (runtime.getHaveBatteryChange() && !runtime.getBatterychanging() && !this.batteryNotification) {\r
@@ -506,14 +508,14 @@ public class LocationClient {
   \r
 //  public void EqcAlgorithmInterfaceMethod2() {\r
     public void startGpsLocate() {\r
-    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) {\r
-      Settings.Secure.setLocationProviderEnabled(runtime.getContextProxy().getResolver(), GPS_PROVIDER, true);\r
-    }\r
+\r
+\r
+    Settings.Secure.setLocationProviderEnabled(runtime.getContextProxy().getResolver(), GPS_PROVIDER, true);\r
     Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Object>() {\r
           public void call(Object param1Object) { LocationClient.this.nmeaListener.startListen(); }\r
         });\r
     Logger.i("开启GPS开启wifi扫描");\r
-    runtime.currentWifiInfo = null;\r
+    runtime.currentWifiInfo = "";\r
     mHasWifiResult = false;\r
     this.mLbsHelper.registerBroadReceiver();\r
     this.mLbsHelper.getWifiInfo();\r
@@ -554,15 +556,15 @@ public class LocationClient {
   public void waitAndSendLocation(){\r
 \r
          boolean wifi_ok=false,gps_ok=false,lbs_ok=false;\r
-        if (runtime.currentWifiInfo !=null  )wifi_ok =true;\r
+        if (runtime.currentWifiInfo.length()>0  )wifi_ok =true;\r
         if (runtime.getLocationInstance().getLocationStat() == ICLocation.LOCATION_STAT.LOCATION_FIXED) gps_ok=true;\r
-    lbs_ok=(  runtime.getLocationInstance().isDataChanged()==false\r
+        lbs_ok=(  runtime.getLocationInstance().isDataChanged()==false\r
             ||(runtime.getLocationInstance().getMNC().equals("0")\r
             && runtime.getLocationInstance().getMCC().equals("0")\r
             && runtime.getLocationInstance().getGSMStationCID() ==0\r
             &&  runtime.getLocationInstance().getLAC()==0)) ?false:true;\r
-    Logger.i("getMNC "+runtime.getLocationInstance().getMNC()+" getMCC "+runtime.getLocationInstance().getMCC()+" getGSMStationCID " + runtime.getLocationInstance().getGSMStationCID()+ " getLAC "+runtime.getLocationInstance().getLAC()+" changed "+runtime.getLocationInstance().isDataChanged());\r
-    Logger.i("lbs_ok "+lbs_ok+" waitAndSendLocation wifi_ok " + wifi_ok+ " gps_ok "+gps_ok);\r
+        Logger.i("getMNC "+runtime.getLocationInstance().getMNC()+" getMCC "+runtime.getLocationInstance().getMCC()+" getGSMStationCID " + runtime.getLocationInstance().getGSMStationCID()+ " getLAC "+runtime.getLocationInstance().getLAC()+" changed "+runtime.getLocationInstance().isDataChanged());\r
+        Logger.i("lbs_ok "+lbs_ok+" waitAndSendLocation wifi_ok " + wifi_ok+ " gps_ok "+gps_ok);\r
     if (lbs_ok ) {\r
       Logger.i("offerQueue  "+protocolAPIHelper.AP01(runtime));\r
       ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("AP01", protocolAPIHelper.AP01(runtime)));\r
@@ -588,7 +590,7 @@ public void updateCellInfo() {
   }\r
   \r
 //  public void EqcAlgorithmInterfaceMethod5(int paramInt) {\r
- public void updateSimSignalInfo(int paramInt) {\r
+ public void updateSimSignalInfo() {\r
       SimSignalUtil.getInstance((runtime.getContextProxy()).context);\r
   }\r
   \r
@@ -639,23 +641,27 @@ public void updateCellInfo() {
     stringBuilder.append(runtime.preCellInfo);\r
     Logger.i(stringBuilder.toString());\r
     handlerH12();\r
-//    if (!"".equals(runtime.getKey()) && runtime.getKey() != null) {\r
-      this.gSensorListener.startListen(paramWakeLock);\r
-      performAlarm(paramWakeLock);\r
-//    }\r
+    this.gSensorListener.startListen(paramWakeLock);\r
+    performAlarm(paramWakeLock);\r
+  }\r
+  public void startLocationProcess(){\r
+    updateCellInfo();\r
+    updateSimSignalInfo();\r
+    startGpsLocate();\r
   }\r
-  \r
   public void onReceive(StringMessage paramStringMessage) {\r
     Logger.i("LocationClient onReceive " +paramStringMessage.cmd() );\r
     if ("Sport:OK".equals(paramStringMessage.cmd()))\r
       this.mPedometer2 = this.H12StepCount;\r
 \r
-    if ("BP16".equals(paramStringMessage.cmd())){\r
-      this.startGpsLocate();\r
+    //响应定位指令\r
+    if ("StartLocate".equals(paramStringMessage.cmd())  ){\r
+      this.startLocationProcess();\r
     }\r
     if (linkOK)\r
-      return; \r
-    if ("Link:OK".equals(paramStringMessage.cmd())) {\r
+      return;\r
+    if (paramStringMessage.cmd().startsWith("AP") || paramStringMessage.cmd().startsWith("BP")) {\r
+      //如果Link:OK 则触发(激活)等待信号的发送线程\r
       this.mLock.lock();\r
       try {\r
         linkOK = true;\r
@@ -731,36 +737,49 @@ public void updateCellInfo() {
 //    EqcAlgorithmNative.EqcAlgorithmNativeSetInterface(this);\r
 //    EqcAlgorithmNative.native_EqcAlgorithm_Gsensor_eint_work_start();\r
 //    EqcAlgorithmNative.native_EqcAlgorithmMethod2();\r
-    //获取定位服务\r
+    StepCounterInterface.enableStepCounter(); //makesure enable stepCounter\r
+\r
+    //获取LBS定位服务\r
     this.mLbsHelper = runtime.getLbsHelper();\r
-    int i = SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, "value_setting_ver", 0);\r
-    StringBuilder stringBuilder = new StringBuilder();\r
-    stringBuilder.append("11  value_setting=");\r
-    stringBuilder.append(i);\r
-    Logger.i(stringBuilder.toString());\r
-    if (i == Config.value_setting) {\r
-//      EqcAlgorithmNative.native_EqcAlgorithmMethod1(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_MODE, 2), SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 3));\r
+\r
+    //初始化设定当前工作模式及循环频率\r
+    if (SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, "value_setting_ver", 0) == Config.value_setting) {\r
+      runtime.getLocationInstance().setWorkingMod(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_MODE, 2));\r
+      runtime.getLocationInstance().setLocation_cycle(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 3));\r
     } else {\r
-//      EqcAlgorithmNative.native_EqcAlgorithmMethod1(2, 3);\r
       SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, "value_setting_ver", Config.value_setting);\r
       SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_MODE, 2);\r
       SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 3);\r
+      runtime.getLocationInstance().setWorkingMod(2);\r
+      runtime.getLocationInstance().setLocation_cycle(3);\r
     }\r
+    StringBuilder stringBuilder = new StringBuilder();\r
+    stringBuilder.append("value_setting=");\r
+    stringBuilder.append(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, "value_setting_ver", 0));\r
+    stringBuilder.append("LACATION_MODE=");\r
+    stringBuilder.append(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_MODE, 2));\r
+    stringBuilder.append("LACATION_CYCLE=");\r
+    stringBuilder.append(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 3));\r
+    Logger.i(stringBuilder.toString());\r
+\r
+\r
+    /*注册 亮屏监控*/\r
     IntentFilter intentFilter = new IntentFilter();\r
     intentFilter.addAction("android.intent.action.SCREEN_ON");\r
     (runtime.getContextProxy()).context.registerReceiver(this.screenOnReceiver, intentFilter);\r
+\r
+    /*启动 阻塞队列buffer 发送县城,随时准备发送buffer的message*/\r
     (new MyThread2(this.mCondition, this.mLock)).start();\r
 \r
     this.haveChanegTo4GTime = SystemClock.elapsedRealtime();\r
   }\r
   \r
   public void stop() {\r
-//    EqcAlgorithmInterfaceMethod3();\r
-//    EqcAlgorithmNative.EqcAlgorithmNativeSetInterface(null);\r
+\r
     (runtime.getContextProxy()).context.unregisterReceiver(this.screenOnReceiver);\r
-    this.executor.execute(new Runnable() {\r
-          public void run() { LocationClient.saveQueue(); }\r
-        });\r
+//    this.executor.execute(new Runnable() {\r
+//          public void run() { LocationClient.AP16Queue(); }\r
+//        });\r
     this.gSensorListener.stopListen();\r
     stopGpsLocate();\r
   }\r
@@ -778,62 +797,57 @@ public void updateCellInfo() {
     }\r
     \r
     public void run() {\r
+      StringMessage stringMessage = null;\r
+\r
       while (true) {\r
 \r
         //循环发送queue 中的数据\r
-        StringMessage stringMessage = null;\r
+\r
         try {\r
           Logger.i("Sending Thread Queue Take ");\r
 \r
-          StringMessage stringMessage1 = (StringMessage)LocationClient.queue.take();\r
+          StringMessage stringMessage1 = (StringMessage)LocationClient.queue.takeFirst();\r
           try {\r
 \r
             if (runtime.getSignalStrength() + 110 < LocationClient.getMinSignalStrength(SimSignalUtil.getInstance((runtime.getContextProxy()).context).getNetworkType())) {\r
               Logger.i("Skip Send for SignalStrengh "+(runtime.getSignalStrength() + 110 )+" < "+LocationClient.getMinSignalStrength(SimSignalUtil.getInstance((runtime.getContextProxy()).context).getNetworkType()));\r
-              LocationClient.saveQueue();\r
-              stringMessage = stringMessage1;\r
+              //如果信号不好,把msg放回去\r
+              LocationClient.queue.putFirst(stringMessage1);\r
 \r
             } else {\r
 \r
-\r
-//              StringMessage msg_with_new_imei = LocationClient.setNewKey(stringMessage1, runtime.IMEI_CID_KEY());\r
-//              stringMessage = msg_with_new_imei;\r
               stringMessage=stringMessage1;\r
+\r
                Context context = (runtime.getContextProxy()).context;\r
                StringBuilder stringBuilder = new StringBuilder();\r
               stringBuilder.append("send=");\r
               stringBuilder.append(stringMessage.cmd());\r
-              FileOutputUtil.fileOutput(context, "LocationInfo ", stringBuilder.toString());\r
+              stringBuilder.append(", ");\r
+              stringBuilder.append(stringMessage.isFromCache());\r
+              FileOutputUtil.fileOutput(context, "MessageInfo", stringBuilder.toString());\r
               Logger.i(stringBuilder.toString());\r
+\r
               connection.send(stringMessage);\r
 \r
               this.lock.lock();\r
-//              LocationClient.access$1102(false);\r
-              LocationClient.mHasWifiResult=false;\r
+              LocationClient.linkOK=false;\r
               try {\r
-                if (KeepAlive.isConnected) {\r
-                  //如果 服务器连接状态,等30秒\r
-                  Logger.i("KeepAlive.isConnected "+KeepAlive.isConnected+" delay 30000ms");\r
-                  this.condition.await(30000L, TimeUnit.MILLISECONDS);\r
-                } else {\r
-                  //如果服务器断开,等5秒重连\r
-                  Logger.i("KeepAlive.isConnected "+KeepAlive.isConnected+" delay 5000ms");\r
-                  this.condition.await(5000L, TimeUnit.MILLISECONDS);\r
-                }\r
+//                if (KeepAlive.isConnected) {\r
+//                  //如果 服务器连接状态,等30秒\r
+//                  Logger.i("KeepAlive.isConnected "+KeepAlive.isConnected+" delay 30000ms");\r
+//                  this.condition.await(30000L, TimeUnit.MILLISECONDS);\r
+//                } else {\r
+//                  //如果服务器断开,等5秒 以便连接后尽快响应\r
+//                  Logger.i("KeepAlive.isConnected "+KeepAlive.isConnected+" delay 5000ms");\r
+//                  this.condition.await(5000L, TimeUnit.MILLISECONDS);\r
+//                }\r
                 if (linkOK) {\r
-                  if (stringMessage.all() != null && stringMessage.all()[0].equals("AP01")) {\r
+                  if (stringMessage.all() != null && stringMessage.all()[0].equals("AP16")) {\r
                     this.isResent = false;\r
-                    Logger.i("linkOK "+linkOK+ " AP01");\r
-                    Deliver.releaseWakeLockForGetWifiList();\r
-                  } else if (stringMessage.all() != null && stringMessage.all()[0].equals("AP02")) {\r
-                    Logger.i("linkOK "+linkOK+" AP02");\r
+                    Logger.i( " AP16 need wait for wifi scan list");\r
                     Deliver.releaseWakeLockForGetWifiList();\r
                   }\r
-//                  if (LocationClient.queue.peek() == null)\r
-//                    //队列空了,就填补队列。这是video用的,可以先不管\r
-//                    LocationClient.loadMessage2Queue();\r
-                    this.lock.unlock();\r
-\r
+                  this.lock.unlock();\r
                   continue;\r
                 }\r
               } finally {\r
@@ -841,12 +855,12 @@ public void updateCellInfo() {
               }\r
             }\r
           } catch (Exception e) {\r
-            stringMessage = stringMessage1;\r
+            e.printStackTrace();\r
           }\r
         } catch (Exception e) {\r
           e.printStackTrace();\r
         }\r
-      }\r
+      }//while end\r
     }\r
   }\r
 }\r
index d59a033..e65f2d1 100644 (file)
@@ -1,6 +1,7 @@
 package com.ic.protocol;\r
 \r
 import android.annotation.SuppressLint;\r
+import android.location.Criteria;\r
 import android.location.GpsSatellite;\r
 import android.location.GpsStatus;\r
 import android.location.GpsStatus.NmeaListener;\r
@@ -84,8 +85,9 @@ public class NMEAListener implements NmeaListener, LocationListener {
 //          +" cost "+status.getTimeToFirstFix()+"ms");\r
 //          定位算通过\r
             gpsMode = GPS_CURRENT_STATUS.GPS_FIXED;\r
-          runtime.getLocationInstance().setLocationStat(ICLocation.LOCATION_STAT.LOCATION_FIXED);\r
-          getBestLocation(locationManager);\r
+            runtime.getLocationInstance().setLocationStat(ICLocation.LOCATION_STAT.LOCATION_FIXED);\r
+\r
+           getBestLocation(locationManager,status);\r
 \r
             stop();\r
 \r
@@ -99,7 +101,8 @@ public class NMEAListener implements NmeaListener, LocationListener {
           break;\r
         case  GpsStatus.GPS_EVENT_STOPPED:\r
           //  tvGps.setText("GPS_EVENT_STOPPED");\r
-          runtime.getLocationInstance().setLocationStat(ICLocation.LOCATION_STAT.LOCATION_CLOSED);\r
+          gpsMode = GPS_CURRENT_STATUS.GPS_NOSINGAL;\r
+//          runtime.getLocationInstance().setLocationStat(ICLocation.LOCATION_STAT.LOCATION_CLOSED);\r
 \r
           listening=false;\r
           break;\r
@@ -202,6 +205,8 @@ public class NMEAListener implements NmeaListener, LocationListener {
 \r
     return 0;\r
   }\r
+\r
+  //停止定位\r
   private void stop(){\r
 \r
     // 经纬度 保留6位小数点\r
@@ -210,25 +215,13 @@ public class NMEAListener implements NmeaListener, LocationListener {
     String strLongitude = df.format(longitude);\r
     runtime.setLatitude(strLatitude);\r
     runtime.setLongitude(strLongitude);\r
-    runtime.setLocation(locationInfo);\r
+\r
+    Logger.i("Location " +runtime.getLocationInstance().getLocationStat().name());\r
     NMEAListener.this.temHandler.sendMessage(new Message());\r
   }\r
 \r
   boolean isFrist = true;\r
 \r
-\r
-  public double[] getGpsInfo() {\r
-    String tude = locationInfo;\r
-    if (!TextUtils.isEmpty(tude)) {\r
-      String[] longitudeAndLatitude = tude.split(" ");\r
-      String longitude = longitudeAndLatitude[0];\r
-      String latitude = longitudeAndLatitude[1];\r
-\r
-      return new double[]{Double.parseDouble(latitude),\r
-              Double.parseDouble(longitude)};\r
-    }\r
-    return null;\r
-  }\r
   /**\r
    * 获取location对象,优先以GPS_PROVIDER获取location对象,当以GPS_PROVIDER获取到的locaiton为null时\r
    * ,则以NETWORK_PROVIDER获取location对象,这样可保证在室内开启网络连接的状态下获取到的location对象不为空\r
@@ -236,7 +229,7 @@ public class NMEAListener implements NmeaListener, LocationListener {
    * @param locationManager\r
    * @return\r
    */\r
-  private void getBestLocation(LocationManager locationManager) {\r
+  private void getBestLocation(LocationManager locationManager,GpsStatus status) {\r
     Location location = null;\r
     if (locationManager != null) {\r
       location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);\r
@@ -277,10 +270,11 @@ public class NMEAListener implements NmeaListener, LocationListener {
         String strLongitude = df.format(longitude);\r
 \r
         StringBuffer sb = new StringBuffer();\r
-        sb.append("lon " + strLongitude + "\n" + "lat " + strLatitude);\r
+        sb.append("lon " + strLongitude + "  lat " + strLatitude +" TimeToFirstFix "+status.getTimeToFirstFix());\r
+\r
 //        Logger.i("satelliteInfo:"+);\r
         Logger.i( sb.toString());\r
-        runtime.getLocationInstance().setLocation(location.getLatitude(),location.getLongitude(),location.getSpeed(),0);\r
+        runtime.getLocationInstance().setLocation(location.getLatitude(),location.getLongitude(),location.getSpeed(),0,status.getMaxSatellites());\r
 \r
       }\r
     }\r
@@ -288,7 +282,15 @@ public class NMEAListener implements NmeaListener, LocationListener {
 \r
 \r
   public boolean startListen() {\r
-    this.locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0L, 0.0F, this);\r
+    Criteria criteria = new Criteria();\r
+    criteria.setAccuracy(Criteria.ACCURACY_FINE);\r
+    criteria.setAltitudeRequired(false);\r
+    criteria.setBearingRequired(false);\r
+    criteria.setCostAllowed(true);\r
+    criteria.setPowerRequirement(Criteria.POWER_LOW);\r
+    String provider = locationManager.getBestProvider(criteria,true);\r
+    Logger.i("GPS StartListen with Provider "+provider);\r
+    this.locationManager.requestLocationUpdates(provider, 0L, 0.0F, this);\r
     this.listening = true;\r
     noSignalCount=0;\r
     longitude=0;\r
index ae71a47..882e61b 100644 (file)
@@ -254,7 +254,7 @@ public class LBSHelper {
                 StringBuilder cdmaSB = new StringBuilder();\r
                 gsmSb.insert(3, "@");\r
                 mccmnc.insert(3, "@");\r
-//                this.runtime.setMccAndMnc(mccmnc.toString());\r
+                this.runtime.setMccAndMnc(mccmnc.toString());\r
                  if (celllocation instanceof GsmCellLocation) {\r
                     GsmCellLocation gsmCell = (GsmCellLocation)celllocation;\r
                     gsmSb.append("@");\r
@@ -265,9 +265,38 @@ public class LBSHelper {
                     gsmSb.append(this.mLastSignal);\r
 //                     this.runtime.setCid(String.format("%03d",gsmCell.getCid()));\r
 //                     this.runtime.setLAC(gsmCell.getLac());\r
-//                     this.runtime.setCellinfo(gsmSb.toString());\r
+                     this.runtime.setCellinfo(gsmSb.toString());\r
+                     this.runtime.setCdmaInfo(null);\r
                     Logger.i("GsmCellLocation "+ gsmSb.toString());\r
                      FileOutputUtil.fileOutput(this.context, "onCellLocationChanged", gsmSb.toString());\r
+\r
+                     List neighboringCell_list = telephonyManager.getNeighboringCellInfo();\r
+                     if (neighboringCell_list != null && !neighboringCell_list.isEmpty()) {\r
+                         Iterator cell = neighboringCell_list.iterator();\r
+\r
+                         while(cell.hasNext()) {\r
+                             NeighboringCellInfo mNeighboringCellInfo = (NeighboringCellInfo)cell.next();\r
+                             if (mNeighboringCellInfo.getLac() == -1) {\r
+                                 break;\r
+                             }\r
+\r
+                             gsmSb.append("+");\r
+                             gsmSb.append(mccmnc);\r
+                             gsmSb.append("@");\r
+                             gsmSb.append(mNeighboringCellInfo.getLac());\r
+                             gsmSb.append("@");\r
+                             gsmSb.append(mNeighboringCellInfo.getCid());\r
+                             gsmSb.append("@");\r
+                             gsmSb.append(mNeighboringCellInfo.getRssi() + 110);\r
+                             var3 = var2 + 1;\r
+                             var2 = var3;\r
+                             if (var3 == 5) {\r
+                                 break;\r
+                             }\r
+                         }\r
+                     }\r
+                     Logger.i("return "+ gsmSb.toString());\r
+                     return gsmSb.toString();\r
                 } else if (celllocation instanceof CdmaCellLocation) {\r
                     CdmaCellLocation cdmaCelllocation = (CdmaCellLocation)celllocation;\r
                     cdmaSB.append(cdmaCelllocation.getSystemId());\r
@@ -287,45 +316,15 @@ public class LBSHelper {
                     var8.append("CDMA_info=");\r
                     var8.append(cdmaSB.toString());\r
                     Logger.i(var8.toString());\r
-                    FileOutputUtil.fileOutput(var16, "onCellLocationChanged", var8.toString());\r
-                }\r
-\r
-\r
-                cdmaSB = new StringBuilder();\r
-                cdmaSB.append("lbsInfo CurrentCellInfo== ");\r
-                cdmaSB.append(gsmSb.toString());\r
-                Logger.i(cdmaSB.toString());\r
-\r
-                Context var13 = this.context;\r
-                FileOutputUtil.fileOutput(var13, "cellInfoTest", cdmaSB.toString());\r
-                Logger.i("cellInfoTest "+ cdmaSB.toString());\r
-                List neighboringCell_list = telephonyManager.getNeighboringCellInfo();\r
-                if (neighboringCell_list != null && !neighboringCell_list.isEmpty()) {\r
-                    Iterator cell = neighboringCell_list.iterator();\r
+                     this.runtime.setCellinfo(null);\r
+                     this.runtime.setCdmaInfo(cdmaSB.toString());\r
 \r
-                    while(cell.hasNext()) {\r
-                        NeighboringCellInfo mNeighboringCellInfo = (NeighboringCellInfo)cell.next();\r
-                        if (mNeighboringCellInfo.getLac() == -1) {\r
-                            break;\r
-                        }\r
+                    FileOutputUtil.fileOutput(var16, "onCellLocationChanged", var8.toString());\r
+                    return cdmaSB.toString();\r
 \r
-                        gsmSb.append("+");\r
-                        gsmSb.append(mccmnc);\r
-                        gsmSb.append("@");\r
-                        gsmSb.append(mNeighboringCellInfo.getLac());\r
-                        gsmSb.append("@");\r
-                        gsmSb.append(mNeighboringCellInfo.getCid());\r
-                        gsmSb.append("@");\r
-                        gsmSb.append(mNeighboringCellInfo.getRssi() + 110);\r
-                        var3 = var2 + 1;\r
-                        var2 = var3;\r
-                        if (var3 == 5) {\r
-                            break;\r
-                        }\r
-                    }\r
                 }\r
-                Logger.i("return "+ gsmSb.toString());\r
-                return gsmSb.toString();\r
+\r
+                return null;\r
             }\r
         } else {\r
             Logger.i("operator == null || operator.length() <= 3");\r
index 5a6be3b..d698d04 100644 (file)
@@ -6,6 +6,7 @@ import com.ic.protocol.bean.Runtime;
 import com.ic.protocol.bean.StringMessage;\r
 import com.ic.protocol.utils.Connection;\r
 import com.ic.protocol.utils.Logger;\r
+import com.ic.protocol.utils.ServiceUtil;\r
 \r
 import java.util.HashMap;\r
 \r
@@ -229,7 +230,7 @@ public class protocolAPIHelper {
     }\r
 \r
     public static String AP03(Runtime ds) {\r
-        //示例数据:IWAP03,06000908000102,5555,30#\r
+        //示例数据:IWAP03,06000908000102,5555,30#  IWAP03,000000null00000,0,0#\r
         return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP03)).append(CMDSPLIT).append(String.format("%03d",abs(ds.getSignalStrength())))\r
                 .append(ds.getGPSLocationStarNums()).append(ds.getBattery()).append("0")\r
                 .append(ds.getProtection()).append(ds.getWorkMode()).append(CMDSPLIT)\r
@@ -344,7 +345,7 @@ public class protocolAPIHelper {
 \r
 \r
         String replycmd = cmd.replace(new StringBuilder("IWBP85,").append(imei).append(",").toString(),"");\r
-        connection.send(new StringMessage(AP85(runtime,replycmd)));\r
+        ServiceUtil.offerQueue(genStringMessage("AP85",AP85(runtime,replycmd)));\r
     }\r
 \r
 \r
@@ -373,8 +374,7 @@ public class protocolAPIHelper {
 \r
 \r
             log("work mode "+cmdlist[3]);\r
-            connection.send(new StringMessage(AP33(cmdlist[2],Integer.valueOf(cmdlist[3]))));\r
-\r
+            ServiceUtil.offerQueue(genStringMessage("AP33",AP33(cmdlist[2],Integer.valueOf(cmdlist[3]))));\r
         }\r
 \r
     }\r
@@ -408,7 +408,8 @@ public class protocolAPIHelper {
         String[] cmdlist = cmd.split(",");\r
         if(cmdlist.length==3){\r
             log("imei "+cmdlist[1]+", cmdindex "+cmdlist[2]);\r
-            connection.send(new StringMessage(AP16(cmdlist[2])));\r
+\r
+            ServiceUtil.offerQueue(genStringMessage("AP16",AP16(cmdlist[2])));\r
         }else{\r
             log("error BP16 format");\r
         }\r
index 2b75dd4..a20004c 100644 (file)
@@ -27,6 +27,20 @@ public class ICLocation {
         LOCATION_CLOSED,\r
     }\r
 \r
+    public enum WORKING_MOD{\r
+        NORMAL_MOD,     //location rate 1 time per 15 minutes\r
+        LOWPOWER_MOD,   // location rate 1 time per hour\r
+        EMERGNECY_MOD, //location rate 1 time per minutes\r
+    }\r
+\r
+    private int mworkingMod;\r
+    private int location_cycle;\r
+\r
+    public void setWorkingMod(int wkmod){ mworkingMod=wkmod;}\r
+    public void setLocation_cycle(int locatCycle){ locatCycle=locatCycle;}\r
+    public int getWorkingMod(){return mworkingMod;}\r
+    public int getLocation_cycle(){return location_cycle;}\r
+\r
     public ICLocation(){\r
         if (currentLP == null)\r
             currentLP=new GPS_LocationPoint();\r
@@ -46,13 +60,13 @@ public class ICLocation {
         this.currentStat = stat;\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
+//        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
@@ -64,11 +78,12 @@ public class ICLocation {
         return currentLP;\r
     }\r
 \r
-    public void setLocation(double lat,double lon,double speed,double heading){\r
+    public void setLocation(double lat,double lon,double speed,double heading,int userdgpsnumbers){\r
         currentLP.lat=lat;\r
         currentLP.lon=lon;\r
         currentLP.speed=speed;\r
         currentLP.heading=heading;\r
+        currentLP.used_gps_numbs = userdgpsnumbers;\r
     }\r
 \r
     public void clearLBSdata(){\r
index 31fe475..7ccf577 100644 (file)
@@ -16,7 +16,7 @@ import java.util.Locale;
 public class Runtime {\r
   public int SignalStrength;\r
   \r
-  private String battery;\r
+  private String battery="000";\r
   \r
   private boolean batteryLow;\r
   \r
@@ -38,7 +38,7 @@ public class Runtime {
   \r
   private String currentCellInfo;\r
   \r
-  public String currentWifiInfo;\r
+  public String currentWifiInfo="";\r
   \r
   private DBHelper dbHelper;\r
   \r
@@ -58,7 +58,7 @@ public class Runtime {
 \r
   private String srvIP = "39.98.94.164";\r
 \r
-  private String imei = "867155030001063";\r
+  private String imei = "867155030002145";\r
 \r
   private int port = 8090;//20048;//8888;//8090;\r
 \r
@@ -70,7 +70,7 @@ public class Runtime {
   \r
   private String imsi = "";\r
   \r
-  public boolean isAirMode;\r
+  public boolean isAirMode=false;\r
   \r
   private boolean isNeedAntioff;\r
   \r
@@ -82,7 +82,7 @@ public class Runtime {
   \r
   private LBSHelper lbsHelper;\r
   \r
-  private String location;\r
+//  private String location;\r
   \r
   private boolean lockSimInfo=false;\r
   \r
@@ -169,7 +169,7 @@ public class Runtime {
   \r
   public LBSHelper getLbsHelper() { return this.lbsHelper; }\r
   \r
-  public String getLocation() { return this.location; }\r
+//  public String getLocation() { return this.location; }\r
   \r
   public boolean getLockSimInfo() { return this.lockSimInfo; }\r
   \r
@@ -264,7 +264,7 @@ public class Runtime {
     this.cellidByAt = paramString2;\r
   }\r
   \r
-  public void setLocation(String paramString) { this.location = paramString; }\r
+//  public void setLocation(String paramString) { this.location = paramString; }\r
   \r
   public void setLockSimInfo(boolean paramBoolean) { this.lockSimInfo = paramBoolean; }\r
   \r
@@ -287,7 +287,7 @@ public class Runtime {
   \r
   public void setSignalStrength(int signal) {\r
     this.SignalStrength = signal;\r
-    Logger.i("setSignalStrength "+signal);\r
+//    Logger.i("setSignalStrength "+signal);\r
   }\r
   \r
   public void setTestServerProp(boolean paramBoolean) { this.testServerProp = paramBoolean; }\r
@@ -438,6 +438,7 @@ public class Runtime {
   }\r
 \r
   public String getGPSData(){\r
+\r
 //        2232.9806N11404.9355E000.1: 北纬22度32.9806分,东经114度04.9355分,速度为000.1 km/h,如经纬度无效,可默认全为0,如0000.0000N00000.0000E\r
 //        纬度格式为: ddmm.mmmm ,长度不足长度前补0\r
 //        经度格式为:dddmm.mmmm,长度不足前补0\r
index 11800ef..7f5135f 100644 (file)
@@ -625,7 +625,7 @@ public class Deliver extends AbstractConnectionService {
           Logger.i("连接成功");\r
 //          Deliver.access$402(0);\r
           Deliver.haveSendH42 = true;\r
-          Deliver.this.mConnection.connect(Deliver.this.mRuntime.getHost(), Deliver.this.mRuntime.getPort());\r
+          Deliver.this.mConnection.connect(Deliver.this.mRuntime.getSrvIP(), Deliver.this.mRuntime.getPort());\r
           if (Deliver.this.delayHandler != null) {\r
             Deliver.this.delayHandler.removeCallbacks(Deliver.this.delayTh);\r
 //            Deliver.access$602(Deliver.this, null);\r
@@ -660,7 +660,7 @@ public class Deliver extends AbstractConnectionService {
                   if (((ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE)).getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected()) {\r
                     Logger.i("连接成功 1");\r
                     Deliver.haveSendH42 = true;\r
-                    mConnection.connect(mRuntime.getHost(), mRuntime.getPort());\r
+                    mConnection.connect(mRuntime.getSrvIP(), mRuntime.getPort());\r
 //                    Deliver.access$202(ConWifiReceiver.this.this$0, false);\r
                     releaseOneWakeLock();\r
                     Deliver.WakeLockForGetWifiList(mRuntime);\r
index e2c6120..b960872 100644 (file)
@@ -86,7 +86,7 @@ public class Initialize extends AbstractConnectionService {
   public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) {\r
     if (this.initOK)\r
       return false; \r
-    if (paramStringMessage.cmd().equals("Init")) {\r
+    if (paramStringMessage.cmd().equals("AP00")) {\r
       this.initOK = true;\r
 //      try {\r
 //        paramRuntime.setKey(((JSONObject)(new JSONTokener(paramStringMessage.all()[1])).nextValue()).getString("KEY"));\r
index 96c7f78..a4b22c3 100644 (file)
@@ -194,6 +194,8 @@ public class KeepAlive extends AbstractConnectionService {
     Logger.i("onAlarmClock");\r
 \r
     long l = SystemClock.elapsedRealtime();\r
+\r
+    //如果 没有连接成功 或者 时间超过了11分钟 ,则进行重新连接服务\r
     if (!isConnected || l - this.idleTimeMillis > 660000L) {\r
       StringBuilder stringBuilder = new StringBuilder();\r
       stringBuilder.append("重连");\r
@@ -207,7 +209,7 @@ public class KeepAlive extends AbstractConnectionService {
         paramConnection.disconnect();\r
         return;\r
       } \r
-      paramConnection.connect(paramRuntime.getHost(), paramRuntime.getPort());\r
+      paramConnection.connect(paramRuntime.getSrvIP(), paramRuntime.getPort());\r
     } \r
   }\r
   \r
@@ -231,7 +233,7 @@ public class KeepAlive extends AbstractConnectionService {
                 this.first = false;\r
                 return;\r
               } \r
-              connection.connect(runtime.getHost(), runtime.getPort());\r
+              connection.connect(runtime.getSrvIP(), runtime.getPort());\r
             } \r
           }\r
         });\r
@@ -255,20 +257,23 @@ public class KeepAlive extends AbstractConnectionService {
     stringBuilder.append(connectionError);\r
     stringBuilder.append(",sInSleepMode =");\r
     stringBuilder.append(isInSleepMode);\r
+    stringBuilder.append(",set KeepAlive isConnected = true");\r
     Logger.i(stringBuilder.toString());\r
 //    if (!connectionError) {\r
       connectionError = false;\r
-    paramConnection.send(protocolAPIHelper.genStringMessage("AP00",protocolAPIHelper.AP00(paramRuntime)));\r
-    paramConnection.send(protocolAPIHelper.genStringMessage("heart",protocolAPIHelper.AP03(paramRuntime)));\r
+    ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("AP00",protocolAPIHelper.AP00(paramRuntime)),true);\r
+    ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("heart",protocolAPIHelper.AP03(paramRuntime)));\r
 //      if (Deliver.haveSendH42) {\r
 //        ServiceUtil.offerQueue(new StringMessage(protocolAPIHelper.AP03(paramRuntime)));\r
 //        Deliver.haveSendH42 = false;\r
 //      }\r
 //    }\r
+\r
     isConnected = true;\r
     this.firstReConnected = true;\r
     this.idleTimeMillis = SystemClock.elapsedRealtime();\r
     paramRuntime.getContextProxy().sendBroadcast(isConnected);\r
+\r
     LauncherCtrl.getInstance(this.mContext).setStatusBarIcon("server_connected", STATUS_BAR_STATE_SERVER_CONNECTED_ON);\r
     return false;\r
   }\r
index 8a4e92f..bf8aef2 100644 (file)
@@ -42,6 +42,7 @@ import com.ic.protocol.utils.Util;
 \r
 import java.lang.ref.WeakReference;\r
 import chestnut.ui.Toastc;\r
+import chestnut.utils.PhoneUtils;\r
 \r
 import android.content.BroadcastReceiver;\r
 import android.content.Context;\r
@@ -143,6 +144,11 @@ public class protocolMainServer extends Service {
             if (coreService == null)\r
                 return;\r
             Logger.i("onConnectionClose++");\r
+            String ip=Util.parseHostGetIPAddress(coreService.runtime.getHost());\r
+            if ( ip !=null && ! ip.equals(coreService.runtime.getSrvIP())){\r
+                Logger.i("HostName "+coreService.runtime.getHost()+ " IP changed from "+coreService.runtime.getSrvIP()+" to "+ip);\r
+                coreService.runtime.setSrvIP(ip);\r
+            }\r
             coreService.connectionServiceChain.processConnectionClose(coreService.connection, coreService.runtime);\r
         }\r
 \r
@@ -375,6 +381,7 @@ public class protocolMainServer extends Service {
         this.runtime.setDBHelper(new DBHelper(getContentResolver(), this));\r
         this.runtime.setContextProxy(new ContextProxy(this));\r
         this.runtime.setLbsHelper(new LBSHelper(this,this.runtime.getContextProxy().getWifiManager(), this.runtime));\r
+        this.runtime.setImeiAndCid(PhoneUtils.getIMEI(this),"");\r
         this.connectionServiceChain = getConnectionServiceChain();\r
         this.invokeHandlerServiceChain = getInvokeHandlerServiceChain();\r
         if (cmcm_call_eiot_into_powersave_mode() == 1) {\r
@@ -387,7 +394,7 @@ public class protocolMainServer extends Service {
         FileOutputUtil.fileOutput(this, "alarmCycle", "设置闹钟服务  alarmCycle");\r
         this.locationClient = new LocationClient(this.connection, this.runtime);\r
         this.connection.open();\r
-        this.connection.connect(this.runtime.getHost(), this.runtime.getPort());\r
+        this.connection.connect(this.runtime.getSrvIP(), this.runtime.getPort());\r
         this.locationClient.start();\r
         startService(new Intent(this, InnerService.class));\r
         startForeground(GRAY_SERVICE_ID, new Notification());\r
@@ -577,16 +584,16 @@ public class protocolMainServer extends Service {
     }\r
 \r
     public void setUpLocationDataAlarm(long paramLong) {\r
-//        AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);\r
-//        Intent intent = new Intent(this, protocolMainServer.class);\r
-//        intent.setAction(ACTION_ALARM_ADD_DATAPOINTS);\r
-//        PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, FLAG_UPDATE_CURRENT);\r
-//        alarmManager.cancel(pendingIntent);\r
-//        alarmManager.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + paramLong, pendingIntent);\r
-//        StringBuilder stringBuilder = new StringBuilder();\r
-//        stringBuilder.append("interval=");\r
-//        stringBuilder.append(paramLong);\r
-//        Logger.i(stringBuilder.toString());\r
+        AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);\r
+        Intent intent = new Intent(this, protocolMainServer.class);\r
+        intent.setAction(ACTION_ALARM_ADD_DATAPOINTS);\r
+        PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, FLAG_UPDATE_CURRENT);\r
+        alarmManager.cancel(pendingIntent);\r
+        alarmManager.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + paramLong, pendingIntent);\r
+        StringBuilder stringBuilder = new StringBuilder();\r
+        stringBuilder.append("interval=");\r
+        stringBuilder.append(paramLong);\r
+        Logger.i(stringBuilder.toString());\r
         AlarmHelper.setRealTimeAlarm( runtime.getContextProxy().context,(int)((System.currentTimeMillis() + paramLong)/1000),ACTION_ALARM_ADD_DATAPOINTS);\r
     }\r
 \r
@@ -790,7 +797,7 @@ public class protocolMainServer extends Service {
             unregisterReceiver(this.broadcastReceiver);\r
             unregisterReceiver(this.screenOnReceiver);\r
             unregisterReceiver(this.AtCallbackBroadcastReceiver);\r
-        }\r
+    }\r
 \r
     private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {\r
         @Override\r
index 5ed8a98..828909b 100644 (file)
@@ -27,6 +27,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
 \r
 public class ContextProxy {\r
   private static final long ONE_WEEK = 604800000L;\r
@@ -157,14 +158,14 @@ public class ContextProxy {
         if (str1 != null) {\r
           String year = str1.substring(0, 4);\r
           String month = str1.substring(4, 6);\r
-          String str10 = str1.substring(6, 8);\r
-          String str11 = str1.substring(8, 10);\r
-          String str12 = str1.substring(10, 12);\r
+          String day = str1.substring(6, 8);\r
+          String hour = str1.substring(8, 10);\r
+          String minute = str1.substring(10, 12);\r
           calendar1.set(Calendar.YEAR, Integer.valueOf(year).intValue());\r
           calendar1.set(Calendar.MONTH, Integer.valueOf(month).intValue());\r
-          calendar1.set(Calendar.DAY_OF_MONTH, Integer.valueOf(str10).intValue());\r
-          calendar1.set(Calendar.HOUR_OF_DAY, Integer.valueOf(str11).intValue());\r
-          calendar1.set(Calendar.MINUTE, Integer.valueOf(str12).intValue());\r
+          calendar1.set(Calendar.DAY_OF_MONTH, Integer.valueOf(day).intValue());\r
+          calendar1.set(Calendar.HOUR_OF_DAY, Integer.valueOf(hour).intValue());\r
+          calendar1.set(Calendar.MINUTE, Integer.valueOf(minute).intValue());\r
           long l1 = calendar1.getTimeInMillis();\r
           if (l1 > l) {\r
             PendingIntent pendingIntent = getPendingIntent(str1, str2, str3, str4, str5, str6, str7);\r
@@ -424,7 +425,7 @@ public class ContextProxy {
   \r
   public void sendBroadcast(boolean paramBoolean) {\r
     Intent intent = new Intent();\r
-    intent.setAction("com.enqualcomm.support.ACTION_ISCONNECTED");\r
+    intent.setAction(ACTION_ISCONNECTED);\r
     intent.putExtra("isConnected", paramBoolean);\r
     this.context.sendBroadcast(intent);\r
   }\r
index 8a2b037..eeb454f 100644 (file)
@@ -43,39 +43,44 @@ public class NettyConnection implements Connection ,RxSocket.SocketConnectionLis
                         switch (type){\r
                             case BP00:\r
                                 API.handleBP00(cmd);\r
-                                handle_cmd("Init",cmd);\r
+                                Logger.i("服务器收到心跳AP00");\r
+                                sendCMDMessage("AP00",cmd);//通知下面线程状态变化\r
                                 break;\r
                             case BP01:\r
                                 API.handleBP01(cmd);\r
-                                handle_cmd("定位AP01",cmd);\r
+                                Logger.i("服务器收到定位AP01");\r
                                 break;\r
                             case BP03:\r
                                 API.handleBP03(cmd);\r
-                                handle_cmd("heart",cmd);\r
-                                handle_cmd("Link:OK",cmd);\r
+                                Logger.i("服务器收到心跳AP03");\r
+                                sendCMDMessage("AP03",cmd);//通知下面线程状态变化\r
                                 break;\r
                             case BP28:\r
-//              API.handleBP28(cmd);\r
-                                handle_cmd("语音BP28",cmd);\r
+                                 API.handleBP28(cmd);\r
+                                Logger.i("服务器收到语音AP28");\r
+                                sendCMDMessage("AP28",cmd);//通知下面线程状态变化\r
+\r
                                 break;\r
                             case BPTM:\r
-//              API.handleBP28(cmd);\r
-                                handle_cmd("BPTM",cmd);\r
+                                API.handleBP28(cmd);\r
+                                Logger.i("服务器收到校时命令APTM");\r
+                                sendCMDMessage("APTM",cmd);//通知下面线程状态变化\r
                                 break;\r
                             case BP85://设置闹钟\r
                                 API.handleBP85(cmd,NettyConnection.this,null);\r
-                                handle_cmd("BP85",cmd);\r
+                                Logger.i("收到服务器设置闹钟命令BP85");\r
+                                sendCMDMessage("AP85",cmd);//通知下面线程状态变化\r
                                 break;\r
                             case BP33:\r
                                 //设置工作模式\r
                                 API.handleBP33(NettyConnection.this,null,cmd);\r
-                                handle_cmd("BP33",cmd);\r
+                                sendCMDMessage("AP33",cmd);//通知下面线程状态变化\r
 \r
                                 break;\r
                             case BP16:\r
                                 //立即定位指令(长链接有效)\r
                                 API.handleBP16(NettyConnection.this,null,cmd);\r
-                                handle_cmd("BP16",cmd);\r
+                                sendCMDMessage("StartLocate",cmd);//通知下面线程状态变化\r
                                 break;\r
                         }\r
 \r
@@ -87,8 +92,7 @@ public class NettyConnection implements Connection ,RxSocket.SocketConnectionLis
   }\r
   \r
   private void connectImpl(String host, int port) {\r
-      String serverip= parseHostGetIPAddress(host);\r
-    connectServer(serverip,port);\r
+     connectServer(host,port);\r
   }\r
   \r
   public void close() {\r
@@ -116,28 +120,6 @@ public class NettyConnection implements Connection ,RxSocket.SocketConnectionLis
     disconnectServer();\r
   }\r
 \r
-  /**\r
-   * 解析域名获取IP数组\r
-   * @param host\r
-   * @return\r
-   */\r
-  public String parseHostGetIPAddress(String host) {\r
-    StringBuilder serverip=new StringBuilder("");\r
-    try {\r
-      InetAddress[] inetAddressArr = InetAddress.getAllByName(host);\r
-      if (inetAddressArr != null && inetAddressArr.length > 0) {\r
-        String[] ipAddressArr = new String[inetAddressArr.length];\r
-\r
-        for (int i = 0; i < inetAddressArr.length; i++) {\r
-          serverip.append( inetAddressArr[i].getHostAddress());;\r
-        }\r
-      }\r
-    } catch (Exception e) {\r
-      e.printStackTrace();\r
-      return null;\r
-    }\r
-    return serverip.toString();\r
-  }\r
 \r
   private boolean  connectServer(String serverip,int serverport){\r
 \r
@@ -220,7 +202,7 @@ public class NettyConnection implements Connection ,RxSocket.SocketConnectionLis
   public int getTimeout() { return this.timeout; }\r
 \r
 \r
-  private void handle_cmd(String cmd,String msg){\r
+  public void sendCMDMessage(String cmd,String msg){\r
       if (NettyConnection.this.listener!=null){\r
           String[] msgArr=new String[]{cmd,msg};\r
           StringMessage stringMessage=new StringMessage(msgArr);\r
index 9fd0e85..e7f23d1 100644 (file)
@@ -1,6 +1,8 @@
 package com.ic.protocol.utils;
 
 import java.net.InetSocketAddress;
+import java.net.SocketOptions;
+import java.net.StandardSocketOptions;
 import java.nio.ByteBuffer;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
@@ -292,8 +294,14 @@ public class RxSocket {
                         if (selectionKey != null) selectionKey.cancel();
                         socketChannel = SocketChannel.open();
                         socketChannel.configureBlocking(false);
+//                        socketChannel.setOption(SocketOptions.SO_KEEPALIVE, Boolean.TRUE);
+//                        socketChannel.setOption(SocketOptions.TCP_NODELAY, Boolean.TRUE);
+//                        socketChannel.getOption(StandardSocketOptions.SO_KEEPALIVE);
                         selector = Selector.open();
+//                        socketChannel.socket().setKeepAlive(true);
                         socketChannel.connect(new InetSocketAddress(ip, port));
+
+//                        socketChannel.socket().setTcpNoDelay(true);
                         selectionKey = socketChannel.register(selector, SelectionKey.OP_CONNECT);
                         socketStatus = SocketStatus.CONNECTING;
                         connectStatus.onNext(SocketStatus.CONNECTING);
index 9b85997..e94c4a6 100644 (file)
@@ -35,12 +35,12 @@ public class ServiceUtil {
   public static void offerQueue(StringMessage paramStringMessage, boolean paramBoolean) {\r
     if (paramBoolean) {\r
       if (!LocationClient.queue.offerFirst(paramStringMessage)) {\r
-        LocationClient.saveQueue();\r
+//        LocationClient.saveQueue();\r
         LocationClient.queue.offerFirst(paramStringMessage);\r
         return;\r
       } \r
     } else if (!LocationClient.queue.offerLast(paramStringMessage)) {\r
-      LocationClient.saveQueue();\r
+//      LocationClient.saveQueue();\r
       LocationClient.queue.offerLast(paramStringMessage);\r
     } \r
   }\r
index 9546ee2..2b3d951 100644 (file)
@@ -16,6 +16,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.File;\r
 import java.io.IOException;\r
 import java.lang.reflect.Method;\r
+import java.net.InetAddress;\r
 import java.nio.charset.Charset;\r
 import java.util.ArrayList;\r
 import java.util.UUID;\r
@@ -32,6 +33,31 @@ public class Util {
   \r
   public static Charset UTF_8;\r
 \r
+\r
+  /**\r
+   * 解析域名获取IP数组\r
+   * @param host\r
+   * @return\r
+   */\r
+  public static String parseHostGetIPAddress(String host) {\r
+    StringBuilder serverip=new StringBuilder("");\r
+    try {\r
+      InetAddress[] inetAddressArr = InetAddress.getAllByName(host);\r
+      if (inetAddressArr != null && inetAddressArr.length > 0) {\r
+        String[] ipAddressArr = new String[inetAddressArr.length];\r
+\r
+        for (int i = 0; i < inetAddressArr.length; i++) {\r
+          serverip.append( inetAddressArr[i].getHostAddress());;\r
+        }\r
+      }\r
+    } catch (Exception e) {\r
+//      e.printStackTrace();\r
+      Logger.i("GetHostIpByName Failed " + host);\r
+      return null;\r
+    }\r
+    return serverip.toString();\r
+  }\r
+\r
   public static String getSystemProperties(String prop){\r
 \r
     String str ="";\r
index 1b956e0..5b14f41 100644 (file)
@@ -4,5 +4,5 @@
 # Location of the SDK. This is only used by Gradle.\r
 # For customization when using a Version Control System, please read the\r
 # header note.\r
-#Wed Jan 08 01:09:59 CST 2020\r
-sdk.dir=C\:\\Users\\Admin\\AppData\\Local\\Android\\Sdk\r
+#Wed Jan 08 11:59:39 CST 2020\r
+sdk.dir=C\:\\Users\\incar\\AppData\\Local\\Android\\Sdk\r