<?xml version="1.0" encoding="UTF-8"?>\r
<project version="4">\r
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">\r
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">\r
<output url="file://$PROJECT_DIR$/build/classes" />\r
</component>\r
<component name="ProjectType">\r
<change beforePath="$PROJECT_DIR$/.gradle/5.4.1/executionHistory/executionHistory.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/executionHistory/executionHistory.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/fileHashes.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/fileHashes.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/fileHashes.lock" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/resourceHashesCache.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/fileHashes/resourceHashesCache.bin" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/classAnalysis.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/classAnalysis.bin" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/javaCompile.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/javaCompile.lock" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/taskHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/5.4.1/javaCompile/taskHistory.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/caches/gradle_models.ser" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/caches/gradle_models.ser" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/app.iml" beforeDir="false" afterPath="$PROJECT_DIR$/app/app.iml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Config.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Config.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/debug/output.json" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Constants.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/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/adapter/LBSHelper.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Config.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/CheckSIM.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/CheckSIM.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/connectionServer.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmHelper.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmHelper.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/local.properties" beforeDir="false" afterPath="$PROJECT_DIR$/local.properties" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<component name="DefaultGradleProjectSettings">
<option name="isMigrated" value="true" />
</component>
- <component name="ExecutionTargetManager" SELECTED_TARGET="867155030002145" />
+ <component name="ExecutionTargetManager" SELECTED_TARGET="867155030001063" />
<component name="ExternalProjectsData">
<projectState path="$PROJECT_DIR$">
<ProjectState />
<component name="ExternalProjectsManager">
<system id="GRADLE">
<state>
- <projects_view />
+ <task path="$PROJECT_DIR$">
+ <activation />
+ </task>
+ <task path="$PROJECT_DIR$/app">
+ <activation />
+ </task>
+ <task path="$PROJECT_DIR$/okio">
+ <activation />
+ </task>
+ <projects_view>
+ <tree_state>
+ <expand>
+ <path>
+ <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+ <item name="icsupport" type="f1a62948:ProjectNode" />
+ </path>
+ <path>
+ <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+ <item name="icsupport" type="f1a62948:ProjectNode" />
+ <item name="icsupport" type="2d1252cf:ModuleNode" />
+ </path>
+ <path>
+ <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+ <item name="icsupport" type="f1a62948:ProjectNode" />
+ <item name="icsupport" type="2d1252cf:ModuleNode" />
+ <item name="Tasks" type="e4a08cd1:TasksNode" />
+ </path>
+ <path>
+ <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+ <item name="icsupport" type="f1a62948:ProjectNode" />
+ <item name="app" type="2d1252cf:ModuleNode" />
+ </path>
+ <path>
+ <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+ <item name="icsupport" type="f1a62948:ProjectNode" />
+ <item name="app" type="2d1252cf:ModuleNode" />
+ <item name="Tasks" type="e4a08cd1:TasksNode" />
+ </path>
+ <path>
+ <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+ <item name="icsupport" type="f1a62948:ProjectNode" />
+ <item name="app" type="2d1252cf:ModuleNode" />
+ <item name="Tasks" type="e4a08cd1:TasksNode" />
+ <item name="android" type="c8890929:TasksNode$1" />
+ </path>
+ <path>
+ <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
+ <item name="icsupport" type="f1a62948:ProjectNode" />
+ <item name="app" type="2d1252cf:ModuleNode" />
+ <item name="Tasks" type="e4a08cd1:TasksNode" />
+ <item name="build" type="c8890929:TasksNode$1" />
+ </path>
+ </expand>
+ <select />
+ </tree_state>
+ </projects_view>
</state>
</system>
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="-4630">
- <caret line="79" column="21" selection-start-line="79" selection-start-column="21" selection-end-line="79" selection-end-column="21" />
+ <state relative-caret-position="150">
+ <caret line="655" column="60" selection-start-line="655" selection-start-column="60" selection-end-line="655" selection-end-column="60" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ <element signature="e#4992#6055#0" expanded="true" />
+ <element signature="e#6054#6055#0" expanded="true" />
+ <element signature="e#33051#33052#0" expanded="true" />
+ <element signature="e#33148#33149#0" expanded="true" />
+ <element signature="e#31779#31780#0" expanded="true" />
+ <element signature="e#31817#31818#0" expanded="true" />
+ <element signature="e#35069#35217#0" expanded="true" />
+ <element signature="e#35216#35217#0" expanded="true" />
+ <element signature="e#33373#33374#0" expanded="true" />
+ <element signature="e#33400#33401#0" expanded="true" />
+ <element signature="e#38920#38921#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/NMEAListener.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="355">
- <caret line="71" selection-start-line="71" selection-end-line="71" />
+ <state relative-caret-position="-1293">
+ <caret line="228" column="18" selection-start-line="228" selection-start-column="18" selection-end-line="228" selection-end-column="18" />
+ <folding>
+ <element signature="e#8801#8802#0" expanded="true" />
+ <element signature="e#8844#8845#0" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ServiceUtil.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="209">
- <caret line="38" column="23" selection-start-line="38" selection-start-column="23" selection-end-line="38" selection-end-column="23" />
+ <state relative-caret-position="36">
+ <caret line="79" selection-start-line="79" selection-end-line="79" />
<folding>
- <element signature="imports" expanded="true" />
+ <element signature="e#797#1120#0" expanded="true" />
+ <element signature="e#1119#1120#0" expanded="true" />
+ <element signature="e#1548#1549#0" expanded="true" />
+ <element signature="e#1565#1566#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
- <file pinned="false" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java">
+ <file pinned="false" current-in-tab="false">
+ <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="-1861">
- <caret line="85" column="35" selection-start-line="85" selection-start-column="16" selection-end-line="85" selection-end-column="35" />
+ <state relative-caret-position="321">
+ <caret line="376" column="37" lean-forward="true" selection-start-line="376" selection-start-column="37" selection-end-line="376" selection-end-column="37" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</entry>
</file>
<file pinned="false" current-in-tab="false">
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/os/Handler.class">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="197">
- <caret line="101" selection-start-line="101" selection-end-line="101" />
+ <state relative-caret-position="488">
+ <caret line="79" column="44" selection-start-line="79" selection-start-column="44" selection-end-line="79" selection-end-column="44" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="-18">
- <caret line="648" column="5" lean-forward="true" selection-start-line="648" selection-start-column="5" selection-end-line="648" selection-end-column="5" />
+ <state relative-caret-position="185">
+ <caret line="96" column="2" lean-forward="true" selection-start-line="96" selection-start-column="2" selection-end-line="96" selection-end-column="2" />
<folding>
- <element signature="imports" expanded="true" />
+ <element signature="e#8809#8810#0" expanded="true" />
+ <element signature="e#8830#8831#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/adapter/protocolAPIHelper.java">
+ <file pinned="false" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="2518">
- <caret line="358" column="54" lean-forward="true" selection-start-line="358" selection-start-column="54" selection-end-line="358" selection-end-column="54" />
+ <state relative-caret-position="349">
+ <caret line="737" selection-start-line="737" selection-end-line="737" />
<folding>
- <element signature="e#18169#18170#0" expanded="true" />
- <element signature="e#18202#18203#0" expanded="true" />
- <element signature="e#18260#18261#0" expanded="true" />
- <element signature="e#18293#18294#0" expanded="true" />
+ <element signature="imports" expanded="true" />
+ <element signature="e#13500#13501#0" expanded="true" />
+ <element signature="e#13536#13537#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/NettyConnection.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/SharPreferenceUtil.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="432">
- <caret line="77" column="75" selection-start-line="77" selection-start-column="59" selection-end-line="77" selection-end-column="75" />
+ <state relative-caret-position="304">
+ <caret line="18" column="5" lean-forward="true" selection-start-line="18" selection-start-column="5" selection-end-line="18" selection-end-column="5" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MySqlitOpenHelper.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="95">
- <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
+ <state relative-caret-position="137">
+ <caret line="246" column="21" selection-start-line="246" selection-start-column="21" selection-end-line="246" selection-end-column="21" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/StringMessage.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="152">
- <caret line="326" column="19" selection-start-line="326" selection-start-column="9" selection-end-line="326" selection-end-column="19" />
- <folding>
- <element signature="e#8809#8810#0" expanded="true" />
- <element signature="e#8830#8831#0" expanded="true" />
- </folding>
+ <state relative-caret-position="295">
+ <caret line="32" column="23" selection-start-line="32" selection-start-column="23" selection-end-line="32" selection-end-column="23" />
</state>
</provider>
</entry>
</component>
<component name="FindInProjectRecents">
<findStrings>
- <find>CurrentCellInfo</find>
- <find>RxSocket</find>
- <find>\\r</find>
- <find>keep</find>
- <find>onopen</find>
- <find>initial</find>
- <find>delive</find>
- <find>FileOutputUtil</find>
- <find>getExternalCacheDir</find>
- <find>mCallStateIsIdle</find>
- <find>BATTERY</find>
- <find>onCreate</find>
- <find>onClose</find>
- <find>HEART_ALARM alarmCycle</find>
- <find>onDes</find>
+ <find>isLocating</find>
+ <find>timer</find>
+ <find>startCheckResult</find>
+ <find>updateCe</find>
+ <find>update</find>
+ <find>sensor or listener</find>
+ <find>mHandler</find>
+ <find>mCellInfo</find>
+ <find>updatewo</find>
+ <find>serviceutil.off</find>
+ <find>ServiceUtil.offerQueue</find>
+ <find>handler</find>
+ <find>retryTimer</find>
+ <find>DIS_CONNECT</find>
+ <find>location</find>
+ <find>cellinf</find>
+ <find>startConnectionRetryTimer</find>
+ <find>retry</find>
+ <find>setHEARTALARM</find>
+ <find>Heart_AlARM</find>
+ <find>startlocationprocess</find>
+ <find>disconn</find>
+ <find>setHeartAl</find>
<find>setHeartAlarm</find>
- <find>onStartCommand</find>
- <find>睡眠</find>
- <find>sleepAlarm</find>
- <find>SharPreferenceUtil</find>
- <find>triggerSendThread</find>
- <find>workmo</find>
- <find>Timer</find>
- <find>AP85</find>
- <find>timeout</find>
- <find>trig</find>
- <find>trigger</find>
- <find>ResartHeartAlarm</find>
- <find>sw</find>
- <find>mythread</find>
+ <find>shared</find>
+ <find>split</find>
+ <find>setLocation_cycle</find>
+ <find>startgps</find>
+ <find>sta</find>
+ <find>startlocationpro</find>
</findStrings>
<replaceStrings>
<replace>stop</replace>
<replace>GPS_CURRENT_STATUS</replace>
<replace>AP16</replace>
<replace>sendCMDMessage</replace>
+ <replace>connection.send</replace>
</replaceStrings>
</component>
<component name="GenerateSignedApkSettings">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/SynchronousTime.java" />
- <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmHelper.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/AlarmWakeUp.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Logger.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GSensorListener.java" />
- <option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ContextProxy.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/UpLoadDataPoints.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Util.java" />
- <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java" />
- <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/LBSHelper.java" />
- <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ServiceUtil.java" />
- <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.java" />
- <option value="$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml" />
- <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Initialize.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.java" />
- <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Config.java" />
+ <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java" />
+ <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Config.java" />
+ <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.java" />
+ <option value="$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml" />
+ <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java" />
+ <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmHelper.java" />
+ <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Constants.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/service/CheckSIM.java" />
+ <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java" />
+ <option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
+ <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java" />
+ <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java" />
- <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java" />
- <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java" />
+ <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java" />
<option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java" />
</list>
</option>
</component>
- <component name="ProjectFrameBounds" extendedState="7">
- <option name="x" value="670" />
- <option name="y" value="38" />
+ <component name="ProjectFrameBounds" extendedState="6">
+ <option name="x" value="29" />
+ <option name="y" value="111" />
<option name="width" value="964" />
<option name="height" value="784" />
</component>
</navigator>
<panes>
<pane id="ProjectPane" />
+ <pane id="Scope" />
<pane id="PackagesPane" />
<pane id="AndroidView">
<subPane>
<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="service" type="462c0819:PsiDirectoryNode" />
+ <item name="base" type="462c0819:PsiDirectoryNode" />
+ </path>
<path>
<item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
<item name="app" type="feadf853:AndroidModuleNode" />
<item name="protocol" type="cbb59c9e:AndroidPsiDirectoryNode" />
<item name="utils" type="462c0819:PsiDirectoryNode" />
</path>
+ <path>
+ <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
+ <item name="app" type="feadf853:AndroidModuleNode" />
+ <item name="res" type="d4f16f75:AndroidResFolderNode" />
+ </path>
+ <path>
+ <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
+ <item name="app" type="feadf853:AndroidModuleNode" />
+ <item name="res" type="d4f16f75:AndroidResFolderNode" />
+ <item name="layout" type="ddeffd01:AndroidResFolderTypeNode" />
+ </path>
<path>
<item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
<item name="Gradle Scripts" type="ae0cef3a:AndroidBuildScriptsGroupNode" />
<select />
</subPane>
</pane>
- <pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
- <property name="DEBUGGABLE_DEVICE" value="sprd-c41_l02_wgd-867155030002145" />
+ <property name="DEBUGGABLE_DEVICE" value="sprd-c41_l02_wgd-867155030001063" />
<property name="DEBUGGABLE_PROCESS" value="com.ic.protocol" />
<property name="DEBUGGER_ID" value="Auto" />
<property name="ExportApk.ApkPath" value="D:\workspace\icsupport\app" />
</list>
</option>
</component>
- <component name="RunManager">
+ <component name="RunManager" selected="Android App.app">
<configuration default="true" type="AndroidJUnit" factoryName="Android JUnit">
<option name="TEST_OBJECT" value="class" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
+ <configuration name="icsupport:app [build]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
+ <ExternalSystemSettings>
+ <option name="executionName" />
+ <option name="externalProjectPath" value="$PROJECT_DIR$/app" />
+ <option name="externalSystemIdString" value="GRADLE" />
+ <option name="scriptParameters" />
+ <option name="taskDescriptions">
+ <list />
+ </option>
+ <option name="taskNames">
+ <list>
+ <option value="build" />
+ </list>
+ </option>
+ <option name="vmOptions" />
+ </ExternalSystemSettings>
+ <GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
+ <method v="2" />
+ </configuration>
+ <recent_temporary>
+ <list>
+ <item itemvalue="Gradle.icsupport:app [build]" />
+ </list>
+ </recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
</todo-panel>
</component>
<component name="ToolWindowManager">
- <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
- <editor active="true" />
+ <frame x="-8" y="-8" width="1858" height="1096" extended-state="6" />
<layout>
- <window_info id="Captures" order="0" sideWeight="0.22176592" side_tool="true" visible="true" weight="0.26012793" />
- <window_info content_ui="combo" id="Project" order="1" sideWeight="0.77823406" visible="true" weight="0.26012793" />
- <window_info id="Structure" order="2" sideWeight="0.21818182" side_tool="true" weight="0.26028922" />
- <window_info id="Favorites" order="3" sideWeight="0.21818182" side_tool="true" weight="0.26028922" />
- <window_info id="Build Variants" order="4" sideWeight="0.21818182" side_tool="true" weight="0.26028922" />
+ <window_info id="Captures" order="0" sideWeight="0.22259696" side_tool="true" visible="true" weight="0.13070078" />
+ <window_info content_ui="combo" id="Project" order="1" sideWeight="0.77740306" visible="true" weight="0.13070078" />
+ <window_info id="Structure" order="2" sideWeight="0.22102009" side_tool="true" weight="0.13070078" />
+ <window_info id="Favorites" order="3" sideWeight="0.22102009" side_tool="true" weight="0.13070078" />
+ <window_info id="Build Variants" order="4" sideWeight="0.22102009" side_tool="true" weight="0.13070078" />
<window_info id="Image Layers" order="5" />
<window_info id="Designer" order="6" />
<window_info id="Resources Explorer" order="7" sideWeight="0.49717513" weight="0.3298109" />
<window_info id="Capture Tool" order="8" />
- <window_info anchor="bottom" id="Run" order="0" weight="0.32952183" />
- <window_info anchor="bottom" auto_hide="true" x="96" y="344" width="1798" height="456" id="Logcat" order="1" sideWeight="0.63570637" weight="0.52603036" />
+ <window_info anchor="bottom" id="Run" order="0" sideWeight="0.49721915" weight="0.58627856" />
+ <window_info active="true" anchor="bottom" auto_hide="true" x="96" y="344" width="1798" height="456" id="Logcat" order="1" sideWeight="0.5839822" visible="true" weight="0.3835759" />
<window_info anchor="bottom" id="TODO" order="2" weight="0.3286334" />
- <window_info active="true" anchor="bottom" id="Find" order="3" sideWeight="0.48164627" visible="true" weight="0.47180045" />
- <window_info anchor="bottom" id="Terminal" order="4" sideWeight="0.49499443" weight="0.3275488" />
- <window_info anchor="bottom" id="Event Log" order="5" sideWeight="0.36429366" side_tool="true" weight="0.44802496" />
+ <window_info anchor="bottom" id="Find" order="3" sideWeight="0.46941045" weight="0.47089398" />
+ <window_info anchor="bottom" id="Terminal" order="4" sideWeight="0.49276975" weight="0.32744282" />
+ <window_info anchor="bottom" id="Event Log" order="5" sideWeight="0.42992213" side_tool="true" weight="0.32744282" />
<window_info anchor="bottom" id="Version Control" order="6" sideWeight="0.49944383" weight="0.32952183" />
- <window_info anchor="bottom" id="Build" order="7" sideWeight="0.49276975" weight="0.21041214" />
- <window_info anchor="bottom" id="Debug" order="8" sideWeight="0.4938821" weight="0.3275488" />
+ <window_info anchor="bottom" id="Build" order="7" sideWeight="0.4916574" weight="0.14137214" />
+ <window_info anchor="bottom" id="Debug" order="8" sideWeight="0.57007784" weight="0.32744282" />
<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="Preview" />
+ <window_info anchor="right" id="Device File Explorer" order="0" sideWeight="0.5007728" side_tool="true" weight="0.3298109" />
<window_info anchor="right" id="Capture Analysis" order="1" />
- <window_info anchor="right" id="Gradle" order="2" />
+ <window_info anchor="right" id="Gradle" order="2" sideWeight="0.4992272" weight="0.3298109" />
<window_info anchor="right" id="Theme Preview" order="3" />
<window_info anchor="right" id="Palette	" order="4" />
</layout>
<breakpoints>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java</url>
- <line>350</line>
+ <line>346</line>
<properties />
<option name="timeStamp" value="6" />
</line-breakpoint>
<properties />
<option name="timeStamp" value="17" />
</line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java</url>
+ <line>728</line>
+ <properties />
+ <option name="timeStamp" value="24" />
+ </line-breakpoint>
</breakpoints>
</breakpoint-manager>
- <watches-manager>
- <configuration name="app">
- <watch expression="ds.getWifiInfo()" language="JAVA" />
- <watch expression="arrayOfString1[5]" language="JAVA" />
- <watch expression="mRuntime.getCellinfo()" language="JAVA" />
- <watch expression="mRuntime.getMccAndMnc()" language="JAVA" />
- <watch expression="mRuntime.getCdmaInfo()" language="JAVA" />
- <watch expression="ds.getLBSData()" language="JAVA" />
- <watch expression="CellInfoUtil.getMNC()" language="JAVA" />
- <watch expression="mRuntime.getGsmInfo()" language="JAVA" />
- <watch expression="String.valueOf(CellInfoUtil.getMNC())" language="JAVA" />
- <watch expression="CellInfoUtil.getCELL_ID()" language="JAVA" />
- <watch expression="String.valueOf(CellInfoUtil.getMCC())" language="JAVA" />
- <watch expression="CellInfoUtil.getLAC()" language="JAVA" />
- <watch expression="runtime.getLocationInstance()" language="JAVA" />
- <watch expression="gpsp.getLocationStat()" language="JAVA" />
- <watch expression="gpsp.getLocationStat() " language="JAVA" />
- </configuration>
- </watches-manager>
</component>
<component name="debuggerHistoryManager">
<expressions id="watch">
+ <expression>
+ <expression-string>paramStringMessage.cmd()</expression-string>
+ <language-id>JAVA</language-id>
+ <evaluation-mode>EXPRESSION</evaluation-mode>
+ </expression>
<expression>
<expression-string>arrayOfString1[5]</expression-string>
<language-id>JAVA</language-id>
<language-id>JAVA</language-id>
<evaluation-mode>EXPRESSION</evaluation-mode>
</expression>
- <expression>
- <expression-string>CellInfoUtil.getLAC()</expression-string>
- <language-id>JAVA</language-id>
- <evaluation-mode>EXPRESSION</evaluation-mode>
- </expression>
</expressions>
</component>
<component name="editorHistoryManager">
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/content/Context.class">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="159">
- <caret line="298" column="25" selection-start-line="298" selection-start-column="25" selection-end-line="298" selection-end-column="25" />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ContextProxy.java">
+ <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/net/StandardSocketOptions.class">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="-1809">
- <caret line="170" column="58" selection-start-line="170" selection-start-column="42" selection-end-line="170" selection-end-column="58" />
+ <state relative-caret-position="190">
+ <caret line="13" column="58" selection-start-line="13" selection-start-column="46" selection-end-line="13" selection-end-column="58" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Connection.java">
+ <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/util/Timer.class">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="133">
- <caret line="7" column="7" selection-start-line="7" selection-start-column="7" selection-end-line="7" selection-end-column="7" />
+ <state relative-caret-position="323">
+ <caret line="32" column="16" selection-start-line="32" selection-start-column="16" selection-end-line="32" selection-end-column="16" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/net/InetAddress.class">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GSensorListener.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="159">
- <caret line="75" column="18" selection-start-line="75" selection-start-column="18" selection-end-line="75" selection-end-column="18" />
- <folding>
- <element signature="e#1783#1784#0" expanded="true" />
- <element signature="e#1834#1835#0" expanded="true" />
- </folding>
+ <state relative-caret-position="436">
+ <caret line="108" column="3" selection-start-line="108" selection-start-column="3" selection-end-line="108" selection-end-column="3" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/location/LocationManager.class">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Initialize.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="133">
- <caret line="17" column="31" selection-start-line="17" selection-start-column="31" selection-end-line="17" selection-end-column="31" />
+ <state relative-caret-position="150">
+ <caret line="59" column="20" selection-start-line="59" selection-start-column="20" selection-end-line="59" selection-end-column="20" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/provider/Settings.class">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="243">
- <caret line="397" column="59" selection-start-line="397" selection-start-column="33" selection-end-line="397" selection-end-column="59" />
+ <state relative-caret-position="283">
+ <caret line="112" column="24" selection-start-line="112" selection-start-column="24" selection-end-line="112" selection-end-column="24" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/StepCounterInterface.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/ICContentProvider.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="379">
- <caret line="43" column="34" selection-start-line="43" selection-start-column="34" selection-end-line="43" selection-end-column="34" />
+ <state relative-caret-position="-95">
+ <caret line="29" column="45" lean-forward="true" selection-start-line="29" selection-start-column="45" selection-end-line="29" selection-end-column="45" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/SharPreferenceUtil.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/ICApplication.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="76">
- <caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
+ <state relative-caret-position="171">
+ <caret line="18" column="13" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Locations.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Util.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="37">
- <caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
+ <state relative-caret-position="80">
+ <caret line="54" column="47" selection-start-line="54" selection-start-column="47" selection-end-line="54" selection-end-column="47" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ConnectionListener.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Logger.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="190">
- <caret line="10" column="7" selection-start-line="10" selection-start-column="7" selection-end-line="10" selection-end-column="7" />
+ <state relative-caret-position="-437">
+ <caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/util/concurrent/LinkedBlockingDeque.class">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/FileCache.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="-12">
- <caret line="138" column="13" selection-start-line="138" selection-start-column="13" selection-end-line="138" selection-end-column="13" />
+ <state relative-caret-position="-182">
+ <caret line="27" column="29" lean-forward="true" selection-start-line="27" selection-start-column="29" selection-end-line="27" selection-end-column="29" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/UpLoadDataPoints.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/FileOutputUtil.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="308">
- <caret line="141" column="47" lean-forward="true" selection-start-line="141" selection-start-column="47" selection-end-line="141" selection-end-column="47" />
+ <state relative-caret-position="-541">
+ <caret line="25" column="47" lean-forward="true" selection-start-line="25" selection-start-column="47" selection-end-line="25" selection-end-column="47" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/71856ddd748344c89a323fa69958dc46/TestModules-v1.0.16/jars/classes.jar!/chestnut/utils/PhoneUtils.class">
+ <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/lang/Enum.class">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="178">
- <caret line="38" column="63" selection-start-line="38" selection-start-column="63" selection-end-line="38" selection-end-column="63" />
+ <state relative-caret-position="152">
+ <caret line="30" column="21" selection-start-line="30" selection-start-column="21" selection-end-line="30" selection-end-column="21" />
+ <folding>
+ <element signature="e#727#728#0" expanded="true" />
+ <element signature="e#778#779#0" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/net/SocketOption.class">
+ <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/app/Service.class">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="76">
- <caret line="7" column="17" selection-start-line="7" selection-start-column="17" selection-end-line="7" selection-end-column="17" />
+ <state relative-caret-position="152">
+ <caret line="46" column="15" selection-start-line="46" selection-start-column="15" selection-end-line="46" selection-end-column="15" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/nio/channels/SocketChannel.class">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/base/AbstractConnectionService.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="159">
- <caret line="35" column="51" lean-forward="true" selection-start-line="35" selection-start-column="51" selection-end-line="35" selection-end-column="51" />
+ <state relative-caret-position="94">
+ <caret line="26" column="24" selection-start-line="26" selection-start-column="24" selection-end-line="26" selection-end-column="24" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/net/SocketOptions.class">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MySqlitOpenHelper.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="76">
- <caret line="7" column="27" selection-start-line="25" selection-start-column="11" selection-end-line="25" selection-end-column="20" />
+ <state relative-caret-position="95">
+ <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/net/StandardSocketOptions.class">
+ <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="190">
- <caret line="13" column="58" selection-start-line="13" selection-start-column="46" selection-end-line="13" selection-end-column="58" />
+ <state relative-caret-position="355">
+ <caret line="71" selection-start-line="71" selection-end-line="71" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java">
+ <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="564">
- <caret line="380" column="8" selection-start-line="380" selection-start-column="8" selection-end-line="380" selection-end-column="8" />
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
+ <state relative-caret-position="496">
+ <caret line="47" selection-start-line="47" selection-end-line="47" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/util/Timer.class">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/connectionServer.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="323">
- <caret line="32" column="16" selection-start-line="32" selection-start-column="16" selection-end-line="32" selection-end-column="16" />
+ <state relative-caret-position="76">
+ <caret line="5" column="29" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="29" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/GSensorListener.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Config.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="436">
- <caret line="108" column="3" selection-start-line="108" selection-start-column="3" selection-end-line="108" selection-end-column="3" />
+ <state relative-caret-position="38">
+ <caret line="2" column="17" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml">
- <provider editor-type-id="text-editor" />
- <provider selected="true" editor-type-id="android-designer2" />
- </entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Config.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="412">
- <caret line="67" column="21" selection-start-line="67" selection-start-column="21" selection-end-line="67" selection-end-column="21" />
- <folding>
- <element signature="e#1972#2091#0" expanded="true" />
- <element signature="e#2090#2091#0" expanded="true" />
- </folding>
+ <state relative-caret-position="76">
+ <caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
</state>
</provider>
</entry>
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Initialize.java">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="150">
- <caret line="59" column="20" lean-forward="true" selection-start-line="59" selection-start-column="20" selection-end-line="59" selection-end-column="20" />
+ <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml">
+ <provider selected="true" editor-type-id="android-designer2" />
+ <provider editor-type-id="text-editor">
+ <state relative-caret-position="665">
+ <caret line="51" selection-start-line="51" selection-end-line="51" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/CheckSIM.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/base/BaseService.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="131">
- <caret line="94" column="34" selection-start-line="94" selection-start-column="27" selection-end-line="94" selection-end-column="34" />
+ <state relative-caret-position="76">
+ <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="4750">
- <caret line="273" column="7" selection-start-line="273" selection-start-column="7" selection-end-line="273" selection-end-column="7" />
+ <state relative-caret-position="362">
+ <caret line="33" column="37" lean-forward="true" selection-start-line="33" selection-start-column="37" selection-end-line="33" selection-end-column="37" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/CellInfoUtil.java">
+ <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/content/Intent.class">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="513">
- <caret line="32" column="54" selection-start-line="32" selection-start-column="54" selection-end-line="32" selection-end-column="54" />
+ <state relative-caret-position="160">
+ <caret line="358" column="24" selection-start-line="358" selection-start-column="18" selection-end-line="358" selection-end-column="24" />
+ <folding>
+ <element signature="e#26668#26669#0" expanded="true" />
+ <element signature="e#26719#26720#0" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="10564">
- <caret line="590" column="48" selection-start-line="590" selection-start-column="48" selection-end-line="590" selection-end-column="48" />
+ <state relative-caret-position="100">
+ <caret line="52" column="69" selection-start-line="52" selection-start-column="69" selection-end-line="52" selection-end-column="69" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/ICContentProvider.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/SilentManager.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="-95">
- <caret line="29" column="45" lean-forward="true" selection-start-line="29" selection-start-column="45" selection-end-line="29" selection-end-column="45" />
+ <state relative-caret-position="152">
+ <caret line="701" column="22" selection-start-line="701" selection-start-column="22" selection-end-line="701" selection-end-column="22" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/ICApplication.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ConnectionListener.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="171">
- <caret line="18" column="13" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
+ <state relative-caret-position="190">
+ <caret line="10" column="7" selection-start-line="10" selection-start-column="7" selection-end-line="10" selection-end-column="7" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Util.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ContextProxy.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="80">
- <caret line="54" column="47" selection-start-line="54" selection-start-column="47" selection-end-line="54" selection-end-column="47" />
+ <state relative-caret-position="152">
+ <caret line="417" column="14" selection-start-line="417" selection-start-column="14" selection-end-line="417" selection-end-column="14" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Logger.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Content.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="-437">
- <caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
+ <state relative-caret-position="-684">
+ <caret line="2" column="22" selection-start-line="2" selection-start-column="22" selection-end-line="2" selection-end-column="22" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/FileCache.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/CheckSIM.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="-182">
- <caret line="27" column="29" lean-forward="true" selection-start-line="27" selection-start-column="29" selection-end-line="27" selection-end-column="29" />
+ <state relative-caret-position="342">
+ <caret line="102" column="2" selection-start-line="102" selection-start-column="2" selection-end-line="102" selection-end-column="2" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Constants.java">
+ <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/os/Handler.class">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="1691">
- <caret line="89" column="75" selection-start-line="89" selection-start-column="75" selection-end-line="89" selection-end-column="75" />
+ <state relative-caret-position="133">
+ <caret line="10" column="11" selection-start-line="10" selection-start-column="11" selection-end-line="10" selection-end-column="11" />
+ <folding>
+ <element signature="e#201#202#0" expanded="true" />
+ <element signature="e#252#253#0" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/FileOutputUtil.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Contact.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="-541">
- <caret line="25" column="47" lean-forward="true" selection-start-line="25" selection-start-column="47" selection-end-line="25" selection-end-column="47" />
+ <state relative-caret-position="76">
+ <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="130">
- <caret line="13" column="61" lean-forward="true" selection-start-line="13" selection-start-column="61" selection-end-line="13" selection-end-column="61" />
+ <state relative-caret-position="431">
+ <caret line="93" column="30" selection-start-line="93" selection-start-column="30" selection-end-line="93" selection-end-column="30" />
<folding>
<element signature="imports" expanded="true" />
- <element signature="e#331#4161#0" expanded="true" />
- <element signature="e#4160#4161#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java">
+ <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.1.0/748f0546d5c3c27f1aef07270ffea0c45f0c42a4/rxjava-1.1.0.jar!/rx/Observable.class">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="152">
- <caret line="326" column="19" selection-start-line="326" selection-start-column="9" selection-end-line="326" selection-end-column="19" />
- <folding>
- <element signature="e#8809#8810#0" expanded="true" />
- <element signature="e#8830#8831#0" expanded="true" />
- </folding>
+ <state relative-caret-position="284">
+ <caret line="1532" column="17" lean-forward="true" selection-start-line="1532" selection-start-column="17" selection-end-line="1532" selection-end-column="17" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/java/lang/Enum.class">
+ <entry file="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/71856ddd748344c89a323fa69958dc46/TestModules-v1.0.16/jars/classes.jar!/chestnut/utils/LogUtils.class">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="152">
- <caret line="30" column="21" selection-start-line="30" selection-start-column="21" selection-end-line="30" selection-end-column="21" />
- <folding>
- <element signature="e#727#728#0" expanded="true" />
- <element signature="e#778#779#0" expanded="true" />
- </folding>
+ <state relative-caret-position="285">
+ <caret line="31" lean-forward="true" selection-start-line="31" selection-end-line="31" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/app/Service.class">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/AlarmHelper.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="152">
- <caret line="46" column="15" selection-start-line="46" selection-start-column="15" selection-end-line="46" selection-end-column="15" />
+ <state relative-caret-position="46">
+ <caret line="71" column="21" selection-start-line="71" selection-start-column="21" selection-end-line="71" selection-end-column="21" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/base/AbstractConnectionService.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Constants.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="152">
- <caret line="10" column="20" selection-start-line="10" selection-start-column="20" selection-end-line="10" selection-end-column="20" />
+ <state relative-caret-position="122">
+ <caret line="27" column="42" selection-start-line="27" selection-start-column="42" selection-end-line="27" selection-end-column="42" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/Config.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/RxSocket.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="152">
- <caret line="149" column="37" selection-start-line="149" selection-start-column="37" selection-end-line="149" selection-end-column="37" />
+ <state relative-caret-position="27">
+ <caret line="40" column="34" selection-start-line="40" selection-start-column="34" selection-end-line="40" selection-end-column="34" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ <element signature="e#7933#7934#0" expanded="true" />
+ <element signature="e#7967#7968#0" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MySqlitOpenHelper.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
+ <provider editor-type-id="android-manifest" />
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="95">
- <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
+ <state relative-caret-position="147">
+ <caret line="129" column="73" selection-start-line="129" selection-start-column="61" selection-end-line="129" selection-end-column="73" />
</state>
</provider>
</entry>
- <entry file="jar://$USER_HOME$/AppData/Local/Android/Sdk/platforms/android-25/android.jar!/android/os/Handler.class">
+ <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="197">
- <caret line="101" selection-start-line="101" selection-end-line="101" />
+ <state relative-caret-position="81">
+ <caret line="13" column="21" selection-start-line="13" selection-start-column="21" selection-end-line="13" selection-end-column="21" />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/ICLocation.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/StringMessage.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="191">
- <caret line="27" column="24" lean-forward="true" selection-start-line="27" selection-start-column="24" selection-end-line="27" selection-end-column="24" />
- <folding>
- <element signature="e#2239#2240#0" expanded="true" />
- <element signature="e#2271#2272#0" expanded="true" />
- </folding>
+ <state relative-caret-position="295">
+ <caret line="32" column="23" selection-start-line="32" selection-start-column="23" selection-end-line="32" selection-end-column="23" />
</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="-4630">
- <caret line="79" column="21" selection-start-line="79" selection-start-column="21" selection-end-line="79" selection-end-column="21" />
+ <state relative-caret-position="-1293">
+ <caret line="228" column="18" selection-start-line="228" selection-start-column="18" selection-end-line="228" selection-end-column="18" />
+ <folding>
+ <element signature="e#8801#8802#0" expanded="true" />
+ <element signature="e#8844#8845#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="2518">
- <caret line="358" column="54" lean-forward="true" selection-start-line="358" selection-start-column="54" selection-end-line="358" selection-end-column="54" />
+ <state relative-caret-position="321">
+ <caret line="376" column="37" lean-forward="true" selection-start-line="376" selection-start-column="37" selection-end-line="376" selection-end-column="37" />
<folding>
- <element signature="e#18169#18170#0" expanded="true" />
- <element signature="e#18202#18203#0" expanded="true" />
- <element signature="e#18260#18261#0" expanded="true" />
- <element signature="e#18293#18294#0" expanded="true" />
+ <element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/NMEAListener.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/KeepAlive.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="355">
- <caret line="71" selection-start-line="71" selection-end-line="71" />
+ <state relative-caret-position="137">
+ <caret line="246" column="21" selection-start-line="246" selection-start-column="21" selection-end-line="246" selection-end-column="21" />
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state relative-caret-position="185">
+ <caret line="96" column="2" lean-forward="true" selection-start-line="96" selection-start-column="2" selection-end-line="96" selection-end-column="2" />
+ <folding>
+ <element signature="e#8809#8810#0" expanded="true" />
+ <element signature="e#8830#8831#0" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/NettyConnection.java">
<provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="432">
- <caret line="77" column="75" selection-start-line="77" selection-start-column="59" selection-end-line="77" selection-end-column="75" />
+ <state relative-caret-position="488">
+ <caret line="79" column="44" selection-start-line="79" selection-start-column="44" selection-end-line="79" selection-end-column="44" />
</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="-18">
- <caret line="648" column="5" lean-forward="true" selection-start-line="648" selection-start-column="5" selection-end-line="648" selection-end-column="5" />
+ <state relative-caret-position="150">
+ <caret line="655" column="60" selection-start-line="655" selection-start-column="60" selection-end-line="655" selection-end-column="60" />
<folding>
<element signature="imports" expanded="true" />
+ <element signature="e#4992#6055#0" expanded="true" />
+ <element signature="e#6054#6055#0" expanded="true" />
+ <element signature="e#33051#33052#0" expanded="true" />
+ <element signature="e#33148#33149#0" expanded="true" />
+ <element signature="e#31779#31780#0" expanded="true" />
+ <element signature="e#31817#31818#0" expanded="true" />
+ <element signature="e#35069#35217#0" expanded="true" />
+ <element signature="e#35216#35217#0" expanded="true" />
+ <element signature="e#33373#33374#0" expanded="true" />
+ <element signature="e#33400#33401#0" expanded="true" />
+ <element signature="e#38920#38921#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ServiceUtil.java">
+ <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/SharPreferenceUtil.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state relative-caret-position="304">
+ <caret line="18" column="5" lean-forward="true" selection-start-line="18" selection-start-column="5" selection-end-line="18" selection-end-column="5" />
+ </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="209">
- <caret line="38" column="23" selection-start-line="38" selection-start-column="23" selection-end-line="38" selection-end-column="23" />
+ <state relative-caret-position="36">
+ <caret line="79" selection-start-line="79" selection-end-line="79" />
<folding>
- <element signature="imports" expanded="true" />
+ <element signature="e#797#1120#0" expanded="true" />
+ <element signature="e#1119#1120#0" expanded="true" />
+ <element signature="e#1548#1549#0" expanded="true" />
+ <element signature="e#1565#1566#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="-1861">
- <caret line="85" column="35" selection-start-line="85" selection-start-column="16" selection-end-line="85" selection-end-column="35" />
+ <state relative-caret-position="349">
+ <caret line="737" selection-start-line="737" selection-end-line="737" />
<folding>
<element signature="imports" expanded="true" />
+ <element signature="e#13500#13501#0" expanded="true" />
+ <element signature="e#13536#13537#0" expanded="true" />
</folding>
</state>
</provider>
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner:0.5@aar" level="project" />\r
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:exposed-instrumentation-api-publish:0.5@aar" level="project" />\r
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource:2.2.2@aar" level="project" />\r
- <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\LauncherCtrl.jar:unspecified@jar" level="project" />\r
- <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\okio-2.4.3.jar:unspecified@jar" level="project" />\r
+ <orderEntry type="library" name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\LauncherCtrl.jar:unspecified@jar" level="project" />\r
+ <orderEntry type="library" name="Gradle: __local_aars__:D.\workspace\icsupport\app\libs\okio-2.4.3.jar:unspecified@jar" level="project" />\r
<orderEntry type="library" name="Gradle: com.android.support:support-annotations:25.1.0@jar" level="project" />\r
<orderEntry type="library" name="Gradle: io.reactivex:rxjava:1.1.0@jar" level="project" />\r
<orderEntry type="library" name="Gradle: com.github.ChestnutPlus:TestModules:v1.0.16@aar" level="project" />\r
+++ /dev/null
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":320,"versionName":"202001082349","enabled":true,"outputFile":"ICSer_V320_202001082349_debug.apk","fullName":"debug","baseName":"debug"},"path":"ICSer_V320_202001082349_debug.apk","properties":{}}]
\ No newline at end of file
<intent-filter>
<action android:name="com.ic.protocol.startsrv" />
<action android:name="com.enqualcomm.support.ACTION_ALARM" />
+ <action android:name="com.enqualcomm.support.HEART_ALARM" />
<action android:name="com.ic.protocol.startsrv" />
</intent-filter>
public static final String ACTION_CM_POWERSAVE_MODE = "cmcm.call.eiot.into.powersave";\r
\r
public static final String ACTION_EQC_ALARM = "com.enqualcomm.support.ACTION_EQC_ALARM";\r
- \r
+\r
+ public static final String ACTION_LOCATION_ALARM = "com.enqualcomm.support.ACTION_LOCATION_ALARM";\r
+\r
public static final String ACTION_EXIT_MONITOR_MODE = "com.enqualcomm.support.MONITOR_EXIT";\r
\r
public static final String ACTION_HEART_RATE_RESULT = "com.eqc.heartrate.action.RESULT";\r
import rx.functions.Action1;\r
\r
import static android.location.LocationManager.GPS_PROVIDER;\r
+import static com.ic.protocol.Constants.ACTION_LOCATION_ALARM;\r
+import static com.ic.protocol.Constants.HEART_ALARM;\r
+import static com.ic.protocol.bean.ICLocation.NORMAL_MOD;\r
\r
public class LocationClient {\r
private static final String TAG = LocationClient.class.getSimpleName();\r
\r
private void performAlarm(PowerManager.WakeLock paramWakeLock) {\r
if (!runtime.isAirMode) {\r
- CellInfoUtil.setCurrentAttachCellInfo(runtime, paramWakeLock);\r
- runtime.getLocationInstance().setMNC(String.valueOf(CellInfoUtil.getMNC()));\r
- runtime.getLocationInstance().setCID(CellInfoUtil.getCELL_ID());\r
- runtime.getLocationInstance().setMCC(String.valueOf(CellInfoUtil.getMCC()));\r
- runtime.getLocationInstance().setLAC(CellInfoUtil.getLAC());\r
- runtime.preCellInfo = CellInfoUtil.getCellInfo();\r
+ CellInfoUtil.triggerUpdateCellinfo();\r
sendBatteryNotification();\r
// startLocationProcess();\r
}\r
// stringMessage = stringMessage1;\r
// }\r
}\r
- if (stringMessage != null)\r
- ServiceUtil.offerQueue(stringMessage);\r
+// if (stringMessage != null)\r
+// ServiceUtil.offerQueue(stringMessage);\r
}\r
\r
// public static void AP16Queue() {\r
}\r
}\r
\r
+ public void triggerLocationProcess(){\r
+ mhandler.sendEmptyMessage(0);\r
+ }\r
\r
public void EqcAlgorithmInterfaceMethod1(final int cycle_location_flag, int paramInt2, final int delay_flag, final double latitude, final double longitude, final double altitude, final float speed, final float bearing, final int sv_no, final float accuracy, final long timestamp_cur, final long timestamp_last_location, final double latitude_last_location, final double longitude_last_location, final int mode, long paramLong3, final int status_cur_location) {\r
// StringBuilder stringBuilder1 = new StringBuilder();\r
\r
private static int checktimes=0;\r
private static boolean timeout=false;\r
-// public void EqcAlgorithmInterfaceMethod2() {\r
- public void startGpsLocate() {\r
+ private static boolean isLocating=false;\r
\r
-\r
- Settings.Secure.setLocationProviderEnabled(runtime.getContextProxy().getResolver(), GPS_PROVIDER, true);\r
- Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Object>() {\r
- public void call(Object param1Object) { LocationClient.this.nmeaListener.startListen(); }\r
- });\r
- Logger.i("开启GPS开启wifi扫描");\r
+ public void startWifiScan(){\r
+ Logger.i("开启wifi扫描");\r
runtime.currentWifiInfo = "";\r
mHasWifiResult = false;\r
this.mLbsHelper.registerBroadReceiver();\r
this.mLbsHelper.setOnWiFiInfoListener(new LBSHelper.OnWiFiInfoListener() {\r
public void getWifiInfoCallBack(String param1String) {\r
// LocationClient.access$002(true);\r
- Logger.i("get wifi scan Callback " + param1String);\r
- LocationClient.mHasWifiResult=true;\r
- runtime.currentWifiInfo = param1String;\r
- runtime.setWifiinfo(param1String);\r
+ Logger.i("get wifi scan Callback " + param1String);\r
+ LocationClient.mHasWifiResult=true;\r
+ runtime.currentWifiInfo = param1String;\r
+ runtime.setWifiinfo(param1String);\r
}\r
+ });\r
+ }\r
+// public void EqcAlgorithmInterfaceMethod2() {\r
+ public void startGpsLocate() {\r
+ Logger.i("开启GPS扫描");\r
+ Settings.Secure.setLocationProviderEnabled(runtime.getContextProxy().getResolver(), GPS_PROVIDER, true);\r
+ Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Object>() {\r
+ public void call(Object param1Object) { LocationClient.this.nmeaListener.startListen(); }\r
});\r
\r
- Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Object>() {\r
- public void call(Object param1Object) { LocationClient.this.waitAndSendLocation(); }\r
- });\r
+// Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Object>() {\r
+// public void call(Object param1Object) { LocationClient.this.waitAndSendLocation(); }\r
+// });\r
+\r
+ }\r
\r
+ public void startCheckResult(){\r
checktimes=0;\r
timeout=false;\r
//延时2秒执行发送“读取定位”消息\r
if (mTimer==null) mTimer=new Timer();\r
mTimer.schedule(new MyTimerTask(), 0,1000L);\r
-\r
}\r
class MyTimerTask extends TimerTask {\r
public void run() {\r
\r
public void handleMessage(Message msg) {\r
super.handleMessage(msg);\r
- if (msg.what != 100)\r
- return;\r
- waitAndSendLocation();\r
+ if (msg.what == 100){\r
+ waitAndSendLocation();\r
+ }else if (msg.what == 0){\r
+ startLocationProcess(WorkingMod);\r
+ }\r
+\r
+\r
}\r
\r
};\r
gps_ok=false;\r
lbs_ok=false;\r
gps_nosignal=false;\r
+\r
+ int mode=runtime.getLocationInstance().getWorkingMod();\r
if (runtime.currentWifiInfo.length()>0 ) wifi_ok =true;\r
if (runtime.getLocationInstance().getLocationStat() == ICLocation.LOCATION_STAT.LOCATION_FIXED) gps_ok=true;\r
if (runtime.getLocationInstance().getLocationStat() == ICLocation.LOCATION_STAT.LOCATION_GPS_TIEMOUT) gps_nosignal=true;\r
&& runtime.getLocationInstance().getGSMStationCID() ==0\r
&& runtime.getLocationInstance().getLAC()==0)) ?false:true;\r
Logger.i("getMNC "+runtime.getLocationInstance().getMNC()+" getMCC "+runtime.getLocationInstance().getMCC()+" getGSMStationCID " + runtime.getLocationInstance().getGSMStationCID()+ " getLAC "+runtime.getLocationInstance().getLAC()+" changed "+runtime.getLocationInstance().isDataChanged());\r
- Logger.i("lbs_ok "+lbs_ok+" waitAndSendLocation wifi_ok " + wifi_ok+ " gps_ok "+gps_ok);\r
- if ((lbs_ok && timeout==true) ||(lbs_ok && gps_ok && wifi_ok )||(lbs_ok&&gps_nosignal&&wifi_ok)){\r
-\r
- Logger.i("offerQueue "+protocolAPIHelper.AP01(runtime));\r
- ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("AP01", protocolAPIHelper.AP01(runtime)));\r
- triggerSendThread();\r
- if (mTimer!=null){\r
- mTimer.cancel();\r
- mTimer=null;\r
- }\r
- }else if (timeout==true){\r
- Logger.i("timeout no location ");\r
-\r
- if (mTimer!=null){\r
- mTimer.cancel();\r
- mTimer=null;\r
- }\r
+ Logger.i("lbs_ok "+lbs_ok+" waitAndSendLocation wifi_ok " + wifi_ok+ " gps_ok "+gps_ok + " mode "+mode);\r
+\r
+ switch(mode){\r
+ case ICLocation.EMERGNECY_MOD:\r
+ case ICLocation.REALTIME_MOD:\r
+ if ((lbs_ok && timeout==true) ||(lbs_ok && gps_ok && wifi_ok )||(lbs_ok&&gps_nosignal&&wifi_ok)){\r
+\r
+ Logger.i("offerQueue "+protocolAPIHelper.AP01(runtime));\r
+ connection.send(protocolAPIHelper.genStringMessage("AP01", protocolAPIHelper.AP01(runtime)));\r
+// triggerSendThread();\r
+ if (mTimer!=null){\r
+ mTimer.cancel();\r
+ mTimer=null;\r
+ }\r
+ isLocating = false;\r
+ }else if (timeout==true){\r
+ Logger.i("timeout no location ");\r
+ isLocating = false;\r
+ if (mTimer!=null){\r
+ mTimer.cancel();\r
+ mTimer=null;\r
+ }\r
+ }\r
+ break;\r
+ default:\r
+ if ((lbs_ok && timeout==true) ||(lbs_ok && wifi_ok )){\r
+\r
+ if (connection.isServerConnected() && KeepAlive.isConnected)\r
+ {\r
+ Logger.i("send "+protocolAPIHelper.AP01(runtime));\r
+ connection.send(protocolAPIHelper.genStringMessage("AP01", protocolAPIHelper.AP01(runtime)));\r
+ }else{\r
+ Logger.i("offline skip "+protocolAPIHelper.AP01(runtime));\r
+\r
+ }\r
+// triggerSendThread();\r
+ if (mTimer!=null){\r
+ mTimer.cancel();\r
+ mTimer=null;\r
+ }\r
+ isLocating = false;\r
+ }else if (timeout==true){\r
+ Logger.i("timeout no location ");\r
+ isLocating = false;\r
+ if (mTimer!=null){\r
+ mTimer.cancel();\r
+ mTimer=null;\r
+ }\r
+ }\r
+ break;\r
}\r
+\r
}\r
\r
// public void EqcAlgorithmInterfaceMethod3() {\r
\r
// public void EqcAlgorithmInterfaceMethod4() {\r
public void updateCellInfo() {\r
- this.mLbsHelper.getAttchCellInfo(runtime.getContextProxy().getTelephonyManager());\r
-\r
+ this.mLbsHelper.getAttchCellInfo(runtime.getContextProxy().getTelephonyManager());\r
+// CellInfoUtil.triggerUpdateCellinfo();\r
+ CellInfoUtil.setCurrentAttachCellInfo(runtime, getLocationWakeLock());\r
}\r
\r
// public void EqcAlgorithmInterfaceMethod5(int paramInt) {\r
this.gSensorListener.startListen(paramWakeLock);\r
performAlarm(paramWakeLock);\r
}\r
- public void startLocationProcess(){\r
- updateCellInfo();\r
+ public void startLocationProcess(int mod){\r
+\r
+ if (isLocating ) return;\r
+ isLocating=true;\r
updateSimSignalInfo();\r
- startGpsLocate();\r
+\r
+ updateCellInfo();\r
+ startWifiScan();\r
+ switch(mod){\r
+ case ICLocation.EMERGNECY_MOD:\r
+ case ICLocation.REALTIME_MOD:\r
+ startGpsLocate();\r
+ break;\r
+ }\r
+\r
+ startCheckResult();\r
}\r
+\r
+ private static int WorkingMod=1;\r
public void onReceive(StringMessage paramStringMessage) {\r
- Logger.i("LocationClient onReceive " +paramStringMessage.cmd() );\r
+ Logger.i("LocationClient onReceive " +paramStringMessage.cmd()+" linkOK "+linkOK );\r
if ("Sport:OK".equals(paramStringMessage.cmd()))\r
this.mPedometer2 = this.H12StepCount;\r
\r
+\r
+\r
+// if (linkOK)\r
+// return;\r
+// if (paramStringMessage.cmd().startsWith("AP") || paramStringMessage.cmd().startsWith("BP")) {\r
+// //如果Link:OK 则触发(激活)等待信号的发送线程\r
+//// triggerSendThread();\r
+// }\r
//响应定位指令\r
if ("StartLocate".equals(paramStringMessage.cmd()) ){\r
// triggerSendThread();\r
-// this.startLocationProcess();\r
+ this.startLocationProcess(WorkingMod);\r
}\r
- if ("ResartHeartAlarm".equals(paramStringMessage.cmd()) ){\r
+ if ("ResartHeartAlarm".equals(paramStringMessage.cmd())) {\r
// triggerSendThread();\r
-// this.startLocationProcess();\r
-// protocolMainServer.getInstance().setHeartAlarm();\r
+ int mod = 0;\r
+ try\r
+ {\r
+ String[] cmdlist=paramStringMessage.isFromCache().split(",");\r
+ if (cmdlist.length == 4)\r
+ mod = Integer.valueOf(cmdlist[3]);\r
+ }catch (Exception e){\r
+ e.printStackTrace();\r
+ }\r
+ SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_MODE, mod);\r
+ runtime.getLocationInstance().setWorkingMod(mod);\r
+// runtime.getLocationInstance().setLocation_cycle(3);\r
+ Logger.i("ResartHeartAlarm 1 mod "+mod);\r
+ protocolMainServer.getInstance().setHeartAlarm(mod);\r
+ Logger.i("ResartHeartAlarm 2");\r
+ runtime.getContextProxy().sendBroadcast(HEART_ALARM,runtime);\r
+ this.startLocationProcess(mod);\r
+ WorkingMod=mod;\r
+ Logger.i("ResartHeartAlarm 3 WorkingMod " +WorkingMod);\r
+\r
+\r
}\r
\r
-// if (linkOK)\r
-// return;\r
- if (paramStringMessage.cmd().startsWith("AP") || paramStringMessage.cmd().startsWith("BP")) {\r
- //如果Link:OK 则触发(激活)等待信号的发送线程\r
- triggerSendThread();\r
- } \r
+\r
}\r
public void triggerSendThread(){\r
-// this.mLock.lock();\r
-// try {\r
-// linkOK = true;\r
-//// this.mCondition.signal();\r
-// return;\r
-// } finally {\r
-// this.mLock.unlock();\r
-// }\r
- }\r
- public void resolveResult(int paramInt1, int paramInt2, int paramInt3, double paramDouble1, double paramDouble2, double paramDouble3, float paramFloat1, float paramFloat2, int paramInt4, float paramFloat3, long paramLong1, long paramLong2, double paramDouble4, double paramDouble5, int paramInt5, long paramLong3, int paramInt6) {\r
- int i = SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 3);\r
- String str1 = runtime.getLatitude();\r
- String str2 = runtime.getLongitude();\r
- paramLong2 = runtime.getTimestamp();\r
- isLocationCallBack = false;\r
- if ((paramInt2 & 0x1) == 1) {\r
- Logger.i("开机定位");\r
- performExecute(paramInt1, i, 0, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
- }\r
- if ((paramInt2 & 0x2) >> 1 == 1) {\r
- Logger.i("周期定位");\r
- performExecute(paramInt1, i, 1, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
- }\r
- if ((paramInt2 & 0x4) >> 2 == 1) {\r
- Logger.i("主动定位");\r
- performExecute(paramInt1, i, 2, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
- }\r
- if ((paramInt2 & 0x8) >> 3 == 1) {\r
- Logger.i("SOS定位");\r
- performExecute(paramInt1, i, 3, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
- }\r
- if ((paramInt2 & 0x10) >> 4 == 1) {\r
- Logger.i("获取位置信息");\r
- performExecute(paramInt1, i, 4, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
- }\r
- if ((paramInt2 & 0x20) >> 5 == 1) {\r
- Logger.i("定时定位");\r
- performExecute(paramInt1, i, 5, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
- }\r
- if ((paramInt2 & 0x40) >> 6 == 1) {\r
- Logger.i("实时定位");\r
- performExecute(paramInt1, i, 6, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
- }\r
- if ((paramInt2 & 0x80) >> 7 == 1) {\r
- Logger.i("摇一摇");\r
- Runtime runtime1 = runtime;\r
- LocationClient locationClient = this;\r
-// ServiceUtil.offerQueue(API.H15(runtime1, locationClient.mWifiInfo, locationClient.mCellInfo, 7));\r
- }\r
- if ((paramInt2 & 0x100) >> 8 == 1) {\r
- Logger.i("脱落报警");\r
- performExecute(paramInt1, i, 8, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
- }\r
- if ((paramInt2 & 0x200) >> 9 == 1) {\r
- Logger.i("照相定位");\r
- performExecute(paramInt1, i, 9, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
- }\r
- if ((paramInt2 & 0x400) >> 10 == 1) {\r
- Logger.i("获取经纬度");\r
- performExecute(paramInt1, i, 10, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
- }\r
- if ((paramInt2 & 0x800) >> 11 == 1) {\r
- Logger.i("获取天气");\r
- performExecute(paramInt1, i, 11, paramInt3, paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2, paramInt4, paramFloat3, paramLong1, paramLong2, str1, str2, paramInt5, paramLong3, paramInt6);\r
+ this.mLock.lock();\r
+ try {\r
+ linkOK = true;\r
+ this.mCondition.signal();\r
+\r
+ } finally {\r
+ this.mLock.unlock();\r
}\r
}\r
+ MyThread2 mythread2=null;\r
\r
public void start() {\r
+\r
+\r
this.mSignalUtil = SimSignalUtil.getInstance((runtime.getContextProxy()).context);\r
// 开启计步\r
// EqcAlgorithmNative.EqcAlgorithmNativeSetInterface(this);\r
if (SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, "value_setting_ver", 0) == Config.value_setting) {\r
//如果value_setting_ver = Config.value_setting 表示采用已经保存的模式\r
runtime.getLocationInstance().setWorkingMod(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_MODE, ICLocation.NORMAL_MOD));\r
- runtime.getLocationInstance().setLocation_cycle(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 15));\r
+// runtime.getLocationInstance().setLocation_cycle(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 3));\r
+// runtime.getLocationInstance().setLocation_cycle(15);\r
} else {\r
//否则设置一个默认值\r
SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, "value_setting_ver", Config.value_setting);\r
SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_MODE, ICLocation.NORMAL_MOD);\r
- SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 15);\r
+// SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 3);\r
runtime.getLocationInstance().setWorkingMod(ICLocation.NORMAL_MOD);\r
- runtime.getLocationInstance().setLocation_cycle(15);\r
+// runtime.getLocationInstance().setLocation_cycle(15);\r
}\r
StringBuilder stringBuilder = new StringBuilder();\r
stringBuilder.append("value_setting=");\r
stringBuilder.append(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, "value_setting_ver", 0));\r
stringBuilder.append("LACATION_MODE=");\r
- stringBuilder.append(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_MODE, 2));\r
+ stringBuilder.append(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_MODE, 1));\r
stringBuilder.append("LACATION_CYCLE=");\r
stringBuilder.append(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 3));\r
Logger.i(stringBuilder.toString());\r
(runtime.getContextProxy()).context.registerReceiver(this.screenOnReceiver, intentFilter);\r
\r
/*启动 阻塞队列buffer 发送县城,随时准备发送buffer的message*/\r
- (new MyThread2(this.mCondition, this.mLock)).start();\r
-\r
+// if (mythread2 == null)\r
+// mythread2 = new MyThread2(this.mCondition, this.mLock);\r
+// mythread2.exitthread=false;\r
+// mythread2.start();\r
this.haveChanegTo4GTime = SystemClock.elapsedRealtime();\r
}\r
\r
public void stop() {\r
\r
+// mythread2.exitthread=true;\r
+// if (mythread2 != null){\r
+//// triggerSendThread();\r
+//// mythread2.stop();\r
+// mythread2=null;\r
+// }\r
(runtime.getContextProxy()).context.unregisterReceiver(this.screenOnReceiver);\r
// this.executor.execute(new Runnable() {\r
// public void run() { LocationClient.AP16Queue(); }\r
// });\r
this.gSensorListener.stopListen();\r
+ mLbsHelper.unRegisterBroadReceiver();\r
stopGpsLocate();\r
}\r
\r
static class MyThread2 extends Thread {\r
-// Condition condition;\r
-//\r
-// boolean isResent = false;\r
-//\r
-// ReentrantLock lock;\r
+ Condition condition;\r
+\r
+ boolean isResent = false;\r
+ public boolean exitthread=false;\r
+ ReentrantLock lock;\r
\r
public MyThread2(Condition param1Condition, ReentrantLock param1ReentrantLock) {\r
-// this.condition = param1Condition;\r
-// this.lock = param1ReentrantLock;\r
+ this.condition = param1Condition;\r
+ this.lock = param1ReentrantLock;\r
}\r
\r
public void run() {\r
StringMessage stringMessage = null;\r
\r
- while (true) {\r
+ while (!exitthread) {\r
\r
//循环发送queue 中的数据\r
\r
if (runtime.getSignalStrength() + 110 < LocationClient.getMinSignalStrength(SimSignalUtil.getInstance((runtime.getContextProxy()).context).getNetworkType())) {\r
Logger.i("Skip Send for SignalStrengh "+(runtime.getSignalStrength() + 110 )+" < "+LocationClient.getMinSignalStrength(SimSignalUtil.getInstance((runtime.getContextProxy()).context).getNetworkType()));\r
//如果信号不好,把msg放回去\r
+\r
LocationClient.queue.putFirst(stringMessage1);\r
\r
} else {\r
\r
- stringMessage=stringMessage1;\r
-\r
- Context context = (runtime.getContextProxy()).context;\r
- StringBuilder stringBuilder = new StringBuilder();\r
- stringBuilder.append("send=");\r
- stringBuilder.append(stringMessage.cmd());\r
- stringBuilder.append(", ");\r
- stringBuilder.append(stringMessage.isFromCache());\r
- FileOutputUtil.fileOutput(context, "MessageInfo", stringBuilder.toString());\r
- Logger.i(stringBuilder.toString());\r
-\r
- connection.send(stringMessage);\r
-\r
-// this.lock.lock();\r
-// LocationClient.linkOK=false;\r
-// try {\r
-// if (KeepAlive.isConnected) {\r
-// //如果 服务器连接状态,等30秒\r
-// Logger.i("KeepAlive.isConnected "+KeepAlive.isConnected+" delay 30000ms");\r
-// this.condition.await(30000L, TimeUnit.MILLISECONDS);\r
-// } else {\r
-// //如果服务器断开,等5秒 以便连接后尽快响应\r
- Logger.i("KeepAlive.isConnected "+KeepAlive.isConnected+ " , connection isconnected "+connection.isServerConnected()+" delay 1000ms");\r
- Thread.sleep(1000);\r
-// this.condition.await(1000L, TimeUnit.MILLISECONDS);\r
-// }\r
-// if (linkOK) {\r
-// if (stringMessage.all() != null && stringMessage.all()[0].equals("AP16")) {\r
-// this.isResent = false;\r
-// Logger.i( " AP16 need wait for wifi scan list");\r
-// Deliver.releaseWakeLockForGetWifiList();\r
-// }\r
-\r
-//\r
-// } finally {\r
-// this.lock.unlock();\r
-// }\r
+ stringMessage=stringMessage1;\r
+\r
+ Context context = (runtime.getContextProxy()).context;\r
+ StringBuilder stringBuilder = new StringBuilder();\r
+ stringBuilder.append("send=");\r
+ stringBuilder.append(stringMessage.cmd());\r
+ stringBuilder.append(", ");\r
+ stringBuilder.append(stringMessage.isFromCache());\r
+ FileOutputUtil.fileOutput(context, "MessageInfo", stringBuilder.toString());\r
+ Logger.i(stringBuilder.toString());\r
+ if( connection.isServerConnected() ==false && !KeepAlive.isConnected ) {\r
+\r
+ Logger.i("Skip Send for connection and KeepAlive both false ");\r
+ //发现连接断开则重试连接\r
+ protocolMainServer.getInstance().startConnectionRetryTimer();\r
+ //连接断开就把msg放回队列,以便重发\r
+ LocationClient.queue.putFirst(stringMessage1);\r
+ }else{\r
+ //连接状态都正常才发送包\r
+ connection.send(stringMessage);\r
+ }\r
+\r
+\r
+ this.lock.lock();\r
+ LocationClient.linkOK=false;\r
+ try {\r
+ if (KeepAlive.isConnected) {\r
+ //如果 服务器连接状态,等30秒\r
+ Logger.i("KeepAlive.isConnected "+KeepAlive.isConnected+" delay 30000ms");\r
+ this.condition.await(30000L, TimeUnit.MILLISECONDS);\r
+ } else {\r
+ //如果服务器断开,等5秒 以便连接后尽快响应\r
+ Logger.i("KeepAlive.isConnected "+KeepAlive.isConnected+ " , connection isconnected "+connection.isServerConnected()+" delay 5000ms");\r
+\r
+ this.condition.await(5000L, TimeUnit.MILLISECONDS);\r
+ }\r
+ if (linkOK) {\r
+ if (stringMessage.all() != null && stringMessage.all()[0].equals("AP16")) {\r
+ this.isResent = false;\r
+ Logger.i( " AP16 need wait for wifi scan list");\r
+ Deliver.releaseWakeLockForGetWifiList();\r
+ }\r
+ }\r
+ } catch (InterruptedException e) {\r
+ e.printStackTrace();\r
+ }finally{\r
+ this.lock.unlock();\r
+ }\r
}\r
} catch (Exception e) {\r
e.printStackTrace();\r
package com.ic.protocol;
+import android.content.Context;
import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
};
new Timer().schedule(tmt,0,2000);
+ TextView tv_version=(TextView)findViewById(R.id.textViewVersion);
+ tv_version.setText( getVersionName(this));
}
+ /**
+ * 得到当前应用版本名称的方法
+ *
+ * @param context
+ * :上下文
+ * @throws Exception
+ */
+ public static String getVersionName(Context context) {
+ // 获取packagemanager的实例
+ PackageManager packageManager = context.getPackageManager();
+ // getPackageName()是你当前类的包名
+ PackageInfo packInfo = null;
+ String version="V001";
+ try {
+ packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
+ version = packInfo.versionName;
+ } catch (PackageManager.NameNotFoundException e) {
+ e.printStackTrace();
+ }
+ return version;
+ }
private View.OnClickListener clickListener = new View.OnClickListener() {
}, 10000L);\r
}\r
\r
- private void unRegisterBroadReceiver() {\r
+ public void unRegisterBroadReceiver() {\r
this.context.unregisterReceiver(this.wifiChangedReceiver);\r
}\r
\r
import com.ic.protocol.bean.StringMessage;\r
import com.ic.protocol.utils.Connection;\r
import com.ic.protocol.utils.Logger;\r
-import com.ic.protocol.utils.ServiceUtil;\r
import com.ic.protocol.utils.SharPreferenceUtil;\r
\r
import java.util.HashMap;\r
String replacement=new StringBuilder("IWBP85,").append(imei).append(",").toString();\r
String replycmd = cmd.replace(replacement,"");\r
Logger.i("gen reply "+replacement+" "+replycmd);\r
- ServiceUtil.offerQueue(genStringMessage("AP85",AP85(runtime,replycmd)));\r
+ connection.send(genStringMessage("AP85",AP85(runtime,replycmd)));\r
}\r
\r
\r
Cycle=60;\r
break;\r
case ICLocation.EMERGNECY_MOD:\r
+ case ICLocation.REALTIME_MOD:\r
Cycle=1;\r
break;\r
+\r
}\r
\r
String msg=AP33(cmdlist[2],mod);\r
//设定当前工作模式及循环频率\r
- ServiceUtil.offerQueue(genStringMessage("AP33",msg));\r
+ connection.send(genStringMessage("AP33",msg));\r
log("reply msg "+msg);\r
+ log("LACATION_MODE "+LACATION_MODE+" mod "+ mod);\r
SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, "value_setting_ver", Config.value_setting);\r
SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_MODE, mod);\r
- SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, Cycle);\r
+// SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, Cycle);\r
runtime.getLocationInstance().setWorkingMod(mod);\r
runtime.getLocationInstance().setLocation_cycle(Cycle);\r
\r
if(cmdlist.length==3){\r
log("imei "+cmdlist[1]+", cmdindex "+cmdlist[2]);\r
\r
- ServiceUtil.offerQueue(genStringMessage("AP16",AP16(cmdlist[2])));\r
+ connection.send(genStringMessage("AP16",AP16(cmdlist[2])));\r
}else{\r
log("error BP16 format");\r
}\r
+++ /dev/null
-package com.ic.protocol.bean;\r
-\r
-public class Config {\r
- private String ServerIP="118.178.155.223";\r
- private int ServerPort=8090;\r
- private String ServerHostname="watch.jiai.pro";\r
-\r
-\r
- public String getServerIP(){\r
- return ServerIP;\r
- }\r
- public int getServerPort(){\r
- return ServerPort;\r
- }\r
- public String getServerHostname(){\r
- return ServerHostname;\r
- }\r
-\r
-}\r
public static final int NORMAL_MOD=1; //location rate 1 time per 15 minutes\r
public static final int LOWPOWER_MOD=2; // location rate 1 time per hour\r
public static final int EMERGNECY_MOD=3; //location rate 1 time per minutes\r
+ public static final int REALTIME_MOD=4; //location rate 1 time per minutes\r
\r
\r
private int mworkingMod;\r
\r
public boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime) { return false; }\r
\r
- public void onDetach(Connection paramConnection, Runtime paramRuntime) {}\r
+ public void onDetach(Connection paramConnection, Runtime paramRuntime) {\r
+\r
+ (paramRuntime.getContextProxy()).context.unregisterReceiver(this.SimStateReceive);\r
+ }\r
\r
public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) { return false; }\r
}\r
}\r
\r
public boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime) {\r
+ if (isConnected) protocolMainServer.getInstance().startConnectionRetryTimer();\r
connectionError = true;\r
isConnected = false;\r
paramRuntime.getContextProxy().sendBroadcast(isConnected);\r
Logger.i(stringBuilder.toString());\r
// if (!connectionError) {\r
connectionError = false;\r
- ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("AP00",protocolAPIHelper.AP00(paramRuntime)),true);\r
- ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("heart",protocolAPIHelper.AP03(paramRuntime)));\r
+ connection.send(protocolAPIHelper.genStringMessage("AP00",protocolAPIHelper.AP00(paramRuntime)));\r
+ connection.send(protocolAPIHelper.genStringMessage("heart",protocolAPIHelper.AP03(paramRuntime)));\r
// if (Deliver.haveSendH42) {\r
// ServiceUtil.offerQueue(new StringMessage(protocolAPIHelper.AP03(paramRuntime)));\r
// Deliver.haveSendH42 = false;\r
Logger.i("onHeartAlarm");\r
// UpdateHeartBeatTimeout();\r
// if (this.reCycleTimes == 0 && this.currentReConnectInterval != 11){\r
- ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("AP00",protocolAPIHelper.AP00(paramRuntime)),true);\r
- ServiceUtil.offerQueue(protocolAPIHelper.genStringMessage("heart",protocolAPIHelper.AP03(paramRuntime)));\r
+ paramNettyConnection.send(protocolAPIHelper.genStringMessage("AP00",protocolAPIHelper.AP00(paramRuntime)));\r
+ paramNettyConnection.send(protocolAPIHelper.genStringMessage("heart",protocolAPIHelper.AP03(paramRuntime)));\r
// }\r
\r
}\r
+++ /dev/null
-package com.ic.protocol.service;\r
-\r
-import com.ic.protocol.bean.StringMessage;\r
-import com.ic.protocol.utils.Connection;\r
-\r
-public class connectionServer implements Connection {\r
- @Override\r
- public void close() {\r
-\r
- }\r
-\r
- @Override\r
- public void connect(String paramString, int paramInt) {\r
-\r
- }\r
-\r
- @Override\r
- public void disconnect() {\r
-\r
- }\r
-\r
- @Override\r
- public int getTimeout() {\r
- return 0;\r
- }\r
-\r
- @Override\r
- public void open() {\r
-\r
- }\r
-\r
- @Override\r
- public void send(StringMessage paramStringMessage) {\r
-\r
- }\r
-\r
- @Override\r
- public boolean sendBlocking(StringMessage paramStringMessage) {\r
- return false;\r
- }\r
-\r
- @Override\r
- public void setTimeout(int paramInt) {\r
-\r
- }\r
-}\r
import com.ic.protocol.LocationClient;\r
import com.ic.protocol.adapter.LBSHelper;\r
import com.ic.protocol.adapter.protocolAPIHelper;\r
-import com.ic.protocol.bean.Config;\r
-import com.ic.protocol.bean.ICLocation;\r
import com.ic.protocol.bean.Runtime;\r
import com.ic.protocol.bean.StringMessage;\r
import com.ic.protocol.service.base.AbstractConnectionService;\r
import com.ic.protocol.utils.FileOutputUtil;\r
import com.ic.protocol.utils.Logger;\r
import com.ic.protocol.utils.NettyConnection;\r
-import com.ic.protocol.utils.ServiceUtil;\r
import com.ic.protocol.utils.SharPreferenceUtil;\r
import com.ic.protocol.utils.SimSignalUtil;\r
import com.ic.protocol.utils.Util;\r
import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;\r
import static com.ic.protocol.Constants.ACTION_ALARM_ADD_DATAPOINTS;\r
import static com.ic.protocol.Constants.ACTION_EQC_ALARM;\r
+import static com.ic.protocol.Constants.ACTION_LOCATION_ALARM;\r
import static com.ic.protocol.Constants.HEART_ALARM;\r
import static com.ic.protocol.Constants.SLEEP_ALARM;\r
import static com.ic.protocol.Constants.WAKE_ALARM;\r
public String getServerAlive(){\r
return new StringBuilder().append("Connecttion status is ").append(this.connection.isServerConnected())\r
.append("\n KeepAlive ").append(KeepAlive.isConnected)\r
- .append( "\n cmd Queue size ").append(LocationClient.queue.size())\r
+ .append( "\n Working Mode ").append(runtime.getLocationInstance().getWorkingMod()).append(" queue size ").append(LocationClient.queue.size())\r
.append("\n AP01 = ").append(protocolAPIHelper.AP01(runtime))\r
.toString();\r
}\r
Logger.i(stringBuilder1.toString());\r
protocolMainServer.this.setSleepAlarm();\r
protocolMainServer.this.setWakeAlarm();\r
- protocolMainServer.this.setHeartAlarm();\r
+ protocolMainServer.this.setHeartAlarm(runtime.getLocationInstance().getWorkingMod());\r
protocolMainServer.this.setWeatherAlarm();\r
+ protocolMainServer.this.setLocationAlarm();\r
if (protocolMainServer.this.cmcm_call_eiot_into_powersave_mode() == 0)\r
AlarmWakeUp.isNeedWakeUpAlarm(protocolMainServer.this.runtime);\r
}\r
protocolMainServer coreService = (protocolMainServer)this.mReference.get();\r
if (coreService == null)\r
return;\r
- Logger.i("onConnectionClose++");\r
+ Logger.i("onConnectionClose++ retry to connect again!");\r
+\r
+// startConnectionRetryTimer();\r
String ip=Util.parseHostGetIPAddress(coreService.runtime.getHost());\r
if ( ip !=null && ! ip.equals(coreService.runtime.getSrvIP())){\r
Logger.i("HostName "+coreService.runtime.getHost()+ " IP changed from "+coreService.runtime.getSrvIP()+" to "+ip);\r
}\r
\r
public void onReceive(StringMessage param1StringMessage) {\r
- Logger.i("onReceive " +param1StringMessage.cmd());\r
+\r
protocolMainServer coreService = (protocolMainServer)this.mReference.get();\r
+ Logger.i("onReceive " +param1StringMessage.cmd() +" coreService " + coreService );\r
if (coreService == null)\r
return;\r
coreService.connectionServiceChain.processServerResponse(param1StringMessage, coreService.connection, coreService.runtime);\r
public IBinder onBind(Intent paramIntent) { return this.mMessenger.getBinder(); }\r
\r
\r
- public void onCreateCore() {\r
+ @Override\r
+ public void onCreate() {\r
Logger.i("CoreService--onCreate002");\r
+ log("开始监听网络协议状态");\r
+ mProtocolServer=this;\r
+\r
this.runtime = new Runtime();\r
this.runtime.setFileDir(getFilesDir());\r
this.runtime.setCacheDir(getExternalCacheDir());\r
setCleanStepCountAlarm();\r
setSleepAlarm();\r
setWakeAlarm();\r
- setHeartAlarm();\r
+ setHeartAlarm(runtime.getLocationInstance().getWorkingMod());\r
setWeatherAlarm();\r
+ setLocationAlarm();\r
getDBFile();\r
}\r
\r
if (!screenon) {\r
send_at_to_update_lbs();\r
}\r
+ //这里就是为了省电,如果wifi开启,且屏幕关闭,则wifi也关闭\r
if (Util.isConnectWifi((this.runtime.getContextProxy()).context) && !screenon) {\r
is_wifi_network_ok = true;\r
Util.turnOffWifiForSleep((this.runtime.getContextProxy()).context, this.runtime);\r
if (HEART_ALARM.equals(paramIntent.getAction())) {\r
if (this.mKeepAlive != null) {\r
this.mKeepAlive.onHeartAlarm(this.connection, this.runtime);\r
- setHeartAlarm();\r
- FileOutputUtil.fileOutput(this, "alarmCycle", "HEART_ALARM alarmCycle");\r
+ setHeartAlarm(runtime.getLocationInstance().getWorkingMod());\r
+ FileOutputUtil.fileOutput(this, "alarmCycle", "HEART_ALARM alarmCycle " +runtime.getLocationInstance().getWorkingMod());\r
return Service.START_STICKY;\r
}\r
} else {\r
FileOutputUtil.fileOutput(this, "alarmCycle", stringBuilder1.toString());\r
return Service.START_STICKY;\r
}\r
+ if (ACTION_LOCATION_ALARM.equals(paramIntent.getAction())){\r
+ setLocationAlarm();\r
+ stringBuilder1 = new StringBuilder();\r
+ stringBuilder1.append("LOCATION_ALARM alarmCycle=");\r
+ stringBuilder1.append(alarmCycle);\r
+ FileOutputUtil.fileOutput(this, "alarmCycle", stringBuilder1.toString());\r
+ this.locationClient.triggerLocationProcess();\r
+ return Service.START_STICKY;\r
+\r
+ }\r
\r
// if (Constants.ACTION_PASS_DATA_TO_CM_SERVICES.equals(paramIntent.getAction())) {\r
// deliverDataToCmApp(paramIntent.getIntExtra("cmdId", 0), paramIntent.getStringExtra("cmdJsonData"));\r
\r
//每一分钟设置一次\r
public void setAlarm(int paramInt) {\r
- AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,1,ACTION_ALARM);\r
+ AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,paramInt,ACTION_ALARM);\r
+ }\r
+\r
+ public void setLocationAlarm() {\r
+ int mod=runtime.getLocationInstance().getWorkingMod();\r
+ StringBuilder sb=new StringBuilder();\r
+ switch(mod){\r
+ case EMERGNECY_MOD:\r
+ case REALTIME_MOD:\r
+ AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,1, ACTION_LOCATION_ALARM);\r
+ sb.append(" setLocationAlarm "+ACTION_LOCATION_ALARM+" Mode "+mod+", cycle 1");\r
+ break;\r
+ case NORMAL_MOD:\r
+ AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,15, ACTION_LOCATION_ALARM);\r
+ sb.append(" setLocationAlarm "+ACTION_LOCATION_ALARM+" Mode "+mod+", cycle 15");\r
+\r
+ break;\r
+ case LOWPOWER_MOD:\r
+ AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,60, ACTION_LOCATION_ALARM);\r
+ sb.append(" setLocationAlarm "+ACTION_LOCATION_ALARM+" Mode "+mod+", cycle 60");\r
+ break;\r
+ }\r
+ locationClient.triggerLocationProcess();\r
+ Logger.i(sb.toString());\r
+ FileOutputUtil.fileOutput(runtime.getContextProxy().context,"LocationAlarm",sb.toString());\r
}\r
\r
- public void setHeartAlarm() {\r
- switch(runtime.getLocationInstance().getWorkingMod()){\r
+ public void setHeartAlarm(int mod){\r
+// int mod=runtime.getLocationInstance().getWorkingMod();\r
+ StringBuilder sb=new StringBuilder();\r
+ int cycle=1;\r
+ switch(mod){\r
case EMERGNECY_MOD:\r
- AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,1, HEART_ALARM);\r
+ case REALTIME_MOD:\r
+ cycle=1;\r
break;\r
case NORMAL_MOD:\r
- AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,15, HEART_ALARM);\r
+ cycle=15;\r
break;\r
case LOWPOWER_MOD:\r
- AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,60, HEART_ALARM);\r
+ cycle=60;\r
break;\r
}\r
+ AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,cycle, HEART_ALARM);\r
+ sb.append(" setHeartAlarm "+HEART_ALARM+" mod "+mod+", cycle "+cycle);\r
\r
+ locationClient.triggerLocationProcess();\r
+ Logger.i(sb.toString());\r
+ FileOutputUtil.fileOutput(runtime.getContextProxy().context,"HeartAlarm",sb.toString());\r
\r
+// AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context,1, HEART_ALARM);\r
}\r
\r
public void setUpLocationDataAlarm(long paramLong) {\r
private static boolean mLowPowerMode = false;\r
private static boolean mCallStateIsIdle = true; // 非通话活动\r
private TelephonyManager telManager;\r
- private Timer mTimer_keepalive=null;\r
+ private Timer mTimer_retry_connect=null;\r
private WifiManager mWifiManager=null;\r
- private Config mConfig=null;\r
+\r
private static Runtime mDevStat=null;\r
// private protocolAPIHelper mProtocolAPI=null;\r
\r
}\r
\r
\r
- @Override\r
- public void onCreate() {\r
-\r
- log("开始监听网络协议状态");\r
-\r
-// IntentFilter intentFilter = new IntentFilter();\r
-// intentFilter.addAction(Intent.ACTION_BATTERY_LOW); // 低电量提示\r
-// intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED); // 低电量变化\r
-// intentFilter.addAction(Intent.ACTION_MANAGE_NETWORK_USAGE);\r
-// try {\r
-//// registerReceiver(mIntentReceiver, intentFilter);\r
-// } catch (Exception ignored) {\r
-// }\r
-\r
-\r
-// telManager = (TelephonyManager) getApplicationContext().getSystemService(Service.TELEPHONY_SERVICE);\r
-// assert telManager != null;\r
-// telManager.listen(mCallStateListener, PhoneStateListener.LISTEN_CALL_STATE);\r
-\r
-\r
-// init_protocols();\r
-\r
-// startTimer();\r
- mProtocolServer=this;\r
-\r
- onCreateCore();\r
- super.onCreate();\r
- }\r
+// @Override\r
+// public void onCreate() {\r
+//\r
+// log("开始监听网络协议状态");\r
+//\r
+//// IntentFilter intentFilter = new IntentFilter();\r
+//// intentFilter.addAction(Intent.ACTION_BATTERY_LOW); // 低电量提示\r
+//// intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED); // 低电量变化\r
+//// intentFilter.addAction(Intent.ACTION_MANAGE_NETWORK_USAGE);\r
+//// try {\r
+////// registerReceiver(mIntentReceiver, intentFilter);\r
+//// } catch (Exception ignored) {\r
+//// }\r
+//\r
+//\r
+//// telManager = (TelephonyManager) getApplicationContext().getSystemService(Service.TELEPHONY_SERVICE);\r
+//// assert telManager != null;\r
+//// telManager.listen(mCallStateListener, PhoneStateListener.LISTEN_CALL_STATE);\r
+//\r
+//\r
+//// init_protocols();\r
+//\r
+//// startTimer();\r
+// mProtocolServer=this;\r
+//\r
+// onCreateCore();\r
+// super.onCreate();\r
+// }\r
\r
public static protocolMainServer getInstance(){\r
return mProtocolServer;\r
}\r
- private void init_protocols(){\r
+// private void init_protocols(){\r
+//\r
+// if (mDevStat == null) {\r
+// mDevStat =new Runtime();\r
+// log("new mDevStat");\r
+// }\r
+//// if (mProtocolAPI == null) mProtocolAPI = new protocolAPIHelper();\r
+// if (mWifiManager == null) mWifiManager = (WifiManager)this.getApplicationContext().getSystemService(Context.WIFI_SERVICE);\r
+// if (lbshelper==null) lbshelper = new LBSHelper(this,mWifiManager,mDevStat);\r
+//\r
+// toast = new Toastc(this, Toast.LENGTH_SHORT);\r
+//\r
+// }\r
\r
- if (mConfig == null) mConfig = new Config();\r
- if (mDevStat == null) {\r
- mDevStat =new Runtime();\r
- log("new mDevStat");\r
+ public void startConnectionRetryTimer(){\r
+ if (mTimer_retry_connect == null) {\r
+ mTimer_retry_connect = new Timer();\r
}\r
-// if (mProtocolAPI == null) mProtocolAPI = new protocolAPIHelper();\r
- if (mWifiManager == null) mWifiManager = (WifiManager)this.getApplicationContext().getSystemService(Context.WIFI_SERVICE);\r
- if (lbshelper==null) lbshelper = new LBSHelper(this,mWifiManager,mDevStat);\r
-\r
- toast = new Toastc(this, Toast.LENGTH_SHORT);\r
-\r
- }\r
\r
- private void startTimer(){\r
- if (mTimer_keepalive == null) {\r
- mTimer_keepalive = new Timer();\r
- }\r
+ //如果开始进行连接重试,证明网络断开的,那么KeepAlive也需要重连(心跳包)\r
\r
- if (mTimer_keepalive !=null){\r
- mTimer_keepalive.schedule(new TimerTask() {\r
+ KeepAlive.isConnected=false;\r
+ if (mTimer_retry_connect !=null){\r
+ mTimer_retry_connect.schedule(new TimerTask() {\r
@Override\r
public void run() {\r
do_timer_task();\r
}\r
- },0,20000);\r
+ },0,5000); //每5秒重试一次\r
}\r
}\r
\r
- public class WifiInfolistener implements LBSHelper.OnWiFiInfoListener {\r
-\r
- @Override\r
- public void getWifiInfoCallBack(String aplist) {\r
-\r
- if (aplist !=null && aplist!="null") {\r
- log("getWifiInfoCallBack " + aplist);\r
- mDevStat.setWifiinfo(aplist);\r
-// String[] list = var1.split("\\+");\r
-// for (String p : list){\r
-// String[] lp=p.split("@");\r
-// if (lp.length>=2)\r
-// {\r
-// mDevStat.getLocationInstance().append_wifiap(lp[0].replace(":","-"),Integer.valueOf(lp[1]));\r
-// }else{\r
-// log("error format");\r
-// }\r
-// }\r
- }\r
- else {\r
- log("getWifiInfoCallBack wifi end");\r
- mDevStat.setWifiinfo("");\r
- }\r
- }\r
- }\r
public void do_timer_task(){\r
\r
-// boolean needlogin=true;\r
-// if(!isServerConnected()) {\r
-// connectServer();\r
-// needlogin=true;\r
-// }\r
-// if( needlogin){\r
-// log("do_timer_task send cmd "+ mProtocolAPI.AP00(mDevStat));\r
-//// Handler callbackHandler=new Handler();\r
-// String serverip = parseHostGetIPAddress(mConfig.getServerHostname());\r
-// log("getip "+mConfig.getServerHostname()+" "+serverip);\r
-//// mConfig.setServerIP(serverip);\r
-//// mConfig.setServerPort(8090);\r
-// sendMsg(mProtocolAPI.AP00(mDevStat));\r
-//\r
-//\r
-// }\r
-// log("do_timer_task send cmd "+ mProtocolAPI.AP03(mDevStat));\r
-// sendMsg(mProtocolAPI.AP03(mDevStat));\r
-//\r
-// lbshelper.setOnWiFiInfoListener(new WifiInfolistener());\r
-// lbshelper.getWifiInfo();\r
-// lbshelper.getCellInfo(this.telManager);\r
-//\r
-// log("do_timer_task send cmd "+ mProtocolAPI.AP01(mDevStat));\r
-//\r
-// sendMsg(mProtocolAPI.AP01(mDevStat));\r
\r
- }\r
+ this.connection.connect(this.runtime.getSrvIP(), this.runtime.getPort());\r
\r
- public void testGpsData(){\r
-// mProtocolAPI.AP01(mDevStat);\r
-// log( mProtocolAPI.AP01(mDevStat));\r
+ //里面如果连接成功 connectionOpen 会先发送 AP00 登录包 和发送AP03 心跳包 ,都成功则停止重试\r
+ if (connection.isServerConnected() && KeepAlive.isConnected)\r
+ {\r
+ stopConnectionRetryTimer();\r
+ }\r
}\r
- private void stopTimer(){\r
- if (mTimer_keepalive !=null){\r
- mTimer_keepalive.cancel();\r
- mTimer_keepalive = null;\r
+\r
+ public void stopConnectionRetryTimer(){\r
+ if (mTimer_retry_connect !=null){\r
+ mTimer_retry_connect.cancel();\r
+ mTimer_retry_connect = null;\r
}\r
}\r
\r
unregisterReceiver(this.broadcastReceiver);\r
unregisterReceiver(this.screenOnReceiver);\r
unregisterReceiver(this.AtCallbackBroadcastReceiver);\r
+ batteryUtil.unregisterBroadReceiver();\r
+\r
}\r
\r
private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {\r
\r
public static void setAlarm(AlarmManager paramAlarmManager, long paramLong, PendingIntent paramPendingIntent) {\r
setAlarm(paramAlarmManager, paramLong, 604800000L, paramPendingIntent);\r
+// setAlarm(paramAlarmManager, paramLong, 0, paramPendingIntent);\r
}\r
\r
public static void setCleanStepCountAlarm(Context context, int hour, int minutes, String paramString) {\r
if (param1Message.what != 100)\r
return; \r
Logger.i("延时获取基站信息");\r
-// CellInfoUtil.access$010();\r
+\r
CellInfoUtil.setCurrentAttachCellInfo(mRuntime, mWakeLock);\r
+\r
+\r
}\r
};\r
- \r
+\r
+\r
+ public static void triggerUpdateCellinfo(){\r
+ mHandler.sendEmptyMessageDelayed(100,2000);\r
+ }\r
private static Runtime mRuntime;\r
\r
private static PowerManager.WakeLock mWakeLock;\r
mRuntime = dev;\r
(new Thread(new Runnable() {\r
public void run() {\r
- CellInfoUtil.mCellInfo=mRuntime.getLbsHelper().getAttchCellInfo(mRuntime.getContextProxy().getTelephonyManager());\r
- if (mCellInfo != null) {\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
- CellInfoUtil.MCC = Integer.parseInt(arrayOfString2[0]);\r
- CellInfoUtil.MNC = Integer.parseInt(arrayOfString2[1]);\r
- int i = Integer.parseInt(arrayOfString1[0]);\r
- int j = Integer.parseInt(arrayOfString1[1]);\r
- int k = Integer.parseInt(arrayOfString1[2]);\r
- CellInfoUtil.BSSS = Integer.parseInt(arrayOfString1[5]);\r
+\r
+ if (mRuntime !=null) {\r
+ CellInfoUtil.mCellInfo = mRuntime.getLbsHelper().getAttchCellInfo(mRuntime.getContextProxy().getTelephonyManager());\r
+\r
+ if (mCellInfo != null) {\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
+ CellInfoUtil.MCC = Integer.parseInt(arrayOfString2[0]);\r
+ CellInfoUtil.MNC = Integer.parseInt(arrayOfString2[1]);\r
+ int i = Integer.parseInt(arrayOfString1[0]);\r
+ int j = Integer.parseInt(arrayOfString1[1]);\r
+ int k = Integer.parseInt(arrayOfString1[2]);\r
+ CellInfoUtil.BSSS = Integer.parseInt(arrayOfString1[5]);\r
// EqcAlgorithmNative.native_EqcAlgorithmMethod4(3, j, CellInfoUtil.BSSS, CellInfoUtil.MCC, CellInfoUtil.MNC, i, k);\r
- CellInfoUtil.releaseWakeLock(mWakeLock);\r
- } else {\r
- String[] arrayOfString = mCellInfo.split("\\+")[0].split("@");\r
- CellInfoUtil.MCC = Integer.parseInt(arrayOfString[0]);\r
- CellInfoUtil.MNC = Integer.parseInt(arrayOfString[1]);\r
- CellInfoUtil.LAC = Integer.parseInt(arrayOfString[2]);\r
- CellInfoUtil.CELL_ID = Integer.parseInt(arrayOfString[3]);\r
- CellInfoUtil.BSSS = Integer.parseInt(arrayOfString[4]);\r
+ CellInfoUtil.releaseWakeLock(mWakeLock);\r
+ } else {\r
+ String[] arrayOfString = mCellInfo.split("\\+")[0].split("@");\r
+ CellInfoUtil.MCC = Integer.parseInt(arrayOfString[0]);\r
+ CellInfoUtil.MNC = Integer.parseInt(arrayOfString[1]);\r
+ CellInfoUtil.LAC = Integer.parseInt(arrayOfString[2]);\r
+ CellInfoUtil.CELL_ID = Integer.parseInt(arrayOfString[3]);\r
+ CellInfoUtil.BSSS = Integer.parseInt(arrayOfString[4]);\r
// CellInfoUtil.access$002(2);\r
- CellInfoUtil.IS2SECOND=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
- } \r
- FileOutputUtil.fileOutput((mRuntime.getContextProxy()).context, "onCellLocationChanged", mCellInfo);\r
- CellInfoUtil.releaseWakeLock(mWakeLock);\r
- return;\r
- } \r
- if (IS2SECOND <= 0) {\r
- CellInfoUtil.MCC = 0;\r
- CellInfoUtil.MNC = 0;\r
- CellInfoUtil.LAC = 0;\r
- CellInfoUtil.CELL_ID = -1;\r
- CellInfoUtil.BSSS = 0;\r
+ mRuntime.cellinfo = mCellInfo;\r
+ }\r
+ FileOutputUtil.fileOutput((mRuntime.getContextProxy()).context, "onCellLocationChanged", mCellInfo);\r
+ CellInfoUtil.releaseWakeLock(mWakeLock);\r
+ Logger.i(" setCurrentAttachCellInfo " + mCellInfo);\r
+\r
+ }\r
+ if (IS2SECOND <= 0) {\r
+ CellInfoUtil.MCC = 0;\r
+ CellInfoUtil.MNC = 0;\r
+ CellInfoUtil.LAC = 0;\r
+ CellInfoUtil.CELL_ID = -1;\r
+ CellInfoUtil.BSSS = 0;\r
// CellInfoUtil.access$002(2);\r
- CellInfoUtil.IS2SECOND=2;\r
- Runtime runtime = mRuntime;\r
- StringBuilder stringBuilder = new StringBuilder();\r
- stringBuilder.append(CellInfoUtil.MCC);\r
- stringBuilder.append("@");\r
- stringBuilder.append(CellInfoUtil.MNC);\r
- stringBuilder.append("@");\r
- stringBuilder.append(CellInfoUtil.LAC);\r
- stringBuilder.append("@");\r
- stringBuilder.append(CellInfoUtil.CELL_ID);\r
- stringBuilder.append("@");\r
- stringBuilder.append(CellInfoUtil.BSSS);\r
- runtime.cellinfo = stringBuilder.toString();\r
+ CellInfoUtil.IS2SECOND = 2;\r
+ Runtime runtime = mRuntime;\r
+ StringBuilder stringBuilder = new StringBuilder();\r
+ stringBuilder.append(CellInfoUtil.MCC);\r
+ stringBuilder.append("@");\r
+ stringBuilder.append(CellInfoUtil.MNC);\r
+ stringBuilder.append("@");\r
+ stringBuilder.append(CellInfoUtil.LAC);\r
+ stringBuilder.append("@");\r
+ stringBuilder.append(CellInfoUtil.CELL_ID);\r
+ stringBuilder.append("@");\r
+ stringBuilder.append(CellInfoUtil.BSSS);\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
- CellInfoUtil.releaseWakeLock(mWakeLock);\r
- return;\r
- } \r
- CellInfoUtil.mHandler.sendEmptyMessageDelayed(100, 2000L);\r
+ FileOutputUtil.fileOutput((mRuntime.getContextProxy()).context, "onCellLocationChanged", mRuntime.cellinfo);\r
+ CellInfoUtil.releaseWakeLock(mWakeLock);\r
+ Logger.i(" setCurrentAttachCellInfo " + mCellInfo);\r
+\r
+ }\r
+ mRuntime.getLocationInstance().setMNC(String.valueOf(CellInfoUtil.getMNC()));\r
+ mRuntime.getLocationInstance().setCID(CellInfoUtil.getCELL_ID());\r
+ mRuntime.getLocationInstance().setMCC(String.valueOf(CellInfoUtil.getMCC()));\r
+ mRuntime.getLocationInstance().setLAC(CellInfoUtil.getLAC());\r
+ mRuntime.preCellInfo = CellInfoUtil.getCellInfo();\r
+ }\r
}\r
})).start();\r
}\r
package com.ic.protocol.utils;\r
\r
+import android.content.Intent;\r
import android.os.SystemClock;\r
\r
\r
+import com.ic.protocol.LocationClient;\r
import com.ic.protocol.adapter.protocolAPIHelper;\r
import com.ic.protocol.bean.StringMessage;\r
\r
public boolean handleCmd(protocolAPIHelper.CMD_TYPE type, String cmd) {\r
\r
boolean ret=true;\r
-\r
+ Logger.i("handleCmd "+type.name() +" , cmd "+cmd);\r
switch (type){\r
case BP00:\r
API.handleBP00(cmd);\r
break;\r
case BP33:\r
//设置工作模式\r
- API.handleBP33(NettyConnection.this,null,cmd);\r
- DeliverCMDMessageToSystem("AP33",cmd);//通知下面线程状态变化\r
DeliverCMDMessageToSystem("ResartHeartAlarm",cmd);//通知下面线程状态变化\r
+ DeliverCMDMessageToSystem("AP33",cmd);//通知下面线程状态变化\r
+ API.handleBP33(NettyConnection.this,null,cmd);\r
\r
break;\r
case BP16:\r
}\r
\r
public void close() {\r
- listener =null;\r
+// listener =null;\r
// RxSocket.getInstance().setConnectionListener(null);\r
}\r
\r
return; \r
realtime_old = l;\r
Logger.i("connect1 "+host+":"+port);\r
- disconnect();\r
+// disconnect();\r
this.executorService.execute(new Runnable() {\r
public void run() {\r
NettyConnection.this.connectImpl(host, port);\r
\r
},\r
throwable -> {\r
- log("get Msg throwable");\r
+ log("get Msg throwable " +throwable);\r
+ //出现错误恢复读取线程。\r
+ NettyConnection.this.open();\r
},\r
()->{\r
log("get Msg ()");\r
/* 常量
* */
private String TAG = "RxSocket";
- private boolean OpenLog = false;
+ private boolean OpenLog = true;
private long WRITE_TIME_OUT = 3000;
private long CONNECT_TIME_OUT = 3000;
android:layout_height="match_parent"
android:orientation="vertical">
- <Button
- android:id="@+id/btnConnect"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="ReConnect" />
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/textViewVersion"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="Version"
+ android:textAlignment="viewStart"
+ android:textSize="18sp" />
+
+ <Button
+ android:id="@+id/btnConnect"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="ReConnect" />
+ </LinearLayout>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbars="vertical"
- android:text="TextView"
android:textAlignment="viewStart"
- android:textSize="18sp" />
+ android:textSize="18sp"
+ android:verticalScrollbarPosition="right" />
</LinearLayout>
# Location of the SDK. This is only used by Gradle.\r
# For customization when using a Version Control System, please read the\r
# header note.\r
-#Thu Jan 09 07:29:56 CST 2020\r
-sdk.dir=C\:\\Users\\Admin\\AppData\\Local\\Android\\Sdk\r
+#Thu Jan 09 11:58:34 CST 2020\r
+sdk.dir=C\:\\Users\\incar\\AppData\\Local\\Android\\Sdk\r