update gps
authorsnickersun <snickersun@qq.com>
Tue, 7 Jan 2020 06:18:00 +0000 (14:18 +0800)
committersnickersun <snickersun@qq.com>
Tue, 7 Jan 2020 06:18:00 +0000 (14:18 +0800)
40 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__com_android_support_multidex_instrumentation_1_0_2_aar.xml [new file with mode: 0644]
.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml [new file with mode: 0644]
.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml [new file with mode: 0644]
.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml [new file with mode: 0644]
.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml [new file with mode: 0644]
.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml [new file with mode: 0644]
.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml [new file with mode: 0644]
.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml [new file with mode: 0644]
.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml [new file with mode: 0644]
.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml [new file with mode: 0644]
.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml [new file with mode: 0644]
.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml [new file with mode: 0644]
.idea/modules.xml
.idea/workspace.xml
app/app.iml
app/release/ICSer_V110_202001070902_release.apk [deleted file]
app/release/output.json [deleted file]
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/MainActivity.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/utils/CellInfoUtil.java
app/src/main/java/com/ic/protocol/utils/ExeCommand.java [new file with mode: 0644]
app/src/main/java/com/ic/protocol/utils/StepCounterInterface.java [new file with mode: 0644]
app/version_code.properties
library/library.iml [deleted file]
settings.gradle

index 12e3aba..2489249 100644 (file)
Binary files a/.gradle/5.4.1/executionHistory/executionHistory.bin and b/.gradle/5.4.1/executionHistory/executionHistory.bin differ
index 54036f0..82d4bd2 100644 (file)
Binary files a/.gradle/5.4.1/executionHistory/executionHistory.lock and b/.gradle/5.4.1/executionHistory/executionHistory.lock differ
index 6657a31..36d9f2d 100644 (file)
Binary files a/.gradle/5.4.1/fileHashes/fileHashes.bin and b/.gradle/5.4.1/fileHashes/fileHashes.bin differ
index 7991e06..42ebb4b 100644 (file)
Binary files a/.gradle/5.4.1/fileHashes/fileHashes.lock and b/.gradle/5.4.1/fileHashes/fileHashes.lock differ
index bcac593..3e8c001 100644 (file)
Binary files a/.gradle/5.4.1/fileHashes/resourceHashesCache.bin and b/.gradle/5.4.1/fileHashes/resourceHashesCache.bin differ
index 351b00b..21649e0 100644 (file)
Binary files a/.gradle/5.4.1/javaCompile/classAnalysis.bin and b/.gradle/5.4.1/javaCompile/classAnalysis.bin differ
index 9e5c7f1..2ea2836 100644 (file)
Binary files a/.gradle/5.4.1/javaCompile/javaCompile.lock and b/.gradle/5.4.1/javaCompile/javaCompile.lock differ
index ee1587e..5879777 100644 (file)
Binary files a/.gradle/5.4.1/javaCompile/taskHistory.bin and b/.gradle/5.4.1/javaCompile/taskHistory.bin differ
index 2ba454f..41c763b 100644 (file)
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
index 5833ac7..9b692bd 100644 (file)
Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ
index a1188a2..8f0cd04 100644 (file)
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
index ca234e9..0852fa4 100644 (file)
Binary files a/.idea/caches/gradle_models.ser and b/.idea/caches/gradle_models.ser differ
diff --git a/.idea/libraries/Gradle__com_android_support_multidex_instrumentation_1_0_2_aar.xml b/.idea/libraries/Gradle__com_android_support_multidex_instrumentation_1_0_2_aar.xml
new file mode 100644 (file)
index 0000000..82cf4a5
--- /dev/null
@@ -0,0 +1,10 @@
+<component name="libraryTable">\r
+  <library name="Gradle: com.android.support:multidex-instrumentation:1.0.2@aar">\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0444c1c8a80e7763d6fd32256c30b1b6/multidex-instrumentation-1.0.2/jars/classes.jar!/" />\r
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0444c1c8a80e7763d6fd32256c30b1b6/multidex-instrumentation-1.0.2/res" />\r
+    </CLASSES>\r
+    <JAVADOC />\r
+    <SOURCES />\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml b/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml
new file mode 100644 (file)
index 0000000..b49fac8
--- /dev/null
@@ -0,0 +1,14 @@
+<component name="libraryTable">\r
+  <library name="Gradle: com.android.support.test.espresso:espresso-core:2.2.2@aar">\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cd5bd37d7fb507d91b4308e98c75092c/espresso-core-2.2.2/jars/classes.jar!/" />\r
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cd5bd37d7fb507d91b4308e98c75092c/espresso-core-2.2.2/res" />\r
+    </CLASSES>\r
+    <JAVADOC>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-core/2.2.2/385a61d4e1b44503072bb72999bb4cb0ded833a8/espresso-core-2.2.2-javadoc.jar!/" />\r
+    </JAVADOC>\r
+    <SOURCES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-core/2.2.2/114039ff105fc481a629b55882f2c5c7a614e32a/espresso-core-2.2.2-sources.jar!/" />\r
+    </SOURCES>\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml b/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml
new file mode 100644 (file)
index 0000000..8b2ad5a
--- /dev/null
@@ -0,0 +1,14 @@
+<component name="libraryTable">\r
+  <library name="Gradle: com.android.support.test.espresso:espresso-idling-resource:2.2.2@aar">\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/08bbf18b4f6508e84700675ad1947f18/espresso-idling-resource-2.2.2/jars/classes.jar!/" />\r
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/08bbf18b4f6508e84700675ad1947f18/espresso-idling-resource-2.2.2/res" />\r
+    </CLASSES>\r
+    <JAVADOC>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-idling-resource/2.2.2/6e4abb9731a9fc3648c08b8dd436c4526ac0a4cf/espresso-idling-resource-2.2.2-javadoc.jar!/" />\r
+    </JAVADOC>\r
+    <SOURCES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test.espresso/espresso-idling-resource/2.2.2/bc8e66874feb004144562e64053cf95b4c7b3eb7/espresso-idling-resource-2.2.2-sources.jar!/" />\r
+    </SOURCES>\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml b/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml
new file mode 100644 (file)
index 0000000..ec16806
--- /dev/null
@@ -0,0 +1,14 @@
+<component name="libraryTable">\r
+  <library name="Gradle: com.android.support.test:exposed-instrumentation-api-publish:0.5@aar">\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/46ec026ac33819b95c5cda49f5c119be/exposed-instrumentation-api-publish-0.5/jars/classes.jar!/" />\r
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/46ec026ac33819b95c5cda49f5c119be/exposed-instrumentation-api-publish-0.5/res" />\r
+    </CLASSES>\r
+    <JAVADOC>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/exposed-instrumentation-api-publish/0.5/81d0ed6618547b96baa84c6da154c88bc3a98cea/exposed-instrumentation-api-publish-0.5-javadoc.jar!/" />\r
+    </JAVADOC>\r
+    <SOURCES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/exposed-instrumentation-api-publish/0.5/493e9b2f2905ddc7f1a152446cc1d9d00ded10b0/exposed-instrumentation-api-publish-0.5-sources.jar!/" />\r
+    </SOURCES>\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml b/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml
new file mode 100644 (file)
index 0000000..5a4687b
--- /dev/null
@@ -0,0 +1,17 @@
+<component name="libraryTable">\r
+  <library name="Gradle: com.android.support.test:rules:0.5@aar">\r
+    <ANNOTATIONS>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1815895b9d163815f366f3aaf17a0e85/rules-0.5/annotations.zip!/" />\r
+    </ANNOTATIONS>\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1815895b9d163815f366f3aaf17a0e85/rules-0.5/jars/classes.jar!/" />\r
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1815895b9d163815f366f3aaf17a0e85/rules-0.5/res" />\r
+    </CLASSES>\r
+    <JAVADOC>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/rules/0.5/71c1df91db9f063a68e2e52a8568c9f3bd3c1c73/rules-0.5-javadoc.jar!/" />\r
+    </JAVADOC>\r
+    <SOURCES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/rules/0.5/eb0523edeca93697d4c4b767277b407ed5920258/rules-0.5-sources.jar!/" />\r
+    </SOURCES>\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml b/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml
new file mode 100644 (file)
index 0000000..a881a73
--- /dev/null
@@ -0,0 +1,17 @@
+<component name="libraryTable">\r
+  <library name="Gradle: com.android.support.test:runner:0.5@aar">\r
+    <ANNOTATIONS>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9278825acaaa575d23673f304a397357/runner-0.5/annotations.zip!/" />\r
+    </ANNOTATIONS>\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9278825acaaa575d23673f304a397357/runner-0.5/jars/classes.jar!/" />\r
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9278825acaaa575d23673f304a397357/runner-0.5/res" />\r
+    </CLASSES>\r
+    <JAVADOC>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/runner/0.5/589b6022d69d9f1fe8f0a79f10408326a5b0f648/runner-0.5-javadoc.jar!/" />\r
+    </JAVADOC>\r
+    <SOURCES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.test/runner/0.5/d13156b1f4d8dc7013cd8b3b1284b22bd3b44d23/runner-0.5-sources.jar!/" />\r
+    </SOURCES>\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml b/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml
new file mode 100644 (file)
index 0000000..8793362
--- /dev/null
@@ -0,0 +1,9 @@
+<component name="libraryTable">\r
+  <library name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar">\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/2.0.1/516c03b21d50a644d538de0f0369c620989cd8f0/jsr305-2.0.1.jar!/" />\r
+    </CLASSES>\r
+    <JAVADOC />\r
+    <SOURCES />\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml b/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml
new file mode 100644 (file)
index 0000000..f9ba158
--- /dev/null
@@ -0,0 +1,13 @@
+<component name="libraryTable">\r
+  <library name="Gradle: com.squareup:javawriter:2.1.1@jar">\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/67ff45d9ae02e583d0f9b3432a5ebbe05c30c966/javawriter-2.1.1.jar!/" />\r
+    </CLASSES>\r
+    <JAVADOC>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/f591a105db78771d0a1e7a277b3747556c528c22/javawriter-2.1.1-javadoc.jar!/" />\r
+    </JAVADOC>\r
+    <SOURCES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/5b31387d839a5cdaf5b6de3990da01f7f2b963c5/javawriter-2.1.1-sources.jar!/" />\r
+    </SOURCES>\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml b/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml
new file mode 100644 (file)
index 0000000..90eea21
--- /dev/null
@@ -0,0 +1,13 @@
+<component name="libraryTable">\r
+  <library name="Gradle: javax.annotation:javax.annotation-api:1.2@jar">\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/479c1e06db31c432330183f5cae684163f186146/javax.annotation-api-1.2.jar!/" />\r
+    </CLASSES>\r
+    <JAVADOC>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/1064ee6b28b926dfa355f9db146a33d1111a7bf1/javax.annotation-api-1.2-javadoc.jar!/" />\r
+    </JAVADOC>\r
+    <SOURCES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/ad18a02db08eaee697f812e333f692fc51129e4a/javax.annotation-api-1.2-sources.jar!/" />\r
+    </SOURCES>\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml b/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml
new file mode 100644 (file)
index 0000000..746319d
--- /dev/null
@@ -0,0 +1,13 @@
+<component name="libraryTable">\r
+  <library name="Gradle: javax.inject:javax.inject:1@jar">\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar!/" />\r
+    </CLASSES>\r
+    <JAVADOC>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/70ec961c25111ed9015d1af77772d96383c2d238/javax.inject-1-javadoc.jar!/" />\r
+    </JAVADOC>\r
+    <SOURCES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/a00123f261762a7c5e0ec916a2c7c8298d29c400/javax.inject-1-sources.jar!/" />\r
+    </SOURCES>\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml
new file mode 100644 (file)
index 0000000..a738e54
--- /dev/null
@@ -0,0 +1,13 @@
+<component name="libraryTable">\r
+  <library name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar">\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/5de0c73fef18917cd85d0ab70bb23818685e4dfd/hamcrest-integration-1.3.jar!/" />\r
+    </CLASSES>\r
+    <JAVADOC>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/cc5884d4138d3376f574f6a3992acceedfc37bea/hamcrest-integration-1.3-javadoc.jar!/" />\r
+    </JAVADOC>\r
+    <SOURCES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/ae7787a563e6a1b1f17fd4ac43be3a3c8830cfda/hamcrest-integration-1.3-sources.jar!/" />\r
+    </SOURCES>\r
+  </library>\r
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml
new file mode 100644 (file)
index 0000000..40e4b54
--- /dev/null
@@ -0,0 +1,13 @@
+<component name="libraryTable">\r
+  <library name="Gradle: org.hamcrest:hamcrest-library:1.3@jar">\r
+    <CLASSES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar!/" />\r
+    </CLASSES>\r
+    <JAVADOC>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4324046c5f99f3dc91b5370899fa3ae65fd137d2/hamcrest-library-1.3-javadoc.jar!/" />\r
+    </JAVADOC>\r
+    <SOURCES>\r
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/47a7ee46628ab7133129cd7cef1e92657bc275e/hamcrest-library-1.3-sources.jar!/" />\r
+    </SOURCES>\r
+  </library>\r
+</component>
\ No newline at end of file
index 1db11d5..17b54da 100644 (file)
@@ -4,7 +4,6 @@
     <modules>\r
       <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />\r
       <module fileurl="file://$PROJECT_DIR$/icsupport.iml" filepath="$PROJECT_DIR$/icsupport.iml" />\r
-      <module fileurl="file://$PROJECT_DIR$/library/library.iml" filepath="$PROJECT_DIR$/library/library.iml" />\r
       <module fileurl="file://$PROJECT_DIR$/okio/okio.iml" filepath="$PROJECT_DIR$/okio/okio.iml" />\r
     </modules>\r
   </component>\r
index 24205b8..b40189b 100644 (file)
@@ -1,91 +1,54 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+  <component name="AndroidLayouts">
+    <shared>
+      <config />
+    </shared>
+  </component>
   <component name="AndroidLogFilters">
     <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
   </component>
   <component name="ChangeListManager">
     <list default="true" id="a0feeb22-06b0-4f90-bebc-7c0a45a72929" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/.gradle/5.4.1/executionHistory/executionHistory.bin" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.gradle/5.4.1/executionHistory/executionHistory.lock" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.gradle/5.4.1/fileContent/fileContent.lock" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/resourceHashesCache.bin" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/classAnalysis.bin" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/jarAnalysis.bin" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/javaCompile.lock" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/taskHistory.bin" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_multidex_1_0_2_aar.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/app/release/ICSer_V110_202001070902_release.apk" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/app/release/output.json" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/build/intermediates/lint-cache/api-versions-0-29.0.5.bin" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/library/build/generated/source/buildConfig/release/com/eiot/watch_lib/BuildConfig.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/library/build/intermediates/bundles/release/AndroidManifest.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/library/build/intermediates/incremental/compileReleaseAidl/dependency.store" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/library/build/intermediates/incremental/packageReleaseResources/compile-file-map.properties" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/library/build/intermediates/incremental/packageReleaseResources/merger.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/library/build/intermediates/manifests/aapt/release/AndroidManifest.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/cache.properties.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/cache.properties.lock" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileHashes.bin" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/tasks/_library_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/tasks/_library_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/tasks/_library_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/tasks/_library_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_multidex_instrumentation_1_0_2_aar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/StepCounterInterface.java" 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/encodings.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/gradle.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/gradle.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle____local_jars___D__workspace_icsupport_app_libs_LauncherCtrl_jar_unspecified_jar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle____local_aars___D__Snicker_icsupport_app_libs_LauncherCtrl_jar_unspecified_jar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle____local_jars___D__workspace_icsupport_app_libs_okio_2_4_3_jar_unspecified_jar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle____local_aars___D__Snicker_icsupport_app_libs_okio_2_4_3_jar_unspecified_jar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_25_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_25_1_0_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_appcompat_v7_25_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_appcompat_v7_25_1_0_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_multidex_1_0_1_aar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_multidex_instrumentation_1_0_1_aar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_annotations_25_1_0_jar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_annotations_25_1_0_jar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_compat_25_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_compat_25_1_0_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_core_ui_25_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_core_ui_25_1_0_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_core_utils_25_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_core_utils_25_1_0_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_fragment_25_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_fragment_25_1_0_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_media_compat_25_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_media_compat_25_1_0_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_v4_25_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_v4_25_1_0_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_vector_drawable_25_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_vector_drawable_25_1_0_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_github_ChestnutPlus_TestModules_v1_0_16_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_github_ChestnutPlus_TestModules_v1_0_16_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_kymjs_rxvolley_rxvolley_1_1_3_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_kymjs_rxvolley_rxvolley_1_1_3_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_reactivex_rxandroid_1_1_0_aar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__io_reactivex_rxandroid_1_1_0_aar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_reactivex_rxjava_1_1_0_jar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__io_reactivex_rxjava_1_1_0_jar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__junit_junit_4_12_jar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__junit_junit_4_12_jar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.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/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/app/build.gradle" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/release/ICSer_V110_202001070902_release.apk" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/release/output.json" beforeDir="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/MainActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.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/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/version_code.properties" beforeDir="false" afterPath="$PROJECT_DIR$/app/version_code.properties" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/build.gradle" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/icsupport.iml" beforeDir="false" afterPath="$PROJECT_DIR$/icsupport.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/library/build/intermediates/incremental/mergeDebugAssets/merger.xml" beforeDir="false" afterPath="$PROJECT_DIR$/library/build/intermediates/incremental/mergeDebugAssets/merger.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/library/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml" beforeDir="false" afterPath="$PROJECT_DIR$/library/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/library/build/intermediates/incremental/mergeDebugShaders/merger.xml" beforeDir="false" afterPath="$PROJECT_DIR$/library/build/intermediates/incremental/mergeDebugShaders/merger.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/library/build/intermediates/incremental/packageDebugResources/compile-file-map.properties" beforeDir="false" afterPath="$PROJECT_DIR$/library/build/intermediates/incremental/packageDebugResources/compile-file-map.properties" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/library/build/intermediates/incremental/packageDebugResources/merger.xml" beforeDir="false" afterPath="$PROJECT_DIR$/library/build/intermediates/incremental/packageDebugResources/merger.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/library/build/outputs/aar/library-debug.aar" beforeDir="false" afterPath="$PROJECT_DIR$/library/build/outputs/aar/library-debug.aar" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/library/library.iml" beforeDir="false" afterPath="$PROJECT_DIR$/library/library.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" />
+      <change beforePath="$PROJECT_DIR$/library/library.iml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/settings.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/settings.gradle" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/app/build.gradle">
+      <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="494">
-              <caret line="80" column="24" lean-forward="true" selection-start-line="80" selection-start-column="24" selection-end-line="80" selection-end-column="24" />
+            <state relative-caret-position="467">
+              <caret line="748" column="35" selection-start-line="748" selection-start-column="31" selection-end-line="748" 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" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/build.gradle">
+        <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="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="478">
+              <caret line="382" column="5" lean-forward="true" selection-start-line="382" selection-start-column="5" selection-end-line="382" selection-end-column="5" />
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties">
+      <file pinned="false" current-in-tab="true">
+        <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="114">
-              <caret line="6" selection-start-line="6" selection-end-line="6" />
+            <state relative-caret-position="174">
+              <caret line="86" lean-forward="true" selection-start-line="86" selection-end-line="86" />
+              <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>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/proguard-rules.pro">
-          <provider selected="true" editor-type-id="text-editor" />
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/gradle.properties">
-          <provider selected="true" editor-type-id="text-editor" />
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/settings.gradle">
-          <provider selected="true" editor-type-id="text-editor" />
+        <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="267">
+              <caret line="518" column="30" selection-start-line="518" selection-start-column="30" selection-end-line="518" selection-end-column="30" />
+            </state>
+          </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/local.properties">
-          <provider selected="true" editor-type-id="text-editor" />
+        <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="125">
+              <caret line="47" column="15" selection-start-line="47" selection-start-column="15" selection-end-line="47" selection-end-column="15" />
+            </state>
+          </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/library/build.gradle">
+        <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="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="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>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <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/StepCounterInterface.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="37">
+              <caret line="27" column="34" selection-start-line="27" selection-start-column="22" selection-end-line="27" selection-end-column="34" />
+              <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" />
+              </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/AlarmHelper.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="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="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>
           </provider>
         </entry>
       </file>
     </leaf>
   </component>
+  <component name="FileTemplateManagerImpl">
+    <option name="RECENT_TEMPLATES">
+      <list>
+        <option value="Class" />
+      </list>
+    </option>
+  </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>setSl</find>
-      <find>useApi19</find>
-      <find>AlarmHelper</find>
-      <find>SetAl</find>
-      <find>setRealTimeAlarm</find>
-      <find>watch.jiai.pro</find>
-      <find>heart</find>
-      <find>BP85</find>
-      <find>handleBP33</find>
-      <find>AP16</find>
-      <find>handleBP16</find>
-      <find>handleBP15</find>
-      <find>lacation_cycle</find>
-      <find>ACTION_ALARM</find>
-      <find>AP03</find>
-      <find>setheart</find>
-      <find>ServiceUtil</find>
-      <find>onHeartAlarm</find>
-      <find>HEART_ALARM</find>
-      <find>BP33</find>
-      <find>handleBP85</find>
-      <find>setRepeating</find>
-      <find>setAlarm</find>
-      <find>resolveResult</find>
-      <find>mCondition</find>
       <find>queue</find>
       <find>location</find>
       <find>getApkBaseName</find>
       <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>Start</find>
+      <find>gpstest</find>
+      <find>scanresult</find>
+      <find>locationManager</find>
+      <find>flag</find>
+      <find>GPS_PROVIDER</find>
+      <find>readGpsThread</find>
+      <find>ReadGpsThread</find>
+      <find>locationListener</find>
+      <find>requestLocationUpdates</find>
+      <find>LocationManager</find>
+      <find>locationInfo</find>
+      <find>getBestLocation</find>
     </findStrings>
   </component>
   <component name="GenerateSignedApkSettings">
         <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/LocationClient.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/GSensorListener.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/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>
       <pane id="AndroidView">
         <subPane>
           <expand>
+            <path>
+              <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
+              <item name="app" type="feadf853:AndroidModuleNode" />
+            </path>
+            <path>
+              <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
+              <item name="app" type="feadf853:AndroidModuleNode" />
+              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
+            </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" />
+            </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" />
+              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
+              <item name="protocol" type="cbb59c9e:AndroidPsiDirectoryNode" />
+              <item name="service" 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="utils" type="462c0819:PsiDirectoryNode" />
+            </path>
             <path>
               <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
               <item name="Gradle Scripts" type="ae0cef3a:AndroidBuildScriptsGroupNode" />
     <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
     <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="Suggestions" />
+    <property name="project.structure.last.edited" value="Dependencies" />
     <property name="project.structure.proportion" value="0.17" />
     <property name="project.structure.side.proportion" value="0.2" />
   </component>
     <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.49861497" visible="true" weight="0.26066098" />
+      <window_info content_ui="combo" id="Project" order="1" sideWeight="0.78969073" visible="true" weight="0.26066098" />
       <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.50138503" side_tool="true" visible="true" weight="0.26066098" />
+      <window_info id="Build Variants" order="4" sideWeight="0.21030928" side_tool="true" visible="true" weight="0.26066098" />
       <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="Capture Tool" order="8" />
       <window_info anchor="bottom" id="Run" order="0" />
-      <window_info anchor="bottom" id="Logcat" order="1" weight="0.55314535" />
+      <window_info anchor="bottom" id="Logcat" order="1" sideWeight="0.6551173" weight="0.44902387" />
       <window_info anchor="bottom" id="TODO" order="2" weight="0.329718" />
-      <window_info anchor="bottom" id="Find" order="3" weight="0.47396964" />
-      <window_info anchor="bottom" id="Terminal" order="4" weight="0.329718" />
-      <window_info anchor="bottom" id="Event Log" order="5" sideWeight="0.50053304" side_tool="true" visible="true" weight="0.21691974" />
+      <window_info active="true" anchor="bottom" id="Find" order="3" sideWeight="0.4968017" 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.50319827" side_tool="true" visible="true" weight="0.47396964" />
       <window_info anchor="bottom" id="Version Control" order="6" weight="0.329718" />
-      <window_info active="true" anchor="bottom" id="Build" order="7" sideWeight="0.49946696" visible="true" weight="0.21691974" />
-      <window_info anchor="bottom" id="Debug" order="8" weight="0.329718" />
-      <window_info anchor="bottom" id="Android Profiler" order="9" show_stripe_button="false" />
+      <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="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" />
       <breakpoints>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java</url>
-          <line>747</line>
+          <line>749</line>
           <properties />
           <option name="timeStamp" value="4" />
         </line-breakpoint>
           <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>
+          <properties />
+          <option name="timeStamp" value="10" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
+    <watches-manager>
+      <configuration name="app">
+        <watch expression="mCellInfo.split(&quot;|&quot;)" language="JAVA" />
+      </configuration>
+    </watches-manager>
+  </component>
+  <component name="debuggerHistoryManager">
+    <expressions id="watch">
+      <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>
+      <expression>
+        <expression-string>mCellInfo.split(&quot;|&quot;)[0].split(&quot;,&quot;);</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>
+        <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/service/CheckSIM.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-779">
-          <caret line="17" column="13" selection-start-line="17" selection-start-column="13" selection-end-line="17" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <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="285">
-          <caret line="15" column="7" selection-start-line="15" selection-start-column="7" selection-end-line="15" selection-end-column="7" />
-        </state>
-      </provider>
-    </entry>
-    <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="292">
-          <caret line="86" column="3" lean-forward="true" selection-start-line="86" selection-start-column="3" selection-end-line="86" selection-end-column="3" />
-        </state>
-      </provider>
-    </entry>
-    <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="235">
-          <caret line="36" column="65" lean-forward="true" selection-start-line="36" selection-start-column="65" selection-end-line="36" selection-end-column="65" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmWakeUp.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="76">
-          <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar://$PROJECT_DIR$/app/libs/LauncherCtrl.jar!/com/eiot/watch_lib/LauncherCtrl.class">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="53">
-          <caret line="29" column="28" selection-start-line="29" selection-start-column="28" selection-end-line="29" selection-end-column="28" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ContextProxy.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="272">
-          <caret line="428" column="39" lean-forward="true" selection-start-line="428" selection-start-column="39" selection-end-line="428" selection-end-column="39" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="188">
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="90">
-          <caret line="388" column="10" selection-start-line="388" selection-start-column="10" selection-end-line="388" selection-end-column="23" />
-          <folding>
-            <element signature="e#14965#14966#0" expanded="true" />
-            <element signature="e#14998#14999#0" expanded="true" />
-            <element signature="e#15057#15058#0" expanded="true" />
-            <element signature="e#15090#15091#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/app/AlarmManager.class">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="127">
         </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="4579">
-          <caret line="300" column="84" selection-start-line="300" selection-start-column="84" selection-end-line="300" selection-end-column="84" />
-          <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" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Locations.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="76">
         </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="5282">
-          <caret line="318" column="62" selection-start-line="318" selection-start-column="62" selection-end-line="318" selection-end-column="62" />
-        </state>
-      </provider>
-    </entry>
-    <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="2489">
-          <caret line="147" column="23" selection-start-line="147" selection-start-column="23" selection-end-line="147" selection-end-column="23" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="1254">
     </entry>
     <entry file="file://$PROJECT_DIR$/app/build.gradle">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="494">
-          <caret line="80" column="24" lean-forward="true" selection-start-line="80" selection-start-column="24" selection-end-line="80" selection-end-column="24" />
+        <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$/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="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$/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="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="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ExeCommand.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>
+      </provider>
+    </entry>
+    <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="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="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="125">
+          <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="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/CrashHandler.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>
+      </provider>
+    </entry>
+    <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="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>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2317">
+          <caret line="388" column="10" selection-start-line="388" selection-start-column="10" selection-end-line="388" selection-end-column="23" />
+        </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="467">
+          <caret line="748" column="35" selection-start-line="748" selection-start-column="31" selection-end-line="748" 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" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <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="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>
+      </provider>
+    </entry>
+    <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="37">
+          <caret line="27" column="34" selection-start-line="27" selection-start-column="22" selection-end-line="27" selection-end-column="34" />
+          <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" />
+          </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="267">
+          <caret line="518" column="30" selection-start-line="518" selection-start-column="30" selection-end-line="518" selection-end-column="30" />
+        </state>
+      </provider>
+    </entry>
+    <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="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/location/GpsStatus.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="418">
+          <caret line="33" column="21" selection-start-line="33" selection-start-column="21" selection-end-line="33" selection-end-column="21" />
+        </state>
+      </provider>
+    </entry>
+    <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="478">
+          <caret line="382" column="5" lean-forward="true" selection-start-line="382" selection-start-column="5" selection-end-line="382" selection-end-column="5" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GPSListener.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" />
+          <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">
+      <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" />
+          <folding>
+            <element signature="e#5128#5129#0" expanded="true" />
+            <element signature="e#5179#5180#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/NMEAListener.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="174">
+          <caret line="86" lean-forward="true" selection-start-line="86" selection-end-line="86" />
+          <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>
       </provider>
     </entry>
index 3319830..95ac0dd 100644 (file)
     </facet>\r
     <facet type="android" name="Android">\r
       <configuration>\r
-        <option name="SELECTED_BUILD_VARIANT" value="release" />\r
-        <option name="ASSEMBLE_TASK_NAME" value="assembleRelease" />\r
-        <option name="COMPILE_JAVA_TASK_NAME" value="compileReleaseSources" />\r
+        <option name="SELECTED_BUILD_VARIANT" value="debug" />\r
+        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />\r
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />\r
         <afterSyncTasks>\r
-          <task>generateReleaseSources</task>\r
+          <task>generateDebugSources</task>\r
         </afterSyncTasks>\r
         <option name="ALLOW_USER_CONFIGURATION" value="false" />\r
         <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />\r
         <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />\r
-        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/resValues/release" />\r
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/resValues/debug" />\r
         <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />\r
         <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />\r
       </configuration>\r
     </facet>\r
   </component>\r
   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">\r
-    <output url="file://$MODULE_DIR$/build/intermediates/javac/release/classes" />\r
-    <output-test url="file://$MODULE_DIR$/build/intermediates/javac/releaseUnitTest/classes" />\r
+    <output url="file://$MODULE_DIR$/build/intermediates/javac/debug/classes" />\r
+    <output-test url="file://$MODULE_DIR$/build/intermediates/javac/debugUnitTest/classes" />\r
     <exclude-output />\r
     <content url="file://$MODULE_DIR$">\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/release/out" isTestSource="false" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/release/compileReleaseAidl/out" isTestSource="false" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/release" isTestSource="false" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/release/compileReleaseRenderscript/out" isTestSource="false" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/release" type="java-resource" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/release" type="java-resource" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/releaseUnitTest/out" isTestSource="true" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/res" type="java-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/resources" type="java-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/assets" type="java-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/aidl" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/java" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/rs" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/shaders" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/res" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/resources" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/assets" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/aidl" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/java" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/rs" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/shaders" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/compileDebugRenderscript/out" isTestSource="false" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debugAndroidTest/out" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/compileDebugAndroidTestAidl/out" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debugAndroidTest/compileDebugAndroidTestRenderscript/out" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debugUnitTest/out" isTestSource="true" generated="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />\r
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />\r
       <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />\r
       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />\r
       <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />\r
     </content>\r
     <orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />\r
     <orderEntry type="sourceFolder" forTests="false" />\r
+    <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1@jar" level="project" />\r
     <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />\r
+    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />\r
+    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />\r
     <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />\r
+    <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />\r
+    <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />\r
+    <orderEntry type="library" scope="TEST" name="Gradle: javax.annotation:javax.annotation-api:1.2@jar" level="project" />\r
+    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core:2.2.2@aar" level="project" />\r
+    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support:multidex-instrumentation:1.0.2@aar" level="project" />\r
+    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:rules:0.5@aar" level="project" />\r
+    <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: com.android.support:support-annotations:25.1.0@jar" level="project" />\r
diff --git a/app/release/ICSer_V110_202001070902_release.apk b/app/release/ICSer_V110_202001070902_release.apk
deleted file mode 100644 (file)
index 368200b..0000000
Binary files a/app/release/ICSer_V110_202001070902_release.apk and /dev/null differ
diff --git a/app/release/output.json b/app/release/output.json
deleted file mode 100644 (file)
index 2b238a6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":110,"versionName":"202001070902","enabled":true,"outputFile":"ICSer_V110_202001070902_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V110_202001070902_release.apk","properties":{}}]
\ No newline at end of file
index 93d75c6..6b619e7 100644 (file)
@@ -14,6 +14,7 @@ import com.ic.protocol.bean.Runtime;
 import com.ic.protocol.utils.CellInfoUtil;\r
 import com.ic.protocol.utils.FileOutputUtil;\r
 import com.ic.protocol.utils.Logger;\r
+import com.ic.protocol.utils.StepCounterInterface;\r
 \r
 import java.util.Timer;\r
 import java.util.TimerTask;\r
@@ -41,14 +42,16 @@ public class GSensorListener implements SensorEventListener {
         if (msg.what != 100)\r
           return; \r
         GSensorListener.this.sensorManager.unregisterListener(GSensorListener.this);\r
-        int i = 0;//EqcAlgorithmNative.native_EqcAlgorithm_Gsensor_get_step();\r
+        int i = StepCounterInterface.getStepCount();//EqcAlgorithmNative.native_EqcAlgorithm_Gsensor_get_step();\r
 //        GSensorListener (GSensorListener.this, i);\r
+        GSensorListener.this.CURRENT_STEP = i;\r
         StringBuilder stringBuilder1 = new StringBuilder();\r
         stringBuilder1.append("CURRENT_STEP =");\r
         stringBuilder1.append(GSensorListener.this.CURRENT_STEP);\r
         Logger.i(stringBuilder1.toString());\r
         GSensorListener.this.sendAntiOff(GSensorListener.this.CURRENT_STEP);\r
 //        GSensorListener.access$302(GSensorListener.this, 0);\r
+//          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
@@ -75,6 +78,7 @@ public class GSensorListener implements SensorEventListener {
   public GSensorListener(SensorManager paramSensorManager, Context context, Runtime dev) {\r
     this.sensorManager = paramSensorManager;\r
     this.mContext = context;\r
+    StepCounterInterface.enableStepCounter();\r
   }\r
   \r
   private void releaseWakeLock(PowerManager.WakeLock paramWakeLock) {\r
@@ -122,7 +126,7 @@ public class GSensorListener implements SensorEventListener {
     stringBuilder1.append("count =");\r
     stringBuilder1.append(currentStepCount);\r
     Logger.i(stringBuilder1.toString());\r
-    int step = 0;//EqcAlgorithmNative.native_EqcAlgorithm_Gsensor_get_step();\r
+    int step = StepCounterInterface.getStepCount();//EqcAlgorithmNative.native_EqcAlgorithm_Gsensor_get_step();\r
     if (step == this.CURRENT_STEP && !this.isReceivedFirstValue) {\r
       this.isReceivedFirstValue = true;\r
       return;\r
@@ -131,11 +135,13 @@ public class GSensorListener implements SensorEventListener {
       this.mTimer.cancel();\r
       this.mTimer.purge();\r
       this.mTimer = null;\r
-    } \r
+    }\r
+\r
 //    sendAntiOff(i);\r
     this.haveAddAntiOffCount = 0;\r
     this.CURRENT_STEP = step;\r
 //    EqcAlgorithmNative.native_EqcAlgorithmMethod6(0.0F, 0.0F, 0.0F, this.CURRENT_STEP);\r
+\r
     Context context = this.mContext;\r
     StringBuilder stringBuilder2 = new StringBuilder();\r
     stringBuilder2.append("CURRENT_STEP=");\r
@@ -157,7 +163,7 @@ public class GSensorListener implements SensorEventListener {
             stringBuilder.append("registerListener sensorManager=");\r
             stringBuilder.append(GSensorListener.this.sensorManager);\r
             Logger.i(stringBuilder.toString());\r
-            GSensorListener.this.sensorManager.registerListener(GSensorListener.this, GSensorListener.this.sensorManager.getDefaultSensor(19), 0);\r
+            GSensorListener.this.sensorManager.registerListener(GSensorListener.this, GSensorListener.this.sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER), 0);\r
           }\r
         })).start();\r
     if (this.mTimer == null)\r
@@ -165,9 +171,13 @@ public class GSensorListener implements SensorEventListener {
     if (this.mMyTimerTask != null)\r
       this.mMyTimerTask.cancel(); \r
     class MyTimerTask extends TimerTask {\r
-      public void run() { GSensorListener.this.mHandler.sendEmptyMessage(100); }\r
+      public void run() {\r
+        //发送读取计步消息\r
+        GSensorListener.this.mHandler.sendEmptyMessage(100);\r
+      }\r
     };\r
     this.mMyTimerTask = new MyTimerTask();\r
+    //延时2秒执行发送“读取计步”消息\r
     this.mTimer.schedule(this.mMyTimerTask, 2000L);\r
   }\r
   \r
index 2be6009..06b855e 100644 (file)
@@ -518,13 +518,12 @@ public class LocationClient {
     this.mLbsHelper.setOnWiFiInfoListener(new LBSHelper.OnWiFiInfoListener() {\r
           public void getWifiInfoCallBack(String param1String) {\r
 //            LocationClient.access$002(true);\r
-//            LocationClient.this.\r
+            LocationClient.mHasWifiResult=true;\r
             runtime.currentWifiInfo = param1String;\r
           }\r
         });\r
   }\r
-  \r
-  @TargetApi(Build.VERSION_CODES.FROYO)\r
+\r
 //  public void EqcAlgorithmInterfaceMethod3() {\r
   public void stopGpsLocate() {\r
     if (Deliver.is_active_location) {\r
@@ -581,7 +580,7 @@ public void updateCellInfo() {
   }\r
   \r
   public PowerManager.WakeLock getLocationWakeLock() {\r
-    @SuppressLint("InvalidWakeLockTag") PowerManager.WakeLock wakeLock = ((PowerManager)(runtime.getContextProxy()).context.getSystemService(Context.POWER_SERVICE)).newWakeLock(1, "locationSend");\r
+    PowerManager.WakeLock wakeLock = ((PowerManager)(runtime.getContextProxy()).context.getSystemService(Context.POWER_SERVICE)).newWakeLock(1, "locationSend");\r
     wakeLock.acquire(1000L);\r
     return wakeLock;\r
   }\r
@@ -602,6 +601,7 @@ public void updateCellInfo() {
   }\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
     if (linkOK)\r
@@ -701,6 +701,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
     this.haveChanegTo4GTime = SystemClock.elapsedRealtime();\r
   }\r
   \r
@@ -712,6 +713,7 @@ public void updateCellInfo() {
           public void run() { LocationClient.saveQueue(); }\r
         });\r
     this.gSensorListener.stopListen();\r
+    stopGpsLocate();\r
   }\r
   \r
   static class MyThread2 extends Thread {\r
index c7d909c..47faedd 100644 (file)
@@ -7,9 +7,12 @@ import android.view.View;
 import android.widget.Button;
 import android.widget.Toast;
 
+import com.ic.protocol.bean.StepCount;
 import com.ic.protocol.service.protocolMainServer;
+import com.ic.protocol.utils.ExeCommand;
 import com.ic.protocol.utils.Logger;
 import com.ic.protocol.utils.RxSocket;
+import com.ic.protocol.utils.StepCounterInterface;
 
 import java.net.InetAddress;
 import java.nio.ByteBuffer;
@@ -64,7 +67,7 @@ public class MainActivity extends AppCompatActivity {
                 case R.id.btnWrite2:
 
 //                    if(mProtocolMainServer !=null) mProtocolMainServer.testGpsData();
-
+                    StepCounterInterface.getStepCount();
                     break;
             }
         }
index 62b1b7f..721babe 100644 (file)
@@ -1,20 +1,43 @@
 package com.ic.protocol;\r
 \r
 import android.annotation.SuppressLint;\r
+import android.location.GpsSatellite;\r
 import android.location.GpsStatus;\r
 import android.location.GpsStatus.NmeaListener;\r
 import android.location.Location;\r
 import android.location.LocationListener;\r
 import android.location.LocationManager;\r
 import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.text.TextUtils;\r
+import android.util.Log;\r
+import android.widget.TextView;\r
+\r
 import com.ic.protocol.bean.Runtime;\r
+import com.ic.protocol.utils.Logger;\r
+\r
+import java.text.DecimalFormat;\r
+import java.util.ArrayList;\r
+import java.util.Iterator;\r
+import java.util.List;\r
 \r
-@SuppressLint("NewApi")\r
 public class NMEAListener implements NmeaListener, LocationListener {\r
   private boolean listening;\r
   \r
   private LocationManager locationManager;\r
-  \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;\r
+  private double longitude;\r
+  private double latitude;\r
+  private boolean flag;\r
+  int gpsMode;\r
+  int numberOfSatellites;\r
   Runtime runtime;\r
   \r
   public NMEAListener(LocationManager paramLocationManager, Runtime paramRuntime) {\r
@@ -26,6 +49,7 @@ public class NMEAListener implements NmeaListener, LocationListener {
   \r
   public void onNmeaReceived(long paramLong, String paramString) {\r
 //    EqcAlgorithmNative.native_EqcAlgorithmMethod5(paramString);\r
+    Logger.i("Nmea :"+paramString+" "+paramLong);\r
   }\r
   \r
   public void onProviderDisabled(String paramString) {}\r
@@ -33,15 +57,282 @@ public class NMEAListener implements NmeaListener, LocationListener {
   public void onProviderEnabled(String paramString) {}\r
   \r
   public void onStatusChanged(String paramString, int paramInt, Bundle paramBundle) {}\r
-  \r
-  @SuppressLint("NewApi")\r
+\r
+  private GpsStatus.Listener statusListener = new GpsStatus.Listener() {\r
+    public void onGpsStatusChanged(int event) { // GPS状态变化时的回调,如卫星数\r
+      GpsStatus status = locationManager.getGpsStatus(null); //取当前状态\r
+      updateGpsStatus(event, status); //只更新状态\r
+      numberOfSatellites = numSatelliteList.size();\r
+\r
+      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
+\r
+\r
+              if (readGpsThread != null) {\r
+                readGpsThread.endThread();\r
+              }\r
+              if (flag) {\r
+                flag = false;\r
+                pass();\r
+              }\r
+            }\r
+\r
+\r
+          break;\r
+        case  GpsStatus.GPS_EVENT_FIRST_FIX:\r
+          //普通测试,必须定位才算通过\r
+//          +" cost "+status.getTimeToFirstFix()+"ms");\r
+\r
+          if (readGpsThread != null) {\r
+            readGpsThread.endThread();\r
+          }\r
+          if (flag) {\r
+            flag = false;\r
+            pass();\r
+          }\r
+          break;\r
+        case  GpsStatus.GPS_EVENT_STARTED:\r
+          // tvGps.setText("GPS_EVENT_STARTED");\r
+          break;\r
+        case  GpsStatus.GPS_EVENT_STOPPED:\r
+          //  tvGps.setText("GPS_EVENT_STOPPED");\r
+          break;\r
+        default:\r
+          break;\r
+      }\r
+\r
+\r
+\r
+\r
+    }\r
+  };\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
+      return false;\r
+    }\r
+  });\r
+  private void get3MaxSnrSatellite(GpsSatellite gst){\r
+\r
+    float snr = gst.getSnr();\r
+    for (int k=0;k<max3Satellite.size();k++) {\r
+      if( max3Satellite.get(k).getPrn()==gst.getPrn())\r
+        max3Satellite.remove(k);\r
+    }\r
+    max3Satellite.add(gst);//先添加进来。\r
+\r
+    //从大到小排序\r
+    for(int i=0;i<max3Satellite.size();i++) {\r
+      for (int j=i;j<max3Satellite.size();j++) {\r
+        if (max3Satellite.get(i).getSnr() < max3Satellite.get(j).getSnr()) {\r
+          GpsSatellite ts = max3Satellite.get(j);\r
+          max3Satellite.remove(j);\r
+          max3Satellite.add(i, ts);//大的放前面\r
+        }\r
+      }\r
+    }\r
+    if (max3Satellite.size()>3){ //超过三个,谁小就删掉\r
+      max3Satellite.remove(3);\r
+    }\r
+\r
+  }\r
+  private int updateGpsStatus(int event, GpsStatus status) {\r
+    StringBuilder sb2 = new StringBuilder("");\r
+    float strengh = 0;\r
+    if (status == null) {\r
+      sb2.append("搜索到卫星个数:" + 0);\r
+    } else if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) {\r
+      int maxSatellites = status.getMaxSatellites();\r
+      Iterator<GpsSatellite> it = status.getSatellites().iterator();\r
+      numSatelliteList.clear();\r
+      int count = 0;\r
+      while (it.hasNext() && count <= maxSatellites) {\r
+        GpsSatellite s = it.next();\r
+        float snr = s.getSnr();\r
+        if (snr > 0) {//只有信躁比不为0的时候才算搜到了星\r
+          strengh = snr;\r
+//                             Toast.makeText(this, "信躁比大于20", Toast.LENGTH_LONG).show();\r
+          //排序取得最大3个SNR\r
+          get3MaxSnrSatellite(s);\r
+          numSatelliteList.add(s);\r
+        }\r
+\r
+        count++;\r
+      }\r
+      sb2.append("搜索到卫星个数(SNR>0):" + numSatelliteList.size()+" \n Max 3 SNRs[ " );\r
+      for (int i=0;i<max3Satellite.size();i++){\r
+        sb2.append(max3Satellite.get(i).getSnr());\r
+        sb2.append(", ");\r
+      }\r
+      sb2.append(" ]");\r
+    }\r
+\r
+\r
+    Log.e("dxc", sb2.toString());\r
+\r
+\r
+    return 0;\r
+  }\r
+  private void pass(){\r
+\r
+  }\r
+\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
+    if (!TextUtils.isEmpty(tude)) {\r
+      String[] longitudeAndLatitude = tude.split(" ");\r
+      String longitude = longitudeAndLatitude[0];\r
+      String latitude = longitudeAndLatitude[1];\r
+\r
+      return new double[]{Double.parseDouble(latitude),\r
+              Double.parseDouble(longitude)};\r
+    }\r
+    return null;\r
+  }\r
+  /**\r
+   * 获取location对象,优先以GPS_PROVIDER获取location对象,当以GPS_PROVIDER获取到的locaiton为null时\r
+   * ,则以NETWORK_PROVIDER获取location对象,这样可保证在室内开启网络连接的状态下获取到的location对象不为空\r
+   *\r
+   * @param locationManager\r
+   * @return\r
+   */\r
+  private Location getBestLocation(LocationManager locationManager) {\r
+    Location result = null;\r
+    if (locationManager != null) {\r
+      result = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);\r
+      if (result != null) {\r
+\r
+        return result;\r
+      } else {\r
+        result = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);\r
+        return result;\r
+      }\r
+    }\r
+    return result;\r
+  }\r
+\r
   public boolean startListen() {\r
-    this.locationManager.requestLocationUpdates("gps", 0L, 0.0F, this);\r
+    this.locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0L, 0.0F, this);\r
     this.listening = true;\r
+    locationManager.addGpsStatusListener(statusListener);//搜星\r
     return this.locationManager.addNmeaListener(this);\r
   }\r
   \r
-  @SuppressLint("NewApi")\r
+\r
   public void stopListen() {\r
     this.locationManager.removeNmeaListener(this);\r
     this.locationManager.removeUpdates(this);\r
index 7f39879..3b55470 100644 (file)
@@ -38,6 +38,7 @@ import static android.net.wifi.WifiManager.WIFI_STATE_ENABLED;
 import static android.net.wifi.WifiManager.WIFI_STATE_ENABLING;\r
 import static android.net.wifi.WifiManager.WIFI_STATE_UNKNOWN;\r
 import static android.telephony.PhoneStateListener.LISTEN_SIGNAL_STRENGTHS;\r
+import static android.telephony.TelephonyManager.NETWORK_TYPE_LTE;\r
 \r
 public class LBSHelper {\r
     private boolean IS_HASOPEN = false;\r
@@ -251,16 +252,16 @@ public class LBSHelper {
                 StringBuilder gsmSb = new StringBuilder(var4);\r
                 StringBuilder mccmnc = new StringBuilder(var4);\r
                 StringBuilder cdmaSB = new StringBuilder();\r
-                gsmSb.insert(3, ",");\r
-                mccmnc.insert(3, ",");\r
+                gsmSb.insert(3, "@");\r
+                mccmnc.insert(3, "@");\r
                 this.runtime.setMccAndMnc(mccmnc.toString());\r
                  if (celllocation instanceof GsmCellLocation) {\r
                     GsmCellLocation gsmCell = (GsmCellLocation)celllocation;\r
-                    gsmSb.append(",");\r
+                    gsmSb.append("@");\r
                     gsmSb.append(gsmCell.getLac());\r
-                    gsmSb.append(",");\r
+                    gsmSb.append("@");\r
                     gsmSb.append(gsmCell.getCid());\r
-                    gsmSb.append(",");\r
+                    gsmSb.append("@");\r
                     gsmSb.append(this.mLastSignal);\r
                      this.runtime.setCid(String.format("",gsmCell.getCid()));\r
 //                     this.runtime.setLAC(gsmCell.getLac());\r
@@ -317,11 +318,11 @@ public class LBSHelper {
 \r
                         gsmSb.append("+");\r
                         gsmSb.append(mccmnc);\r
-                        gsmSb.append(",");\r
+                        gsmSb.append("@");\r
                         gsmSb.append(mNeighboringCellInfo.getLac());\r
-                        gsmSb.append(",");\r
+                        gsmSb.append("@");\r
                         gsmSb.append(mNeighboringCellInfo.getCid());\r
-                        gsmSb.append(",");\r
+                        gsmSb.append("@");\r
                         gsmSb.append(mNeighboringCellInfo.getRssi() + 110);\r
                         var3 = var2 + 1;\r
                         var2 = var3;\r
@@ -365,15 +366,15 @@ public class LBSHelper {
 \r
         public void onSignalStrengthsChanged(SignalStrength ss) {\r
             super.onSignalStrengthsChanged(ss);\r
-//            if (((TelephonyManager) LBSHelper.this.context.getSystemService(Context.TELEPHONY_SERVICE)).getNetworkType() == NETWORK_TYPE_LTE) {\r
-//                String[] siglist = ss.toString().split(" ");\r
-//                LBSHelper.this.mLastSignal = Integer.parseInt(siglist[9]) + 110;\r
-//            } else {\r
-//                LBSHelper.this.mLastSignal = ss.getGsmSignalStrength() * 2 - 113 + 110;\r
-//            }\r
-//            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
+            if (((TelephonyManager) LBSHelper.this.context.getSystemService(Context.TELEPHONY_SERVICE)).getNetworkType() == NETWORK_TYPE_LTE) {\r
+                String[] siglist = ss.toString().split(" ");\r
+                LBSHelper.this.mLastSignal = Integer.parseInt(siglist[9]) + 110;\r
+            } else {\r
+                LBSHelper.this.mLastSignal = ss.getGsmSignalStrength() * 2 - 113 + 110;\r
+            }\r
+            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
index 77730bf..cbb5406 100644 (file)
@@ -31,11 +31,12 @@ public class CellInfoUtil {
           return; \r
         Logger.i("延时获取基站信息");\r
 //        CellInfoUtil.access$010();\r
-//        CellInfoUtil.setCurrentAttachCellInfo(mRuntime, mWakeLock);\r
+\r
+        CellInfoUtil.setCurrentAttachCellInfo(mRuntime, mWakeLock);\r
       }\r
     };\r
   \r
-  private static Runtime mDevStatus;\r
+  private static Runtime mRuntime;\r
   \r
   private static PowerManager.WakeLock mWakeLock;\r
   \r
@@ -60,13 +61,13 @@ public class CellInfoUtil {
   \r
   public static void setCurrentAttachCellInfo(Runtime dev, PowerManager.WakeLock paramWakeLock) {\r
     mWakeLock = paramWakeLock;\r
-    mDevStatus = dev;\r
+    mRuntime = dev;\r
     (new Thread(new Runnable() {\r
           public void run() {\r
-//            CellInfoUtil.access$302(mDevStatus.getLbsHelper().getAttchCellInfo(mRuntime.getContextProxy().getTelephonyManager()));\r
+            CellInfoUtil.mCellInfo=mRuntime.getLbsHelper().getAttchCellInfo(mRuntime.getContextProxy().getTelephonyManager());\r
             if (mCellInfo != null) {\r
-              String str1 = mDevStatus.getCdmaInfo();\r
-              String str2 = mDevStatus.getMccAndMnc();\r
+              String str1 = mRuntime.getCdmaInfo();\r
+              String str2 = mRuntime.getMccAndMnc();\r
               if (str1 != null) {\r
                 String[] arrayOfString2 = str2.split("@");\r
                 String[] arrayOfString1 = str1.split(",");\r
@@ -86,10 +87,11 @@ public class CellInfoUtil {
                 CellInfoUtil.CELL_ID = Integer.parseInt(arrayOfString[3]);\r
                 CellInfoUtil.BSSS = Integer.parseInt(arrayOfString[4]);\r
 //                CellInfoUtil.access$002(2);\r
+                CellInfoUtil.IS2SECOND=2;\r
 //                EqcAlgorithmNative.native_EqcAlgorithmMethod4(0, 0, CellInfoUtil.BSSS, CellInfoUtil.MCC, CellInfoUtil.MNC, CellInfoUtil.LAC, CellInfoUtil.CELL_ID);\r
-//                mRuntime.cellinfo = mCellInfo;\r
+                mRuntime.cellinfo = mCellInfo;\r
               } \r
-//              FileOutputUtil.fileOutput((mRuntime.getContextProxy()).context, "onCellLocationChanged", mCellInfo);\r
+              FileOutputUtil.fileOutput((mRuntime.getContextProxy()).context, "onCellLocationChanged", mCellInfo);\r
               CellInfoUtil.releaseWakeLock(mWakeLock);\r
               return;\r
             } \r
@@ -100,7 +102,8 @@ public class CellInfoUtil {
               CellInfoUtil.CELL_ID = -1;\r
               CellInfoUtil.BSSS = 0;\r
 //              CellInfoUtil.access$002(2);\r
-//              Runtime runtime = mRuntime;\r
+              CellInfoUtil.IS2SECOND=2;\r
+              Runtime runtime = mRuntime;\r
               StringBuilder stringBuilder = new StringBuilder();\r
               stringBuilder.append(CellInfoUtil.MCC);\r
               stringBuilder.append("@");\r
@@ -111,9 +114,9 @@ public class CellInfoUtil {
               stringBuilder.append(CellInfoUtil.CELL_ID);\r
               stringBuilder.append("@");\r
               stringBuilder.append(CellInfoUtil.BSSS);\r
-//              runtime.cellinfo = stringBuilder.toString();\r
+              runtime.cellinfo = stringBuilder.toString();\r
 //              EqcAlgorithmNative.native_EqcAlgorithmMethod4(1, 0, CellInfoUtil.BSSS, CellInfoUtil.MCC, CellInfoUtil.MNC, CellInfoUtil.LAC, CellInfoUtil.CELL_ID);\r
-//              FileOutputUtil.fileOutput((mRuntime.getContextProxy()).context, "onCellLocationChanged", mRuntime.cellinfo);\r
+              FileOutputUtil.fileOutput((mRuntime.getContextProxy()).context, "onCellLocationChanged", mRuntime.cellinfo);\r
               CellInfoUtil.releaseWakeLock(mWakeLock);\r
               return;\r
             } \r
diff --git a/app/src/main/java/com/ic/protocol/utils/ExeCommand.java b/app/src/main/java/com/ic/protocol/utils/ExeCommand.java
new file mode 100644 (file)
index 0000000..6276eb7
--- /dev/null
@@ -0,0 +1,214 @@
+package com.ic.protocol.utils;\r
+\r
+import android.os.Environment;\r
+import android.util.Log;\r
+\r
+import java.io.BufferedReader;\r
+import java.io.DataOutputStream;\r
+import java.io.InputStreamReader;\r
+import java.util.concurrent.locks.Lock;\r
+import java.util.concurrent.locks.ReadWriteLock;\r
+import java.util.concurrent.locks.ReentrantReadWriteLock;\r
+\r
+import static java.lang.Runtime.getRuntime;\r
+\r
+/**\r
+ * 执行命令的类\r
+ * Created by Kappa\r
+ */\r
+public class ExeCommand {\r
+    //shell进程\r
+    private Process process;\r
+    //对应进程的3个流\r
+    private BufferedReader successResult;\r
+    private BufferedReader errorResult;\r
+    private DataOutputStream os;\r
+    //是否同步,true:run会一直阻塞至完成或超时。false:run会立刻返回\r
+    private boolean bSynchronous;\r
+    //表示shell进程是否还在运行\r
+    private boolean bRunning = false;\r
+    //同步锁\r
+    ReadWriteLock lock = new ReentrantReadWriteLock();\r
+\r
+    //保存执行结果\r
+    private StringBuffer result = new StringBuffer();\r
+\r
+    /**\r
+     * 构造函数\r
+     *\r
+     * @param synchronous true:同步,false:异步\r
+     */\r
+    public ExeCommand(boolean synchronous) {\r
+        bSynchronous = synchronous;\r
+    }\r
+\r
+    /**\r
+     * 默认构造函数,默认是同步执行\r
+     */\r
+    public ExeCommand() {\r
+        bSynchronous = true;\r
+    }\r
+\r
+    /**\r
+     * 还没开始执行,和已经执行完成 这两种情况都返回false\r
+     *\r
+     * @return 是否正在执行\r
+     */\r
+    public boolean isRunning() {\r
+        return bRunning;\r
+    }\r
+\r
+    /**\r
+     * @return 返回执行结果\r
+     */\r
+    public String getResult() {\r
+        Lock readLock = lock.readLock();\r
+        readLock.lock();\r
+        try {\r
+            Log.i("auto", "getResult");\r
+            return new String(result);\r
+        } finally {\r
+            readLock.unlock();\r
+        }\r
+    }\r
+\r
+    /**\r
+     * 执行命令\r
+     *\r
+     * @param command eg: cat /sdcard/test.txt\r
+     * 路径最好不要是自己拼写的路径,最好是通过方法获取的路径\r
+     * example:Environment.getExternalStorageDirectory()\r
+     * @param maxTime 最大等待时间 (ms)\r
+     * @return this\r
+     */\r
+    public ExeCommand run(String command, final int maxTime) {\r
+        Log.i("auto", "run command:" + command + ",maxtime:" + maxTime);\r
+        if (command == null || command.length() == 0) {\r
+            return this;\r
+        }\r
+\r
+        try {\r
+            process = getRuntime().exec("sh");//看情况可能是su\r
+        } catch (Exception e) {\r
+            return this;\r
+        }\r
+        bRunning = true;\r
+        successResult = new BufferedReader(new InputStreamReader(process.getInputStream()));\r
+        errorResult = new BufferedReader(new InputStreamReader(process.getErrorStream()));\r
+        os = new DataOutputStream(process.getOutputStream());\r
+\r
+        try {\r
+            //向sh写入要执行的命令\r
+            os.write(command.getBytes());\r
+            os.writeBytes("\n");\r
+            os.flush();\r
+\r
+            os.writeBytes("exit\n");\r
+            os.flush();\r
+\r
+            os.close();\r
+            //如果等待时间设置为非正,就不开启超时关闭功能\r
+            if (maxTime > 0) {\r
+                //超时就关闭进程\r
+                new Thread(new Runnable() {\r
+                    @Override\r
+                    public void run() {\r
+                        try {\r
+                            Thread.sleep(maxTime);\r
+                        } catch (Exception e) {\r
+                        }\r
+                        try {\r
+                            int ret = process.exitValue();\r
+                            Log.i("auto", "exitValue Stream over"+ret);\r
+                        } catch (IllegalThreadStateException e) {\r
+                            Log.i("auto", "take maxTime,forced to destroy process");\r
+                            process.destroy();\r
+                        }\r
+                    }\r
+                }).start();\r
+            }\r
+\r
+            //开一个线程来处理input流\r
+            final Thread t1 = new Thread(new Runnable() {\r
+                @Override\r
+                public void run() {\r
+                    String line;\r
+                    Lock writeLock = lock.writeLock();\r
+                    try {\r
+                        while ((line = successResult.readLine()) != null) {\r
+                            line += "\n";\r
+                            writeLock.lock();\r
+                            result.append(line);\r
+                            writeLock.unlock();\r
+                        }\r
+                    } catch (Exception e) {\r
+                        Log.i("auto", "read InputStream exception:" + e.toString());\r
+                    } finally {\r
+                        try {\r
+                            successResult.close();\r
+                            Log.i("auto", "read InputStream over");\r
+                        } catch (Exception e) {\r
+                            Log.i("auto", "close InputStream exception:" + e.toString());\r
+                        }\r
+                    }\r
+                }\r
+            });\r
+            t1.start();\r
+\r
+            //开一个线程来处理error流\r
+            final Thread t2 = new Thread(new Runnable() {\r
+                @Override\r
+                public void run() {\r
+                    String line;\r
+                    Lock writeLock = lock.writeLock();\r
+                    try {\r
+                        while ((line = errorResult.readLine()) != null) {\r
+                            line += "\n";\r
+                            writeLock.lock();\r
+                            result.append(line);\r
+                            writeLock.unlock();\r
+                        }\r
+                    } catch (Exception e) {\r
+                        Log.i("auto", "read ErrorStream exception:" + e.toString());\r
+                    } finally {\r
+                        try {\r
+                            errorResult.close();\r
+                            Log.i("auto", "read ErrorStream over");\r
+                        } catch (Exception e) {\r
+                            Log.i("auto", "read ErrorStream exception:" + e.toString());\r
+                        }\r
+                    }\r
+                }\r
+            });\r
+            t2.start();\r
+\r
+            Thread t3 = new Thread(new Runnable() {\r
+                @Override\r
+                public void run() {\r
+                    try {\r
+                        //等待执行完毕\r
+                        t1.join();\r
+                        t2.join();\r
+                        process.waitFor();\r
+                    } catch (Exception e) {\r
+\r
+                    } finally {\r
+                        bRunning = false;\r
+                        Log.i("auto", "run command process end");\r
+                    }\r
+                }\r
+            });\r
+            t3.start();\r
+\r
+            if (bSynchronous) {\r
+                Log.i("auto", "run is go to end");\r
+                t3.join();\r
+                Log.i("auto", "run is end");\r
+            }\r
+        } catch (Exception e) {\r
+            Log.i("auto", "run command process exception:" + e.toString());\r
+        }\r
+        return this;\r
+    }\r
+\r
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/ic/protocol/utils/StepCounterInterface.java b/app/src/main/java/com/ic/protocol/utils/StepCounterInterface.java
new file mode 100644 (file)
index 0000000..8929e29
--- /dev/null
@@ -0,0 +1,73 @@
+package com.ic.protocol.utils;\r
+\r
+public class StepCounterInterface {\r
+\r
+    /**\r
+     * shell@sp9820e_1h10:/ $ icsu sctool\r
+     * sctool  [-sredgcxh]\r
+     *   -s            Save StepCount to disk\r
+     *   -r            Recover StepCount from disk\r
+     *   -e            Enable Step Counter\r
+     *   -d            Disable Step Counter\r
+     *   -g            Get StepCount\r
+     *   -c            Clear StepCount\r
+     *   -x            Get StepCounter enable status\r
+     *   -h            Print help\r
+     * shell@sp9820e_1h10:/ $ icsu sctool -e\r
+     */\r
+\r
+    public static int stepCount;\r
+    public static void enableStepCounter(){\r
+        runcmd("icsu sctool -e");\r
+    }\r
+\r
+    public static void disableStepCounter(){\r
+        runcmd("icsu sctool -d");\r
+    }\r
+\r
+    public static int getStepCount(){\r
+\r
+       String strCount= runcmd_withreturn("icsu sctool -g");\r
+       if (strCount != null && !strCount.isEmpty()){\r
+           Logger.i("StepCount "+strCount);\r
+           strCount=strCount.replace("\r","").replace("\n","");\r
+           try {\r
+               int mstepCount =Integer.parseInt(strCount);\r
+               stepCount=mstepCount;\r
+           }catch (Exception e){\r
+               e.printStackTrace();\r
+           }\r
+       }\r
+        return stepCount;\r
+    }\r
+\r
+    public static void cleanStepCount(){\r
+        stepCount=0;\r
+        runcmd("icsu sctool -c");\r
+    }\r
+\r
+\r
+    private static void runcmd(String cmd){\r
+\r
+        new ExeCommand(false).run(cmd,500);\r
+\r
+    }\r
+\r
+    private static String runcmd_withreturn(String cmd){\r
+        String ret="";\r
+        ExeCommand runcmd = new ExeCommand(false).run(cmd, 60000);\r
+        while(runcmd.isRunning())\r
+        {\r
+            try {\r
+                Thread.sleep(1000);\r
+            } catch (Exception e) {\r
+\r
+            }\r
+            String buf = runcmd.getResult();\r
+            //do something\r
+            return buf;\r
+        }\r
+        return "";\r
+    }\r
+\r
+}\r
index 42f186d..07f202d 100644 (file)
@@ -1,2 +1,2 @@
-#Tue Jan 07 09:02:29 CST 2020\r
-VERSION_CODE=110\r
+#Tue Jan 07 10:15:46 CST 2020\r
+VERSION_CODE=113\r
diff --git a/library/library.iml b/library/library.iml
deleted file mode 100644 (file)
index e700d8a..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<module external.linked.project.id=":library" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4">\r
-  <component name="FacetManager">\r
-    <facet type="android-gradle" name="Android-Gradle">\r
-      <configuration>\r
-        <option name="GRADLE_PROJECT_PATH" value=":library" />\r
-        <option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.5.0" />\r
-        <option name="LAST_KNOWN_AGP_VERSION" value="3.5.0" />\r
-      </configuration>\r
-    </facet>\r
-    <facet type="android" name="Android">\r
-      <configuration>\r
-        <option name="SELECTED_BUILD_VARIANT" value="release" />\r
-        <option name="ASSEMBLE_TASK_NAME" value="assembleRelease" />\r
-        <option name="COMPILE_JAVA_TASK_NAME" value="compileReleaseSources" />\r
-        <afterSyncTasks>\r
-          <task>generateReleaseSources</task>\r
-        </afterSyncTasks>\r
-        <option name="ALLOW_USER_CONFIGURATION" value="false" />\r
-        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />\r
-        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />\r
-        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/build/generated/res/resValues/release" />\r
-        <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />\r
-        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />\r
-        <option name="PROJECT_TYPE" value="1" />\r
-      </configuration>\r
-    </facet>\r
-  </component>\r
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">\r
-    <output url="file://$MODULE_DIR$/build/intermediates/javac/release/classes" />\r
-    <output-test url="file://$MODULE_DIR$/build/intermediates/javac/releaseUnitTest/classes" />\r
-    <exclude-output />\r
-    <content url="file://$MODULE_DIR$">\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/release/out" isTestSource="false" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/release/compileReleaseAidl/out" isTestSource="false" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/release" isTestSource="false" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/release/compileReleaseRenderscript/out" isTestSource="false" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/release" type="java-resource" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/release" type="java-resource" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/releaseUnitTest/out" isTestSource="true" generated="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/res" type="java-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/resources" type="java-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/assets" type="java-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/aidl" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/java" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/rs" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/release/shaders" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/res" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/resources" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/assets" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/aidl" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/java" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/rs" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/shaders" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />\r
-      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />\r
-      <excludeFolder url="file://$MODULE_DIR$/build" />\r
-    </content>\r
-    <orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />\r
-    <orderEntry type="sourceFolder" forTests="false" />\r
-  </component>\r
-</module>
\ No newline at end of file
index 186294c..47825c7 100644 (file)
@@ -1 +1 @@
-include ':app', ':okio', ':library'
+include ':app', ':okio'