f
authorsnicker <snickersun@163.com>
Sat, 4 Jan 2020 03:53:24 +0000 (11:53 +0800)
committersnicker <snickersun@163.com>
Sat, 4 Jan 2020 03:53:24 +0000 (11:53 +0800)
18 files changed:
.gradle/2.14.1/taskArtifacts/cache.properties.lock
.gradle/2.14.1/taskArtifacts/fileHashes.bin
.gradle/2.14.1/taskArtifacts/fileSnapshots.bin
.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin
.gradle/2.14.1/taskArtifacts/taskArtifacts.bin
.idea/workspace.xml
app/src/main/java/com/ic/protocol/Config.java [new file with mode: 0644]
app/src/main/java/com/ic/protocol/Constants.java [new file with mode: 0644]
app/src/main/java/com/ic/protocol/LocationClient.java
app/src/main/java/com/ic/protocol/bean/Update.java [new file with mode: 0644]
app/src/main/java/com/ic/protocol/bean/VoiceContent.java [new file with mode: 0644]
app/src/main/java/com/ic/protocol/service/AudioService.java [new file with mode: 0644]
app/src/main/java/com/ic/protocol/service/CheckSIM.java [new file with mode: 0644]
app/src/main/java/com/ic/protocol/service/Deliver.java [new file with mode: 0644]
app/src/main/java/com/ic/protocol/service/protocolMainServer.java
app/src/main/java/com/ic/protocol/utils/DeviceInfoUtil.java
app/src/main/java/com/ic/protocol/utils/Util.java
misc.txt [new file with mode: 0644]

index 3deaf73..2223ff6 100644 (file)
Binary files a/.gradle/2.14.1/taskArtifacts/cache.properties.lock and b/.gradle/2.14.1/taskArtifacts/cache.properties.lock differ
index d698119..5f09f89 100644 (file)
Binary files a/.gradle/2.14.1/taskArtifacts/fileHashes.bin and b/.gradle/2.14.1/taskArtifacts/fileHashes.bin differ
index 80ca81b..5da12f2 100644 (file)
Binary files a/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin and b/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin differ
index bf00c6c..df7c48f 100644 (file)
Binary files a/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin and b/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin differ
index c0df6b7..ea84143 100644 (file)
Binary files a/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin and b/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin differ
index c5f0265..75a9b58 100644 (file)
     <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="3cab4ae3-9bca-4cb9-b7a2-2861bcc36b52" name="Default Changelist" comment="">
+    <list default="true" id="3cab4ae3-9bca-4cb9-b7a2-2861bcc36b52" name="Default Changelist" comment="20200104">
+      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/cache.properties.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/cache.properties.lock" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileHashes.bin" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/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/DeviceInfoUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/DeviceInfoUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Util.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Util.java" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
   <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/MainActivity.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="190">
-              <caret line="10" column="35" selection-start-line="10" selection-start-column="35" selection-end-line="10" selection-end-column="35" />
+            <state relative-caret-position="1919">
+              <caret line="107" selection-start-line="107" selection-end-line="107" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/DeviceStatus.java">
+        <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="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="339">
+              <caret line="744" column="27" selection-start-line="744" selection-start-column="20" selection-end-line="744" selection-end-column="27" />
               <folding>
                 <element signature="imports" expanded="true" />
+                <element signature="e#3142#3481#0" expanded="true" />
+                <element signature="e#3480#3481#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/FileCache.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="171">
-              <caret line="9" column="24" selection-start-line="9" selection-start-column="24" selection-end-line="9" selection-end-column="24" />
-              <folding>
-                <element signature="imports" expanded="true" />
-              </folding>
-            </state>
-          </provider>
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/AudioService.java">
+          <provider selected="true" editor-type-id="text-editor" />
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/build.gradle">
+      <file pinned="false" current-in-tab="true">
+        <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="1368">
-              <caret line="72" column="22" selection-start-line="72" selection-start-column="22" selection-end-line="72" selection-end-column="22" />
+            <state relative-caret-position="72">
+              <caret line="39" column="2" lean-forward="true" selection-start-line="39" selection-start-column="2" selection-end-line="39" selection-end-column="2" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/build.gradle">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/VoiceContent.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="323">
-              <caret line="17" column="17" selection-start-line="17" selection-start-column="17" selection-end-line="17" selection-end-column="17" />
+            <state relative-caret-position="465">
+              <caret line="38" selection-start-line="38" selection-end-line="38" />
+              <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/adapter/LBSHelper.java">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Update.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="5529">
-              <caret line="334" column="40" selection-start-line="334" selection-start-column="40" selection-end-line="334" selection-end-column="40" />
+            <state relative-caret-position="447">
+              <caret line="247" column="30" selection-start-line="247" selection-start-column="30" selection-end-line="247" selection-end-column="30" />
+              <folding>
+                <element signature="imports" 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/service/protocolMainServer.java">
+      <file pinned="false" current-in-tab="false">
+        <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="556">
-              <caret line="865" column="30" selection-start-line="865" selection-start-column="30" selection-end-line="865" selection-end-column="30" />
+            <state relative-caret-position="205">
+              <caret line="63" column="16" selection-start-line="63" selection-start-column="16" selection-end-line="63" selection-end-column="16" />
               <folding>
-                <element signature="e#30742#30743#0" expanded="true" />
-                <element signature="e#30777#30778#0" expanded="true" />
-                <element signature="e#30830#30831#0" expanded="true" />
-                <element signature="e#30874#30875#0" expanded="true" />
-                <element signature="e#31767#31768#0" expanded="true" />
-                <element signature="e#31805#31806#0" expanded="true" />
-                <element signature="e#35907#35908#0" expanded="true" />
-                <element signature="e#35934#35935#0" expanded="true" />
+                <element signature="imports" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/local.properties">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/DeviceInfoUtil.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="152">
-              <caret line="8" selection-start-line="8" selection-end-line="8" />
+            <state relative-caret-position="-2570">
+              <caret line="18" column="39" selection-start-line="18" selection-start-column="39" selection-end-line="18" selection-end-column="39" />
+              <folding>
+                <element signature="e#5048#5049#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/RxSocket.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="1425">
-              <caret line="91" column="38" selection-start-line="91" selection-start-column="38" selection-end-line="91" selection-end-column="38" />
+            <state relative-caret-position="171">
+              <caret line="36" column="17" selection-start-line="36" selection-start-column="17" selection-end-line="36" selection-end-column="17" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/res/values/strings.xml">
+        <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="19">
-              <caret line="1" column="44" selection-start-line="1" selection-start-column="44" selection-end-line="1" selection-end-column="44" />
+            <state relative-caret-position="1938">
+              <caret line="102" selection-start-line="102" selection-end-line="102" />
             </state>
           </provider>
         </entry>
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>onBind</find>
-      <find>protocolMainServer</find>
-      <find>LogToast</find>
-      <find>connectServer</find>
-      <find>socketStatusListener</find>
-      <find>do</find>
-      <find>log</find>
-      <find>handleCmd</find>
-      <find>&quot;,&quot;</find>
-      <find>handleBP28</find>
-      <find>setSignalStrength</find>
-      <find>imei</find>
-      <find>getCurrentCellInfo</find>
-      <find>setCurrentCellInfo</find>
-      <find>setMccAndMnc</find>
+      <find>502</find>
+      <find>402</find>
+      <find>302</find>
+      <find>is_wifi_network_ok</find>
       <find>onCreate</find>
-      <find>TAG</find>
-      <find>ServerHandler</find>
+      <find>GC_FOR_ALLOC</find>
+      <find>wakeUpFromSleep</find>
+      <find>is_in_sleep_mode</find>
+      <find>onStartCommand</find>
+      <find>invokeHandlerServiceChain</find>
+      <find>Config</find>
+      <find>lacation_mode</find>
+      <find>gSensorListener</find>
+      <find>isTopActivity</find>
+      <find>SystemProperties</find>
+      <find>systempro</find>
+      <find>systemprop</find>
+      <find>lacation_cycle</find>
+      <find>LACATION_MODE</find>
+      <find>value_setting_ver</find>
+      <find>H42@</find>
+      <find>KeepAlive</find>
+      <find>GPS</find>
+      <find>location</find>
+      <find>runtime</find>
+      <find>paramString</find>
+      <find>loadMessage2Queue</find>
+      <find>FLAG_UPDATE_CURRENT</find>
+      <find>sc</find>
+      <find>134217728</find>
     </findStrings>
     <replaceStrings>
       <replace>CMDSPLIT</replace>
       <replace>Logger</replace>
+      <replace>FLAG_UPDATE_CURRENT</replace>
     </replaceStrings>
   </component>
   <component name="Git.Settings">
         <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/DeviceStatus.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Runtime.java" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/BatteryUtil.java" />
         <option value="$PROJECT_DIR$/app/build.gradle" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.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/Constants.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/DeviceInfoUtil.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/LocationClient.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/AudioService.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Update.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/VoiceContent.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/Deliver.java" />
       </list>
     </option>
   </component>
               <item name="java" type="edd41e36:AndroidSourceTypeNode" />
               <item name="protocol" type="cbb59c9e:AndroidPsiDirectoryNode" />
             </path>
+            <path>
+              <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
+              <item name="app" type="feadf853:AndroidModuleNode" />
+              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
+              <item name="protocol" type="cbb59c9e:AndroidPsiDirectoryNode" />
+              <item name="bean" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
+              <item name="app" type="feadf853:AndroidModuleNode" />
+              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
+              <item name="protocol" type="cbb59c9e:AndroidPsiDirectoryNode" />
+              <item name="service" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
+              <item name="app" type="feadf853:AndroidModuleNode" />
+              <item name="java" type="edd41e36:AndroidSourceTypeNode" />
+              <item name="protocol" type="cbb59c9e:AndroidPsiDirectoryNode" />
+              <item name="utils" type="462c0819:PsiDirectoryNode" />
+            </path>
             <path>
               <item name="icsupport" type="1abcf292:AndroidViewProjectNode" />
               <item name="Gradle Scripts" type="ae0cef3a:AndroidBuildScriptsGroupNode" />
     </panes>
   </component>
   <component name="PropertiesComponent">
-    <property name="DEBUGGABLE_DEVICE" value="sprd-c41_wg-860316001000107" />
+    <property name="DEBUGGABLE_DEVICE" value="sprd-c41_q3f-860312001002391" />
     <property name="DEBUGGABLE_PROCESS" value="com.ic.protocol" />
     <property name="DEBUGGER_ID" value="Auto" />
     <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
     <property name="SHOW_ALL_PROCESSES" value="false" />
     <property name="android.sdk.path" value="E:/Android/sdk" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/../okio" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean" />
     <property name="not.eligible.for.single.variant.sync" value="true" />
     <property name="project.structure.last.edited" value="Dependencies" />
     <property name="project.structure.proportion" value="0.17" />
     <property name="project.structure.side.proportion" value="0.2" />
     <property name="settings.editor.selected.configurable" value="AndroidSdkUpdater" />
   </component>
+  <component name="RecentsManager">
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="E:\android_workspace\icsupport\app\src\main\java\com\ic\protocol\bean" />
+      <recent name="E:\android_workspace\icsupport\app\src\main\java\com\ic\protocol\service" />
+      <recent name="E:\android_workspace\icsupport\app\src\main\java\com\ic\protocol" />
+    </key>
+  </component>
   <component name="RunDashboard">
     <option name="ruleStates">
       <list>
     <option name="localTasksCounter" value="2" />
     <servers />
   </component>
+  <component name="TodoView">
+    <todo-panel id="selected-file">
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+    <todo-panel id="all">
+      <are-packages-shown value="true" />
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+  </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1868" height="1096" extended-state="6" />
+    <frame x="-8" y="-8" width="1314" height="784" extended-state="6" />
+    <editor active="true" />
     <layout>
       <window_info id="Captures" order="0" side_tool="true" weight="0.25" />
-      <window_info active="true" content_ui="combo" id="Project" order="1" sideWeight="0.49541286" visible="true" weight="0.15210177" />
+      <window_info active="true" content_ui="combo" id="Project" order="1" sideWeight="0.49541286" visible="true" weight="0.21929824" />
       <window_info id="Structure" order="2" side_tool="true" />
       <window_info id="Favorites" order="3" sideWeight="0.5045872" side_tool="true" weight="0.3293461" />
       <window_info id="Build Variants" order="4" side_tool="true" />
       <window_info id="Resources Explorer" order="7" />
       <window_info id="Capture Tool" order="8" />
       <window_info anchor="bottom" id="Run" order="0" />
-      <window_info anchor="bottom" id="Logcat" order="1" weight="0.5253456" />
-      <window_info anchor="bottom" id="TODO" order="2" />
-      <window_info anchor="bottom" id="Debug" order="3" weight="0.31029186" />
-      <window_info anchor="bottom" id="Terminal" order="4" visible="true" weight="0.3281412" />
+      <window_info anchor="bottom" id="Logcat" order="1" weight="0.5244029" />
+      <window_info anchor="bottom" id="TODO" order="2" weight="0.32917964" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.27725857" />
+      <window_info anchor="bottom" id="Terminal" order="4" weight="0.3281412" />
       <window_info anchor="bottom" id="Event Log" order="5" side_tool="true" />
       <window_info anchor="bottom" id="Version Control" order="6" />
       <window_info anchor="bottom" id="Build" order="7" weight="0.33021808" />
       <window_info anchor="bottom" id="Android Profiler" order="8" />
-      <window_info anchor="bottom" id="Find" order="9" />
-      <window_info anchor="right" id="Device File Explorer" order="0" side_tool="true" />
-      <window_info anchor="right" id="Capture Analysis" order="1" />
-      <window_info anchor="right" id="Gradle" order="2" weight="0.3293461" />
-      <window_info anchor="right" id="Theme Preview" order="3" />
-      <window_info anchor="right" id="Palette&#9;" order="4" />
-      <window_info anchor="right" id="Preview" order="5" />
+      <window_info anchor="bottom" id="Find" order="9" visible="true" weight="0.48694316" />
+      <window_info anchor="right" id="Capture Analysis" order="0" />
+      <window_info anchor="right" id="Gradle" order="1" weight="0.3293461" />
+      <window_info anchor="right" id="Theme Preview" order="2" />
+      <window_info anchor="right" id="Palette&#9;" order="3" />
+      <window_info anchor="right" id="Preview" order="4" />
+      <window_info anchor="right" id="Device File Explorer" order="5" side_tool="true" visible="true" weight="0.4752791" />
     </layout>
   </component>
   <component name="VcsManagerConfiguration">
           <option name="timeStamp" value="2" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/protocolMainServer.java</url>
-          <line>336</line>
+          <url>file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/SimSignalUtil.java</url>
+          <line>85</line>
           <properties />
-          <option name="timeStamp" value="20" />
+          <option name="timeStamp" value="24" />
         </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
     </expressions>
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/beans.java" />
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/simStatus.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="38">
-          <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/bean/stepCounter.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="38">
-          <caret line="2" column="24" selection-start-line="2" selection-start-column="24" selection-end-line="2" selection-end-column="24" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/heartRateStatus.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <caret lean-forward="true" />
-          <folding>
-            <element signature="e#100#101#0" expanded="true" />
-            <element signature="e#126#127#0" expanded="true" />
-            <element signature="e#494#495#0" expanded="true" />
-            <element signature="e#532#533#0" expanded="true" />
-            <element signature="e#624#625#0" expanded="true" />
-            <element signature="e#656#657#0" expanded="true" />
-            <element signature="e#523#524#0" expanded="true" />
-            <element signature="e#549#550#0" expanded="true" />
-            <element signature="e#632#633#0" expanded="true" />
-            <element signature="e#660#661#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/serverStatus.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="38">
-          <caret line="2" column="25" selection-start-line="2" selection-start-column="25" selection-end-line="2" selection-end-column="25" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.reactivex/rxjava/1.1.0/748f0546d5c3c27f1aef07270ffea0c45f0c42a4/rxjava-1.1.0.jar!/rx/functions/Action1.class">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="19">
-          <caret line="4" lean-forward="true" selection-start-line="4" selection-end-line="4" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://E:/Android/sdk/sources/android-25/java/util/HashMap.java" />
-    <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/activity_main.xml">
-      <provider editor-type-id="text-editor">
-        <state relative-caret-position="262">
-          <caret line="43" column="43" selection-start-line="43" selection-start-column="43" selection-end-line="43" selection-end-column="43" />
-        </state>
-      </provider>
-      <provider selected="true" editor-type-id="android-designer2" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/location.java" />
-    <entry file="file://E:/Android/sdk/sources/android-19/com/android/internal/os/ZygoteInit.java" />
     <entry file="file://E:/Android/sdk/sources/android-25/java/lang/Runtime.java" />
     <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Config.java">
       <provider selected="true" editor-type-id="text-editor">
       <provider editor-type-id="android-manifest" />
     </entry>
     <entry file="file://E:/Android/sdk/sources/android-25/java/lang/String.java" />
-    <entry file="file://E:/Android/sdk/sources/android-19/android/app/ActivityThread.java" />
-    <entry file="file://E:/Android/sdk/sources/android-19/android/os/Handler.java" />
     <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/ICLog.java" />
-    <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="525">
-          <caret line="594" column="33" selection-start-line="594" selection-start-column="33" selection-end-line="594" selection-end-column="33" />
-          <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="246">
-          <caret line="319" selection-start-line="319" selection-end-line="319" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/gradle/wrapper/gradle-wrapper.properties">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
     <entry file="file://$PROJECT_DIR$/okio/build.gradle">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/FileCache.java">
+    <entry file="file://$PROJECT_DIR$/app/build.gradle">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="171">
-          <caret line="9" column="24" selection-start-line="9" selection-start-column="24" selection-end-line="9" selection-end-column="24" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state relative-caret-position="1368">
+          <caret line="72" column="22" selection-start-line="72" selection-start-column="22" selection-end-line="72" selection-end-column="22" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/build.gradle">
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1368">
-          <caret line="72" column="22" selection-start-line="72" selection-start-column="22" selection-end-line="72" selection-end-column="22" />
+        <state relative-caret-position="190">
+          <caret line="10" column="35" selection-start-line="10" selection-start-column="35" selection-end-line="10" selection-end-column="35" />
         </state>
       </provider>
     </entry>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/MainActivity.java">
+    <entry file="file://E:/Android/sdk/sources/android-25/java/util/concurrent/Executors.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="190">
-          <caret line="10" column="35" selection-start-line="10" selection-start-column="35" selection-end-line="10" selection-end-column="35" />
+        <state relative-caret-position="269">
+          <caret line="195" column="72" lean-forward="true" selection-start-line="195" selection-start-column="72" selection-end-line="195" selection-end-column="72" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://E:/Android/sdk/sources/android-25/java/util/concurrent/ExecutorService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-3663">
+          <caret line="112" column="17" selection-start-line="112" selection-start-column="17" selection-end-line="112" selection-end-column="17" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://E:/Android/sdk/sources/android-25/java/lang/ref/WeakReference.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="275">
+          <caret line="55" column="11" selection-start-line="55" selection-start-column="11" selection-end-line="55" selection-end-column="11" />
+          <folding>
+            <element signature="e#2453#2454#0" expanded="true" />
+            <element signature="e#2484#2485#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="212">
+          <caret line="21" column="87" lean-forward="true" selection-start-line="21" selection-start-column="87" selection-end-line="21" selection-end-column="87" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://E:/Android/sdk/sources/android-25/java/util/concurrent/locks/ReentrantLock.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="212">
+          <caret line="475" column="21" selection-start-line="475" selection-start-column="21" selection-end-line="475" selection-end-column="21" />
+          <folding>
+            <element signature="e#17622#17623#0" expanded="true" />
+            <element signature="e#17664#17665#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://E:/Android/sdk/sources/android-19/android/content/BroadcastReceiver.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="231">
+          <caret line="450" selection-start-line="450" selection-end-line="450" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://E:/Android/sdk/sources/android-19/android/app/ActivityThread.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="204">
+          <caret line="1455" selection-start-line="1455" selection-end-line="1455" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://E:/Android/sdk/sources/android-19/android/os/Handler.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="250">
+          <caret line="103" selection-start-line="103" selection-end-line="103" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://E:/Android/sdk/sources/android-19/android/os/Looper.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="451">
+          <caret line="72" column="5" selection-start-line="72" selection-start-column="5" selection-end-line="72" selection-end-column="5" />
+        </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="206">
+          <caret line="478" column="41" selection-start-line="478" selection-start-column="41" selection-end-line="478" selection-end-column="41" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#8486#8487#0" expanded="true" />
+            <element signature="e#8537#8538#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/SimSignalUtil.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-814">
+          <caret line="12" column="13" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://E:/Android/sdk/sources/android-25/android/app/Service.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-948">
+          <caret line="705" column="38" lean-forward="true" selection-start-line="705" selection-start-column="38" selection-end-line="705" selection-end-column="38" />
         </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="556">
-          <caret line="865" column="30" selection-start-line="865" selection-start-column="30" selection-end-line="865" selection-end-column="30" />
+        <state relative-caret-position="244">
+          <caret line="358" column="30" selection-start-line="358" selection-start-column="30" selection-end-line="358" selection-end-column="30" />
           <folding>
-            <element signature="e#30742#30743#0" expanded="true" />
-            <element signature="e#30777#30778#0" expanded="true" />
-            <element signature="e#30830#30831#0" expanded="true" />
-            <element signature="e#30874#30875#0" expanded="true" />
-            <element signature="e#31767#31768#0" expanded="true" />
-            <element signature="e#31805#31806#0" expanded="true" />
-            <element signature="e#35907#35908#0" expanded="true" />
-            <element signature="e#35934#35935#0" expanded="true" />
+            <element signature="e#7192#8659#0" expanded="true" />
+            <element signature="e#8658#8659#0" expanded="true" />
+            <element signature="e#30871#30872#0" expanded="true" />
+            <element signature="e#30968#30969#0" expanded="true" />
+            <element signature="e#31780#31781#0" expanded="true" />
+            <element signature="e#31818#31819#0" expanded="true" />
+            <element signature="e#33519#33667#0" expanded="true" />
+            <element signature="e#33666#33667#0" expanded="true" />
+            <element signature="e#35920#35921#0" expanded="true" />
+            <element signature="e#35947#35948#0" expanded="true" />
+            <element signature="e#39132#39133#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
+    <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="1049">
+          <caret line="193" selection-start-line="193" selection-end-line="193" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/StepCount.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="266">
+          <caret line="14" column="13" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/Util.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="171">
+          <caret line="36" column="17" selection-start-line="36" selection-start-column="17" selection-end-line="36" selection-end-column="17" />
+        </state>
+      </provider>
+    </entry>
+    <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="1938">
+          <caret line="102" selection-start-line="102" selection-end-line="102" />
+        </state>
+      </provider>
+    </entry>
+    <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="1919">
+          <caret line="107" selection-start-line="107" selection-end-line="107" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/utils/DeviceInfoUtil.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-2570">
+          <caret line="18" column="39" selection-start-line="18" selection-start-column="39" selection-end-line="18" selection-end-column="39" />
+          <folding>
+            <element signature="e#5048#5049#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://E:/Android/sdk/sources/android-25/android/provider/Settings.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="186">
+          <caret line="6581" column="27" selection-start-line="6581" selection-start-column="24" selection-end-line="6581" selection-end-column="27" />
+        </state>
+      </provider>
+    </entry>
+    <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="205">
+          <caret line="63" column="16" selection-start-line="63" selection-start-column="16" selection-end-line="63" selection-end-column="16" />
+          <folding>
+            <element signature="imports" 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="339">
+          <caret line="744" column="27" selection-start-line="744" selection-start-column="20" selection-end-line="744" selection-end-column="27" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#3142#3481#0" expanded="true" />
+            <element signature="e#3480#3481#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/service/AudioService.java">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://E:/Android/sdk/sources/android-25/android/app/PendingIntent.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="197">
+          <caret line="152" column="47" selection-start-line="152" selection-start-column="28" selection-end-line="152" selection-end-column="47" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/Update.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="447">
+          <caret line="247" column="30" selection-start-line="247" selection-start-column="30" selection-end-line="247" selection-end-column="30" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/ic/protocol/bean/VoiceContent.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="465">
+          <caret line="38" selection-start-line="38" selection-end-line="38" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <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="72">
+          <caret line="39" column="2" lean-forward="true" selection-start-line="39" selection-start-column="2" selection-end-line="39" selection-end-column="2" />
+        </state>
+      </provider>
+    </entry>
   </component>
 </project>
\ No newline at end of file
diff --git a/app/src/main/java/com/ic/protocol/Config.java b/app/src/main/java/com/ic/protocol/Config.java
new file mode 100644 (file)
index 0000000..d926374
--- /dev/null
@@ -0,0 +1,193 @@
+package com.ic.protocol;\r
+\r
+import android.text.TextUtils;\r
+import org.json.JSONException;\r
+import org.json.JSONStringer;\r
+\r
+public class Config {\r
+  public static final String AUDIO_FORMAT = "1";\r
+  \r
+  private static final String BT = "1@4.0";\r
+  \r
+  public static final String COMPANY = "2";\r
+  \r
+  public static final String HOST = "watch.enqualcomm.com";\r
+  \r
+  public static final String HOST_TEST_SERVER = "121.42.192.174";\r
+  \r
+  public static final String IMAGE_FORMAT = "1";\r
+  \r
+  private static final int LBS = 1;\r
+  \r
+  private static final String LCD = "OLED@240X206";\r
+  \r
+  private static final int NFC = 0;\r
+  \r
+  public static final String OSS_HOST = "121.42.245.59";\r
+  \r
+  public static final int OSS_PORT = 11645;\r
+  \r
+  public static final int PORT = 11445;\r
+  \r
+  private static final int Schedule_powonoff = 0;\r
+  \r
+  public static final String TEST_SERVER_PROP = "1";\r
+  \r
+  private static final int TP = 1;\r
+  \r
+  private static final int T_Card = 0;\r
+  \r
+  private static final int air_pressure = 0;\r
+  \r
+  private static final int alarm = 1;\r
+  \r
+  public static int antioff = 0;\r
+  \r
+  private static final int behavior_mode = 0;\r
+  \r
+  private static final int call_vol = 2;\r
+  \r
+  private static final String camera = "1@200";\r
+  \r
+  private static final int check_bill = 1;\r
+  \r
+  private static final int communication_standard = 1;\r
+  \r
+  private static final int connect = 1;\r
+  \r
+  private static final int dampness = 0;\r
+  \r
+  private static final int end_call = 0;\r
+  \r
+  private static final int fight_mode = 0;\r
+  \r
+  private static final int geomagnetic = 0;\r
+  \r
+  private static final int gps = 1;\r
+  \r
+  private static final int gsensor = 1;\r
+  \r
+  private static final int gyroscope = 0;\r
+  \r
+  public static int heart_rate = 0;\r
+  \r
+  private static String json;\r
+  \r
+  private static final int key_num = 1;\r
+  \r
+  private static final int kindness_num = 0;\r
+  \r
+  private static final String language = "0@0";\r
+  \r
+  private static final int make_call = 1;\r
+  \r
+  private static final String market = "domestic";\r
+  \r
+  private static final String mcc_mnc = "46000";\r
+  \r
+  private static final int monitor = 1;\r
+  \r
+  private static final int monitor_num = 0;\r
+  \r
+  private static final int multi_point = 0;\r
+  \r
+  private static final int nickname = 0;\r
+  \r
+  public static final int oss_file = 0;\r
+  \r
+  private static final int other_contact_num = 30;\r
+  \r
+  private static final int pedometer = 1;\r
+  \r
+  private static final int phonebook = 1;\r
+  \r
+  private static final String platform = "SC9820E";\r
+  \r
+  private static final int product = 2;\r
+  \r
+  private static final String protocol_version = "2.0";\r
+  \r
+  private static final int q_a = 1;\r
+  \r
+  private static final int reboot = 1;\r
+  \r
+  private static final int relation = 0;\r
+  \r
+  private static final int relatives = 1;\r
+  \r
+  private static final int ring_vol = 2;\r
+  \r
+  private static final int search_terminal = 1;\r
+  \r
+  private static final int sedentary_reminder = 0;\r
+  \r
+  private static final int shake = 1;\r
+  \r
+  private static final int shutdown_hand = 1;\r
+  \r
+  private static final int silent = 1;\r
+  \r
+  private static final int sim = 1;\r
+  \r
+  private static final int sleep_monitor = 0;\r
+  \r
+  private static final int sms_forward = 0;\r
+  \r
+  private static final int sndrec = 0;\r
+  \r
+  private static final int sos_num = 0;\r
+  \r
+  public static int sw_release_no = -1;\r
+  \r
+  private static final String sw_version = "eiot_V1.0.0";\r
+  \r
+  private static final int temperature = 0;\r
+  \r
+  private static final int time_set = 0;\r
+  \r
+  private static final int url_download = 1;\r
+  \r
+  public static int value_setting = 0;\r
+  \r
+  private static final int video_jf = 1;\r
+  \r
+  private static final int voice_control = 0;\r
+  \r
+  private static final int voice_notice = 1;\r
+  \r
+  private static final int volume = 0;\r
+  \r
+  private static final int weather = 1;\r
+  \r
+  private static final int wechat = 1;\r
+  \r
+  private static final int wifi = 2;\r
+  \r
+  private static final int wifi_setting = 1;\r
+  \r
+  private static final int wireless_charge = 0;\r
+  \r
+  public static String work_mode = "2@1";\r
+  \r
+  private static final int yunosuuid = 0;\r
+  \r
+  static  {\r
+  \r
+  }\r
+  \r
+  private static String make() {\r
+    try {\r
+      return (new JSONStringer()).object().key("cmd").value("Init").key("sw_version").value("eiot_V1.0.0").key("protocol_version").value("2.0").key("product").value(2L).key("sim").value(1L).key("connect").value(1L).key("work_mode").value(work_mode).key("phonebook").value(1L).key("wifi").value(2L).key("pedometer").value(1L).key("wechat").value(1L).key("shake").value(1L).key("antioff").value(antioff).key("key_num").value(1L).key("kindness_num").value(0L).key("sos_num").value(0L).key("monitor_num").value(0L).key("other_contact_num").value(30L).key("volume").value(0L).key("ring_vol").value(2L).key("call_vol").value(2L).key("Schedule_powonoff").value(0L).key("temperature").value(0L).key("air_pressure").value(0L).key("dampness").value(0L).key("BT").value("1@4.0").key("TP").value(1L).key("camera").value("1@200").key("T_Card").value(0L).key("NFC").value(0L).key("wireless_charge").value(0L).key("geomagnetic").value(0L).key("gyroscope").value(0L).key("behavior_mode").value(0L).key("LBS").value(1L).key("monitor").value(1L).key("check_bill").value(1L).key("sndrec").value(0L).key("voice_control").value(0L).key("market").value("domestic").key("platform").value("SC9820E").key("LCD").value("OLED@240X206").key("communication_standard").value(1L).key("time_set").value(0L).key("language").value("0@0").key("mcc_mnc").value("46000").key("end_call").value(0L).key("multi_point").value(0L).key("make_call").value(1L).key("search_terminal").value(1L).key("alarm").value(1L).key("silent").value(1L).key("weather").value(1L).key("url_download").value(1L).key("shutdown_hand").value(1L).key("relation").value(0L).key("voice_notice").value(1L).key("q_a").value(1L).key("gps").value(1L).key("gsensor").value(1L).key("reboot").value(1L).key("relatives").value(1L).key("heart_rate").value(heart_rate).key("sedentary_reminder").value(0L).key("fight_mode").value(0L).key("sleep_monitor").value(0L).key("sms_forward").value(0L).key("video_jf").value(1L).key("nickname").value(0L).key("wifi_setting").value(1L).key("yunosuuid").value(0L).key("oss_file").value(0L).key("swReleaseNo").value(sw_release_no).endObject().toString();\r
+    } catch (JSONException jSONException) {\r
+      jSONException.printStackTrace();\r
+      return "";\r
+    } \r
+  }\r
+  \r
+  public static String toJson() {\r
+    if (TextUtils.isEmpty(json))\r
+      json = make(); \r
+    return json;\r
+  }\r
+}\r
+\r
diff --git a/app/src/main/java/com/ic/protocol/Constants.java b/app/src/main/java/com/ic/protocol/Constants.java
new file mode 100644 (file)
index 0000000..69c786d
--- /dev/null
@@ -0,0 +1,260 @@
+package com.ic.protocol;\r
+\r
+import android.net.Uri;\r
+\r
+public interface Constants {\r
+  public static final String ACTION_ADDTEST_CONTACTS = "com.enqualcomm.imessage.ACTION_ADDTEST_CONTACTS";\r
+  \r
+  public static final String ACTION_ALARM_ADD_DATAPOINTS = "com.enqualcomm.support.ADD_DATAPOINTS";\r
+  \r
+  public static final String ACTION_ALARM_ALARM_CHANGE = "com.enqualcomm.support.ACTION_ALARM_ALARM_CHANGE";\r
+  \r
+  public static final String ACTION_ANTIOFF_ALARM_CHANGE = "com.enqualcomm.support.ACTION_ANTIOFF_ALARM_CHANGE";\r
+  \r
+  public static final String ACTION_AT_CALLBACK = "com.eqc.intent.action.callback.at";\r
+  \r
+  public static final String ACTION_BATTERY_LOW_MSG = "com.enqualcomm.support.lowbatteryMsg";\r
+  \r
+  public static final String ACTION_CALL_CMCM_SERVICE_INTERFACE = "com.cmcm.interface";\r
+  \r
+  public static final String ACTION_CALL_RING = "com.enqualcomm.support.phone.ring";\r
+  \r
+  public static final String ACTION_CARE_ALARM = "com.enqualcomm.support.ACTION_CARE_ALARM";\r
+  \r
+  public static final String ACTION_CLOSE_UNREAD_MSG = "com.enqualcomm.support.CloseUnreadMsg";\r
+  \r
+  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
+  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
+  \r
+  public static final String ACTION_HEATR_RATE_START = "com.eqc.heartrate.action.SILENT_START";\r
+  \r
+  public static final String ACTION_IMESSAGE = "action.message";\r
+  \r
+  public static final String ACTION_ISCONNECTED = "com.enqualcomm.support.ACTION_ISCONNECTED";\r
+  \r
+  public static final String ACTION_ISSILENCE = "com.enqualcomm.icare.ACTION_ISSILENCE";\r
+  \r
+  public static final String ACTION_ISSILENCE2IMESSAGE = "com.enqualcomm.support.ACTION_ISSILENCE2IMESSAGE";\r
+  \r
+  public static final String ACTION_MISSED_CALL_GET = "com.enqualcomm.support.ACTION_MISSED_CALL_GET";\r
+  \r
+  public static final String ACTION_NOTICE_ALARM = "com.enqualcomm.support.ACTION_NOTICE_ALARM";\r
+  \r
+  public static final String ACTION_NOTICE_ALARM_CHANGE = "com.enqualcomm.support.ACTION_NOTICE_ALARM_CHANGE";\r
+  \r
+  public static final String ACTION_PASS_DATA_TO_CM_SERVICES = "com.enqualcomm.support.PASS_DATA";\r
+  \r
+  public static final String ACTION_REMOTE_CAMERA = "com.enqualcomm.support.ACTION_REMOTE_CAMERA";\r
+  \r
+  public static final String ACTION_REMOTE_CAMERA_OSS = "com.enqualcomm.support.ACTION_REMOTE_CAMERA_OSS";\r
+  \r
+  public static final String ACTION_RESTORE_SYSTEM = "android.intent.action.MASTER_CLEAR";\r
+  \r
+  public static final String ACTION_SCANPAIRMESSAGE = "com.enqualcomm.imessage.scanPairMessage";\r
+  \r
+  public static final String ACTION_SEDN_VIDOE_CALL_REQ = "com.enqualcomm.imessage.sendVideoCall";\r
+  \r
+  public static final String ACTION_SEND_SOS_VIDEO_FILE = "com.enqualcomm.support.action_send_sos_video_file";\r
+  \r
+  public static final String ACTION_SEND_VIDEO_FILES = "com.enqualcomm.support.ACTION_SEND_VIDEO_FILES";\r
+  \r
+  public static final String ACTION_SHUTDOWN_MOREINFO = "android.intent.action.ACTION_SHUTDOWN_MOREINFO";\r
+  \r
+  public static final String ACTION_SOS_VIDEO_CHAT = "com.enqualcomm.imessage.ACTION_SOS_VIDEO_CHAT";\r
+  \r
+  public static final String ACTION_START_DOWNLOAD = "com.enqualcomm.imessage.START_DOWNLOAD_ACTION";\r
+  \r
+  public static final String ACTION_STHEART_RATE_ALARM_CHANGE = "com.enqualcomm.support.STHEART_RATE_ALARM_CHANGE";\r
+  \r
+  public static final String ACTION_SYNC = "SYNC";\r
+  \r
+  public static final String ACTION_UNBOUND_TERMINAL = "com.enqualcomm.support.ACTION_UNBOUND_TERMINAL";\r
+  \r
+  public static final String ACTION_UPDATE_ICON = "com.enqualcomm.support.ACTION_UPDATE_ICON";\r
+  \r
+  public static final String ACTION_UPDATE_SECRET_KEY = "com.enqualcomm.support.UPDATE_SECRET_KEY";\r
+  \r
+  public static final String ACTION_VIDEO_END_CALL = "com.enqualcomm.support.ACTION_VIDEO_END_CALL";\r
+  \r
+  public static final String ACTION_VIDEO_LOGIN = "com.enqualcomm.imessage.ACTION_VIDEO_LOGIN";\r
+  \r
+  public static final String ACTION_VIDEO_LOGOUT = "com.enqualcomm.imessage.ACTION_VIDEO_LOGOUT";\r
+  \r
+  public static final String ACTION_VIDEO_RECEIVE_LOGIN = "com.enqualcomm.imessage.ACTION_VIDEO_RECEIVE_LOGIN";\r
+  \r
+  public static final String ACTION_WAKEUP_ALARM = "com.eqc.deliverWakeupAlarm.action";\r
+  \r
+  public static final String ACTION_YUN_ALARM_CHANGE = "com.eqc.deskclock.YUN_ALARM_CHANGE";\r
+  \r
+  public static final int ALARM_UPDATE_NOTICE = 206;\r
+  \r
+  public static final int CALL_RECORD_CHANGED = 103;\r
+  \r
+  public static final String CMD_ID_CM = "cmdId";\r
+\r
+  public static final Uri CONTACT_URI =  Uri.parse("content://com.enqualcomm.support/contact");\r
+\r
+  public static final Uri CM_SERVICE_SETTING = Uri.parse("content://com.cmcm.service/cmsetting");\r
+\r
+  public static final String DIALOG_ACTION = "com.enqualcomm.support.DIALOG";\r
+  \r
+  public static final int ENTER_SILENT_MODE = 212;\r
+  \r
+  public static final int EXIT_SILENT_MODE = 213;\r
+  \r
+  public static final String FLAG = "flag";\r
+  \r
+  public static final String HEART_ALARM = "com.enqualcomm.support.HEART_ALARM";\r
+  \r
+  public static final int IDLE_MODE_CHANGED = 102;\r
+  \r
+  public static final int INIT_SERVER_OK = 216;\r
+  \r
+  public static final int IN_SILENCE = 600;\r
+  \r
+  public static final boolean IS_OVERSEAS = false;\r
+  \r
+  public static final int JUFENG_SDK_INIT = 215;\r
+  \r
+  public static final String KEY_CATEGORY = "category";\r
+  \r
+  public static final String KEY_COMPANY = "KEY_COMPANY";\r
+  \r
+  public static final String KEY_CONTACT_ID = "contact_id";\r
+  \r
+  public static final String KEY_DELETE_FILE_TIME = "KEY_DELETE_FILE_TIME";\r
+  \r
+  public static final String KEY_DEVICE_ID = "key_device_id";\r
+  \r
+  public static final String KEY_DEVICE_KEY = "key_device_key";\r
+  \r
+  public static final String KEY_FILEPATH = "filepath";\r
+  \r
+  public static final String KEY_FILETYPE = "filetype";\r
+  \r
+  public static final String KEY_ID = "id";\r
+  \r
+  public static final String KEY_ISCONNECTED = "isConnected";\r
+  \r
+  public static final String KEY_ISSILENCE = "KEY_ISSILENCE";\r
+  \r
+  public static final String KEY_IS_RESUME = "key_is_resume";\r
+  \r
+  public static final String KEY_JUST_TALK = "KEY_JUST_TALK";\r
+  \r
+  public static final String KEY_NAME = "name";\r
+  \r
+  public static final String KEY_NET_WORK_TYPE = "NET_WORK_TYPE";\r
+  \r
+  public static final String KEY_NUMBER = "number";\r
+  \r
+  public static final String KEY_PAIR_CID = "PAIR_CID";\r
+  \r
+  public static final String KEY_REMOTE_NUMBER = "key_remote_number";\r
+  \r
+  public static final String KEY_SAVE_STEP_COUNT = "key_save_step_count";\r
+  \r
+  public static final String KEY_SOS_FILE_BODY = "key_sos_file_body";\r
+  \r
+  public static final String KEY_SOS_FILE_FILE_TYPE = "key_sos_file_file_type";\r
+  \r
+  public static final String KEY_STATUS = "key_status";\r
+  \r
+  public static final String KEY_STEP_COUNT = "KEY_STEP_COUNT";\r
+  \r
+  public static final String KEY_UNBOUND_FLAG = "KEY_UNBOUND_FLAG";\r
+  \r
+  public static final String KEY_VIDEO_PATH = "KEY_VIDEO_PATH";\r
+  \r
+  public static final int LOCATION_DATA = 217;\r
+  \r
+  public static final int MONITOR_GOIN = 202;\r
+  \r
+  public static final int MONITOR_GOOUT = 203;\r
+  \r
+  public static final int MSG_WHAT_RELOAD_VOICE = 1000;\r
+  \r
+  public static final int MSG_WHAT_SEND_OSSFILE = 1006;\r
+  \r
+  public static final int MSG_WHAT_SEND_PAIR = 1003;\r
+  \r
+  public static final int MSG_WHAT_SEND_PICTURE = 1002;\r
+  \r
+  public static final int MSG_WHAT_SEND_VOICE = 1001;\r
+  \r
+  public static final int MSG_WHAT_SILENCE_STATUS = 1005;\r
+  \r
+  public static final int MSG_WHAT_VIDEO_CHAT = 1004;\r
+  \r
+  public static final int NEW_MEDIA_PUSH = 100;\r
+  \r
+  public static final String OTHER_ALARM_END = "com.enqualcomm.support.OTHER_ALARM_END";\r
+  \r
+  public static final String OTHER_ALARM_START = "com.enqualcomm.support.OTHER_ALARM_START";\r
+  \r
+  public static final String OTHER_HEARTRATE_ALARM_END = "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_END";\r
+  \r
+  public static final String OTHER_HEARTRATE_ALARM_START = "com.enqualcomm.support.OTHER_HEARTRATE_ALARM_START";\r
+  \r
+  public static final int OUT_SILENCE = 700;\r
+  \r
+  public static final int PASS_DATA_DIRECTLY = 500;\r
+  \r
+  public static final int PLAY_RECORD_UPDATE = 207;\r
+  \r
+  public static final int REBOOT_SYSTEM = 208;\r
+  \r
+  public static final int RESET_SYSTEM = 210;\r
+  \r
+  public static final String RESTORE_EXTRA_WIPE_EXTERNAL_STORAGE = "android.intent.extra.WIPE_EXTERNAL_STORAGE";\r
+  \r
+  public static final String RESTORE_REASON = "android.intent.extra.REASON";\r
+  \r
+  public static final int RESULT_ERROR = 500;\r
+  \r
+  public static final int RESULT_OK = 200;\r
+  \r
+  public static final String RESUME_ACTION = "com.enqualcomm.imessage.RESUME_ACTION";\r
+  \r
+  public static final String SERVICE_CLS_NAME = "com.enqualcomm.support.CoreService";\r
+  \r
+  public static final String SERVICE_PKG_NAME = "com.enqualcomm.support";\r
+  \r
+  public static final int SHUTDOWN_SYSTM = 209;\r
+  \r
+  public static final String SLEEP_ALARM = "com.enqualcomm.support.SLEEP_ALARM";\r
+  \r
+  public static final String SOS_ACTION = "com.enqualcomm.imessage.SOS_ACTION";\r
+  \r
+  public static final int SOS_GOIN = 204;\r
+  \r
+  public static final int SOS_GOOUT = 205;\r
+  \r
+  public static final String STEP_COUNT_ALARM_ACTION = "com.enqualcomm.support.ACTION_STEP_COUNT_ALARM";\r
+  \r
+  public static final String STRING_CMD_JSON_DATA = "cmdJsonData";\r
+  \r
+  public static final String STWORKMODE_ALARM = "com.enqualcomm.support.ACTION_STWORKMODE_ALARM";\r
+  \r
+  public static final String VALUE_SETTIING_VERSION = "value_setting_ver";\r
+  \r
+  public static final int VIDEO_MESSAGE = 300;\r
+  \r
+  public static final String WAKE_ALARM = "com.enqualcomm.support.WAKE_ALARM";\r
+  \r
+  public static final String WEATHER_ALARM = "com.enqualcomm.support.ACTION_WEATHER_ALARM";\r
+  \r
+  public static final int WIFI_SET_RESULT = 217;\r
+  \r
+  public static final int WORKMODE_CHANGED = 211;\r
+  \r
+  public static final String contact = "contact";\r
+  \r
+  public static final String wechat_contact = "content";\r
+}\r
+\r
index 0c6307d..7b57378 100644 (file)
@@ -12,12 +12,13 @@ import android.os.SystemClock;
 import android.provider.Settings;\r
 \r
 import com.ic.protocol.adapter.LBSHelper;\r
-import com.ic.protocol.bean.Config;\r
 import com.ic.protocol.bean.StringMessage;\r
+import com.ic.protocol.service.KeepAlive;\r
 import com.ic.protocol.service.protocolMainServer;\r
 import com.ic.protocol.utils.CellInfoUtil;\r
 import com.ic.protocol.utils.DeviceInfoUtil;\r
 import com.ic.protocol.utils.FileCache;\r
+import com.ic.protocol.utils.FileOutputUtil;\r
 import com.ic.protocol.utils.Logger;\r
 import com.ic.protocol.utils.NettyConnection;\r
 import com.ic.protocol.utils.ServiceUtil;\r
@@ -94,12 +95,14 @@ public class LocationClient {
   private long haveChanegTo4GTime;\r
   \r
   private String mCellInfo;\r
-  \r
+\r
+  ReentrantLock mLock = new ReentrantLock();\r
+\r
   Condition mCondition = this.mLock.newCondition();\r
   \r
   private LBSHelper mLbsHelper;\r
   \r
-  ReentrantLock mLock = new ReentrantLock();\r
+\r
   \r
   private int mPedometer2;\r
   \r
@@ -199,24 +202,21 @@ public class LocationClient {
   }\r
   \r
   private static void loadMessage2Queue() {\r
-//    byte b = 0;\r
-//    while (b < 5) {\r
-//      str = fileCache.load();\r
-//      if (str != null) {\r
-//        byte b1 = b + true;\r
-//        try {\r
-//          StringMessage stringMessage = new StringMessage(str);\r
-//          b = b1;\r
-//          if (!queue.offerLast(stringMessage)) {\r
-//            fileCache.put(str);\r
-//            b = b1;\r
-//          }\r
-//        } catch (Exception str) {\r
-//          str.printStackTrace();\r
-//          b = b1;\r
-//        }\r
-//      }\r
-//    }\r
+    byte b = 0;\r
+    while (b < 5) {\r
+      String str = fileCache.load();\r
+      if (str != null) {\r
+        byte b1 = ++b;\r
+        try {\r
+          StringMessage stringMessage = new StringMessage(str);\r
+          if (!queue.offerLast(stringMessage)) {\r
+            fileCache.put(str);\r
+          }\r
+        } catch (Exception e) {\r
+          e.printStackTrace();\r
+        }\r
+      }\r
+    }\r
   }\r
   \r
   private void notifiSetAirModeMethod() { (new Thread(new Runnable() {\r
@@ -511,7 +511,7 @@ public class LocationClient {
     this.mLbsHelper.setOnWiFiInfoListener(new LBSHelper.OnWiFiInfoListener() {\r
           public void getWifiInfoCallBack(String param1String) {\r
 //            LocationClient.access$002(true);\r
-//            runtime.currentWifiInfo = param1String;\r
+            runtime.currentWifiInfo = param1String;\r
           }\r
         });\r
   }\r
@@ -601,7 +601,7 @@ public class LocationClient {
   }\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
+//    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
@@ -660,23 +660,25 @@ public class LocationClient {
   \r
   public void start() {\r
     this.mSignalUtil = SimSignalUtil.getInstance((runtime.getContextProxy()).context);\r
+    // 开启计步\r
 //    EqcAlgorithmNative.EqcAlgorithmNativeSetInterface(this);\r
 //    EqcAlgorithmNative.native_EqcAlgorithm_Gsensor_eint_work_start();\r
 //    EqcAlgorithmNative.native_EqcAlgorithmMethod2();\r
+    //获取定位服务\r
     this.mLbsHelper = runtime.getLbsHelper();\r
     int i = SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, "value_setting_ver", 0);\r
     StringBuilder stringBuilder = new StringBuilder();\r
     stringBuilder.append("11  value_setting=");\r
     stringBuilder.append(i);\r
     Logger.i(stringBuilder.toString());\r
-//    if (i == Config.value_setting) {\r
-//      EqcAlgorithmNative.native_EqcAlgorithmMethod1(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, "lacation_mode", 2), SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, "lacation_cycle", 3));\r
-//    } else {\r
+    if (i == Config.value_setting) {\r
+//      EqcAlgorithmNative.native_EqcAlgorithmMethod1(SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_MODE, 2), SharPreferenceUtil.getPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 3));\r
+    } else {\r
 //      EqcAlgorithmNative.native_EqcAlgorithmMethod1(2, 3);\r
-//      SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, "value_setting_ver", Config.value_setting);\r
-      SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, "lacation_mode", 2);\r
-      SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, "lacation_cycle", 3);\r
-//    }\r
+      SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, "value_setting_ver", Config.value_setting);\r
+      SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_MODE, 2);\r
+      SharPreferenceUtil.setPrefInt((runtime.getContextProxy()).context, LACATION_CYCLE, 3);\r
+    }\r
     IntentFilter intentFilter = new IntentFilter();\r
     intentFilter.addAction("android.intent.action.SCREEN_ON");\r
     (runtime.getContextProxy()).context.registerReceiver(this.screenOnReceiver, intentFilter);\r
@@ -707,68 +709,60 @@ public class LocationClient {
     }\r
     \r
     public void run() {\r
-//      while (true) {\r
-//        StringMessage stringMessage = null;\r
-//        try {\r
-//          StringMessage stringMessage1 = (StringMessage)LocationClient.queue.take();\r
-//          try {\r
-//            if (runtime.getSignalStrength() + 110 < LocationClient.getMinSignalStrength(SimSignalUtil.getInstance((runtime.getContextProxy()).context).getNetworkType())) {\r
-//              LocationClient.saveQueue();\r
-//              stringMessage = stringMessage1;\r
-//            } else {\r
-//              exception = LocationClient.setNewKey(stringMessage1, runtime.IMEI_CID_KEY());\r
-//              stringMessage = exception;\r
+      while (true) {\r
+        StringMessage stringMessage = null;\r
+        try {\r
+          StringMessage stringMessage1 = (StringMessage)LocationClient.queue.take();\r
+          try {\r
+            if (runtime.getSignalStrength() + 110 < LocationClient.getMinSignalStrength(SimSignalUtil.getInstance((runtime.getContextProxy()).context).getNetworkType())) {\r
+              LocationClient.saveQueue();\r
+              stringMessage = stringMessage1;\r
+            } else {\r
+              StringMessage imei = LocationClient.setNewKey(stringMessage1, runtime.IMEI_CID_KEY());\r
+              stringMessage = imei;\r
 //              null = StringMessageEncoder.toString(exception);\r
-//              stringMessage = exception;\r
-//              Context context = (runtime.getContextProxy()).context;\r
-//              stringMessage = exception;\r
-//              StringBuilder stringBuilder = new StringBuilder();\r
-//              stringMessage = exception;\r
-//              stringBuilder.append("send=");\r
-//              stringMessage = exception;\r
-//              stringBuilder.append(null);\r
-//              stringMessage = exception;\r
-//              FileOutputUtil.fileOutput(context, "LocationInfo", stringBuilder.toString());\r
-//              stringMessage = exception;\r
-//              connection.send(exception);\r
-//              stringMessage = exception;\r
-//              this.lock.lock();\r
-//              stringMessage = exception;\r
+               Context context = (runtime.getContextProxy()).context;\r
+               StringBuilder stringBuilder = new StringBuilder();\r
+              stringBuilder.append("send=");\r
+              stringBuilder.append(stringMessage.toString());\r
+              FileOutputUtil.fileOutput(context, "LocationInfo", stringBuilder.toString());\r
+\r
+              connection.send(stringMessage);\r
+\r
+              this.lock.lock();\r
 //              LocationClient.access$1102(false);\r
-//              try {\r
-//                if (KeepAlive.isConnected) {\r
-//                  this.condition.await(30000L, TimeUnit.MILLISECONDS);\r
-//                } else if (exception.all() != null && exception.all()[0].equals("#@H10@#")) {\r
-//                  this.condition.await(30000L, TimeUnit.MILLISECONDS);\r
-//                } else {\r
-//                  this.condition.await(5000L, TimeUnit.MILLISECONDS);\r
-//                }\r
-//                if (linkOK) {\r
-//                  if (exception.all() != null && exception.all()[0].equals("#@H43@#")) {\r
-//                    this.isResent = false;\r
-//                    Deliver.releaseWakeLockForGetWifiList();\r
-//                  } else if (exception.all() != null && exception.all()[0].equals("#@H42@#")) {\r
-//                    Deliver.releaseWakeLockForGetWifiList();\r
-//                  }\r
-//                  if (LocationClient.queue.peek() == null)\r
-//                    LocationClient.loadMessage2Queue();\r
-//                  stringMessage = exception;\r
-//                  this.lock.unlock();\r
-//                  continue;\r
-//                }\r
-//              } finally {\r
-//                stringMessage = exception;\r
-//                this.lock.unlock();\r
-//                stringMessage = exception;\r
-//              }\r
-//            }\r
-//          } catch (Exception e) {\r
-//            stringMessage = stringMessage1;\r
-//          }\r
-//        } catch (Exception e) {\r
-//          e.printStackTrace();\r
-//        }\r
-//      }\r
+              try {\r
+                if (KeepAlive.isConnected) {\r
+                  this.condition.await(30000L, TimeUnit.MILLISECONDS);\r
+                } else if (stringMessage.all() != null && stringMessage.all()[0].equals("#@H10@#")) {\r
+                  this.condition.await(30000L, TimeUnit.MILLISECONDS);\r
+                } else {\r
+                  this.condition.await(5000L, TimeUnit.MILLISECONDS);\r
+                }\r
+                if (linkOK) {\r
+                  if (stringMessage.all() != null && stringMessage.all()[0].equals("#@H43@#")) {\r
+                    this.isResent = false;\r
+                    Deliver.releaseWakeLockForGetWifiList();\r
+                  } else if (stringMessage.all() != null && stringMessage.all()[0].equals("#@H42@#")) {\r
+                    Deliver.releaseWakeLockForGetWifiList();\r
+                  }\r
+                  if (LocationClient.queue.peek() == null)\r
+                    LocationClient.loadMessage2Queue();\r
+                    this.lock.unlock();\r
+\r
+                  continue;\r
+                }\r
+              } finally {\r
+                this.lock.unlock();\r
+              }\r
+            }\r
+          } catch (Exception e) {\r
+            stringMessage = stringMessage1;\r
+          }\r
+        } catch (Exception e) {\r
+          e.printStackTrace();\r
+        }\r
+      }\r
     }\r
   }\r
 }\r
diff --git a/app/src/main/java/com/ic/protocol/bean/Update.java b/app/src/main/java/com/ic/protocol/bean/Update.java
new file mode 100644 (file)
index 0000000..56c2f5d
--- /dev/null
@@ -0,0 +1,300 @@
+package com.ic.protocol.bean;\r
+\r
+import com.ic.protocol.utils.Logger;\r
+\r
+import java.util.ArrayList;\r
+\r
+public class Update {\r
+  public ArrayList<Alarm> alarmList;\r
+  \r
+  public ArrayList<Antioff> antioffList;\r
+  \r
+  public boolean clearAdmin;\r
+  \r
+  public boolean clearCall;\r
+  \r
+  public boolean clearCare;\r
+  \r
+  public boolean clearPartner;\r
+  \r
+  public boolean clearVideo;\r
+  \r
+  public ArrayList<Contact> contactList;\r
+  \r
+  public ArrayList<Silent> silentList;\r
+  \r
+  public ArrayList<StheartRate> stheartRateList;\r
+  \r
+  public Weather weather;\r
+  \r
+  private Update(ArrayList<Contact> paramArrayList1,\r
+                 boolean paramBoolean1,\r
+                 boolean paramBoolean2,\r
+                 boolean paramBoolean3,\r
+                 boolean paramBoolean4,\r
+                 boolean paramBoolean5,\r
+                 ArrayList<Silent> paramArrayList2,\r
+                 ArrayList<Alarm> paramArrayList3,\r
+                 Weather paramWeather,\r
+                 ArrayList<StheartRate> paramArrayList4,\r
+                 ArrayList<Antioff> paramArrayList5) {\r
+    this.contactList = paramArrayList1;\r
+    this.clearAdmin = paramBoolean1;\r
+    this.clearCare = paramBoolean2;\r
+    this.clearCall = paramBoolean3;\r
+    this.clearPartner = paramBoolean4;\r
+    this.clearVideo = paramBoolean5;\r
+    this.silentList = paramArrayList2;\r
+    this.alarmList = paramArrayList3;\r
+    this.weather = paramWeather;\r
+    this.stheartRateList = paramArrayList4;\r
+    this.antioffList = paramArrayList5;\r
+  }\r
+  \r
+  public static class Builder {\r
+    String StheartRateInterval;\r
+    \r
+    Contact admin;\r
+    \r
+    String admin_icon_index;\r
+    \r
+    ArrayList<Alarm> alarmList;\r
+    \r
+    String[] alarmNames;\r
+    \r
+    ArrayList<Antioff> antioffList;\r
+\r
+    \r
+    ArrayList<Contact> callList;\r
+    \r
+    String[] call_icon_indexes;\r
+    \r
+    ArrayList<Contact> careList;\r
+    \r
+    String[] care_icon_indexes;\r
+    \r
+    boolean clearAdmin;\r
+    \r
+    public String cur_Temperature;\r
+    \r
+    public String max_Temperature;\r
+    \r
+    public String min_Temperature;\r
+    \r
+    ArrayList<Contact> partnerList;\r
+    \r
+    String[] partner_icon_indexes;\r
+\r
+    \r
+    ArrayList<Silent> silentList;\r
+    \r
+    ArrayList<StheartRate> stheartRateList;\r
+    \r
+    String stwork_mode;\r
+    \r
+    ArrayList<Contact> videoList;\r
+    \r
+    String[] video_icon_indexes;\r
+    \r
+    public String weatherIndex;\r
+    \r
+    public String weatherInfo;\r
+    \r
+    public String weatherType;\r
+    \r
+    public void addAlarm(String param1String1, String param1String2, String param1String3, String param1String4) { this.alarmList.add(new Alarm(param1String1, param1String2, param1String3, param1String4)); }\r
+    \r
+    public void addAntioff(String param1String1, String param1String2, String param1String3, String param1String4) { this.antioffList.add(new Antioff(param1String1, param1String2, param1String3, param1String4)); }\r
+    \r
+    public void addCall(String param1String1, String param1String2) { this.callList.add(new Contact(3, param1String1, param1String2)); }\r
+    \r
+    public void addCare(String param1String1, String param1String2) { this.careList.add(new Contact(2, param1String1, param1String2)); }\r
+    \r
+    public void addPartner(String param1String1, String param1String2, String param1String3) { this.partnerList.add(new Contact(4, param1String1, param1String2, param1String3)); }\r
+    \r
+    public void addSilent(String param1String1, String param1String2, String param1String3, String param1String4) { this.silentList.add(new Silent(param1String1, param1String2, param1String3, param1String4)); }\r
+    \r
+    public void addStheartRate(String param1String1, String param1String2, String param1String3, String param1String4) { this.stheartRateList.add(new StheartRate(param1String1, param1String2, param1String3, param1String4)); }\r
+    \r
+    public void addVideo(String param1String1, String param1String2, String param1String3) { this.videoList.add(new Contact(5, param1String1, param1String2, param1String3)); }\r
+    \r
+    public Update build() {\r
+      boolean bool4;\r
+      boolean bool3;\r
+      boolean bool2;\r
+      boolean bool1;\r
+      ArrayList arrayList1 = new ArrayList();\r
+\r
+      Weather weather = new Weather();\r
+\r
+\r
+      if (this.weatherType != null)\r
+        weather.weatherType = this.weatherType; \r
+      if (this.min_Temperature != null)\r
+        weather.min_Temperature = this.min_Temperature; \r
+      if (this.max_Temperature != null)\r
+        weather.max_Temperature = this.max_Temperature; \r
+      if (this.cur_Temperature != null)\r
+        weather.cur_Temperature = this.cur_Temperature; \r
+      if (this.weatherIndex != null)\r
+        weather.weatherIndex = this.weatherIndex; \r
+      if (this.weatherInfo != null)\r
+        weather.weatherInfo = this.weatherInfo; \r
+      if (this.admin != null) {\r
+        this.admin.icon_index = this.admin_icon_index;\r
+        arrayList1.add(this.admin);\r
+      } \r
+      ArrayList arrayList2 = this.careList;\r
+      boolean bool = false;\r
+      int i = 1;\r
+      if (arrayList2 != null) {\r
+        bool1 = true;\r
+      } else {\r
+        bool1 = false;\r
+      } \r
+      if (bool1) {\r
+        boolean bool5;\r
+        if (this.care_icon_indexes != null && this.care_icon_indexes.length == this.careList.size()) {\r
+          bool5 = true;\r
+        } else {\r
+          bool5 = false;\r
+        } \r
+        int j = this.careList.size();\r
+        for (byte b = 0; b < j; b++) {\r
+          Contact contact = (Contact)this.careList.get(b);\r
+          if (bool5)\r
+            contact.icon_index = this.care_icon_indexes[b]; \r
+          arrayList1.add(contact);\r
+        } \r
+      } \r
+      if (this.callList != null) {\r
+        bool2 = true;\r
+      } else {\r
+        bool2 = false;\r
+      } \r
+      if (bool2) {\r
+        boolean bool5;\r
+        if (this.call_icon_indexes != null && this.call_icon_indexes.length == this.callList.size()) {\r
+          bool5 = true;\r
+        } else {\r
+          bool5 = false;\r
+        } \r
+        int j = this.callList.size();\r
+        for (byte b = 0; b < j; b++) {\r
+          Contact contact = (Contact)this.callList.get(b);\r
+          if (bool5)\r
+            contact.icon_index = this.call_icon_indexes[b]; \r
+          arrayList1.add(contact);\r
+        } \r
+      } \r
+      if (this.partnerList != null) {\r
+        bool3 = true;\r
+      } else {\r
+        bool3 = false;\r
+      } \r
+      if (bool3) {\r
+        boolean bool5;\r
+        if (this.partner_icon_indexes != null && this.partner_icon_indexes.length == this.partnerList.size()) {\r
+          bool5 = true;\r
+        } else {\r
+          bool5 = false;\r
+        } \r
+        int j = this.partnerList.size();\r
+        for (byte b = 0; b < j; b++) {\r
+          Contact contact = (Contact)this.partnerList.get(b);\r
+          if (bool5)\r
+            contact.icon_index = this.partner_icon_indexes[b]; \r
+          arrayList1.add(contact);\r
+        } \r
+      } \r
+      if (this.videoList != null) {\r
+        bool4 = true;\r
+      } else {\r
+        bool4 = false;\r
+      } \r
+      if (bool4) {\r
+        boolean bool5;\r
+        if (this.video_icon_indexes != null && this.video_icon_indexes.length == this.videoList.size()) {\r
+          bool5 = true;\r
+        } else {\r
+          bool5 = false;\r
+        } \r
+        i = this.videoList.size();\r
+        for (byte b = 0; b < i; b++) {\r
+          Contact contact = (Contact)this.videoList.get(b);\r
+          if (bool5)\r
+            contact.icon_index = this.video_icon_indexes[b]; \r
+          arrayList1.add(contact);\r
+        } \r
+      } \r
+      if (this.alarmList != null && this.alarmNames != null) {\r
+        int j = this.alarmList.size();\r
+        for (byte b = 0; b < j; b++)\r
+          ((Alarm)this.alarmList.get(b)).name = this.alarmNames[b]; \r
+      } \r
+      if (this.stheartRateList != null && this.StheartRateInterval != null)\r
+        for (byte b = 0; b < this.stheartRateList.size(); b++)\r
+          ((StheartRate)this.stheartRateList.get(b)).interval = this.StheartRateInterval;  \r
+      return new Update(arrayList1,\r
+              this.clearAdmin,\r
+              bool1,\r
+              bool2,\r
+              bool3,\r
+              bool4,\r
+              this.silentList,\r
+              this.alarmList,\r
+              weather,\r
+              this.stheartRateList,\r
+              this.antioffList);\r
+    }\r
+    \r
+    public void clearAdmin() {\r
+      this.clearAdmin = true;\r
+      this.admin = null;\r
+    }\r
+    \r
+    public void clearAlarm() { this.alarmList = new ArrayList(); }\r
+    \r
+    public void clearAntioff() { this.antioffList = new ArrayList(); }\r
+    \r
+    public void clearCall() { this.callList = new ArrayList(); }\r
+    \r
+    public void clearCare() { this.careList = new ArrayList(); }\r
+    \r
+    public void clearPartner() { this.partnerList = new ArrayList(); }\r
+    \r
+    public void clearSilent() { this.silentList = new ArrayList(); }\r
+    \r
+    public void clearStheartRate() { this.stheartRateList = new ArrayList(); }\r
+    \r
+    public void clearVideo() { this.videoList = new ArrayList(); }\r
+    \r
+    public String getStwork_mode() { return this.stwork_mode; }\r
+    \r
+    public void setAdmin(String param1String1, String param1String2) {\r
+      this.admin = new Contact(1, param1String1, param1String2);\r
+      StringBuilder stringBuilder = new StringBuilder();\r
+      stringBuilder.append("name= ");\r
+      stringBuilder.append(param1String1);\r
+      stringBuilder.append("number=");\r
+      stringBuilder.append(param1String2);\r
+      Logger.i(stringBuilder.toString());\r
+    }\r
+    \r
+    public void setAdminIcon(String param1String) { this.admin_icon_index = param1String; }\r
+    \r
+    public void setAlarmNames(String[] param1ArrayOfString) { this.alarmNames = param1ArrayOfString; }\r
+    \r
+    public void setCallIcons(String[] param1ArrayOfString) { this.call_icon_indexes = param1ArrayOfString; }\r
+    \r
+    public void setCareIcons(String[] param1ArrayOfString) { this.care_icon_indexes = param1ArrayOfString; }\r
+    \r
+    public void setPartnerIcons(String[] param1ArrayOfString) { this.partner_icon_indexes = param1ArrayOfString; }\r
+    \r
+    public void setStheartRateInterval(String param1String) { this.StheartRateInterval = param1String; }\r
+    \r
+    public void setStwork_mode(String param1String) { this.stwork_mode = param1String; }\r
+    \r
+    public void setVideoIcons(String[] param1ArrayOfString) { this.video_icon_indexes = param1ArrayOfString; }\r
+  }\r
+}\r
diff --git a/app/src/main/java/com/ic/protocol/bean/VoiceContent.java b/app/src/main/java/com/ic/protocol/bean/VoiceContent.java
new file mode 100644 (file)
index 0000000..3d63f9b
--- /dev/null
@@ -0,0 +1,38 @@
+package com.ic.protocol.bean;\r
+\r
+import com.ic.protocol.utils.Util;\r
+\r
+import java.io.File;\r
+import java.util.ArrayList;\r
+\r
+public class VoiceContent extends Content {\r
+  private VoiceContent(String paramString1, String paramString2, int paramInt1, int paramInt2, int paramInt3, String paramString3, String paramString4, long paramLong) { super(1, paramString1, paramString2, paramInt1, paramInt2, paramInt3, paramString3, paramString4, paramLong); }\r
+  \r
+  public static VoiceContent from(VoiceContent paramVoiceContent, byte[] paramArrayOfByte, File paramFile) {\r
+    byte b = paramArrayOfByte[0];\r
+    byte[] arrayOfByte = new byte[b];\r
+    System.arraycopy(paramArrayOfByte, 1, arrayOfByte, 0, b);\r
+    ArrayList arrayList = Util.split(arrayOfByte, (byte)59, 0);\r
+    StringBuilder stringBuilder1 = new StringBuilder();\r
+    stringBuilder1.append(new String((byte[])arrayList.get(1)));\r
+    stringBuilder1.append(new String((byte[])arrayList.get(2)));\r
+    String str2 = stringBuilder1.toString();\r
+    String str3 = new String((byte[])arrayList.get(4));\r
+    int i = paramArrayOfByte.length - 1 - b;\r
+    int j = paramArrayOfByte.length;\r
+    StringBuilder stringBuilder2 = new StringBuilder();\r
+    stringBuilder2.append(str3);\r
+    stringBuilder2.append(".amr");\r
+    String str1 = Util.saveFile(paramArrayOfByte, j - i, i, paramFile, stringBuilder2.toString());\r
+    i = Util.getDuration(str1);\r
+    paramVoiceContent.preview = (paramVoiceContent.content = str1).valueOf(i);\r
+    paramVoiceContent.status = 2;\r
+    paramVoiceContent.serverTime = str2;\r
+    return paramVoiceContent;\r
+  }\r
+  \r
+  public static VoiceContent placeHolderIn(int paramInt, String paramString1, String paramString2) { return new VoiceContent(paramString2, null, 1, 1, paramInt, paramString1, null, System.currentTimeMillis()); }\r
+  \r
+  public static VoiceContent placeHolderOut(int paramInt, String paramString1, String paramString2) { return new VoiceContent(paramString2, null, 1, 2, paramInt, paramString1, null, System.currentTimeMillis()); }\r
+}\r
+\r
diff --git a/app/src/main/java/com/ic/protocol/service/AudioService.java b/app/src/main/java/com/ic/protocol/service/AudioService.java
new file mode 100644 (file)
index 0000000..336e8f2
--- /dev/null
@@ -0,0 +1,106 @@
+package com.ic.protocol.service;\r
+\r
+import android.content.res.AssetFileDescriptor;\r
+import android.content.res.AssetManager;\r
+import android.media.MediaPlayer;\r
+import com.enqualcomm.support.util.Logger;\r
+\r
+public class AudioService implements MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener {\r
+  private MediaPlayer mMediaPlayer;\r
+  \r
+  public AudioService() { initMediaPlayer(); }\r
+  \r
+  private void initMediaPlayer() {\r
+    release();\r
+    this.mMediaPlayer = new MediaPlayer();\r
+    this.mMediaPlayer.setOnCompletionListener(this);\r
+    this.mMediaPlayer.setOnErrorListener(this);\r
+  }\r
+  \r
+  public void onCompletion(MediaPlayer paramMediaPlayer) { release(); }\r
+  \r
+  public boolean onError(MediaPlayer paramMediaPlayer, int paramInt1, int paramInt2) {\r
+    release();\r
+    return false;\r
+  }\r
+  \r
+  public void pause() {\r
+    if (this.mMediaPlayer != null)\r
+      this.mMediaPlayer.pause(); \r
+  }\r
+  \r
+  public void play(AssetManager paramAssetManager, String paramString) {\r
+    Logger.i("mMediaPlayer play");\r
+    if (this.mMediaPlayer == null)\r
+      initMediaPlayer(); \r
+    this.mMediaPlayer.reset();\r
+    try {\r
+      AssetFileDescriptor assetFileDescriptor = paramAssetManager.openFd(paramString);\r
+      this.mMediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());\r
+      assetFileDescriptor.close();\r
+      this.mMediaPlayer.prepare();\r
+      this.mMediaPlayer.start();\r
+      return;\r
+    } catch (Exception paramAssetManager) {\r
+      paramAssetManager.printStackTrace();\r
+      return;\r
+    } \r
+  }\r
+  \r
+  public void play(String paramString) {\r
+    if (this.mMediaPlayer == null)\r
+      initMediaPlayer(); \r
+    this.mMediaPlayer.reset();\r
+    try {\r
+      this.mMediaPlayer.setDataSource(paramString);\r
+      this.mMediaPlayer.prepare();\r
+      this.mMediaPlayer.start();\r
+      return;\r
+    } catch (Exception paramString) {\r
+      paramString.printStackTrace();\r
+      return;\r
+    } \r
+  }\r
+  \r
+  public void play(String paramString, boolean paramBoolean) {\r
+    if (this.mMediaPlayer == null)\r
+      initMediaPlayer(); \r
+    this.mMediaPlayer.reset();\r
+    try {\r
+      this.mMediaPlayer.setDataSource(paramString);\r
+      this.mMediaPlayer.prepareAsync();\r
+      this.mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {\r
+            public void onPrepared(MediaPlayer param1MediaPlayer) { AudioService.this.mMediaPlayer.start(); }\r
+          });\r
+      return;\r
+    } catch (Exception paramString) {\r
+      paramString.printStackTrace();\r
+      return;\r
+    } \r
+  }\r
+  \r
+  public void rePlay() {\r
+    if (this.mMediaPlayer != null)\r
+      this.mMediaPlayer.start(); \r
+  }\r
+  \r
+  public void release() {\r
+    if (this.mMediaPlayer != null) {\r
+      this.mMediaPlayer.setOnCompletionListener(null);\r
+      this.mMediaPlayer.setOnErrorListener(null);\r
+      this.mMediaPlayer.release();\r
+      this.mMediaPlayer = null;\r
+    } \r
+  }\r
+  \r
+  public void stop() {\r
+    if (this.mMediaPlayer != null && this.mMediaPlayer.isPlaying())\r
+      this.mMediaPlayer.stop(); \r
+  }\r
+}\r
+\r
+\r
+/* Location:              D:\android\ApkIDE3.3\ApkIDE\Worksrc\com.enqualcomm.support\!\com\enqualcomm\support\service\AudioService.class\r
+ * Java compiler version: 6 (50.0)\r
+ * JD-Core Version:       1.0.7\r
+ */
\ No newline at end of file
diff --git a/app/src/main/java/com/ic/protocol/service/CheckSIM.java b/app/src/main/java/com/ic/protocol/service/CheckSIM.java
new file mode 100644 (file)
index 0000000..681b5c4
--- /dev/null
@@ -0,0 +1,101 @@
+package com.ic.protocol.service;\r
+\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.telephony.TelephonyManager;\r
+import com.enqualcomm.support.bean.Runtime;\r
+import com.enqualcomm.support.bean.StringMessage;\r
+import com.enqualcomm.support.netty.Connection;\r
+import com.enqualcomm.support.service.base.AbstractConnectionService;\r
+\r
+public class CheckSIM extends AbstractConnectionService {\r
+  private static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";\r
+  \r
+  private BroadcastReceiver SimStateReceive = new BroadcastReceiver() {\r
+      public void onReceive(Context param1Context, Intent param1Intent) {\r
+        if (param1Intent.getAction().equals("android.intent.action.SIM_STATE_CHANGED") && CheckSIM.this.hasSimCard()) {\r
+          CheckSIM.this.simState[0] = 1;\r
+          CheckSIM.this.simState[1] = -1;\r
+          CheckSIM.this.simState[2] = -1;\r
+          CheckSIM.this.simState[3] = -1;\r
+        } \r
+      }\r
+    };\r
+  \r
+  Runtime mRuntime;\r
+  \r
+  int[] simState = { 0, 0, 0, 0 };\r
+  \r
+  private boolean hasSimCard() {\r
+    int i = ((TelephonyManager)(this.mRuntime.getContextProxy()).context.getSystemService("phone")).getSimState();\r
+    boolean bool = false;\r
+    switch (i) {\r
+      default:\r
+        bool = true;\r
+        break;\r
+      case 0:\r
+      case 1:\r
+        break;\r
+    } \r
+    return bool;\r
+  }\r
+  \r
+  public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {\r
+    if (hasSimCard()) {\r
+      this.simState[0] = 1;\r
+      this.simState[1] = -1;\r
+      this.simState[2] = -1;\r
+      this.simState[3] = -1;\r
+      return;\r
+    } \r
+    if (this.simState[0] == 1) {\r
+      byte b1 = 0;\r
+      byte b2;\r
+      for (b2 = 0; b1 < this.simState.length; b2 = b) {\r
+        byte b = b2;\r
+        if (this.simState[b1] == 0)\r
+          b = b2 + true; \r
+        b1++;\r
+      } \r
+      switch (b2) {\r
+        default:\r
+          return;\r
+        case 3:\r
+          this.mRuntime.getContextProxy().reboot();\r
+          return;\r
+        case 2:\r
+          this.simState[3] = 0;\r
+          return;\r
+        case 1:\r
+          this.simState[2] = 0;\r
+          return;\r
+        case 0:\r
+          break;\r
+      } \r
+      this.simState[1] = 0;\r
+    } \r
+  }\r
+  \r
+  public void onAttach(Connection paramConnection, Runtime paramRuntime) {\r
+    this.mRuntime = paramRuntime;\r
+    IntentFilter intentFilter = new IntentFilter();\r
+    intentFilter.addAction("android.intent.action.SIM_STATE_CHANGED");\r
+    (paramRuntime.getContextProxy()).context.registerReceiver(this.SimStateReceive, intentFilter);\r
+  }\r
+  \r
+  public boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime) { return false; }\r
+  \r
+  public boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime) { return false; }\r
+  \r
+  public void onDetach(Connection paramConnection, Runtime paramRuntime) {}\r
+  \r
+  public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, Runtime paramRuntime) { return false; }\r
+}\r
+\r
+\r
+/* Location:              D:\android\ApkIDE3.3\ApkIDE\Worksrc\com.enqualcomm.support\!\com\enqualcomm\support\service\CheckSIM.class\r
+ * Java compiler version: 6 (50.0)\r
+ * JD-Core Version:       1.0.7\r
+ */
\ No newline at end of file
diff --git a/app/src/main/java/com/ic/protocol/service/Deliver.java b/app/src/main/java/com/ic/protocol/service/Deliver.java
new file mode 100644 (file)
index 0000000..c34a297
--- /dev/null
@@ -0,0 +1,693 @@
+package com.ic.protocol.service;\r
+\r
+import android.app.AlarmManager;\r
+import android.app.PendingIntent;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.net.ConnectivityManager;\r
+import android.net.Uri;\r
+import android.net.wifi.WifiConfiguration;\r
+import android.net.wifi.WifiManager;\r
+import android.os.Build;\r
+import android.os.Handler;\r
+import android.os.PowerManager;\r
+import android.os.SystemClock;\r
+import android.text.TextUtils;1\r
+import com.ic.protocol.bean.StringMessage;\r
+import com.ic.protocol.bean.VoiceContent;\r
+import com.ic.protocol.service.base.AbstractConnectionService;\r
+import com.ic.protocol.utils.AlarmHelper;\r
+import com.ic.protocol.utils.Connection;\r
+import com.ic.protocol.bean.Runtime;\r
+import com.ic.protocol.utils.DBHelper;\r
+import com.ic.protocol.utils.Logger;\r
+import com.ic.protocol.utils.ServiceUtil;\r
+import com.ic.protocol.utils.SharPreferenceUtil;\r
+\r
+import java.util.ArrayList;\r
+import java.util.concurrent.TimeUnit;\r
+import rx.Observable;\r
+import rx.Subscriber;\r
+import rx.functions.Action1;\r
+import rx.schedulers.Schedulers;\r
+\r
+import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;\r
+\r
+public class Deliver extends AbstractConnectionService {\r
+  private static final String RECEIVE_WAKE_LOCKTAG = "ReceiveWakelockTag";\r
+  \r
+  private static PowerManager.WakeLock WifiListWakeLock;\r
+  \r
+  public static boolean haveSendH42 = false;\r
+  \r
+  private static int isAppSetWifi = 0;\r
+  \r
+  public static boolean is_active_location = false;\r
+  \r
+  private PowerManager.WakeLock ReceiveWakeLock;\r
+  \r
+  private Handler delayHandler;\r
+  \r
+  private Runnable delayTh;\r
+  \r
+  private Connection mConnection;\r
+  \r
+  private ConWifiReceiver mMyWifiReceiver;\r
+  \r
+  private Runtime mRuntime;\r
+  \r
+  private final String spilForWifi = "@EQCWIFI@";\r
+  \r
+  private boolean wakeLockWifiList = false;\r
+  \r
+  private boolean wakeLockWifiSet = false;\r
+  \r
+  private String wifiDataForCm;\r
+  \r
+  private boolean wifiEnabled;\r
+  \r
+  static  {\r
+  \r
+  }\r
+  \r
+  public static PowerManager.WakeLock WakeLockForGetWifiList(Runtime paramRuntime) {\r
+    PowerManager.WakeLock wakeLock = ((PowerManager)(paramRuntime.getContextProxy()).context.getSystemService(Context.POWER_SERVICE)).newWakeLock(1, "waitForWifiListReply");\r
+    wakeLock.acquire(120000L);\r
+    return wakeLock;\r
+  }\r
+  \r
+  private boolean isSilence(Runtime paramRuntime) { return SharPreferenceUtil.getPrefBoolean((paramRuntime.getContextProxy()).context, "KEY_ISSILENCE", false); }\r
+  \r
+  public static void releaseWakeLockForGetWifiList() {\r
+    if (WifiListWakeLock == null) {\r
+      Logger.i("WifiListWakeLock 没有加锁");\r
+      return;\r
+    } \r
+    if (WifiListWakeLock.isHeld()) {\r
+      WifiListWakeLock.release();\r
+      WifiListWakeLock = null;\r
+    } \r
+  }\r
+  \r
+  public PowerManager.WakeLock getWakeLock() {\r
+    PowerManager.WakeLock wakeLock = ((PowerManager)(this.mRuntime.getContextProxy()).context.getSystemService(Context.POWER_SERVICE)).newWakeLock(1, "ReceiveWakelockTag");\r
+    wakeLock.acquire(40000L);\r
+    return wakeLock;\r
+  }\r
+  \r
+  public void onAlarmClock(Connection paramConnection, Runtime paramRuntime) {}\r
+  \r
+  public void onAttach(Connection paramConnection, Runtime paramRuntime) {}\r
+  \r
+  public boolean onConnectionClose(Connection paramConnection, Runtime paramRuntime) { return false; }\r
+  \r
+  public boolean onConnectionOpen(Connection paramConnection, Runtime paramRuntime) { return false; }\r
+  \r
+  public void onDetach(Connection paramConnection, Runtime paramRuntime) {}\r
+  \r
+  public boolean onReceive(StringMessage paramStringMessage, Connection paramConnection, final Runtime paramRuntime) {\r
+    StringBuilder stringBuilder4;\r
+    final String number;\r
+    StringBuilder stringBuilder3;\r
+    String[] arrayOfString6;\r
+    final WifiManager wifiManager;\r
+    long l;\r
+    int i;\r
+    StringBuilder stringBuilder2;\r
+    Intent intent;\r
+    String str4;\r
+    String[] arrayOfString5;\r
+    String str3;\r
+    StringBuilder stringBuilder1;\r
+    String[] arrayOfString4;\r
+    String str2;\r
+    String[] arrayOfString2;\r
+    Context context;\r
+    String str1;\r
+    DBHelper dBHelper;\r
+    final String[] passWord;\r
+    String[] arrayOfString1;\r
+    this.mConnection = paramConnection;\r
+    this.mRuntime = paramRuntime;\r
+    String str5 = paramStringMessage.cmd();\r
+    if (str5.startsWith("SmsSet")) {\r
+      arrayOfString4 = str5.split(":");\r
+      if (arrayOfString4.length > 1) {\r
+        paramConnection.send(API.H13(paramRuntime, arrayOfString4[1]));\r
+        if ("1".equals(arrayOfString4[1])) {\r
+          int j = paramRuntime.getContextProxy().getTelephonyManager().getCallState();\r
+          if (1 != j && 2 != j && !isSilence(paramRuntime)) {\r
+            paramRuntime.getContextProxy().startSearchActivity();\r
+            return true;\r
+          } \r
+        } else {\r
+          if ("2".equals(arrayOfString4[1])) {\r
+            Observable.timer(5000L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
+                  public void call(Long param1Long) { paramRuntime.getContextProxy().reboot(); }\r
+                });\r
+            return true;\r
+          } \r
+          if ("3".equals(arrayOfString4[1])) {\r
+            Observable.timer(5000L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
+                  public void call(Long param1Long) {\r
+                    Intent intent = new Intent("android.intent.action.MASTER_CLEAR");\r
+                    intent.addFlags(268435456);\r
+                    intent.putExtra("android.intent.extra.REASON", "MasterClearConfirm");\r
+                    intent.putExtra("android.intent.extra.WIPE_EXTERNAL_STORAGE", true);\r
+                    (paramRuntime.getContextProxy()).context.sendBroadcast(intent);\r
+                  }\r
+                });\r
+            return true;\r
+          } \r
+          if (arrayOfString4[1].startsWith("0")) {\r
+            paramConnection.send(API.H11(paramRuntime, "1"));\r
+            paramRuntime.setShutdown(true);\r
+            Observable.timer(60000L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
+                  public void call(Long param1Long) { paramRuntime.getContextProxy().shutdown(); }\r
+                });\r
+            return true;\r
+          } \r
+          if ("8".equals(arrayOfString4[1])) {\r
+            is_active_location = true;\r
+//            EqcAlgorithmNative.native_EqcAlgorithmMethod3(64);\r
+            return true;\r
+          } \r
+          if ("9".equals(arrayOfString4[1])) {\r
+            Logger.i("解绑成功");\r
+            SharPreferenceUtil.setPrefInt((paramRuntime.getContextProxy()).context, "KEY_UNBOUND_FLAG", 0);\r
+          } \r
+        } \r
+      } \r
+      return true;\r
+    } \r
+    if (str5.equals("PUSH")) {\r
+      stringBuilder2 = new StringBuilder();\r
+      stringBuilder2.append("response=");\r
+      stringBuilder2.append(arrayOfString4.toString());\r
+      Logger.i(stringBuilder2.toString());\r
+//      Observable.create(new PassData(arrayOfString4, paramRuntime)).subscribeOn(Schedulers.io()).subscribe(new Action1<String>() {\r
+//            public void call(String param1String) {\r
+//              if (param1String != null)\r
+//                ServiceUtil.offerQueue(API.H76(paramRuntime, param1String), false);\r
+//            }\r
+//          });\r
+      return true;\r
+    } \r
+    switch (str5.hashCode()) {\r
+      default:\r
+        i = -1;\r
+        break;\r
+      case 2010452830:\r
+        if (str5.equals("NewPicture")) {\r
+          i = 5;\r
+          break;\r
+        } \r
+      case 1965687765:\r
+        if (str5.equals("Location")) {\r
+          i = 9;\r
+          break;\r
+        } \r
+      case 1474607358:\r
+        if (str5.equals("Check_bill")) {\r
+          i = 3;\r
+          break;\r
+        } \r
+      case 1433513874:\r
+        if (str5.equals("NewVoice")) {\r
+          i = 4;\r
+          break;\r
+        } \r
+      case 750870555:\r
+        if (str5.equals("RemoteWifiRate")) {\r
+          i = 11;\r
+          break;\r
+        } \r
+      case 613936256:\r
+        if (str5.equals("RemoteHeartRate")) {\r
+          i = 10;\r
+          break;\r
+        } \r
+      case 411981707:\r
+        if (str5.equals("Videojufenglogin")) {\r
+          i = 8;\r
+          break;\r
+        } \r
+      case -355520725:\r
+        if (str5.equals("RemoteCamera")) {\r
+          i = 2;\r
+          break;\r
+        } \r
+      case -811859232:\r
+        if (str5.equals("GetVideoId")) {\r
+          i = 7;\r
+          break;\r
+        } \r
+      case -1391156271:\r
+        if (str5.equals("RemoteSetWifiRate")) {\r
+          i = 12;\r
+          break;\r
+        } \r
+      case -1393994438:\r
+        if (str5.equals("Monitor")) {\r
+          i = 1;\r
+          break;\r
+        } \r
+      case -1754979095:\r
+        if (str5.equals("Update")) {\r
+          i = 0;\r
+          break;\r
+        } \r
+      case -1882613593:\r
+        if (str5.equals("OssFileDowload")) {\r
+          i = 13;\r
+          break;\r
+        } \r
+      case -1893234925:\r
+        if (str5.equals("UrlDownloadPic")) {\r
+          i = 6;\r
+          break;\r
+        } \r
+    } \r
+    switch (i) {\r
+      default:\r
+        return false;\r
+      case 13:\r
+//        str2 = arrayOfString4.all()[1];\r
+//        Observable.create(new GetOssFile(paramRuntime)).observeOn(Schedulers.io()).subscribe(new Subscriber<ArrayList<OssFileMessageContent>>() {\r
+//              public void onCompleted() {}\r
+//\r
+//              public void onError(Throwable param1Throwable) {}\r
+//\r
+//              public void onNext(ArrayList<OssFileMessageContent> param1ArrayList) {\r
+//                if (param1ArrayList.size() > 0)\r
+//                  for (OssFileMessageContent ossFileMessageContent : param1ArrayList)\r
+//                    runtime.getDbHelper().insertOrUpdate(ossFileMessageContent);\r
+//              }\r
+//            });\r
+        return true;\r
+      case 12:\r
+//        stringBuilder2.send(API.H13(paramRuntime, "42"));\r
+//        this.wakeLockWifiSet = true;\r
+//        if (this.ReceiveWakeLock == null)\r
+//          this.ReceiveWakeLock = getWakeLock();\r
+//        str4 = Util.getRealName((byte[])str2.source().get(1));\r
+//        arrayOfString3 = str4.split("@EQCWIFI@");\r
+//        stringBuilder3 = new StringBuilder();\r
+//        stringBuilder3.append("split1=");\r
+//        stringBuilder3.append(str4);\r
+//        Logger.i(stringBuilder3.toString());\r
+//        str4 = arrayOfString3[0];\r
+//        if (arrayOfString3.length > 1) {\r
+//          String str = arrayOfString3[1];\r
+//        } else {\r
+//          arrayOfString3 = null;\r
+//        }\r
+        wifiManager = paramRuntime.getContextProxy().getWifiManager();\r
+        this.wifiEnabled = wifiManager.isWifiEnabled();\r
+        if (this.mMyWifiReceiver == null)\r
+          this.mMyWifiReceiver = new ConWifiReceiver(); \r
+        this.wifiDataForCm = str4;\r
+//        Observable.create(new GetWifiRate(paramRuntime, true, str4)).observeOn(Schedulers.io()).subscribe(new Subscriber<String>() {\r
+//              public void onCompleted() {}\r
+//\r
+//              public void onError(Throwable param1Throwable) {}\r
+//\r
+//              public void onNext(String param1String) {\r
+//                Logger.i("回调回来了");\r
+//                if (TextUtils.isEmpty(param1String)) {\r
+//                  ServiceUtil.offerQueue(API.H42(runtime, "2"));\r
+//                  Deliver.access$202(Deliver.this, false);\r
+//                  Deliver.this.releaseOneWakeLock();\r
+//                  Deliver.access$102(Deliver.WakeLockForGetWifiList(runtime));\r
+//                  return;\r
+//                }\r
+//                String[] arrayOfString = param1String.split("@EQCWIFI@");\r
+//                String str1 = arrayOfString[0];\r
+//                String str2 = arrayOfString[1];\r
+//                StringBuilder stringBuilder1 = new StringBuilder();\r
+//                stringBuilder1.append("ssid=");\r
+//                stringBuilder1.append(str1);\r
+//                stringBuilder1.append(" securityType=");\r
+//                stringBuilder1.append(str2);\r
+//                Logger.i(stringBuilder1.toString());\r
+//                Deliver deliver = Deliver.this;\r
+//                StringBuilder stringBuilder2 = new StringBuilder();\r
+//                stringBuilder2.append(arrayOfString[0]);\r
+//                stringBuilder2.append("@EQCWIFI@");\r
+//                stringBuilder2.append(arrayOfString[2]);\r
+//                Deliver.access$302(deliver, stringBuilder2.toString());\r
+//                if (Util.isConnectWifi((this.val$runtime.getContextProxy()).context)) {\r
+//                  int j = wifiManager.getConnectionInfo().getNetworkId();\r
+//                  wifiManager.disconnect();\r
+//                  wifiManager.removeNetwork(j);\r
+//                  wifiManager.saveConfiguration();\r
+//                }\r
+//                Deliver.access$402(1);\r
+//                WifiConfiguration wifiConfiguration = Util.GetconfigWifiInfo((this.val$runtime.getContextProxy()).context, str1, passWord, str2);\r
+//                int i = wifiConfiguration.networkId;\r
+//                wifiManager.removeNetwork(i);\r
+//                wifiManager.saveConfiguration();\r
+//                i = wifiManager.addNetwork(wifiConfiguration);\r
+//                if (Util.connectWifiByReflectMethod((this.val$runtime.getContextProxy()).context, i) == null && !wifiManager.enableNetwork(i, true)) {\r
+//                  Logger.i("连接失败 3");\r
+//                  SystemClock.sleep(3000L);\r
+//                  ServiceUtil.offerQueue(API.H42(runtime, "1"));\r
+//                  wifiManager.setWifiEnabled(false);\r
+//                  Deliver.access$202(Deliver.this, false);\r
+//                  Deliver.this.releaseOneWakeLock();\r
+//                  Deliver.access$102(Deliver.WakeLockForGetWifiList(runtime));\r
+//                  return;\r
+//                }\r
+//                IntentFilter intentFilter = new IntentFilter();\r
+//                intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");\r
+//                (this.val$runtime.getContextProxy()).context.registerReceiver(Deliver.this.mMyWifiReceiver, intentFilter);\r
+//              }\r
+//            });\r
+        return true;\r
+      case 11:\r
+//        str4.send(API.H13(paramRuntime, "43"));\r
+        this.wakeLockWifiList = true;\r
+        if (this.ReceiveWakeLock == null)\r
+          this.ReceiveWakeLock = getWakeLock(); \r
+//        Observable.create(new GetWifiRate(paramRuntime, false, "")).observeOn(Schedulers.io()).subscribe(new Subscriber<String>() {\r
+//              public void onCompleted() {}\r
+//\r
+//              public void onError(Throwable param1Throwable) {}\r
+//\r
+//              public void onNext(String param1String) {\r
+//                StringMessage stringMessage;\r
+//                if (param1String == null) {\r
+//                  stringMessage = API.H43(runtime, "2", "");\r
+//                } else {\r
+//                  stringMessage = API.H43(runtime, "2", stringMessage);\r
+//                }\r
+//                ServiceUtil.offerQueue(stringMessage, false);\r
+//                Deliver.access$002(Deliver.this, false);\r
+//                Deliver.this.releaseOneWakeLock();\r
+//                Deliver.access$102(Deliver.WakeLockForGetWifiList(runtime));\r
+//              }\r
+//            });\r
+        return true;\r
+      case 10:\r
+        str4.send(API.H13(paramRuntime, "15"));\r
+        context = arrayOfString3.all()[1];\r
+        stringBuilder1 = new StringBuilder();\r
+        stringBuilder1.append("remoteHeartRate==");\r
+        stringBuilder1.append(context);\r
+        Logger.i(stringBuilder1.toString());\r
+        if (context != null)\r
+          paramRuntime.getContextProxy().sendStheartRateBroadcast("com.eqc.heartrate.action.SILENT_START", 2); \r
+        return true;\r
+      case 9:\r
+        context = context.all()[1];\r
+        if (context != null) {\r
+          String[] arrayOfString = context.split(",");\r
+          paramRuntime.setLatitude(arrayOfString[0]);\r
+          paramRuntime.setLongitude(arrayOfString[1]);\r
+        } \r
+        return true;\r
+      case 8:\r
+        i = paramRuntime.getContextProxy().getTelephonyManager().getCallState();\r
+        if (!isSilence(paramRuntime) && 1 != i && 2 != i) {\r
+          context = (paramRuntime.getContextProxy()).context;\r
+          Intent intent1 = new Intent(context, com.enqualcomm.support.CoreService.class);\r
+          intent1.setAction("com.enqualcomm.imessage.ACTION_VIDEO_RECEIVE_LOGIN");\r
+          context.startService(intent1);\r
+        } \r
+        return true;\r
+      case 7:\r
+        arrayOfString2 = context.all()[1];\r
+        if (arrayOfString2 != null) {\r
+          arrayOfString2 = arrayOfString2.split("@");\r
+          paramRuntime.setVideoID(arrayOfString2[0]);\r
+          paramRuntime.setHaveBuy(arrayOfString2[1]);\r
+          paramRuntime.setHaveTry(arrayOfString2[2]);\r
+        } \r
+        return true;\r
+      case 6:\r
+        str1 = arrayOfString2.all()[1];\r
+        if (str1 != null)\r
+          paramRuntime.getDbHelper().saveUrlDownloadPic(str1); \r
+        return true;\r
+      case 5:\r
+        arrayOfString5 = str1.all()[1].split("@");\r
+//        Observable.create(new GetPicture(arrayOfString5[0], arrayOfString5[1], str1.all()[2], paramRuntime)).subscribeOn(Schedulers.io()).subscribe(new Subscriber<PictureContent>() {\r
+//              Uri uri;\r
+//\r
+//              public void onCompleted() {}\r
+//\r
+//              public void onError(Throwable param1Throwable) {}\r
+//\r
+//              public void onNext(PictureContent param1PictureContent) {\r
+//                if (this.uri == null) {\r
+//                  this.uri = runtime.getDbHelper().insertOrUpdate(param1PictureContent);\r
+//                  return;\r
+//                }\r
+//                runtime.getDbHelper().updateMessage(param1PictureContent, this.uri);\r
+//              }\r
+//            });\r
+        return true;\r
+      case 4:\r
+        arrayOfString6 = str1.all()[1].split("@");\r
+        str6 = arrayOfString6[1];\r
+        str3 = "0";\r
+        if (str1.size() > 3)\r
+          str3 = str1.all()[3]; \r
+        stringBuilder4 = new StringBuilder();\r
+        stringBuilder4.append("is_family =");\r
+        stringBuilder4.append(str3);\r
+        Logger.i(stringBuilder4.toString());\r
+        Observable.create(new GetVoice(arrayOfString6[0], arrayOfString6[1], str1.all()[2], str3, paramRuntime)).subscribeOn(Schedulers.io()).subscribe(new Subscriber<VoiceContent>() {\r
+              Uri uri;\r
+              \r
+              public void onCompleted() {}\r
+              \r
+              public void onError(Throwable param1Throwable) {}\r
+              \r
+              public void onNext(VoiceContent param1VoiceContent) {\r
+                if (this.uri == null) {\r
+                  this.uri = runtime.getDbHelper().insertOrUpdate(param1VoiceContent);\r
+                  return;\r
+                } \r
+                runtime.getDbHelper().updateMessage(param1VoiceContent, this.uri);\r
+                final Context context = (this.val$runtime.getContextProxy()).context;\r
+                final int contactCategory = param1VoiceContent.contactCategory;\r
+//                Observable.create(new GetContact(number, context)).subscribeOn(Schedulers.io()).subscribe(new Action1<Contact>() {\r
+//                      public void call(Contact param2Contact) {\r
+//                        int i = runtime.getContextProxy().getTelephonyManager().getCallState();\r
+//                        if (!runtime.getBatteryLow() && 1 != i && 2 != i) {\r
+//                          Intent intent = new Intent();\r
+//                          intent.setAction("com.enqualcomm.support.DIALOG");\r
+//                          if (contactCategory == 3) {\r
+//                            param2Contact.number = "1@-1";\r
+//                            param2Contact.category = 0;\r
+//                            param2Contact.name = (this.this$1.val$runtime.getContextProxy()).context.getResources().getString(2131624025);\r
+//                          }\r
+//                          intent.putExtra("contact", param2Contact);\r
+//                          context.sendBroadcast(intent);\r
+//                        }\r
+//                      }\r
+//                    });\r
+              }\r
+            });\r
+        return true;\r
+      case 3:\r
+//        str3.send(API.H13(paramRuntime, "97"));\r
+//        Observable.create(new GetCheckInfo(str1.source(), paramRuntime)).subscribeOn(Schedulers.io()).subscribe(new Subscriber<ArrayList<CheckBillInfo>>() {\r
+//              public void onCompleted() {}\r
+//\r
+//              public void onError(Throwable param1Throwable) {}\r
+//\r
+//              public void onNext(ArrayList<CheckBillInfo> param1ArrayList) {\r
+//                for (CheckBillInfo checkBillInfo : param1ArrayList) {\r
+//                  if (checkBillInfo.getReceiverContent() != null)\r
+//                    (new Thread(new Runnable(this, checkBillInfo) {\r
+//                          public void run() {\r
+//                            SystemClock.sleep(1000L);\r
+//                            ServiceUtil.offerQueue(API.H18(runtime, checkBillInfo));\r
+//                          }\r
+//                        })).start();\r
+//                }\r
+//              }\r
+//            });\r
+        return true;\r
+      case 2:\r
+//        str3.send(API.H13(paramRuntime, "10"));\r
+        arrayOfString1 = str1.all();\r
+        intent = new Intent();\r
+        intent.setAction("com.enqualcomm.support.ACTION_REMOTE_CAMERA");\r
+        intent.putExtra("key_remote_number", arrayOfString1[1]);\r
+        (paramRuntime.getContextProxy()).context.sendBroadcast(intent);\r
+        return true;\r
+      case 1:\r
+//        intent.send(API.H13(paramRuntime, "98"));\r
+        dBHelper = paramRuntime.getDbHelper();\r
+        l = System.currentTimeMillis();\r
+        dBHelper.upDateMonitor(String.valueOf(l), String.valueOf(l + 60000L));\r
+        AlarmHelper.setRealTimeAlarm((paramRuntime.getContextProxy()).context, 1, "com.enqualcomm.support.MONITOR_EXIT");\r
+        return true;\r
+      case 0:\r
+        break;\r
+    } \r
+//    intent.send(API.H04(paramRuntime));\r
+//    Observable.create(new ParseUpdate(dBHelper, paramRuntime)).subscribeOn(Schedulers.io()).subscribe(new Action1<Update>() {\r
+//          public void call(Update param1Update) {\r
+//            DBHelper dBHelper = runtime.getDbHelper();\r
+//            runtime.getContextProxy();\r
+//            dBHelper.saveContacts(param1Update.contactList, param1Update.clearAdmin, param1Update.clearCare, param1Update.clearCall, param1Update.clearPartner, param1Update.clearVideo);\r
+//            if (param1Update.alarmList != null)\r
+//              dBHelper.saveAlarm(param1Update.alarmList);\r
+//            if (param1Update.silentList != null)\r
+//              dBHelper.saveSilent(param1Update.silentList);\r
+//            if (param1Update.mIKnowledge != null && (param1Update.mIKnowledge.award != null || param1Update.mIKnowledge.score != null))\r
+//              dBHelper.saveIKnowledge(param1Update.mIKnowledge);\r
+//            if (param1Update.weather != null && !TextUtils.isEmpty(param1Update.weather.weatherType))\r
+//              dBHelper.saveWeather(param1Update.weather);\r
+//            if (param1Update.stheartRateList != null)\r
+//              dBHelper.saveStheartRateList(param1Update.stheartRateList);\r
+//          }\r
+//        });\r
+    return true;\r
+  }\r
+  \r
+  public void releaseOneWakeLock() {\r
+    if (this.ReceiveWakeLock == null) {\r
+      Logger.i("ReceiveWakeLock 没有加锁");\r
+      return;\r
+    } \r
+    if (!this.wakeLockWifiList && !this.wakeLockWifiSet && this.ReceiveWakeLock.isHeld()) {\r
+      this.ReceiveWakeLock.release();\r
+      this.ReceiveWakeLock = null;\r
+    } \r
+  }\r
+  \r
+  public void releaseReceiveWakeLock() {\r
+    if (this.ReceiveWakeLock == null) {\r
+      Logger.i("ReceiveWakeLock 没有加锁");\r
+      return;\r
+    } \r
+    if (this.ReceiveWakeLock.isHeld()) {\r
+      this.ReceiveWakeLock.release();\r
+      this.wakeLockWifiList = false;\r
+      this.wakeLockWifiSet = false;\r
+      this.ReceiveWakeLock = null;\r
+    } \r
+  }\r
+  \r
+  public void setWakeupAlarm(Runtime paramRuntime) {\r
+    AlarmManager alarmManager = (AlarmManager)(paramRuntime.getContextProxy()).context.getSystemService(Context.ALARM_SERVICE);\r
+    Intent intent = new Intent((paramRuntime.getContextProxy()).context, protocolMainServer.class);\r
+    intent.setAction("com.eqc.deliverWakeupAlarm.action");\r
+    PendingIntent pendingIntent = PendingIntent.getService((paramRuntime.getContextProxy()).context, 0, intent, FLAG_UPDATE_CURRENT);\r
+    alarmManager.cancel(pendingIntent);\r
+    long l = SystemClock.elapsedRealtime();\r
+    StringBuilder stringBuilder = new StringBuilder();\r
+    stringBuilder.append("SDK_INT=");\r
+    stringBuilder.append(Build.VERSION.SDK_INT);\r
+    stringBuilder.append(",m=,");\r
+    stringBuilder.append(23);\r
+    stringBuilder.append(",kitkat=");\r
+    stringBuilder.append(19);\r
+    Logger.i(stringBuilder.toString());\r
+    if (Build.VERSION.SDK_INT >= 19) {\r
+      alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + 10000L, pendingIntent);\r
+      return;\r
+    } \r
+    alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, l + 10000L, pendingIntent);\r
+  }\r
+  \r
+  class ConWifiReceiver extends BroadcastReceiver {\r
+    public void onReceive(final Context context, Intent param1Intent) {\r
+      String str = param1Intent.getAction();\r
+      StringBuilder stringBuilder = new StringBuilder();\r
+      stringBuilder.append(" receive action=");\r
+      stringBuilder.append(str);\r
+      stringBuilder.append(" isAppSetWifi=");\r
+      stringBuilder.append(isAppSetWifi);\r
+      Logger.i(stringBuilder.toString());\r
+      if (str.equals("android.net.conn.CONNECTIVITY_CHANGE")) {\r
+        if (isAppSetWifi == 0)\r
+          return; \r
+        if (isAppSetWifi == 1) {\r
+//          Deliver.access$402(0);\r
+          if (Deliver.this.delayHandler != null) {\r
+            Deliver.this.delayHandler.removeCallbacks(Deliver.this.delayTh);\r
+//            Deliver.access$602(Deliver.this, null);\r
+          } \r
+        } \r
+        WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);\r
+        if (((ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE)).getNetworkInfo(1).isConnected()) {\r
+          Logger.i("连接成功");\r
+//          Deliver.access$402(0);\r
+          Deliver.haveSendH42 = true;\r
+          Deliver.this.mConnection.connect(Deliver.this.mRuntime.getHost(), Deliver.this.mRuntime.getPort());\r
+          if (Deliver.this.delayHandler != null) {\r
+            Deliver.this.delayHandler.removeCallbacks(Deliver.this.delayTh);\r
+//            Deliver.access$602(Deliver.this, null);\r
+          }\r
+          context.unregisterReceiver(Deliver.this.mMyWifiReceiver);\r
+//          Deliver.access$502(Deliver.this, null);\r
+//          Deliver.access$202(Deliver.this, false);\r
+          Deliver.this.releaseOneWakeLock();\r
+//          Deliver.access$102(Deliver.WakeLockForGetWifiList(Deliver.this.mRuntime));\r
+          return;\r
+        } \r
+        stringBuilder = new StringBuilder();\r
+        stringBuilder.append("连接失败 222 delayHandler=");\r
+        stringBuilder.append(Deliver.this.delayHandler);\r
+        Logger.i(stringBuilder.toString());\r
+//        Deliver.access$402(2);\r
+        wifiManager.reconnect();\r
+        if (Deliver.this.delayHandler == null) {\r
+//          Deliver.access$602(Deliver.this, new Handler());\r
+//          Deliver.access$702(Deliver.this, new Runnable() {\r
+//                public void run() {\r
+//                  StringBuilder stringBuilder = new StringBuilder();\r
+//                  stringBuilder.append("连接失败 超时 wifiEnabled=");\r
+//                  stringBuilder.append(ConWifiReceiver.this.wifiEnabled);\r
+//                  Logger.i(stringBuilder.toString());\r
+//                  if (isAppSetWifi == 1)\r
+//                    return;\r
+//                  Deliver.access$402(0);\r
+//                  context.unregisterReceiver(ConWifiReceiver.this.this$0.mMyWifiReceiver);\r
+//                  Deliver.access$502(ConWifiReceiver.this.this$0, null);\r
+//                  WifiManager wifiManager = (WifiManager)context.getSystemService("wifi");\r
+//                  if (((ConnectivityManager)context.getSystemService("connectivity")).getNetworkInfo(1).isConnected()) {\r
+//                    Logger.i("连接成功 1");\r
+//                    Deliver.haveSendH42 = true;\r
+//                    ConWifiReceiver.this.this$0.mConnection.connect(ConWifiReceiver.this.this$0.mRuntime.getHost(), ConWifiReceiver.this.this$0.mRuntime.getPort());\r
+//                    Deliver.access$202(ConWifiReceiver.this.this$0, false);\r
+//                    ConWifiReceiver.this.this$0.releaseOneWakeLock();\r
+//                    Deliver.access$102(Deliver.WakeLockForGetWifiList(ConWifiReceiver.this.this$0.mRuntime));\r
+//                  } else {\r
+//                    int i = wifiManager.getConnectionInfo().getNetworkId();\r
+//                    if (i != -1) {\r
+//                      wifiManager.disableNetwork(i);\r
+//                      ServiceUtil.offerQueue(API.H42(ConWifiReceiver.this.this$0.mRuntime, "3"));\r
+//                      Deliver.access$202(ConWifiReceiver.this.this$0, false);\r
+//                      ConWifiReceiver.this.this$0.releaseOneWakeLock();\r
+//                      Deliver.access$102(Deliver.WakeLockForGetWifiList(ConWifiReceiver.this.this$0.mRuntime));\r
+//                    } else {\r
+//                      Logger.i("连接失败 2-2");\r
+//                      ServiceUtil.offerQueue(API.H42(ConWifiReceiver.this.this$0.mRuntime, "3"));\r
+//                      Deliver.access$202(ConWifiReceiver.this.this$0, false);\r
+//                      ConWifiReceiver.this.this$0.releaseOneWakeLock();\r
+//                      Deliver.access$102(Deliver.WakeLockForGetWifiList(ConWifiReceiver.this.this$0.mRuntime));\r
+//                    }\r
+//                    if (!ConWifiReceiver.this.this$0.wifiEnabled)\r
+//                      wifiManager.setWifiEnabled(false);\r
+//                  }\r
+//                  Deliver.access$602(ConWifiReceiver.this.this$0, null);\r
+//                }\r
+//              });\r
+          Deliver.this.delayHandler.postDelayed(Deliver.this.delayTh, 30000L);\r
+        } \r
+      } \r
+    }\r
+  }\r
+  \r
+\r
+}\r
+\r
index bacb1e0..e4d7b6e 100644 (file)
@@ -67,11 +67,9 @@ public class protocolMainServer extends Service {
     private static protocolMainServer mProtocolServer=null;\r
     private static LBSHelper lbshelper=null;\r
 \r
-\r
-\r
     public static final String ACTION_ALARM = "com.enqualcomm.support.ACTION_ALARM";\r
 \r
-    private static final int GRAY_SERVICE_ID = 2239;\r
+    private static final int GRAY_SERVICE_ID =android.os.Process.myPid();\r
 \r
     private static final String MY_WAKE_LOCKTAG = "MyWakelockTag";\r
 \r
@@ -197,18 +195,18 @@ public class protocolMainServer extends Service {
                 if (is_in_sleep_mode) {\r
 //                    CoreService.access$402(false);\r
 //                    CoreService.access$502(0);\r
-//                    if (CoreService.this.mKeepAlive != null)\r
-//                        CoreService.this.mKeepAlive.setSleepMode(false);\r
-//                    CoreService.this.wakeUpFromSleep();\r
+                    if (protocolMainServer.this.mKeepAlive != null)\r
+                        protocolMainServer.this.mKeepAlive.setSleepMode(false);\r
+                    protocolMainServer.this.wakeUpFromSleep();\r
                 }\r
                 if (is_wifi_network_ok) {\r
 //                    CoreService.access$302(false);\r
-//                    Util.turnOnWifiForConnect((this.this$0.runtime.getContextProxy()).context, CoreService.this.runtime);\r
+                    Util.turnOnWifiForConnect((protocolMainServer.this.runtime.getContextProxy()).context, protocolMainServer.this.runtime);\r
                     return;\r
                 }\r
             } else if ("android.intent.action.SCREEN_OFF".equals(param1Intent.getAction()) && Util.isWifiIsOpen((protocolMainServer.this.runtime.getContextProxy()).context, protocolMainServer.this.runtime)) {\r
 //                CoreService.access$302(true);\r
-//                Util.turnOffWifiForSleep((this.this$0.runtime.getContextProxy()).context, CoreService.this.runtime);\r
+                Util.turnOffWifiForSleep((protocolMainServer.this.runtime.getContextProxy()).context, protocolMainServer.this.runtime);\r
             }\r
         }\r
     };\r
@@ -266,15 +264,19 @@ public class protocolMainServer extends Service {
         this.runtime.setTotalStepCount(i);\r
     }\r
 \r
-    private void setCleanStepCountAlarm() { AlarmHelper.setCleanStepCountAlarm(this, 23, 59, "com.enqualcomm.support.ACTION_STEP_COUNT_ALARM"); }\r
+    private void setCleanStepCountAlarm() {\r
+        /*一天清零一次 计步*/\r
+        AlarmHelper.setCleanStepCountAlarm(this, 23, 59, "com.enqualcomm.support.ACTION_STEP_COUNT_ALARM");\r
+    }\r
 \r
     private void setSleepAlarm() {}\r
 \r
-    private void setUpdateSecretKeyAlarm() { AlarmHelper.setTimeAlarm(this, 2, 30, "com.enqualcomm.support.UPDATE_SECRET_KEY"); }\r
-\r
     private void setWakeAlarm() {}\r
 \r
-    private void setWeatherAlarm() { AlarmHelper.setTimeAlarm(this, 6, (new Random()).nextInt(40) + 20, "com.enqualcomm.support.ACTION_WEATHER_ALARM"); }\r
+    private void setWeatherAlarm() {\r
+        /*每6小时20分左右 更新一次 weather*/\r
+        AlarmHelper.setTimeAlarm(this, 6, (new Random()).nextInt(40) + 20, "com.enqualcomm.support.ACTION_WEATHER_ALARM");\r
+    }\r
 \r
     private void wakeUpFromSleep() {\r
         this.startAlarmCount = 0;\r
@@ -295,33 +297,33 @@ public class protocolMainServer extends Service {
     public int cmcm_call_eiot_into_powersave_mode() { return 0; }\r
 \r
     public void deliverDataToCmApp(int paramInt, String paramString) {\r
-        if (paramInt != 500)\r
-            try {\r
-                Intent intent = new Intent(this.actionName);\r
-                intent.putExtra("comjson", paramString);\r
-                intent.putExtra("cmdId", paramInt);\r
-                (this.runtime.getContextProxy()).context.startService(intent);\r
-                return;\r
-            } catch (Exception e) {\r
-                e.printStackTrace();\r
-                return;\r
-            }\r
-        try {\r
-            StringBuilder stringBuilder = new StringBuilder();\r
-            stringBuilder.append("deliver 1  cmd=");\r
-            stringBuilder.append(paramInt);\r
-            stringBuilder.append("---data=");\r
-            stringBuilder.append(paramString);\r
-            Logger.i(stringBuilder.toString());\r
-            Intent intent = new Intent(this.actionName);\r
-            intent.putExtra("comjson", paramString);\r
-            intent.putExtra("cmdId", 999);\r
-            (this.runtime.getContextProxy()).context.startService(intent);\r
-            return;\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-            return;\r
-        }\r
+//        if (paramInt != 500)\r
+//            try {\r
+//                Intent intent = new Intent(this.actionName);\r
+//                intent.putExtra("comjson", paramString);\r
+//                intent.putExtra("cmdId", paramInt);\r
+//                (this.runtime.getContextProxy()).context.startService(intent);\r
+//                return;\r
+//            } catch (Exception e) {\r
+//                e.printStackTrace();\r
+//                return;\r
+//            }\r
+//        try {\r
+//            StringBuilder stringBuilder = new StringBuilder();\r
+//            stringBuilder.append("deliver 1  cmd=");\r
+//            stringBuilder.append(paramInt);\r
+//            stringBuilder.append("---data=");\r
+//            stringBuilder.append(paramString);\r
+//            Logger.i(stringBuilder.toString());\r
+//            Intent intent = new Intent(this.actionName);\r
+//            intent.putExtra("comjson", paramString);\r
+//            intent.putExtra("cmdId", 999);\r
+//            (this.runtime.getContextProxy()).context.startService(intent);\r
+//            return;\r
+//        } catch (Exception e) {\r
+//            e.printStackTrace();\r
+//            return;\r
+//        }\r
     }\r
 \r
     public PowerManager.WakeLock getWakeLock(int paramInt) {\r
@@ -356,7 +358,7 @@ public class protocolMainServer extends Service {
         this.connection.connect(this.runtime.getHost(), this.runtime.getPort());\r
         this.locationClient.start();\r
         startService(new Intent(this, InnerService.class));\r
-        startForeground(2239, new Notification());\r
+        startForeground(GRAY_SERVICE_ID, new Notification());\r
         IntentFilter intentFilter = new IntentFilter();\r
         intentFilter.addAction("android.intent.action.TIME_SET");\r
         intentFilter.addAction("android.intent.action.TIMEZONE_CHANGED");\r
@@ -571,7 +573,7 @@ public class protocolMainServer extends Service {
 \r
         @SuppressLint("NewApi")\r
         public int onStartCommand(Intent param1Intent, int param1Int1, int param1Int2) {\r
-            startForeground(2239, new Notification());\r
+            startForeground(GRAY_SERVICE_ID, new Notification());\r
             stopForeground(true);\r
             stopSelf();\r
             return super.onStartCommand(param1Intent, param1Int1, param1Int2);\r
@@ -741,7 +743,7 @@ public class protocolMainServer extends Service {
 \r
         init_protocols();\r
 \r
-        startTimer();\r
+//        startTimer();\r
         mProtocolServer=this;\r
 \r
         onCreateCore();\r
index b5261ce..c4ab2ae 100644 (file)
@@ -67,64 +67,64 @@ public class DeviceInfoUtil {
   \r
   public static int getCustomId() {\r
     int i = -1;\r
-//    try {\r
-//      exception = SystemProperties.get("ro.custom.id", "");\r
-//      StringBuilder stringBuilder = new StringBuilder();\r
-//      stringBuilder.append("ro.custom.id = ");\r
-//      stringBuilder.append(exception);\r
-//      Logger.i(stringBuilder.toString());\r
-//      int j = i;\r
-//      if (exception != null) {\r
-//        j = Integer.valueOf(exception).intValue();\r
-//        try {\r
-//          StringBuilder stringBuilder1 = new StringBuilder();\r
-//          stringBuilder1.append("---id=");\r
-//          stringBuilder1.append(j);\r
-//          Logger.i(stringBuilder1.toString());\r
-//          return j;\r
-//        } catch (Exception null) {\r
-//          i = j;\r
-//        }\r
-//      } else {\r
-//        return j;\r
-//      }\r
-//    } catch (Exception exception) {}\r
-//    exception.printStackTrace();\r
+    try {\r
+      String   customid = Util.getSystemProperties("ro.custom.id");\r
+      StringBuilder stringBuilder = new StringBuilder();\r
+      stringBuilder.append("ro.custom.id = ");\r
+      stringBuilder.append(customid);\r
+      Logger.i(stringBuilder.toString());\r
+      int j = i;\r
+      if (customid != null) {\r
+        j = Integer.valueOf(customid).intValue();\r
+        try {\r
+          StringBuilder stringBuilder1 = new StringBuilder();\r
+          stringBuilder1.append("---id=");\r
+          stringBuilder1.append(j);\r
+          Logger.i(stringBuilder1.toString());\r
+          return j;\r
+        } catch (Exception e) {\r
+          i = j;\r
+        }\r
+      } else {\r
+        return j;\r
+      }\r
+    } catch (Exception e) {\r
+       e.printStackTrace();\r
+    }\r
     return i;\r
   }\r
   \r
-  public static String getIMEI(Context paramContext) { return ((TelephonyManager)paramContext.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId(); }\r
+  public static String getIMEI(Context paramContext) {\r
+    return ((TelephonyManager)paramContext.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();\r
+  }\r
   \r
-  public static String getIMSI(Context paramContext) { return ((TelephonyManager)paramContext.getSystemService(Context.TELEPHONY_SERVICE)).getSubscriberId(); }\r
+  public static String getIMSI(Context paramContext) {\r
+    return ((TelephonyManager)paramContext.getSystemService(Context.TELEPHONY_SERVICE)).getSubscriberId();\r
+  }\r
   \r
   public static boolean getLockSimInfo(Context paramContext) {\r
-//    int j = 0;\r
-//    int i = 0;\r
-//    try {\r
-//      if (Settings.System.getInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked") != 0)\r
-//        i = 1;\r
-//      j = i;\r
-//      StringBuilder stringBuilder = new StringBuilder();\r
-//      j = i;\r
-//      stringBuilder.append("simIsBlocked:");\r
-//      j = i;\r
-//      stringBuilder.append(i);\r
-//      j = i;\r
-//      Logger.i(stringBuilder.toString());\r
-//      return i;\r
-//    } catch (Settings.SettingNotFoundException paramContext) {\r
-//      paramContext.printStackTrace();\r
-//      return j;\r
-//    }\r
-    return false;\r
+    int i = 0;\r
+    try {\r
+      if (Settings.System.getInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked") != 0) {\r
+        i = 1;\r
+      }\r
+      StringBuilder stringBuilder = new StringBuilder();\r
+      stringBuilder.append("simIsBlocked:");\r
+      stringBuilder.append(i);\r
+      Logger.i(stringBuilder.toString());\r
+    } catch (Settings.SettingNotFoundException e) {\r
+      e.printStackTrace();\r
+    }\r
+    return (i==1);\r
   }\r
   \r
-  public static String getNumber(Context paramContext) { return ((TelephonyManager)paramContext.getSystemService(Context.TELEPHONY_SERVICE)).getLine1Number(); }\r
+  public static String getNumber(Context paramContext) {\r
+    return ((TelephonyManager)paramContext.getSystemService(Context.TELEPHONY_SERVICE)).getLine1Number();\r
+  }\r
   \r
   public static String getSN() {\r
     try {\r
-      Class clazz = Class.forName("android.os.SystemProperties");\r
-      String str = (String)clazz.getMethod("get", new Class[] { String.class }).invoke(clazz, new Object[] { "ro.product.partitionpath" });\r
+      String str=Util.getSystemProperties("ro.product.partitionpath");\r
       StringBuilder stringBuilder = new StringBuilder();\r
       stringBuilder.append(str);\r
       stringBuilder.append("miscdata");\r
@@ -153,17 +153,16 @@ public class DeviceInfoUtil {
   \r
   public static int getStepCount_Custom(Context context) {\r
     try {\r
-      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {\r
         return Settings.Global.getInt(context.getContentResolver(), "Steps", 0);\r
-      }\r
-      return 0;\r
     } catch (Exception e) {\r
       e.printStackTrace();\r
-      return 0;\r
-    } \r
+    }\r
+    return 0;\r
   }\r
   \r
-  public static String getSystemVersion() { return Build.VERSION.RELEASE; }\r
+  public static String getSystemVersion() {\r
+    return Build.VERSION.RELEASE;\r
+  }\r
   \r
   public static boolean isTopActivity(Context paramContext) {\r
     ArrayList arrayList = new ArrayList();\r
@@ -172,5 +171,6 @@ public class DeviceInfoUtil {
     return arrayList.contains(((ActivityManager.RunningTaskInfo)((ActivityManager)paramContext.getSystemService(Context.ACTIVITY_SERVICE)).getRunningTasks(1).get(0)).topActivity.getClassName());\r
   }\r
   \r
-  public static void setLockSimInfo(Context paramContext) { Settings.System.putInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked", 1); }\r
+  public static void setLockSimInfo(Context paramContext) {\r
+    Settings.System.putInt(paramContext.getContentResolver(), "com.eqc.watch.launcher.SimIsBlocked", 1); }\r
 }\r
index 64577c2..9546ee2 100644 (file)
@@ -31,7 +31,19 @@ public class Util {
   public static Charset UTF_16 = (UTF_8 = Charset.forName("UTF-8")).forName("UTF-16LE");\r
   \r
   public static Charset UTF_8;\r
-  \r
+\r
+  public static String getSystemProperties(String prop){\r
+\r
+    String str ="";\r
+    Class clazz = null;\r
+    try {\r
+      clazz = Class.forName("android.os.SystemProperties");\r
+      str = (String)clazz.getMethod("get", new Class[] { String.class }).invoke(clazz, new Object[] { prop });\r
+    } catch (Exception e) {\r
+      e.printStackTrace();\r
+    }\r
+    return str;\r
+  }\r
   public static WifiConfiguration GetconfigWifiInfo(Context paramContext, String paramString1, String paramString2, String paramString3) { // Byte code:\r
     WifiConfiguration wificonfig=new WifiConfiguration();\r
     return wificonfig;\r
diff --git a/misc.txt b/misc.txt
new file mode 100644 (file)
index 0000000..743c0db
Binary files /dev/null and b/misc.txt differ