location
authorsnickersun <scy@incartech.cn>
Tue, 7 Jan 2020 16:22:08 +0000 (00:22 +0800)
committersnickersun <scy@incartech.cn>
Tue, 7 Jan 2020 16:22:08 +0000 (00:22 +0800)
38 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
.gradle/buildOutputCleanup/outputFiles.bin
.idea/caches/build_file_checksums.ser
.idea/caches/gradle_models.ser
.idea/libraries/Gradle____local_aars___D__workspace_icsupport_app_libs_LauncherCtrl_jar_unspecified_jar.xml [new file with mode: 0644]
.idea/libraries/Gradle____local_aars___D__workspace_icsupport_app_libs_okio_2_4_3_jar_unspecified_jar.xml [new file with mode: 0644]
.idea/misc.xml
.idea/workspace.xml
app/app.iml
app/debug/ICSer_V113_202001071653_debug.apk [new file with mode: 0644]
app/debug/ICSer_V113_202001080021_debug.apk [new file with mode: 0644]
app/debug/output.json [new file with mode: 0644]
app/src/main/java/com/ic/protocol/GSensorListener.java
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/KeepAlive.java
app/src/main/java/com/ic/protocol/service/protocolMainServer.java
app/src/main/java/com/ic/protocol/utils/AlarmWakeUp.java
app/src/main/java/com/ic/protocol/utils/BatteryUtil.java
app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java
app/src/main/java/com/ic/protocol/utils/Logger.java
app/src/main/java/com/ic/protocol/utils/NettyConnection.java
icsupport.iml
local.properties
okio/okio.iml

index b210b7b..4ce6dd4 100644 (file)
Binary files a/.gradle/5.4.1/executionHistory/executionHistory.bin and b/.gradle/5.4.1/executionHistory/executionHistory.bin differ
index e83888b..93c34d8 100644 (file)
Binary files a/.gradle/5.4.1/executionHistory/executionHistory.lock and b/.gradle/5.4.1/executionHistory/executionHistory.lock differ
index e6dd7e5..8fc3fda 100644 (file)
Binary files a/.gradle/5.4.1/fileHashes/fileHashes.bin and b/.gradle/5.4.1/fileHashes/fileHashes.bin differ
index 3e44039..5c88bef 100644 (file)
Binary files a/.gradle/5.4.1/fileHashes/fileHashes.lock and b/.gradle/5.4.1/fileHashes/fileHashes.lock differ
index 3e8c001..4a918c3 100644 (file)
Binary files a/.gradle/5.4.1/fileHashes/resourceHashesCache.bin and b/.gradle/5.4.1/fileHashes/resourceHashesCache.bin differ
index aeefaa1..4d96557 100644 (file)
Binary files a/.gradle/5.4.1/javaCompile/classAnalysis.bin and b/.gradle/5.4.1/javaCompile/classAnalysis.bin differ
index b07e8c1..173c6bc 100644 (file)
Binary files a/.gradle/5.4.1/javaCompile/javaCompile.lock and b/.gradle/5.4.1/javaCompile/javaCompile.lock differ
index 5879777..2968907 100644 (file)
Binary files a/.gradle/5.4.1/javaCompile/taskHistory.bin and b/.gradle/5.4.1/javaCompile/taskHistory.bin differ
index 9aee7d1..da8a541 100644 (file)
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
index 9b692bd..60bbd34 100644 (file)
Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ
index 8f0cd04..1b7e468 100644 (file)
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
index 0852fa4..ea3b431 100644 (file)
Binary files a/.idea/caches/gradle_models.ser and b/.idea/caches/gradle_models.ser differ
diff --git a/.idea/libraries/Gradle____local_aars___D__workspace_icsupport_app_libs_LauncherCtrl_jar_unspecified_jar.xml b/.idea/libraries/Gradle____local_aars___D__workspace_icsupport_app_libs_LauncherCtrl_jar_unspecified_jar.xml
new file mode 100644 (file)
index 0000000..0fd1a86
--- /dev/null
@@ -0,0 +1,9 @@
+<component name="libraryTable">\r
+  <library name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\LauncherCtrl.jar:unspecified@jar">\r
+    <CLASSES>\r
+      <root url="jar://$PROJECT_DIR$/app/libs/LauncherCtrl.jar!/" />\r
+    </CLASSES>\r
+    <JAVADOC />\r
+    <SOURCES />\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle____local_aars___D__workspace_icsupport_app_libs_okio_2_4_3_jar_unspecified_jar.xml b/.idea/libraries/Gradle____local_aars___D__workspace_icsupport_app_libs_okio_2_4_3_jar_unspecified_jar.xml
new file mode 100644 (file)
index 0000000..a2edc5c
--- /dev/null
@@ -0,0 +1,9 @@
+<component name="libraryTable">\r
+  <library name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\okio-2.4.3.jar:unspecified@jar">\r
+    <CLASSES>\r
+      <root url="jar://$PROJECT_DIR$/app/libs/okio-2.4.3.jar!/" />\r
+    </CLASSES>\r
+    <JAVADOC />\r
+    <SOURCES />\r
+  </library>\r
+</component>
\ No newline at end of file
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 6e67cb5..587dbaf 100644 (file)
   </component>
   <component name="ChangeListManager">
     <list default="true" id="a0feeb22-06b0-4f90-bebc-7c0a45a72929" name="Default Changelist" comment="">
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle____local_aars___D__workspace_icsupport_app_libs_LauncherCtrl_jar_unspecified_jar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle____local_aars___D__workspace_icsupport_app_libs_okio_2_4_3_jar_unspecified_jar.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/executionHistory/executionHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/executionHistory/executionHistory.bin" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/executionHistory/executionHistory.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/executionHistory/executionHistory.lock" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/fileHashes.bin" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/fileHashes.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/fileHashes.lock" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/resourceHashesCache.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/resourceHashesCache.bin" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/classAnalysis.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/classAnalysis.bin" afterDir="false" />
       <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/src/main/java/com/ic/protocol/GSensorListener.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GSensorListener.java" 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/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/AlarmWakeUp.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmWakeUp.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.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/Logger.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Logger.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$/icsupport.iml" beforeDir="false" afterPath="$PROJECT_DIR$/icsupport.iml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/local.properties" beforeDir="false" afterPath="$PROJECT_DIR$/local.properties" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/okio/okio.iml" beforeDir="false" afterPath="$PROJECT_DIR$/okio/okio.iml" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -28,7 +55,7 @@
   <component name="DefaultGradleProjectSettings">
     <option name="isMigrated" value="true" />
   </component>
-  <component name="ExecutionTargetManager" SELECTED_TARGET="860312001002391" />
+  <component name="ExecutionTargetManager" SELECTED_TARGET="860312001004444" />
   <component name="ExternalProjectsData">
     <projectState path="$PROJECT_DIR$">
       <ProjectState />
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file pinned="false" current-in-tab="true">
+      <file pinned="false" current-in-tab="false">
         <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="106">
-              <caret line="451" column="17" lean-forward="true" selection-start-line="451" selection-start-column="17" selection-end-line="451" selection-end-column="17" />
+            <state relative-caret-position="112">
+              <caret line="706" column="35" selection-start-line="706" selection-start-column="35" selection-end-line="706" selection-end-column="35" />
               <folding>
-                <element signature="e#28369#28370#0" expanded="true" />
-                <element signature="e#28404#28405#0" expanded="true" />
-                <element signature="e#28457#28458#0" expanded="true" />
-                <element signature="e#28501#28502#0" expanded="true" />
-                <element signature="e#35729#35730#0" expanded="true" />
-                <element signature="e#35765#35766#0" expanded="true" />
+                <element signature="imports" expanded="true" />
               </folding>
             </state>
           </provider>
       <file pinned="false" current-in-tab="false">
         <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="345">
-              <caret line="381" column="46" lean-forward="true" selection-start-line="381" selection-start-column="46" selection-end-line="381" selection-end-column="46" />
+            <state relative-caret-position="302">
+              <caret line="152" column="53" selection-start-line="152" selection-start-column="53" selection-end-line="152" selection-end-column="53" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.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="46">
-              <caret line="356" column="24" selection-start-line="356" selection-start-column="24" selection-end-line="356" selection-end-column="24" />
-              <folding>
-                <element signature="e#914#928#0" expanded="true" />
-                <element signature="e#1000#1014#0" expanded="true" />
-                <element signature="e#3747#3748#0" expanded="true" />
-                <element signature="e#3777#3778#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="292">
+              <caret line="274" column="48" lean-forward="true" selection-start-line="274" selection-start-column="48" selection-end-line="274" selection-end-column="48" />
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
+      <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="228">
-              <caret line="129" column="20" selection-start-line="129" selection-start-column="20" selection-end-line="129" selection-end-column="20" />
+            <state relative-caret-position="139">
+              <caret line="646" column="28" selection-start-line="646" selection-start-column="28" selection-end-line="646" selection-end-column="28" />
+              <folding>
+                <element signature="e#21469#21647#0" expanded="true" />
+                <element signature="e#21646#21647#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/ContextProxy.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="125">
-              <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="228">
+              <caret line="167" column="33" lean-forward="true" selection-start-line="167" selection-start-column="33" selection-end-line="167" selection-end-column="33" />
+              <folding>
+                <element signature="e#1040#2307#0" expanded="true" />
+                <element signature="e#2306#2307#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/GSensorListener.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="387">
-              <caret line="183" column="19" lean-forward="true" selection-start-line="183" selection-start-column="19" selection-end-line="183" selection-end-column="19" />
-              <folding>
-                <element signature="e#989#2296#0" expanded="true" />
-                <element signature="e#2295#2296#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="151">
+              <caret line="244" selection-start-line="244" selection-end-line="244" />
             </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/CellInfoUtil.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="330">
-              <caret line="262" column="25" selection-start-line="262" selection-start-column="14" selection-end-line="262" selection-end-column="25" />
+            <state relative-caret-position="-100">
+              <caret line="31" column="2" lean-forward="true" selection-start-line="31" selection-start-column="2" selection-end-line="31" selection-end-column="2" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <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/bean/Runtime.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="37">
-              <caret line="27" column="34" selection-start-line="27" selection-start-column="22" selection-end-line="27" selection-end-column="34" />
+            <state relative-caret-position="-51">
+              <caret line="327" selection-start-line="327" selection-end-line="327" />
               <folding>
-                <element signature="e#622#623#0" expanded="true" />
-                <element signature="e#662#663#0" expanded="true" />
-                <element signature="e#708#709#0" expanded="true" />
-                <element signature="e#748#749#0" expanded="true" />
+                <element signature="e#8624#8625#0" expanded="true" />
+                <element signature="e#8649#8650#0" expanded="true" />
+                <element signature="e#8787#8788#0" expanded="true" />
+                <element signature="e#9167#9168#0" expanded="true" />
+                <element signature="e#9189#9190#0" expanded="true" />
+                <element signature="e#9247#9248#0" expanded="true" />
+                <element signature="e#9269#9270#0" expanded="true" />
+                <element signature="e#9313#9314#0" expanded="true" />
+                <element signature="e#9335#9336#0" expanded="true" />
+                <element signature="e#9370#9371#0" expanded="true" />
+                <element signature="e#9391#9392#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/CellInfoUtil.java">
+        <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="273">
-              <caret line="125" column="3" lean-forward="true" selection-start-line="125" selection-start-column="3" selection-end-line="125" selection-end-column="3" />
+            <state relative-caret-position="453">
+              <caret line="96" column="20" selection-start-line="96" selection-start-column="20" selection-end-line="96" selection-end-column="20" />
               <folding>
-                <element signature="e#519#844#0" expanded="true" />
-                <element signature="e#843#844#0" expanded="true" />
+                <element signature="e#1252#1253#0" expanded="true" />
+                <element signature="e#1291#1292#0" expanded="true" />
+                <element signature="e#2789#2790#0" expanded="true" />
+                <element signature="e#2815#2816#0" expanded="true" />
+                <element signature="e#2957#2958#0" expanded="true" />
+                <element signature="e#2983#2984#0" expanded="true" />
+                <element signature="e#3018#3019#0" expanded="true" />
+                <element signature="e#3051#3052#0" expanded="true" />
               </folding>
             </state>
           </provider>
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>bootClasspath</find>
-      <find>TYPE_STEP_COUNTER</find>
-      <find>CompileOptions</find>
-      <find>sensorManager</find>
-      <find>maxTime</find>
-      <find>paramWakeLock</find>
-      <find>handler</find>
-      <find>msg.what</find>
-      <find>getCellInfo</find>
-      <find>setOnWiFiInfoListener</find>
-      <find>mRuntime</find>
-      <find>EqcAlgorithmInterfaceMethod3</find>
-      <find>EqcAlgorithmInterfaceMethod2</find>
-      <find>H10</find>
-      <find>gpstest</find>
-      <find>GPS_PROVIDER</find>
-      <find>readGpsThread</find>
-      <find>locationListener</find>
-      <find>requestLocationUpdates</find>
-      <find>LocationManager</find>
-      <find>locationInfo</find>
+      <find>repeat</find>
+      <find>UpdateHeartBeatTimeout</find>
+      <find>onHeartAlarm</find>
+      <find>HeartAlarm</find>
+      <find>SignalStrength</find>
+      <find>queryLast</find>
+      <find>BatteryUtil</find>
+      <find>AP03</find>
+      <find>srvIP</find>
+      <find>setBatter</find>
+      <find>setTotalStepCount</find>
+      <find>stepcount</find>
+      <find>setBattery</find>
+      <find>format</find>
+      <find>stop</find>
       <find>getBestLocation</find>
-      <find>isFrist</find>
-      <find>updateView</find>
-      <find>updateGpsStatus</find>
-      <find>flag</find>
-      <find>ReadGpsThread</find>
-      <find>scanresult</find>
-      <find>locationManager</find>
-      <find>Start</find>
+      <find>FIXED</find>
+      <find>GPS_FIXED</find>
+      <find>StepCount</find>
+      <find>startGpsLocate();</find>
+      <find>startGpsLocate</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>
     </findStrings>
+    <replaceStrings>
+      <replace>stop</replace>
+      <replace>GPS_CURRENT_STATUS</replace>
+    </replaceStrings>
   </component>
   <component name="GenerateSignedApkSettings">
-    <option name="KEY_STORE_PATH" value="D:\Snicker\icsupport\app\EQC_G5.jks" />
+    <option name="KEY_STORE_PATH" value="D:\workspace\icsupport\app\EQC_G5.jks" />
     <option name="KEY_ALIAS" value="watch_g5" />
     <option name="REMEMBER_PASSWORDS" value="true" />
     <option name="BUILD_TARGET_KEY" value="apk" />
     <option name="CHANGED_PATHS">
       <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/service/KeepAlive.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$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java" />
-        <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/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/bean/Runtime.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/ExeCommand.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/StepCounterInterface.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GPSListener.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmWakeUp.java" />
+        <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/Deliver.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/service/protocolMainServer.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/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/adapter/LBSHelper.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/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/LocationClient.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/GPSListener.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java" />
       </list>
     </option>
   </component>
   <component name="ProjectFrameBounds" extendedState="6">
-    <option name="x" value="-8" />
-    <option name="y" value="-8" />
-    <option name="width" value="1038" />
-    <option name="height" value="742" />
+    <option name="x" value="29" />
+    <option name="y" value="111" />
+    <option name="width" value="964" />
+    <option name="height" value="784" />
   </component>
   <component name="ProjectView">
     <navigator proportions="" version="1">
               <item name="java" type="edd41e36:AndroidSourceTypeNode" />
               <item name="protocol" type="cbb59c9e:AndroidPsiDirectoryNode" />
             </path>
-            <path>
-              <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
-              <item name="protocol" type="cbb59c9e:AndroidPsiDirectoryNode" />
-              <item name="adapter" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
-              <item name="app" type="feadf853:AndroidModuleNode" />
-              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
-              <item name="protocol" type="cbb59c9e:AndroidPsiDirectoryNode" />
-              <item name="bean" type="462c0819:PsiDirectoryNode" />
-            </path>
             <path>
               <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
               <item name="app" type="feadf853:AndroidModuleNode" />
           <select />
         </subPane>
       </pane>
-      <pane id="Scope" />
       <pane id="PackagesPane" />
+      <pane id="Scope" />
       <pane id="ProjectPane" />
     </panes>
   </component>
   <component name="PropertiesComponent">
-    <property name="ExportApk.ApkPath" value="D:\Snicker\icsupport\app" />
-    <property name="ExportApk.BuildVariants" value="release" />
+    <property name="DEBUGGABLE_DEVICE" value="sprd-c41_q3fd-860312001004444" />
+    <property name="DEBUGGABLE_PROCESS" value="com.ic.protocol" />
+    <property name="DEBUGGER_ID" value="Auto" />
+    <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/EQC_G5.jks" />
     <property name="project.structure.last.edited" value="Dependencies" />
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
+    <frame x="-8" y="-8" width="1858" height="1096" extended-state="6" />
     <editor active="true" />
     <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.78969073" visible="true" weight="0.26066098" />
+      <window_info content_ui="combo" id="Project" order="1" sideWeight="0.7834275" visible="true" weight="0.26028922" />
       <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.21030928" side_tool="true" visible="true" weight="0.26066098" />
+      <window_info id="Build Variants" order="4" sideWeight="0.21657251" 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.49861497" weight="0.32995737" />
+      <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 anchor="bottom" id="Logcat" order="1" sideWeight="0.6540512" weight="0.44902387" />
+      <window_info active="true" anchor="bottom" id="Logcat" order="1" sideWeight="0.63570637" visible="true" weight="0.44802496" />
       <window_info anchor="bottom" id="TODO" order="2" weight="0.329718" />
-      <window_info active="true" anchor="bottom" id="Find" order="3" sideWeight="0.49573562" visible="true" weight="0.47396964" />
-      <window_info anchor="bottom" id="Terminal" order="4" sideWeight="0.49840087" weight="0.329718" />
-      <window_info anchor="bottom" id="Event Log" order="5" sideWeight="0.5042644" side_tool="true" visible="true" weight="0.47396964" />
-      <window_info anchor="bottom" id="Version Control" order="6" weight="0.329718" />
-      <window_info anchor="bottom" id="Build" order="7" sideWeight="0.49840087" weight="0.21691974" />
-      <window_info anchor="bottom" id="Debug" order="8" sideWeight="0.49626866" weight="0.329718" />
+      <window_info anchor="bottom" id="Find" order="3" sideWeight="0.48164627" weight="0.47297296" />
+      <window_info anchor="bottom" id="Terminal" order="4" sideWeight="0.49499443" weight="0.32952183" />
+      <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.21413721" />
+      <window_info anchor="bottom" id="Debug" order="8" sideWeight="0.4938821" weight="0.32952183" />
       <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" />
       <window_info anchor="right" id="Theme Preview" order="3" />
       <window_info anchor="right" id="Palette&#9;" order="4" />
     </layout>
+    <layout-to-restore>
+      <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.26028922" />
+      <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" visible="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.44802496" />
+      <window_info anchor="bottom" id="TODO" order="2" weight="0.329718" />
+      <window_info anchor="bottom" id="Find" order="3" sideWeight="0.48164627" weight="0.47297296" />
+      <window_info anchor="bottom" id="Terminal" order="4" sideWeight="0.49499443" weight="0.32952183" />
+      <window_info anchor="bottom" id="Event Log" order="5" sideWeight="0.36429366" side_tool="true" visible="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.21413721" />
+      <window_info anchor="bottom" id="Debug" order="8" sideWeight="0.4938821" weight="0.32952183" />
+      <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" />
+      <window_info anchor="right" id="Gradle" order="2" />
+      <window_info anchor="right" id="Theme Preview" order="3" />
+      <window_info anchor="right" id="Palette&#9;" order="4" />
+    </layout-to-restore>
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
       <breakpoints>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java</url>
-          <line>749</line>
-          <properties />
-          <option name="timeStamp" value="4" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java</url>
-          <line>318</line>
+          <line>333</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/utils/CellInfoUtil.java</url>
-          <line>98</line>
+          <url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java</url>
+          <line>487</line>
           <properties />
-          <option name="timeStamp" value="10" />
+          <option name="timeStamp" value="17" />
         </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
     <watches-manager>
       <configuration name="app">
-        <watch expression="mCellInfo.split(&quot;|&quot;)" language="JAVA" />
+        <watch expression="ds.getWifiInfo()" language="JAVA" />
+        <watch expression="ds.getLBSData()" language="JAVA" />
+        <watch expression="CellInfoUtil.getMNC()" 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" />
       </configuration>
     </watches-manager>
   </component>
   <component name="debuggerHistoryManager">
     <expressions id="watch">
       <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>
+      <expression>
+        <expression-string>String.valueOf(CellInfoUtil.getMCC())</expression-string>
+        <language-id>JAVA</language-id>
+        <evaluation-mode>EXPRESSION</evaluation-mode>
+      </expression>
+      <expression>
+        <expression-string>CellInfoUtil.getCELL_ID()</expression-string>
+        <language-id>JAVA</language-id>
+        <evaluation-mode>EXPRESSION</evaluation-mode>
+      </expression>
+      <expression>
+        <expression-string>String.valueOf(CellInfoUtil.getMNC())</expression-string>
+        <language-id>JAVA</language-id>
+        <evaluation-mode>EXPRESSION</evaluation-mode>
+      </expression>
+      <expression>
+        <expression-string>CellInfoUtil.getMNC()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>mCellInfo.split(&quot;|&quot;)[0].split(&quot;,&quot;);</expression-string>
+        <expression-string>ds.getLBSData()</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
       <expression>
-        <expression-string>arrayOfString.split(&quot;|&quot;).split(&quot;,&quot;)</expression-string>
+        <expression-string>ds.getWifiInfo()</expression-string>
+        <language-id>JAVA</language-id>
+        <evaluation-mode>EXPRESSION</evaluation-mode>
+      </expression>
+      <expression>
+        <expression-string>mCellInfo.split(&quot;|&quot;)</expression-string>
+        <language-id>JAVA</language-id>
+        <evaluation-mode>EXPRESSION</evaluation-mode>
+      </expression>
+      <expression>
+        <expression-string>mCellInfo.split(&quot;|&quot;)[0]</expression-string>
         <language-id>JAVA</language-id>
         <evaluation-mode>EXPRESSION</evaluation-mode>
       </expression>
     </expressions>
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java">
+    <entry file="file://$PROJECT_DIR$/local.properties">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/proguard-rules.pro">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/gradle.properties">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="188">
-          <caret line="272" selection-start-line="272" selection-end-line="272" />
-          <folding>
-            <element signature="e#10316#10317#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="114">
+          <caret line="6" selection-start-line="6" selection-end-line="6" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/StringMessage.java">
+    <entry file="file://$PROJECT_DIR$/library/build.gradle">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="304">
-          <caret line="34" column="31" selection-start-line="34" selection-start-column="31" selection-end-line="34" selection-end-column="31" />
+        <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>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/base/AbstractConnectionService.java">
+    <entry file="file://$PROJECT_DIR$/build.gradle">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="234">
-          <caret line="35" selection-start-line="35" selection-end-line="35" />
+        <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="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.1.0/748f0546d5c3c27f1aef07270ffea0c45f0c42a4/rxjava-1.1.0.jar!/rx/Observable.class">
+    <entry file="file://$PROJECT_DIR$/app/build.gradle">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="179">
-          <caret line="1511" selection-start-line="1511" selection-end-line="1511" />
-          <folding>
-            <element signature="e#0#91095#0" expanded="true" />
-            <element signature="e#71666#71667#0" expanded="true" />
-          </folding>
+        <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>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.1.0/748f0546d5c3c27f1aef07270ffea0c45f0c42a4/rxjava-1.1.0.jar!/rx/observers/SafeSubscriber.class">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/lang/Integer.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="329">
-          <caret line="67" selection-start-line="67" selection-end-line="67" />
+        <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>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.1.0/748f0546d5c3c27f1aef07270ffea0c45f0c42a4/rxjava-1.1.0.jar!/rx/internal/operators/OperatorObserveOn.class">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/hardware/SensorManager.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="179">
-          <caret line="82" selection-start-line="82" selection-end-line="82" />
-          <folding>
-            <element signature="e#2713#2839#0" expanded="true" />
-          </folding>
+        <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>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.1.0/748f0546d5c3c27f1aef07270ffea0c45f0c42a4/rxjava-1.1.0.jar!/rx/internal/schedulers/ScheduledAction.class">
+    <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">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="196">
-          <caret line="53" selection-start-line="53" selection-end-line="53" />
+        <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>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/os/Looper.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/CrashHandler.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="285">
-          <caret line="26" column="23" selection-start-line="26" selection-start-column="23" selection-end-line="26" selection-end-column="23" />
-          <folding>
-            <element signature="e#561#562#0" expanded="true" />
-            <element signature="e#612#613#0" expanded="true" />
-          </folding>
+        <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>
       </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/location/LocationListener.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="741">
-          <caret line="54" column="17" selection-start-line="54" selection-start-column="17" selection-end-line="54" selection-end-column="17" />
+        <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>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/os/Handler.class">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/location/GpsStatus.class">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="418">
-          <caret line="30" column="16" selection-start-line="30" selection-start-column="16" selection-end-line="30" selection-end-column="16" />
-          <folding>
-            <element signature="e#0#3993#0" expanded="true" />
-            <element signature="e#700#701#0" expanded="true" />
-            <element signature="e#751#752#0" expanded="true" />
-          </folding>
+          <caret line="33" column="21" selection-start-line="33" selection-start-column="21" selection-end-line="33" selection-end-column="21" />
         </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/GPSListener.java" />
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/text/TextUtils.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="133">
-          <caret line="29" column="2" lean-forward="true" selection-start-line="29" selection-start-column="2" selection-end-line="29" selection-end-column="2" />
+        <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>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Alarm.java">
+    <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="-304">
-          <caret line="11" column="10" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" />
+        <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>
       </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/AndroidManifest.xml">
+      <provider editor-type-id="android-manifest" />
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="193">
-          <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="95">
+          <caret line="140" column="86" selection-start-line="140" selection-start-column="86" selection-end-line="140" selection-end-column="86" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Constants.java">
+    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/util/concurrent/locks/Condition.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="109">
-          <caret line="111" column="78" selection-start-line="111" selection-start-column="67" selection-end-line="111" selection-end-column="78" />
+        <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>
       </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/util/concurrent/LinkedBlockingDeque.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="817">
-          <caret line="43" column="15" lean-forward="true" selection-start-line="43" selection-start-column="15" selection-end-line="43" selection-end-column="15" />
+        <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>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.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="128">
-          <caret line="281" column="17" selection-start-line="281" selection-start-column="6" selection-end-line="281" selection-end-column="17" />
+        <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>
       </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/FileCache.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="207">
-          <caret line="406" column="37" lean-forward="true" selection-start-line="406" selection-start-column="37" selection-end-line="406" selection-end-column="37" />
+        <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>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/app/AlarmManager.class">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ProcessReceiver.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="127">
-          <caret line="48" column="16" selection-start-line="48" selection-start-column="16" selection-end-line="48" selection-end-column="16" />
+        <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>
       </provider>
     </entry>
     <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="266">
-          <caret line="14" selection-start-line="14" selection-end-line="14" />
+        <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/bean/Locations.java">
+    <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="76">
-          <caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
+          <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$/app/src/main/java/com/ic/protocol/utils/TimeUtil.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Connection.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="76">
-          <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
+        <state relative-caret-position="133">
+          <caret line="7" column="7" selection-start-line="7" selection-start-column="7" selection-end-line="7" selection-end-column="7" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/SimSignalUtil.java">
+    <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="76">
-          <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
+        <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/src/main/java/com/ic/protocol/utils/AlarmHelper.java">
+    <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="1881">
-          <caret line="107" column="53" selection-start-line="107" selection-start-column="51" selection-end-line="107" selection-end-column="53" />
+        <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="file://$PROJECT_DIR$/settings.gradle">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/local.properties">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/proguard-rules.pro">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/gradle.properties">
-      <provider selected="true" editor-type-id="text-editor" />
+    <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="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="file://$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties">
+    <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="6" selection-start-line="6" selection-end-line="6" />
+        <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$/library/build.gradle">
+    <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="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="167">
+          <caret line="34" column="21" selection-start-line="34" selection-start-column="21" selection-end-line="34" selection-end-column="21" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/build.gradle">
+    <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="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="76">
+          <caret line="13" column="21" selection-start-line="13" selection-start-column="21" selection-end-line="13" selection-end-column="21" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/build.gradle">
+    <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="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="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="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/KeepAlive.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="247">
+          <caret line="285" column="90" selection-start-line="285" selection-start-column="90" selection-end-line="285" selection-end-column="90" />
         </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/StepCounterInterface.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="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="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/bean/stepCounter.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="235">
-          <caret line="83" column="22" selection-start-line="83" selection-start-column="22" selection-end-line="83" selection-end-column="22" />
-          <folding>
-            <element signature="imports" expanded="true" />
-            <element signature="e#1050#1051#0" expanded="true" />
-            <element signature="e#1092#1093#0" expanded="true" />
-            <element signature="e#1157#1158#0" expanded="true" />
-            <element signature="e#1192#1193#0" expanded="true" />
-            <element signature="e#1307#1308#0" expanded="true" />
-            <element signature="e#1338#1339#0" expanded="true" />
-          </folding>
+        <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="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.java">
+    <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="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="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="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ContextProxy.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="125">
-          <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="-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>
       </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/utils/DeviceInfoUtil.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="383">
+          <caret line="168" column="78" selection-start-line="168" selection-start-column="78" selection-end-line="168" selection-end-column="78" />
         </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/service/Deliver.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="387">
-          <caret line="183" column="19" lean-forward="true" selection-start-line="183" selection-start-column="19" selection-end-line="183" selection-end-column="19" />
-          <folding>
-            <element signature="e#989#2296#0" expanded="true" />
-            <element signature="e#2295#2296#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="2915">
+          <caret line="695" column="1" lean-forward="true" selection-start-line="695" selection-start-column="1" selection-end-line="695" selection-end-column="1" />
         </state>
       </provider>
     </entry>
-    <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/NMEAListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2317">
-          <caret line="388" column="10" selection-start-line="388" selection-start-column="10" selection-end-line="388" selection-end-column="23" />
+        <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>
       </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/utils/NettyConnection.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="273">
-          <caret line="125" column="3" lean-forward="true" selection-start-line="125" selection-start-column="3" selection-end-line="125" selection-end-column="3" />
-          <folding>
-            <element signature="e#519#844#0" expanded="true" />
-            <element signature="e#843#844#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="292">
+          <caret line="274" column="48" lean-forward="true" selection-start-line="274" selection-start-column="48" selection-end-line="274" selection-end-column="48" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/StepCounterInterface.java">
+    <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="37">
-          <caret line="27" column="34" selection-start-line="27" selection-start-column="22" selection-end-line="27" selection-end-column="34" />
+        <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#622#623#0" expanded="true" />
-            <element signature="e#662#663#0" expanded="true" />
-            <element signature="e#708#709#0" expanded="true" />
-            <element signature="e#748#749#0" expanded="true" />
+            <element signature="e#548#549#0" expanded="true" />
+            <element signature="e#599#600#0" expanded="true" />
           </folding>
         </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/ICLocation.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="453">
+          <caret line="96" column="20" selection-start-line="96" selection-start-column="20" selection-end-line="96" selection-end-column="20" />
+          <folding>
+            <element signature="e#1252#1253#0" expanded="true" />
+            <element signature="e#1291#1292#0" expanded="true" />
+            <element signature="e#2789#2790#0" expanded="true" />
+            <element signature="e#2815#2816#0" expanded="true" />
+            <element signature="e#2957#2958#0" expanded="true" />
+            <element signature="e#2983#2984#0" expanded="true" />
+            <element signature="e#3018#3019#0" expanded="true" />
+            <element signature="e#3051#3052#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/location/GpsStatus.class">
+    <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="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="302">
+          <caret line="152" column="53" selection-start-line="152" selection-start-column="53" selection-end-line="152" selection-end-column="53" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GPSListener.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="216">
-          <caret line="28" column="3" selection-start-line="28" selection-start-column="3" selection-end-line="48" selection-end-column="27" />
+        <state relative-caret-position="112">
+          <caret line="706" column="35" selection-start-line="706" selection-start-column="35" selection-end-line="706" selection-end-column="35" />
           <folding>
             <element signature="imports" expanded="true" />
-            <element signature="e#1311#1325#0" expanded="true" />
-            <element signature="e#1397#1411#0" expanded="true" />
-            <element signature="e#7599#7600#0" expanded="true" />
-            <element signature="e#7639#7640#0" expanded="true" />
-            <element signature="e#11243#12015#0" expanded="true" />
-            <element signature="e#12014#12015#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/location/LocationManager.class">
+    <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="152">
-          <caret line="145" column="19" selection-start-line="145" selection-start-column="19" selection-end-line="145" selection-end-column="19" />
+        <state relative-caret-position="228">
+          <caret line="167" column="33" lean-forward="true" selection-start-line="167" selection-start-column="33" selection-end-line="167" selection-end-column="33" />
           <folding>
-            <element signature="e#5128#5129#0" expanded="true" />
-            <element signature="e#5179#5180#0" expanded="true" />
+            <element signature="e#1040#2307#0" expanded="true" />
+            <element signature="e#2306#2307#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/text/TextUtils.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>
-      </provider>
-    </entry>
-    <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/adapter/protocolAPIHelper.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="330">
-          <caret line="262" column="25" selection-start-line="262" selection-start-column="14" selection-end-line="262" selection-end-column="25" />
+        <state relative-caret-position="151">
+          <caret line="244" selection-start-line="244" selection-end-line="244" />
         </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="345">
-          <caret line="381" column="46" lean-forward="true" selection-start-line="381" selection-start-column="46" selection-end-line="381" selection-end-column="46" />
+        <state relative-caret-position="-100">
+          <caret line="31" column="2" lean-forward="true" selection-start-line="31" selection-start-column="2" selection-end-line="31" selection-end-column="2" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.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="46">
-          <caret line="356" column="24" selection-start-line="356" selection-start-column="24" selection-end-line="356" selection-end-column="24" />
+        <state relative-caret-position="-51">
+          <caret line="327" selection-start-line="327" selection-end-line="327" />
           <folding>
-            <element signature="e#914#928#0" expanded="true" />
-            <element signature="e#1000#1014#0" expanded="true" />
-            <element signature="e#3747#3748#0" expanded="true" />
-            <element signature="e#3777#3778#0" expanded="true" />
+            <element signature="e#8624#8625#0" expanded="true" />
+            <element signature="e#8649#8650#0" expanded="true" />
+            <element signature="e#8787#8788#0" expanded="true" />
+            <element signature="e#9167#9168#0" expanded="true" />
+            <element signature="e#9189#9190#0" expanded="true" />
+            <element signature="e#9247#9248#0" expanded="true" />
+            <element signature="e#9269#9270#0" expanded="true" />
+            <element signature="e#9313#9314#0" expanded="true" />
+            <element signature="e#9335#9336#0" expanded="true" />
+            <element signature="e#9370#9371#0" expanded="true" />
+            <element signature="e#9391#9392#0" expanded="true" />
           </folding>
         </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="228">
-          <caret line="129" column="20" selection-start-line="129" selection-start-column="20" selection-end-line="129" selection-end-column="20" />
-        </state>
-      </provider>
-    </entry>
-    <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="106">
-          <caret line="451" column="17" lean-forward="true" selection-start-line="451" selection-start-column="17" selection-end-line="451" selection-end-column="17" />
+        <state relative-caret-position="139">
+          <caret line="646" column="28" selection-start-line="646" selection-start-column="28" selection-end-line="646" selection-end-column="28" />
           <folding>
-            <element signature="e#28369#28370#0" expanded="true" />
-            <element signature="e#28404#28405#0" expanded="true" />
-            <element signature="e#28457#28458#0" expanded="true" />
-            <element signature="e#28501#28502#0" expanded="true" />
-            <element signature="e#35729#35730#0" expanded="true" />
-            <element signature="e#35765#35766#0" expanded="true" />
+            <element signature="e#21469#21647#0" expanded="true" />
+            <element signature="e#21646#21647#0" expanded="true" />
           </folding>
         </state>
       </provider>
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_V113_202001071653_debug.apk b/app/debug/ICSer_V113_202001071653_debug.apk
new file mode 100644 (file)
index 0000000..7995a7a
Binary files /dev/null and b/app/debug/ICSer_V113_202001071653_debug.apk differ
diff --git a/app/debug/ICSer_V113_202001080021_debug.apk b/app/debug/ICSer_V113_202001080021_debug.apk
new file mode 100644 (file)
index 0000000..5b8e0d6
Binary files /dev/null and b/app/debug/ICSer_V113_202001080021_debug.apk differ
diff --git a/app/debug/output.json b/app/debug/output.json
new file mode 100644 (file)
index 0000000..adfa7cd
--- /dev/null
@@ -0,0 +1 @@
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":113,"versionName":"202001080021","enabled":true,"outputFile":"ICSer_V113_202001080021_debug.apk","fullName":"debug","baseName":"debug"},"path":"ICSer_V113_202001080021_debug.apk","properties":{}}]
\ No newline at end of file
index 6b619e7..ccd53f7 100644 (file)
@@ -45,6 +45,7 @@ public class GSensorListener implements SensorEventListener {
         int i = StepCounterInterface.getStepCount();//EqcAlgorithmNative.native_EqcAlgorithm_Gsensor_get_step();\r
 //        GSensorListener (GSensorListener.this, i);\r
         GSensorListener.this.CURRENT_STEP = i;\r
+\r
         StringBuilder stringBuilder1 = new StringBuilder();\r
         stringBuilder1.append("CURRENT_STEP =");\r
         stringBuilder1.append(GSensorListener.this.CURRENT_STEP);\r
@@ -54,10 +55,7 @@ public class GSensorListener implements SensorEventListener {
 //          GSensorListener.getStepCountOver=false;\r
 //        EqcAlgorithmNative.native_EqcAlgorithmMethod6(0.0F, 0.0F, 0.0F, GSensorListener.this.CURRENT_STEP);\r
         Context context = GSensorListener.this.mContext;\r
-        StringBuilder stringBuilder2 = new StringBuilder();\r
-        stringBuilder2.append("CURRENT_STEP=");\r
-        stringBuilder2.append(GSensorListener.this.CURRENT_STEP);\r
-        FileOutputUtil.fileOutput(context, "CURRENT_STEP", stringBuilder2.toString());\r
+        FileOutputUtil.fileOutput(context, "CURRENT_STEP", stringBuilder1.toString());\r
 //        GSensorListener.access$502(GSensorListener.this, null);\r
         GSensorListener.this.releaseWakeLock(GSensorListener.this.mWakeLock);\r
       }\r
@@ -105,7 +103,7 @@ public class GSensorListener implements SensorEventListener {
   public int getStepCount() { return this.CURRENT_STEP; }\r
   \r
   public PowerManager.WakeLock getWakeLock() {\r
-    @SuppressLint("InvalidWakeLockTag") PowerManager.WakeLock wakeLock = ((PowerManager)this.mContext.getSystemService(Context.POWER_SERVICE)).newWakeLock(1, "MyWakelockTag_GSensorListener");\r
+   PowerManager.WakeLock wakeLock = ((PowerManager)this.mContext.getSystemService(Context.POWER_SERVICE)).newWakeLock(1, "MyWakelockTag_GSensorListener");\r
     wakeLock.acquire(60000L);\r
     return wakeLock;\r
   }\r
index 06b855e..b4810ce 100644 (file)
@@ -7,12 +7,16 @@ import android.content.Context;
 import android.content.Intent;\r
 import android.content.IntentFilter;\r
 import android.os.Build;\r
+import android.os.Handler;\r
+import android.os.Message;\r
 import android.os.PowerManager;\r
 import android.os.SystemClock;\r
 import android.provider.Settings;\r
 import android.util.Log;\r
 \r
 import com.ic.protocol.adapter.LBSHelper;\r
+import com.ic.protocol.adapter.protocolAPIHelper;\r
+import com.ic.protocol.bean.ICLocation;\r
 import com.ic.protocol.bean.StringMessage;\r
 import com.ic.protocol.service.Deliver;\r
 import com.ic.protocol.service.KeepAlive;\r
@@ -29,6 +33,8 @@ import com.ic.protocol.utils.SimSignalUtil;
 import com.ic.protocol.bean.Runtime;\r
 import com.ic.protocol.utils.TimeUtil;\r
 \r
+import java.util.Timer;\r
+import java.util.TimerTask;\r
 import java.util.concurrent.ExecutorService;\r
 import java.util.concurrent.Executors;\r
 import java.util.concurrent.LinkedBlockingDeque;\r
@@ -137,14 +143,14 @@ public class LocationClient {
   \r
   private static StringMessage changeDelayFlag(StringMessage paramStringMessage) {\r
     String[] arrayOfString2 = paramStringMessage.all();\r
-    if (arrayOfString2 != null) {\r
-      arrayOfString2[7] = "1";\r
-      return paramStringMessage;\r
-    } \r
-    String[] arrayOfString1 = paramStringMessage.isFromCache().split(";");\r
-    arrayOfString2 = new String[arrayOfString1.length - 1];\r
-    arrayOfString1[8] = "1";\r
-    System.arraycopy(arrayOfString1, 0, arrayOfString2, 0, arrayOfString2.length);\r
+//    if (arrayOfString2 != null) {\r
+//      arrayOfString2[7] = "1";\r
+//      return paramStringMessage;\r
+//    }\r
+//    String[] arrayOfString1 = paramStringMessage.isFromCache().split(";");\r
+//    arrayOfString2 = new String[arrayOfString1.length - 1];\r
+//    arrayOfString1[8] = "1";\r
+//    System.arraycopy(arrayOfString1, 0, arrayOfString2, 0, arrayOfString2.length);\r
     return new StringMessage(arrayOfString2);\r
   }\r
   \r
@@ -195,12 +201,15 @@ public class LocationClient {
       this.haveChanegTo4GTime = l;\r
     } \r
   }\r
-  \r
+  //计算运动并发送数据\r
   private void handlerH12() {\r
     int i = this.gSensorListener.getStepCount();\r
+    runtime.setTotalStepCount(i);\r
     this.H12StepCount = DeviceInfoUtil.getStepCount((runtime.getContextProxy()).context);\r
-//    if (i != 0 && Math.abs(this.H12StepCount - this.mPedometer2) > 1000)\r
+    if (i != 0 && Math.abs(this.H12StepCount - this.mPedometer2) > 1000) {\r
 //      connection.send(API.H12(runtime, this.H12StepCount));\r
+      Logger.i("StepCount 运动开始后 变化超过1000 ,则发送给服务器!");\r
+    }\r
   }\r
   \r
   private static void loadMessage2Queue() {\r
@@ -239,7 +248,13 @@ public class LocationClient {
   private void performAlarm(PowerManager.WakeLock paramWakeLock) {\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
+\r
     sendBatteryNotification();\r
+    startGpsLocate();\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
@@ -340,10 +355,12 @@ public class LocationClient {
   private void sendBatteryNotification() {\r
     if (runtime.getHaveBatteryChange() && !runtime.getBatterychanging() && !this.batteryNotification) {\r
 //      connection.send(API.H05(runtime, "2"));\r
+      Logger.i("sendBatteryNotification LevelChanged ");\r
       this.batteryNotification = true;\r
     }\r
     if (runtime.getBatteryLow() && !runtime.getBatterychanging() && !this.batteryLowNotification) {\r
 //      connection.send(API.H05(runtime, "1"));\r
+      Logger.i("sendBatteryNotification Low Battery ");\r
       this.batteryLowNotification = true;\r
     }\r
     if (runtime.getBatterychanging()) {\r
@@ -351,22 +368,7 @@ public class LocationClient {
       this.batteryLowNotification = false;\r
     }\r
   }\r
-  \r
-  private static StringMessage setNewKey(StringMessage paramStringMessage, String paramString) {\r
-    String str = paramStringMessage.isFromCache();\r
-    if (str != null) {\r
-      String str1 = str.substring(0, 8);\r
-      str = str.substring(str.indexOf(";", 8));\r
-      StringBuilder stringBuilder = new StringBuilder();\r
-      stringBuilder.append(str1);\r
-      stringBuilder.append(paramString);\r
-      stringBuilder.append(str);\r
-      paramStringMessage.refresh(stringBuilder.toString());\r
-      return paramStringMessage;\r
-    } \r
-    paramStringMessage.all()[1] = paramString;\r
-    return paramStringMessage;\r
-  }\r
+\r
   \r
   public void EqcAlgorithmInterfaceMethod1(final int cycle_location_flag, int paramInt2, final int delay_flag, final double latitude, final double longitude, final double altitude, final float speed, final float bearing, final int sv_no, final float accuracy, final long timestamp_cur, final long timestamp_last_location, final double latitude_last_location, final double longitude_last_location, final int mode, long paramLong3, final int status_cur_location) {\r
 //    StringBuilder stringBuilder1 = new StringBuilder();\r
@@ -518,10 +520,46 @@ public class LocationClient {
     this.mLbsHelper.setOnWiFiInfoListener(new LBSHelper.OnWiFiInfoListener() {\r
           public void getWifiInfoCallBack(String param1String) {\r
 //            LocationClient.access$002(true);\r
+            Logger.i("get wifi scan Callback " + param1String);\r
             LocationClient.mHasWifiResult=true;\r
             runtime.currentWifiInfo = param1String;\r
           }\r
         });\r
+\r
+      Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Object>() {\r
+        public void call(Object param1Object) { LocationClient.this.waitAndSendLocation(); }\r
+      });\r
+\r
+      class MyTimerTask extends TimerTask {\r
+        public void run() {\r
+          //发送读取计步消息\r
+          LocationClient.this.mhandler.sendEmptyMessage(100);\r
+        }\r
+      };\r
+      MyTimerTask  mMyTimerTask = new MyTimerTask();\r
+      //延时2秒执行发送“读取定位”消息\r
+      new Timer().schedule(mMyTimerTask, 10000L);\r
+  }\r
+  Handler mhandler=new Handler(){\r
+\r
+        public void handleMessage(Message msg) {\r
+          super.handleMessage(msg);\r
+          if (msg.what != 100)\r
+            return;\r
+          waitAndSendLocation();\r
+        }\r
+\r
+  };\r
+  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.getLocationInstance().getLocationStat() == ICLocation.LOCATION_STAT.LOCATION_FIXED) gps_ok=true;\r
+    lbs_ok=((runtime.getLocationInstance().getMNC()==null)?false:true);\r
+    Logger.i("lbs_ok "+lbs_ok+" waitAndSendLocation wifi_ok " + wifi_ok+ " gps_ok "+gps_ok);\r
+    if (lbs_ok) {\r
+      ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("AP01", protocolAPIHelper.AP01(runtime)));\r
+    }\r
   }\r
 \r
 //  public void EqcAlgorithmInterfaceMethod3() {\r
@@ -594,16 +632,20 @@ public void updateCellInfo() {
     stringBuilder.append(runtime.preCellInfo);\r
     Logger.i(stringBuilder.toString());\r
     handlerH12();\r
-    if (!"".equals(runtime.getKey()) && runtime.getKey() != null) {\r
+//    if (!"".equals(runtime.getKey()) && runtime.getKey() != null) {\r
       this.gSensorListener.startListen(paramWakeLock);\r
       performAlarm(paramWakeLock);\r
-    }\r
+//    }\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
+      this.mPedometer2 = this.H12StepCount;\r
+\r
+    if ("BP16".equals(paramStringMessage.cmd())){\r
+      this.startGpsLocate();\r
+    }\r
     if (linkOK)\r
       return; \r
     if ("Link:OK".equals(paramStringMessage.cmd())) {\r
@@ -701,7 +743,7 @@ public void updateCellInfo() {
     intentFilter.addAction("android.intent.action.SCREEN_ON");\r
     (runtime.getContextProxy()).context.registerReceiver(this.screenOnReceiver, intentFilter);\r
     (new MyThread2(this.mCondition, this.mLock)).start();\r
-    startGpsLocate();\r
+\r
     this.haveChanegTo4GTime = SystemClock.elapsedRealtime();\r
   }\r
   \r
@@ -730,21 +772,27 @@ public void updateCellInfo() {
     \r
     public void run() {\r
       while (true) {\r
+\r
+        //循环发送queue 中的数据\r
         StringMessage stringMessage = null;\r
         try {\r
           StringMessage stringMessage1 = (StringMessage)LocationClient.queue.take();\r
           try {\r
+\r
             if (runtime.getSignalStrength() + 110 < LocationClient.getMinSignalStrength(SimSignalUtil.getInstance((runtime.getContextProxy()).context).getNetworkType())) {\r
               LocationClient.saveQueue();\r
               stringMessage = stringMessage1;\r
+\r
             } else {\r
-              StringMessage msg_with_new_imei = LocationClient.setNewKey(stringMessage1, runtime.IMEI_CID_KEY());\r
-              stringMessage = msg_with_new_imei;\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
                Context context = (runtime.getContextProxy()).context;\r
                StringBuilder stringBuilder = new StringBuilder();\r
               stringBuilder.append("send=");\r
-              stringBuilder.append(stringMessage.toString());\r
+              stringBuilder.append(stringMessage.cmd());\r
               FileOutputUtil.fileOutput(context, "LocationInfo", stringBuilder.toString());\r
 \r
               connection.send(stringMessage);\r
@@ -754,10 +802,13 @@ public void updateCellInfo() {
               LocationClient.mHasWifiResult=false;\r
               try {\r
                 if (KeepAlive.isConnected) {\r
+                  //如果 服务器连接状态,等30秒\r
                   this.condition.await(30000L, TimeUnit.MILLISECONDS);\r
                 } else if (stringMessage.all() != null && stringMessage.all()[0].equals("#@H10@#")) {\r
+                  //如果 消息中有 ,等30秒\r
                   this.condition.await(30000L, TimeUnit.MILLISECONDS);\r
                 } else {\r
+                  //如果服务器断开,等5秒重连\r
                   this.condition.await(5000L, TimeUnit.MILLISECONDS);\r
                 }\r
                 if (linkOK) {\r
@@ -767,8 +818,9 @@ public void updateCellInfo() {
                   } else if (stringMessage.all() != null && stringMessage.all()[0].equals("#@H42@#")) {\r
                     Deliver.releaseWakeLockForGetWifiList();\r
                   }\r
-                  if (LocationClient.queue.peek() == null)\r
-                    LocationClient.loadMessage2Queue();\r
+//                  if (LocationClient.queue.peek() == null)\r
+//                    //队列空了,就填补队列。这是video用的,可以先不管\r
+//                    LocationClient.loadMessage2Queue();\r
                     this.lock.unlock();\r
 \r
                   continue;\r
index 6efb646..d59a033 100644 (file)
@@ -14,6 +14,7 @@ import android.text.TextUtils;
 import android.util.Log;\r
 import android.widget.TextView;\r
 \r
+import com.ic.protocol.bean.ICLocation;\r
 import com.ic.protocol.bean.Runtime;\r
 import com.ic.protocol.utils.Logger;\r
 \r
@@ -26,27 +27,23 @@ public class NMEAListener implements NmeaListener, LocationListener {
   private boolean listening;\r
   \r
   private LocationManager locationManager;\r
-  Location location;\r
-\r
   private String locationInfo;\r
   private List<GpsSatellite> numSatelliteList = new ArrayList<GpsSatellite>(); // 卫星信号\r
   private List<GpsSatellite> max3Satellite = new ArrayList<GpsSatellite>(); // 卫星信号\r
-  private int satelliteInfo = 0;\r
-  private ReadGpsThread readGpsThread=null;\r
+\r
   private double longitude;\r
   private double latitude;\r
-  private boolean flag;\r
+\r
   private int SearchTimeout = 120;\r
   private int noSignalCount=0;\r
   private int searchCout=0;\r
-  int gpsMode;\r
+  GPS_CURRENT_STATUS gpsMode;\r
   int numberOfSatellites;\r
   Runtime runtime;\r
   \r
   public NMEAListener(LocationManager paramLocationManager, Runtime paramRuntime) {\r
     this.locationManager = paramLocationManager;\r
     this.runtime = paramRuntime;\r
-//    readGpsThread=new ReadGpsThread();\r
   }\r
   \r
   public void onLocationChanged(Location paramLocation) {}\r
@@ -71,31 +68,13 @@ public class NMEAListener implements NmeaListener, LocationListener {
       switch (event){\r
         case  GpsStatus.GPS_EVENT_SATELLITE_STATUS:\r
 \r
-\r
-//            //如果是自动测试,则有3颗大于20的就算通过\r
-//            if (max3Satellite.size() >= 3  && max3Satellite.get(2).getSnr()>=30) {\r
-//\r
-//              if (readGpsThread != null) {\r
-//                readGpsThread.endThread();\r
-//              }\r
-//              if (flag) {\r
-//                flag = false;\r
-//                pass();\r
-//              }\r
-//            }\r
-\r
-\r
-            //如果是pcba测试,则只要有一颗大于30的星就算通过。\r
 //            if (max3Satellite.size() > 0  && max3Satellite.get(0).getSnr()>=30) {\r
             //GPS 5秒钟搜不到足够多的星,认为不能定位,取消搜星\r
             if(noSignalCount > 5){\r
-              if (readGpsThread != null) {\r
-                readGpsThread.endThread();\r
-              }\r
-              if (flag) {\r
-                flag = false;\r
-                pass();\r
-              }\r
+                gpsMode=GPS_CURRENT_STATUS.GPS_NOTFIXED;\r
+                runtime.getLocationInstance().setLocationStat(ICLocation.LOCATION_STAT.LOCATION_GPS_FAILED);\r
+                stop();\r
+\r
             }\r
 \r
 \r
@@ -103,21 +82,26 @@ public class NMEAListener implements NmeaListener, LocationListener {
         case  GpsStatus.GPS_EVENT_FIRST_FIX:\r
           //普通测试,必须定位才算通过\r
 //          +" cost "+status.getTimeToFirstFix()+"ms");\r
-\r
-          if (readGpsThread != null) {\r
-            readGpsThread.endThread();\r
-          }\r
 //          定位算通过\r
-//          if (flag) {\r
-            flag = true;\r
-            pass();\r
-//          }\r
+            gpsMode = GPS_CURRENT_STATUS.GPS_FIXED;\r
+          runtime.getLocationInstance().setLocationStat(ICLocation.LOCATION_STAT.LOCATION_FIXED);\r
+          getBestLocation(locationManager);\r
+\r
+            stop();\r
+\r
           break;\r
         case  GpsStatus.GPS_EVENT_STARTED:\r
           // tvGps.setText("GPS_EVENT_STARTED");\r
+          gpsMode=GPS_CURRENT_STATUS.GPS_LISTENING;\r
+          runtime.getLocationInstance().setLocationStat(ICLocation.LOCATION_STAT.LOCATION_SEARCHING);\r
+\r
+          listening=true;\r
           break;\r
         case  GpsStatus.GPS_EVENT_STOPPED:\r
           //  tvGps.setText("GPS_EVENT_STOPPED");\r
+          runtime.getLocationInstance().setLocationStat(ICLocation.LOCATION_STAT.LOCATION_CLOSED);\r
+\r
+          listening=false;\r
           break;\r
         default:\r
           break;\r
@@ -130,53 +114,11 @@ public class NMEAListener implements NmeaListener, LocationListener {
   };\r
 \r
 \r
-  class ReadGpsThread extends Thread {\r
-    private boolean isRunning = false;\r
-    private int DELAY_MS = 1000;\r
-    private int count = 0;\r
-\r
-    public ReadGpsThread() {\r
-      isRunning = true;\r
-    }\r
-\r
-    public void endThread() {\r
-      isRunning = false;\r
-      readGpsThread = null;\r
-    }\r
-\r
-    @Override\r
-    public void run() {\r
-      while (isRunning) {\r
-        count++;\r
-        if (numberOfSatellites >= 3) {\r
-          return;\r
-        }\r
-        // 15秒没定位成功,则失败\r
-        if (count == 120) {\r
-          Message msg = new Message();\r
-          temHandler.sendMessage(msg);\r
-          if (readGpsThread != null) {\r
-            endThread();\r
-            return;\r
-          }\r
-        }\r
-        try {\r
-          Thread.sleep(DELAY_MS);\r
-        } catch (Exception e) {\r
-          // TODO: handle exception\r
-        }\r
-      }\r
-      super.run();\r
-    }\r
-  }\r
 \r
   Handler temHandler = new Handler(new Handler.Callback() {\r
     @Override\r
     public boolean handleMessage(Message message) {\r
 \r
-      if (readGpsThread != null) {\r
-        readGpsThread.endThread();\r
-      }\r
       NMEAListener.this.stopListen();\r
       return false;\r
     }\r
@@ -243,21 +185,24 @@ public class NMEAListener implements NmeaListener, LocationListener {
 \r
     if (searchCout>SearchTimeout){\r
       sb2.append(" 搜索"+searchCout+"次,超过"+SearchTimeout+"限制退出GPS定位");\r
-      flag=false;\r
-      pass();\r
+      gpsMode=GPS_CURRENT_STATUS.GPS_TIMEOUT;\r
+      runtime.getLocationInstance().setLocationStat(ICLocation.LOCATION_STAT.LOCATION_GPS_FAILED);\r
+\r
+      stop();\r
     }\r
     if (noSignalCount> 5){\r
       sb2.append(" 搜索"+searchCout+"次,超过"+noSignalCount+"次没有收到星,退出GPS定位");\r
-      flag=false;\r
-      pass();\r
+      gpsMode=GPS_CURRENT_STATUS.GPS_NOSINGAL;\r
+      runtime.getLocationInstance().setLocationStat(ICLocation.LOCATION_STAT.LOCATION_GPS_FAILED);\r
+\r
+      stop();\r
     }\r
 \r
     Log.e("dxc", sb2.toString());\r
 \r
-\r
     return 0;\r
   }\r
-  private void pass(){\r
+  private void stop(){\r
 \r
     // 经纬度 保留6位小数点\r
     DecimalFormat df = new DecimalFormat("#.000000");\r
@@ -271,54 +216,6 @@ public class NMEAListener implements NmeaListener, LocationListener {
 \r
   boolean isFrist = true;\r
 \r
-  private String updateView(Location location) {\r
-\r
-    if (location != null) {\r
-      longitude = location.getLongitude();\r
-      latitude = location.getLatitude();\r
-      if (longitude > 0 && latitude > 0) {\r
-        //sucess\r
-        if (readGpsThread != null) {\r
-          readGpsThread.endThread();\r
-        }\r
-        if (isFrist) {\r
-          isFrist = false;\r
-          pass();// 定位成功,自动跳转2016.9.19 tyy\r
-        }\r
-\r
-      } else {\r
-\r
-\r
-      }\r
-\r
-      long gpsTime = location.getTime();\r
-\r
-      double altitude = location.getAltitude();// 海拔\r
-\r
-      // 速度\r
-      float speed = location.getSpeed();// 速度 单位 m/s\r
-      speed = (speed * 60) / 1000; // 单位转换 km/h\r
-      // 保留一位小数点\r
-      DecimalFormat dfSpeed = new DecimalFormat("#.0");\r
-      String strSpeed = dfSpeed.format(speed);\r
-      speed = Float.parseFloat(strSpeed);\r
-      int intSpeed = (int) (speed * 10);\r
-      // SimpleLogger.d("intSpeed:"+intSpeed);\r
-\r
-      // 经纬度 保留6位小数点\r
-      DecimalFormat df = new DecimalFormat("#.000000");\r
-      String strLatitude = df.format(latitude);\r
-      String strLongitude = df.format(longitude);\r
-\r
-      StringBuffer sb = new StringBuffer();\r
-      sb.append("lon " + strLongitude + "\n" + "lat " + strLatitude);\r
-      Logger.i("satelliteInfo:"+satelliteInfo);\r
-      return sb.toString();\r
-    } else {\r
-      // textView.setText("");\r
-      return "";\r
-    }\r
-  }\r
 \r
   public double[] getGpsInfo() {\r
     String tude = locationInfo;\r
@@ -339,20 +236,56 @@ public class NMEAListener implements NmeaListener, LocationListener {
    * @param locationManager\r
    * @return\r
    */\r
-  private Location getBestLocation(LocationManager locationManager) {\r
-    Location result = null;\r
+  private void getBestLocation(LocationManager locationManager) {\r
+    Location location = null;\r
     if (locationManager != null) {\r
-      result = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);\r
-      if (result != null) {\r
+      location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);\r
+      if (location == null) {\r
+\r
+\r
+        location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);\r
+\r
+      }\r
+\r
+      if (location != null) {\r
+        longitude = location.getLongitude();\r
+        latitude = location.getLatitude();\r
+        if (longitude > 0 && latitude > 0 ) {\r
+          //sucess\r
+            stop();// 定位成功,自动跳转2016.9.19 tyy\r
+          }\r
+\r
+        }\r
+\r
+        long gpsTime = location.getTime();\r
+\r
+        double altitude = location.getAltitude();// 海拔\r
+\r
+        // 速度\r
+        float speed = location.getSpeed();// 速度 单位 m/s\r
+        speed = (speed * 60) / 1000; // 单位转换 km/h\r
+        // 保留一位小数点\r
+        DecimalFormat dfSpeed = new DecimalFormat("#.0");\r
+        String strSpeed = dfSpeed.format(speed);\r
+        speed = Float.parseFloat(strSpeed);\r
+        int intSpeed = (int) (speed * 10);\r
+        // SimpleLogger.d("intSpeed:"+intSpeed);\r
+\r
+        // 经纬度 保留6位小数点\r
+        DecimalFormat df = new DecimalFormat("#.000000");\r
+        String strLatitude = df.format(latitude);\r
+        String strLongitude = df.format(longitude);\r
+\r
+        StringBuffer sb = new StringBuffer();\r
+        sb.append("lon " + strLongitude + "\n" + "lat " + strLatitude);\r
+//        Logger.i("satelliteInfo:"+);\r
+        Logger.i( sb.toString());\r
+        runtime.getLocationInstance().setLocation(location.getLatitude(),location.getLongitude(),location.getSpeed(),0);\r
 \r
-        return result;\r
-      } else {\r
-        result = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);\r
-        return result;\r
       }\r
     }\r
-    return result;\r
-  }\r
+\r
+\r
 \r
   public boolean startListen() {\r
     this.locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0L, 0.0F, this);\r
@@ -373,4 +306,12 @@ public class NMEAListener implements NmeaListener, LocationListener {
     this.locationManager.removeUpdates(this);\r
     this.listening = false;\r
   }\r
+\r
+  public enum  GPS_CURRENT_STATUS {\r
+    GPS_LISTENING,\r
+    GPS_FIXED,\r
+    GPS_NOTFIXED,\r
+    GPS_TIMEOUT,\r
+    GPS_NOSINGAL,\r
+  }\r
 }\r
index 3b55470..ae71a47 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
@@ -263,9 +263,9 @@ public class LBSHelper {
                     gsmSb.append(gsmCell.getCid());\r
                     gsmSb.append("@");\r
                     gsmSb.append(this.mLastSignal);\r
-                     this.runtime.setCid(String.format("",gsmCell.getCid()));\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
                     Logger.i("GsmCellLocation "+ gsmSb.toString());\r
                      FileOutputUtil.fileOutput(this.context, "onCellLocationChanged", gsmSb.toString());\r
                 } else if (celllocation instanceof CdmaCellLocation) {\r
@@ -281,7 +281,6 @@ public class LBSHelper {
                     cdmaSB.append("");\r
                     cdmaSB.append(",");\r
                     cdmaSB.append(this.mLastSignal);\r
-                    this.runtime.setCdmaInfo(cdmaSB.toString());\r
                     Logger.i("CdmaCellLocation");\r
                     Context var16 = this.context;\r
                     StringBuilder var8 = new StringBuilder();\r
@@ -289,23 +288,17 @@ public class LBSHelper {
                     var8.append(cdmaSB.toString());\r
                     Logger.i(var8.toString());\r
                     FileOutputUtil.fileOutput(var16, "onCellLocationChanged", var8.toString());\r
-                } else {\r
-                    this.runtime.setCdmaInfo((String)null);\r
                 }\r
 \r
-                this.runtime.setCurrentCellInfo(gsmSb.toString());\r
 \r
                 cdmaSB = new StringBuilder();\r
                 cdmaSB.append("lbsInfo CurrentCellInfo== ");\r
-                cdmaSB.append(this.runtime.getCurrentCellInfo());\r
+                cdmaSB.append(gsmSb.toString());\r
                 Logger.i(cdmaSB.toString());\r
 \r
                 Context var13 = this.context;\r
-                StringBuilder var17 = new StringBuilder();\r
-                var17.append("lbsInfo currentCellInfo== ");\r
-                var17.append(this.runtime.getCurrentCellInfo());\r
-                FileOutputUtil.fileOutput(var13, "cellInfoTest", var17.toString());\r
-                Logger.i("cellInfoTest "+ var17.toString());\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
@@ -375,6 +368,7 @@ public class LBSHelper {
             LBSHelper.this.runtime.setSignalStrength(LBSHelper.this.mLastSignal - 110);\r
 //            LBSHelper.this.mLastSignal = ss.getGsmSignalStrength();//ss.getDbm();\r
 //            LBSHelper.this.runtime.setSignalStrength(LBSHelper.this.mLastSignal);\r
+\r
         }\r
     }\r
 \r
index f2c253f..5a6be3b 100644 (file)
@@ -9,6 +9,8 @@ import com.ic.protocol.utils.Logger;
 \r
 import java.util.HashMap;\r
 \r
+import static java.lang.Math.abs;\r
+\r
 public class protocolAPIHelper {\r
     private static final String TAG = "ICSrv." + protocolAPIHelper.class.getSimpleName();\r
 \r
@@ -96,8 +98,8 @@ public class protocolAPIHelper {
         cmdMap.put(CMD_TYPE.BP10, "BP10");\r
         cmdMap.put(CMD_TYPE.AP49, "AP49");\r
         cmdMap.put(CMD_TYPE.BP49, "BP49");\r
-        cmdMap.put(CMD_TYPE.APTM, "APHT");\r
-        cmdMap.put(CMD_TYPE.BPTM, "BPHT");\r
+        cmdMap.put(CMD_TYPE.APHT, "APHT");\r
+        cmdMap.put(CMD_TYPE.BPHT, "BPHT");\r
         cmdMap.put(CMD_TYPE.APTM, "APTM");\r
         cmdMap.put(CMD_TYPE.BPTM, "BPTM");\r
         cmdMap.put(CMD_TYPE.AP12, "AP12");\r
@@ -110,7 +112,7 @@ public class protocolAPIHelper {
         cmdMap.put(CMD_TYPE.BP16, "BP16");\r
         cmdMap.put(CMD_TYPE.AP17, "AP17");\r
         cmdMap.put(CMD_TYPE.BP17, "BP17");\r
-        cmdMap.put(CMD_TYPE.AP18, "AP00");\r
+        cmdMap.put(CMD_TYPE.AP18, "AP18");\r
         cmdMap.put(CMD_TYPE.BP18, "BP18");\r
         cmdMap.put(CMD_TYPE.AP21, "AP21");\r
         cmdMap.put(CMD_TYPE.BP21, "BP21");\r
@@ -162,6 +164,14 @@ public class protocolAPIHelper {
         Logger.log(TAG, function, msg);\r
     }\r
 \r
+\r
+\r
+    /**/\r
+    public static StringMessage genStringMessage(String cmdName,String msg){\r
+            StringMessage sm=new StringMessage(new String[]{cmdName,msg});\r
+            sm.refresh(msg);\r
+            return sm;\r
+    }\r
     /*\r
     返回true 表示 cmd 全部解析成功\r
     返回false表示 cmd至少有一条解析失败,失败的数据归入buffer,下一次识别接着使用\r
@@ -220,7 +230,7 @@ public class protocolAPIHelper {
 \r
     public static String AP03(Runtime ds) {\r
         //示例数据:IWAP03,06000908000102,5555,30#\r
-        return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP03)).append(CMDSPLIT).append(ds.getSignalStrength())\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
                 .append(ds.getTotalStepCount()).append(CMDSPLIT).append(0/*rolltime*/).append(CMDEND).toString();\r
@@ -233,8 +243,8 @@ public class protocolAPIHelper {
         // Home|74-DE-2B-44-88-8C|97& Home1|74-DE-2B-44-88-8C|97&Home2|74-DE-2B-44-88-8C|97& Home3|74-DE-2B-44-88-8C|97#\r
 //        IWAP01191230A2232.9807N11404.9355E000.1161320000.0006000910000000,460,00,9520,3671,#\r
         return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP01)).append(ds.getShortDate())\r
-                .append(ds.getGPSData()).append(ds.getShortTime()).append(ds.getGPSHeading()).append(ds.getGSMSignal())\r
-                .append(ds.getGPSLocationStarNums()).append(ds.getBatteryLevel()).append("0")\r
+                .append(ds.getGPSData()).append(ds.getShortTime()).append(ds.getGPSHeading()).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
                 .append(ds.getLBSData()).append(CMDSPLIT).append(ds.getWifiInfo()).append(CMDEND).toString();\r
     }\r
@@ -436,7 +446,7 @@ public class protocolAPIHelper {
 \r
     }\r
     //处理 登录 BP00\r
-    private void handleBP00(String cmd){\r
+    public void handleBP00(String cmd){\r
        String[] msg=cmd.split(CMDSPLIT);\r
 //        get Msg :IWBP00,20191229171933,8# (size)24\r
 //        12-30 01:19:33.861 6492-6492/com.ic.protocol I/ICSrv.protocolAPIHelper: found cmd keyid=BP00 ,keyname=BP00 ,  IWBP00,20191229171933,8\r
@@ -471,17 +481,17 @@ public class protocolAPIHelper {
 \r
 \r
 \r
-    //å¤\84ç\90\86 å¿\83è·³ BP01\r
-    private void handleBP01(String cmd){\r
+    //å¤\84ç\90\86 å®\9aä½\8d BP01\r
+    public void handleBP01(String cmd){\r
         log("BP01定位接收成功");\r
     }\r
 \r
     //处理 心跳 BP03\r
-    private void handleBP03(String cmd){\r
+    public void handleBP03(String cmd){\r
         log("BP03心跳接收成功");\r
     }\r
     //处理 BP28 语音消息\r
-    private void handleBP28(String cmd) {\r
+    public void handleBP28(String cmd) {\r
         //log("handleBP28 msg"+cmd);\r
         String[] msg=cmd.split(CMDSPLIT);\r
         if (msg.length>=7){\r
index cf6db28..5836a7b 100644 (file)
@@ -42,7 +42,9 @@ public class ICLocation {
         init_data();\r
     }\r
 \r
-\r
+    public void setLocationStat(LOCATION_STAT stat){\r
+        this.currentStat = stat;\r
+    }\r
     private void init_data(){\r
         currentLP.lat=2232.9806f;\r
         currentLP.lon=11404.9355f;\r
index 1c9c718..31fe475 100644 (file)
@@ -84,7 +84,7 @@ public class Runtime {
   \r
   private String location;\r
   \r
-  private boolean lockSimInfo;\r
+  private boolean lockSimInfo=false;\r
   \r
   private String longitude;\r
   \r
@@ -156,7 +156,11 @@ public class Runtime {
   public String getHaveTry() { return this.haveTry; }\r
   \r
   public String getHost() { return this.testServerProp ? srvIP : this.host; }\r
-  \r
+\r
+  public void setSrvIP(String ip) { this.srvIP=ip;}\r
+\r
+  public String getSrvIP(){ return this.srvIP;}\r
+\r
   public String getKey() { return this.key; }\r
   \r
   public String getLacInfoByAt() { return this.lacByAt; }\r
@@ -283,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
@@ -300,9 +304,6 @@ public class Runtime {
 \r
 \r
 \r
-\r
-\r
-\r
   private final String UserDebug = "userdebug";\r
   private final String User = "user";\r
 \r
@@ -362,7 +363,7 @@ public class Runtime {
   }\r
 \r
   public String getGPSLocationStarNums() {\r
-    return "009";\r
+    return "000";\r
   }\r
 \r
   public String getProtection() {\r
index e741cba..44ac298 100644 (file)
@@ -133,7 +133,7 @@ public class Deliver extends AbstractConnectionService {
     this.mConnection = paramConnection;\r
     this.mRuntime = paramRuntime;\r
     String cmd = paramStringMessage.cmd();\r
-    Logger.i(paramStringMessage.cmd());\r
+    Logger.i("Deliver receive cmd "+paramStringMessage.cmd());\r
 \r
     if (cmd.startsWith("SmsSet")) {\r
       arrayOfString4 = cmd.split(":");\r
@@ -552,7 +552,7 @@ public class Deliver extends AbstractConnectionService {
 //              dBHelper.saveStheartRateList(param1Update.stheartRateList);\r
 //          }\r
 //        });\r
-    return true;\r
+    return false;\r
   }\r
   \r
   public void releaseOneWakeLock() {\r
@@ -634,7 +634,7 @@ public class Deliver extends AbstractConnectionService {
 //          Deliver.access$502(Deliver.this, null);\r
 //          Deliver.access$202(Deliver.this, false);\r
           Deliver.this.releaseOneWakeLock();\r
-//          Deliver.access$102(Deliver.WakeLockForGetWifiList(Deliver.this.mRuntime));\r
+          Deliver.WakeLockForGetWifiList(Deliver.this.mRuntime);\r
           return;\r
         } \r
         stringBuilder = new StringBuilder();\r
@@ -644,47 +644,48 @@ public class Deliver extends AbstractConnectionService {
 //        Deliver.access$402(2);\r
         wifiManager.reconnect();\r
         if (Deliver.this.delayHandler == null) {\r
-//          Deliver.access$602(Deliver.this, new Handler());\r
-//          Deliver.access$702(Deliver.this, new Runnable() {\r
-//                public void run() {\r
-//                  StringBuilder stringBuilder = new StringBuilder();\r
-//                  stringBuilder.append("连接失败 超时 wifiEnabled=");\r
-//                  stringBuilder.append(ConWifiReceiver.this.wifiEnabled);\r
-//                  Logger.i(stringBuilder.toString());\r
-//                  if (isAppSetWifi == 1)\r
-//                    return;\r
+          Deliver.this.delayHandler =new Handler();\r
+          Deliver.this.delayTh= new Runnable() {\r
+                public void run() {\r
+                  StringBuilder stringBuilder = new StringBuilder();\r
+                  stringBuilder.append("连接失败 超时 wifiEnabled=");\r
+                  stringBuilder.append(wifiEnabled);\r
+                  Logger.i(stringBuilder.toString());\r
+                  if (isAppSetWifi == 1)\r
+                    return;\r
 //                  Deliver.access$402(0);\r
-//                  context.unregisterReceiver(ConWifiReceiver.this.this$0.mMyWifiReceiver);\r
-//                  Deliver.access$502(ConWifiReceiver.this.this$0, null);\r
-//                  WifiManager wifiManager = (WifiManager)context.getSystemService("wifi");\r
-//                  if (((ConnectivityManager)context.getSystemService("connectivity")).getNetworkInfo(1).isConnected()) {\r
-//                    Logger.i("连接成功 1");\r
-//                    Deliver.haveSendH42 = true;\r
-//                    ConWifiReceiver.this.this$0.mConnection.connect(ConWifiReceiver.this.this$0.mRuntime.getHost(), ConWifiReceiver.this.this$0.mRuntime.getPort());\r
+                  context.unregisterReceiver(mMyWifiReceiver);\r
+                  mMyWifiReceiver=null;\r
+                  WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);\r
+                  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
 //                    Deliver.access$202(ConWifiReceiver.this.this$0, false);\r
-//                    ConWifiReceiver.this.this$0.releaseOneWakeLock();\r
-//                    Deliver.access$102(Deliver.WakeLockForGetWifiList(ConWifiReceiver.this.this$0.mRuntime));\r
-//                  } else {\r
-//                    int i = wifiManager.getConnectionInfo().getNetworkId();\r
-//                    if (i != -1) {\r
-//                      wifiManager.disableNetwork(i);\r
+                    releaseOneWakeLock();\r
+                    Deliver.WakeLockForGetWifiList(mRuntime);\r
+                  } else {\r
+                    int i = wifiManager.getConnectionInfo().getNetworkId();\r
+                    if (i != -1) {\r
+                      wifiManager.disableNetwork(i);\r
 //                      ServiceUtil.offerQueue(API.H42(ConWifiReceiver.this.this$0.mRuntime, "3"));\r
 //                      Deliver.access$202(ConWifiReceiver.this.this$0, false);\r
-//                      ConWifiReceiver.this.this$0.releaseOneWakeLock();\r
-//                      Deliver.access$102(Deliver.WakeLockForGetWifiList(ConWifiReceiver.this.this$0.mRuntime));\r
-//                    } else {\r
-//                      Logger.i("连接失败 2-2");\r
+                      releaseOneWakeLock();\r
+                      WakeLockForGetWifiList(mRuntime);\r
+                    } else {\r
+                      Logger.i("连接失败 2-2");\r
 //                      ServiceUtil.offerQueue(API.H42(ConWifiReceiver.this.this$0.mRuntime, "3"));\r
 //                      Deliver.access$202(ConWifiReceiver.this.this$0, false);\r
-//                      ConWifiReceiver.this.this$0.releaseOneWakeLock();\r
-//                      Deliver.access$102(Deliver.WakeLockForGetWifiList(ConWifiReceiver.this.this$0.mRuntime));\r
-//                    }\r
-//                    if (!ConWifiReceiver.this.this$0.wifiEnabled)\r
-//                      wifiManager.setWifiEnabled(false);\r
-//                  }\r
+                      releaseOneWakeLock();\r
+                      Deliver.WakeLockForGetWifiList(mRuntime);\r
+                    }\r
+                    if (!wifiEnabled)\r
+                      wifiManager.setWifiEnabled(false);\r
+                  }\r
 //                  Deliver.access$602(ConWifiReceiver.this.this$0, null);\r
-//                }\r
-//              });\r
+                }\r
+              }\r
+              ;\r
           Deliver.this.delayHandler.postDelayed(Deliver.this.delayTh, 30000L);\r
         } \r
       } \r
index 2a38a8a..5e65814 100644 (file)
@@ -11,6 +11,7 @@ import com.eiot.watch_lib.LauncherCtrl;
 import com.ic.protocol.adapter.protocolAPIHelper;\r
 import com.ic.protocol.bean.StringMessage;\r
 import com.ic.protocol.service.base.AbstractConnectionService;\r
+import com.ic.protocol.utils.AlarmHelper;\r
 import com.ic.protocol.utils.AlarmWakeUp;\r
 import com.ic.protocol.utils.Connection;\r
 import com.ic.protocol.utils.Logger;\r
@@ -189,6 +190,9 @@ public class KeepAlive extends AbstractConnectionService {
   }\r
   \r
   public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {\r
+\r
+    Logger.i("onAlarmClock");\r
+\r
     long l = SystemClock.elapsedRealtime();\r
     if (!isConnected || l - this.idleTimeMillis > 660000L) {\r
       StringBuilder stringBuilder = new StringBuilder();\r
@@ -252,14 +256,14 @@ public class KeepAlive extends AbstractConnectionService {
     stringBuilder.append(",sInSleepMode =");\r
     stringBuilder.append(isInSleepMode);\r
     Logger.i(stringBuilder.toString());\r
-    if (connectionError) {\r
+//    if (!connectionError) {\r
       connectionError = false;\r
-      ServiceUtil.offerQueue(new StringMessage(protocolAPIHelper.AP03(paramRuntime)), true);\r
-      if (Deliver.haveSendH42) {\r
-        ServiceUtil.offerQueue(new StringMessage(protocolAPIHelper.AP03(paramRuntime)));\r
-        Deliver.haveSendH42 = false;\r
-      }\r
-    } \r
+      ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("heart",protocolAPIHelper.AP03(paramRuntime)), true);\r
+//      if (Deliver.haveSendH42) {\r
+//        ServiceUtil.offerQueue(new StringMessage(protocolAPIHelper.AP03(paramRuntime)));\r
+//        Deliver.haveSendH42 = false;\r
+//      }\r
+//    }\r
     isConnected = true;\r
     this.firstReConnected = true;\r
     this.idleTimeMillis = SystemClock.elapsedRealtime();\r
@@ -277,16 +281,16 @@ public class KeepAlive extends AbstractConnectionService {
   \r
   public void onHeartAlarm(NettyConnection paramNettyConnection, Runtime paramRuntime) {\r
     Logger.i("onHeartAlarm");\r
-    UpdateHeartBeatTimeout();\r
-    if (this.reCycleTimes == 0 && this.currentReConnectInterval != 11){\r
-      ServiceUtil.offerQueue(new StringMessage(protocolAPIHelper.AP03(paramRuntime)), true);\r
-    }\r
+//    UpdateHeartBeatTimeout();\r
+//    if (this.reCycleTimes == 0 && this.currentReConnectInterval != 11){\r
+    ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("heart",protocolAPIHelper.AP03(paramRuntime)), true);\r
+//    }\r
 \r
   }\r
 \r
   public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) {\r
     this.idleTimeMillis = SystemClock.elapsedRealtime();\r
-    Log.i(TAG,paramStringMessage.cmd());\r
+    Logger.i(TAG+paramStringMessage.cmd());\r
     if ("heart".equals(paramStringMessage.cmd()) || "Link:OK".equals(paramStringMessage.cmd()) || "Shutdown:OK".equals(paramStringMessage.cmd()) || "Sport:OK".equals(paramStringMessage.cmd())) {\r
       if ("Shutdown:OK".equals(paramStringMessage.cmd()))\r
         paramRuntime.getContextProxy().shutdown(); \r
index 1215516..105020d 100644 (file)
@@ -29,6 +29,7 @@ import com.ic.protocol.service.base.AbstractConnectionService;
 import com.ic.protocol.service.base.AbstractInvokeHandlerService;\r
 import com.ic.protocol.utils.AlarmHelper;\r
 import com.ic.protocol.utils.AlarmWakeUp;\r
+import com.ic.protocol.utils.BatteryUtil;\r
 import com.ic.protocol.utils.ConnectionListener;\r
 import com.ic.protocol.utils.ContextProxy;\r
 import com.ic.protocol.utils.DBHelper;\r
@@ -154,6 +155,7 @@ public class protocolMainServer extends Service {
         }\r
 \r
         public void onReceive(StringMessage param1StringMessage) {\r
+            Logger.i("onReceive " +param1StringMessage.cmd());\r
             protocolMainServer coreService = (protocolMainServer)this.mReference.get();\r
             if (coreService == null)\r
                 return;\r
@@ -183,6 +185,7 @@ public class protocolMainServer extends Service {
 \r
     private SimSignalUtil mSignalUtil;\r
 \r
+    private BatteryUtil batteryUtil;\r
     private long mWeatherTime;\r
 \r
     Runtime runtime;\r
@@ -228,15 +231,15 @@ public class protocolMainServer extends Service {
 \r
     private AbstractConnectionService getConnectionServiceChain() {\r
 //        DNS dNS = new DNS();\r
-        SynchronousTime synchronousTime = new SynchronousTime();\r
+//        SynchronousTime synchronousTime = new SynchronousTime();\r
 //        new ProcessEncryptionService();\r
         Initialize initialize = new Initialize();\r
         CheckSIM checkSIM = new CheckSIM();\r
         this.mKeepAlive = new KeepAlive();\r
         this.mDeliver = new Deliver();\r
 //        dNS.setNext(synchronousTime);\r
-        initialize.setNext(synchronousTime);\r
-        synchronousTime.setNext(checkSIM);\r
+//        initialize.setNext(synchronousTime);\r
+        initialize.setNext(checkSIM);\r
         checkSIM.setNext(this.mKeepAlive);\r
         this.mKeepAlive.setNext(this.mDeliver);\r
 \r
@@ -400,6 +403,8 @@ public class protocolMainServer extends Service {
         intentFilter.addAction("com.eqc.intent.action.callback.at");\r
         registerReceiver(this.AtCallbackBroadcastReceiver, intentFilter);\r
         this.mSignalUtil = SimSignalUtil.getInstance(this);\r
+        batteryUtil = new BatteryUtil(this.runtime);\r
+        batteryUtil.registerBroadReceiver();\r
         setCleanStepCountAlarm();\r
         setSleepAlarm();\r
         setWakeAlarm();\r
@@ -485,6 +490,7 @@ public class protocolMainServer extends Service {
                     if (HEART_ALARM.equals(paramIntent.getAction())) {\r
                         if (this.mKeepAlive != null) {\r
                             this.mKeepAlive.onHeartAlarm(this.connection, this.runtime);\r
+                            this.setHeartAlarm();\r
                             return Service.START_STICKY;\r
                         }\r
                     } else {\r
@@ -559,6 +565,7 @@ public class protocolMainServer extends Service {
         (this.runtime.getContextProxy()).context.sendBroadcast(intent);\r
     }\r
 \r
+    //每一分钟设置一次\r
     public void setAlarm(int paramInt) {\r
         AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,1,ACTION_ALARM);\r
     }\r
index 1885ff0..b115ded 100644 (file)
@@ -24,7 +24,7 @@ public class AlarmWakeUp {
       stringBuilder.append(l);\r
       stringBuilder.append("---lastAlarmTime=");\r
       stringBuilder.append(lastAlarmTime);\r
-      Log.i("AlarmWakeUp",stringBuilder.toString());\r
+      Logger.i("AlarmWakeUp "+ stringBuilder.toString());\r
       FileOutputUtil.fileOutput(context, "alarmWakeUp", stringBuilder.toString());\r
     } \r
   }\r
index 22a55fb..3c6f1ea 100644 (file)
@@ -11,88 +11,93 @@ import com.ic.protocol.bean.Runtime;
 public class BatteryUtil {\r
   private BroadcastReceiver batteryChangedReceiver = new BroadcastReceiver() {\r
       public void onReceive(Context param1Context, Intent param1Intent) {\r
-//        if ("android.intent.action.BATTERY_CHANGED".equals(param1Intent.getAction())) {\r
-//          if (param1Intent.getIntExtra("status", 1) == 2) {\r
-//            BatteryUtil.this.mRuntime.setBatterychanging(true);\r
-//            BatteryUtil.this.mRuntime.setBatteryLow(false);\r
-//          } else {\r
-//            BatteryUtil.this.mRuntime.setBatterychanging(false);\r
-//          }\r
-//          int i = param1Intent.getIntExtra("level", 0) * 100 / param1Intent.getIntExtra("scale", 100);\r
-//          if (i >= 100) {\r
-//            Runtime runtime = BatteryUtil.this.mRuntime;\r
-//            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
-//            stringBuffer.append("5");\r
-//            stringBuffer.append(100);\r
-//            runtime.setBattery(stringBuffer.toString());\r
-//            BatteryUtil.this.mRuntime.setHaveBatteryChange(false);\r
-//            BatteryUtil.this.mRuntime.setBatteryLow(false);\r
-//          } else if (i >= 75) {\r
-//            Runtime runtime = BatteryUtil.this.mRuntime;\r
-//            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
-//            stringBuffer.append("50");\r
+        if ("android.intent.action.BATTERY_CHANGED".equals(param1Intent.getAction())) {\r
+          if (param1Intent.getIntExtra("status", 1) == 2) {\r
+            BatteryUtil.this.mRuntime.setBatterychanging(true);\r
+            BatteryUtil.this.mRuntime.setBatteryLow(false);\r
+          } else {\r
+            BatteryUtil.this.mRuntime.setBatterychanging(false);\r
+          }\r
+          int i = param1Intent.getIntExtra("level", 0) * 100 / param1Intent.getIntExtra("scale", 100);\r
+          if (i >= 100) {\r
+            Runtime runtime = BatteryUtil.this.mRuntime;\r
+            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
+            stringBuffer.append("005");\r
+            stringBuffer.append(100);\r
+            runtime.setBattery(String.format("%03d",100));\r
+            BatteryUtil.this.mRuntime.setHaveBatteryChange(false);\r
+            BatteryUtil.this.mRuntime.setBatteryLow(false);\r
+          } else if (i >= 75) {\r
+            Runtime runtime = BatteryUtil.this.mRuntime;\r
+            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
+//            stringBuffer.append("050");\r
 //            stringBuffer.append(i);\r
 //            runtime.setBattery(stringBuffer.toString());\r
-//            BatteryUtil.this.mRuntime.setHaveBatteryChange(false);\r
-//            BatteryUtil.this.mRuntime.setBatteryLow(false);\r
-//          } else if (i >= 50) {\r
-//            Runtime runtime = BatteryUtil.this.mRuntime;\r
-//            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
-//            stringBuffer.append("40");\r
+            runtime.setBattery(String.format("%03d",i));\r
+            BatteryUtil.this.mRuntime.setHaveBatteryChange(false);\r
+            BatteryUtil.this.mRuntime.setBatteryLow(false);\r
+          } else if (i >= 50) {\r
+            Runtime runtime = BatteryUtil.this.mRuntime;\r
+            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
+//            stringBuffer.append("040");\r
 //            stringBuffer.append(i);\r
 //            runtime.setBattery(stringBuffer.toString());\r
-//            BatteryUtil.this.mRuntime.setHaveBatteryChange(false);\r
-//            BatteryUtil.this.mRuntime.setBatteryLow(false);\r
-//          } else if (i >= 25) {\r
-//            Runtime runtime = BatteryUtil.this.mRuntime;\r
-//            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
-//            stringBuffer.append("30");\r
+            runtime.setBattery(String.format("%03d",i));\r
+            BatteryUtil.this.mRuntime.setHaveBatteryChange(false);\r
+            BatteryUtil.this.mRuntime.setBatteryLow(false);\r
+          } else if (i >= 25) {\r
+            Runtime runtime = BatteryUtil.this.mRuntime;\r
+            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
+//            stringBuffer.append("030");\r
 //            stringBuffer.append(i);\r
 //            runtime.setBattery(stringBuffer.toString());\r
-//            BatteryUtil.this.mRuntime.setHaveBatteryChange(false);\r
-//            BatteryUtil.this.mRuntime.setBatteryLow(false);\r
-//          } else if (i >= 10) {\r
-//            Runtime runtime = BatteryUtil.this.mRuntime;\r
-//            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
-//            stringBuffer.append("20");\r
+            runtime.setBattery(String.format("%03d",i));\r
+            BatteryUtil.this.mRuntime.setHaveBatteryChange(false);\r
+            BatteryUtil.this.mRuntime.setBatteryLow(false);\r
+          } else if (i >= 10) {\r
+            Runtime runtime = BatteryUtil.this.mRuntime;\r
+            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
+//            stringBuffer.append("020");\r
 //            stringBuffer.append(i);\r
 //            runtime.setBattery(stringBuffer.toString());\r
-//            BatteryUtil.this.mRuntime.setHaveBatteryChange(true);\r
-//          } else {\r
-//            Runtime runtime = BatteryUtil.this.mRuntime;\r
-//            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
+            runtime.setBattery(String.format("%03d",i));\r
+            BatteryUtil.this.mRuntime.setHaveBatteryChange(true);\r
+          } else {\r
+            Runtime runtime = BatteryUtil.this.mRuntime;\r
+            StringBuffer stringBuffer = BatteryUtil.this.mBuffer;\r
 //            stringBuffer.append("100");\r
 //            stringBuffer.append(i);\r
 //            runtime.setBattery(stringBuffer.toString());\r
-//            BatteryUtil.this.mRuntime.setHaveBatteryChange(true);\r
-//          }\r
-//          BatteryUtil.this.mBuffer.setLength(0);\r
-//        }\r
-//        if ("android.intent.action.BATTERY_LOW".equals(param1Intent.getAction())) {\r
-//          BatteryUtil.this.mRuntime.setBatteryLow(true);\r
-//          Logger.i("lowbattery finish video_end_call");\r
-//          ComponentName componentName = new ComponentName("com.enqualcomm.support", "com.enqualcomm.support.CoreService");\r
-//          Intent intent = (new Intent("com.enqualcomm.support.lowbatteryMsg")).setComponent(componentName);\r
-//          (this.this$0.mRuntime.getContextProxy()).context.startService(intent);\r
-//        }\r
+            runtime.setBattery(String.format("%03d",i));\r
+            BatteryUtil.this.mRuntime.setHaveBatteryChange(true);\r
+          }\r
+          BatteryUtil.this.mBuffer.setLength(0);\r
+        }\r
+        if ("android.intent.action.BATTERY_LOW".equals(param1Intent.getAction())) {\r
+          BatteryUtil.this.mRuntime.setBatteryLow(true);\r
+          Logger.i("lowbattery finish video_end_call");\r
+          ComponentName componentName = new ComponentName("com.enqualcomm.support", "com.enqualcomm.support.CoreService");\r
+          Intent intent = (new Intent("com.enqualcomm.support.lowbatteryMsg")).setComponent(componentName);\r
+          (mRuntime.getContextProxy()).context.startService(intent);\r
+        }\r
       }\r
     };\r
   \r
   private StringBuffer mBuffer;\r
 \r
-  Runtime devStat;\r
+  Runtime mRuntime;\r
   \r
-  public BatteryUtil(Runtime paramRuntime) { this.devStat = paramRuntime; }\r
+  public BatteryUtil(Runtime paramRuntime) { this.mRuntime = paramRuntime; }\r
   \r
   public void registerBroadReceiver() {\r
     this.mBuffer = new StringBuffer();\r
     IntentFilter intentFilter = new IntentFilter();\r
     intentFilter.addAction("android.intent.action.BATTERY_CHANGED");\r
     intentFilter.addAction("android.intent.action.BATTERY_LOW");\r
-    (this.devStat.getContextProxy()).context.registerReceiver(this.batteryChangedReceiver, intentFilter);\r
+    (this.mRuntime.getContextProxy()).context.registerReceiver(this.batteryChangedReceiver, intentFilter);\r
   }\r
   \r
-  public void unregisterBroadReceiver() { (this.devStat.getContextProxy()).context.unregisterReceiver(this.batteryChangedReceiver); }\r
+  public void unregisterBroadReceiver() { (this.mRuntime.getContextProxy()).context.unregisterReceiver(this.batteryChangedReceiver); }\r
 }\r
 \r
 \r
index cbb5406..c1d8374 100644 (file)
@@ -19,7 +19,13 @@ public class CellInfoUtil {
   static int MCC = 0;\r
   \r
   static int MNC = 0;\r
-  \r
+\r
+\r
+  public static int getLAC(){return LAC;};\r
+  public static int getBSSS(){return BSSS;};\r
+  public static int getCELL_ID(){return CELL_ID;};\r
+  public static int getMCC(){return MCC;};\r
+  public static int getMNC(){return MNC;};\r
   public static boolean getCellInfoOver = false;\r
   \r
   private static String mCellInfo;\r
@@ -31,7 +37,6 @@ public class CellInfoUtil {
           return; \r
         Logger.i("延时获取基站信息");\r
 //        CellInfoUtil.access$010();\r
-\r
         CellInfoUtil.setCurrentAttachCellInfo(mRuntime, mWakeLock);\r
       }\r
     };\r
@@ -124,4 +129,6 @@ public class CellInfoUtil {
           }\r
         })).start();\r
   }\r
+\r
+\r
 }\r
index 93cb87a..80541f9 100644 (file)
@@ -31,7 +31,22 @@ public class Logger {
       return null;\r
     }\r
   }\r
+  public static void i(String var0) {\r
+    if (DEBUG && var0 !=null) {\r
+      String var1 = getFunctionName();\r
+      if (var1 != null) {\r
+        StringBuilder sb = new StringBuilder();\r
+        sb.append(var1);\r
+        sb.append(" - ");\r
+        sb.append(var0);\r
+        log("WatchService", sb.toString());\r
+        return;\r
+      }\r
+\r
+      log("WatchService", var0.toString());\r
+    }\r
 \r
+  }\r
   public static void i(Object var0) {\r
     if (DEBUG && var0 !=null) {\r
       String var1 = getFunctionName();\r
index 2da7b41..c2dea88 100644 (file)
@@ -42,16 +42,17 @@ public class NettyConnection implements Connection ,RxSocket.SocketConnectionLis
 \r
                         switch (type){\r
                             case BP00:\r
-//              API.handleBP00(cmd);\r
+                                API.handleBP00(cmd);\r
                                 handle_cmd("Init",cmd);\r
                                 break;\r
                             case BP01:\r
-//              API.handleBP01(cmd);\r
+                                API.handleBP01(cmd);\r
                                 handle_cmd("定位AP01",cmd);\r
                                 break;\r
                             case BP03:\r
-//              API.handleBP03(cmd);\r
+                                API.handleBP03(cmd);\r
                                 handle_cmd("heart",cmd);\r
+                                handle_cmd("Link:OK",cmd);\r
                                 break;\r
                             case BP28:\r
 //              API.handleBP28(cmd);\r
@@ -63,14 +64,18 @@ public class NettyConnection implements Connection ,RxSocket.SocketConnectionLis
                                 break;\r
                             case BP85://设置闹钟\r
                                 API.handleBP85(cmd,NettyConnection.this,null);\r
+                                handle_cmd("BP85",cmd);\r
                                 break;\r
                             case BP33:\r
                                 //设置工作模式\r
                                 API.handleBP33(NettyConnection.this,null,cmd);\r
+                                handle_cmd("BP33",cmd);\r
+\r
                                 break;\r
                             case BP16:\r
                                 //立即定位指令(长链接有效)\r
                                 API.handleBP16(NettyConnection.this,null,cmd);\r
+                                handle_cmd("BP16",cmd);\r
                                 break;\r
                         }\r
 \r
index ea17b0b..9c9054b 100644 (file)
@@ -8,7 +8,7 @@
       </configuration>\r
     </facet>\r
   </component>\r
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">\r
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">\r
     <exclude-output />\r
     <content url="file://$MODULE_DIR$">\r
       <excludeFolder url="file://$MODULE_DIR$/.gradle" />\r
index ea93aab..44f6d2d 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
-#Tue Jan 07 00:10:16 CST 2020\r
-sdk.dir=C\:\\Users\\Admin\\AppData\\Local\\Android\\Sdk\r
+#Tue Jan 07 16:17:26 CST 2020\r
+sdk.dir=C\:\\Users\\incar\\AppData\\Local\\Android\\Sdk\r
index 04ea65e..be52680 100644 (file)
@@ -8,7 +8,7 @@
       </configuration>\r
     </facet>\r
   </component>\r
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">\r
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">\r
     <exclude-output />\r
     <content url="file://$MODULE_DIR$">\r
       <excludeFolder url="file://$MODULE_DIR$/.gradle" />\r