hxb
2022-11-22 5d0b8109b4e56463343ad23f75d1a1c1153ce5f9
更改下入口
9个文件已修改
412 ■■■■■ 已修改文件
AndroidOpenDemo/.idea/workspace.xml 138 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/CONST.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/java/com/hdl/HdlToLc.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/res/layout/fragment_device_detail_main.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/.idea/workspace.xml
@@ -15,92 +15,14 @@
  </component>
  <component name="ChangeListManager">
    <list default="true" id="7bacc5cf-316f-4ad4-b191-7f5297eb7bcf" name="Default Changelist" comment="">
      <change afterPath="$PROJECT_DIR$/../.idea/HdlToLc.iml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle____DeviceAddModule_libs_DHMobileToolset_1_1_1_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle____DeviceAddModule_libs_DHScanner_1_0_7_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle____DeviceAddModule_libs_PullToRefreshListView_release_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle____DeviceAddModule_libs_imageload4dh_jar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle____DeviceAddModule_libs_lechangeSDK_jar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle____third_zxing_libs_zxing_3_3_0_jar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__android_arch_core_common_1_1_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_alibaba_arouter_annotation_1_0_6.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_alibaba_arouter_api_1_4_1_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_cardview_v7_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_collections_28_0_0.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_1_0.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_design_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_recyclerview_v7_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_media_compat_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_v4_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_transition_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__junit_junit_4_12.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml" afterDir="false" />
      <change afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/gradle.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/gradle.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/jarRepositories.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/jarRepositories.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_8.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_8.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/modules/DeviceAddModule/LCAndroidSDKDemo.DeviceAddModule.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules/DeviceAddModule/LCAndroidSDKDemo.DeviceAddModule.iml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/modules/LCAndroidSDKDemo.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules/LCAndroidSDKDemo.iml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/modules/app/LCAndroidSDKDemo.app.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules/app/LCAndroidSDKDemo.app.iml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/modules/third-zxing/LCAndroidSDKDemo.third-zxing.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules/third-zxing/LCAndroidSDKDemo.third-zxing.iml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java" beforeDir="false" afterPath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/CONST.java" beforeDir="false" afterPath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/CONST.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java" beforeDir="false" afterPath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/HdlToLc.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/HdlToLc.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/App.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/App.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/res/layout/activity_device_list.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/activity_device_list.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/res/layout/fragment_device_detail_main.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_device_detail_main.xml" afterDir="false" />
    </list>
    <option name="SHOW_DIALOG" value="false" />
@@ -429,51 +351,55 @@
    </ignored-roots>
  </component>
  <component name="WindowStateProjectService">
    <state width="462" height="480" key="DebuggerActiveHint" timestamp="1669096140301">
    <state x="453" y="91" key="#com.intellij.ide.util.MemberChooser" timestamp="1669099481115">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state x="453" y="91" key="#com.intellij.ide.util.MemberChooser/0.0.1280.800@0.0.1280.800" timestamp="1669099481115" />
    <state width="462" height="480" key="DebuggerActiveHint" timestamp="1669100189203">
      <screen x="0" y="23" width="1280" height="777" />
    </state>
    <state width="462" height="480" key="DebuggerActiveHint/0.0.1280.800@0.0.1280.800" timestamp="1669096140301" />
    <state width="462" height="480" key="DebuggerActiveHint/0.23.1280.777@0.23.1280.777" timestamp="1669094959255" />
    <state width="1236" height="288" key="GridCell.Tab.0.bottom" timestamp="1669096558156">
    <state width="462" height="480" key="DebuggerActiveHint/0.23.1280.777@0.23.1280.777" timestamp="1669100189203" />
    <state width="1236" height="288" key="GridCell.Tab.0.bottom" timestamp="1669100498343">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="288" key="GridCell.Tab.0.bottom/0.0.1280.800@0.0.1280.800" timestamp="1669096558156" />
    <state width="1236" height="288" key="GridCell.Tab.0.bottom/0.0.1280.800@0.0.1280.800" timestamp="1669100498343" />
    <state width="1236" height="206" key="GridCell.Tab.0.bottom/0.23.1280.777@0.23.1280.777" timestamp="1669007123738" />
    <state width="1236" height="288" key="GridCell.Tab.0.center" timestamp="1669096558153">
    <state width="1236" height="288" key="GridCell.Tab.0.center" timestamp="1669100498342">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="288" key="GridCell.Tab.0.center/0.0.1280.800@0.0.1280.800" timestamp="1669096558153" />
    <state width="1236" height="288" key="GridCell.Tab.0.center/0.0.1280.800@0.0.1280.800" timestamp="1669100498342" />
    <state width="1236" height="206" key="GridCell.Tab.0.center/0.23.1280.777@0.23.1280.777" timestamp="1669007123735" />
    <state width="1236" height="288" key="GridCell.Tab.0.left" timestamp="1669096558151">
    <state width="1236" height="288" key="GridCell.Tab.0.left" timestamp="1669100498341">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="288" key="GridCell.Tab.0.left/0.0.1280.800@0.0.1280.800" timestamp="1669096558151" />
    <state width="1236" height="288" key="GridCell.Tab.0.left/0.0.1280.800@0.0.1280.800" timestamp="1669100498341" />
    <state width="1236" height="206" key="GridCell.Tab.0.left/0.23.1280.777@0.23.1280.777" timestamp="1669007123734" />
    <state width="1236" height="288" key="GridCell.Tab.0.right" timestamp="1669096558154">
    <state width="1236" height="288" key="GridCell.Tab.0.right" timestamp="1669100498342">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="288" key="GridCell.Tab.0.right/0.0.1280.800@0.0.1280.800" timestamp="1669096558154" />
    <state width="1236" height="288" key="GridCell.Tab.0.right/0.0.1280.800@0.0.1280.800" timestamp="1669100498342" />
    <state width="1236" height="206" key="GridCell.Tab.0.right/0.23.1280.777@0.23.1280.777" timestamp="1669007123736" />
    <state width="1236" height="288" key="GridCell.Tab.1.bottom" timestamp="1669096558161">
    <state width="1236" height="288" key="GridCell.Tab.1.bottom" timestamp="1669100498345">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="288" key="GridCell.Tab.1.bottom/0.0.1280.800@0.0.1280.800" timestamp="1669096558161" />
    <state width="1236" height="288" key="GridCell.Tab.1.center" timestamp="1669096558159">
    <state width="1236" height="288" key="GridCell.Tab.1.bottom/0.0.1280.800@0.0.1280.800" timestamp="1669100498345" />
    <state width="1236" height="288" key="GridCell.Tab.1.center" timestamp="1669100498344">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="288" key="GridCell.Tab.1.center/0.0.1280.800@0.0.1280.800" timestamp="1669096558159" />
    <state width="1236" height="288" key="GridCell.Tab.1.left" timestamp="1669096558158">
    <state width="1236" height="288" key="GridCell.Tab.1.center/0.0.1280.800@0.0.1280.800" timestamp="1669100498344" />
    <state width="1236" height="288" key="GridCell.Tab.1.left" timestamp="1669100498344">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="288" key="GridCell.Tab.1.left/0.0.1280.800@0.0.1280.800" timestamp="1669096558158" />
    <state width="1236" height="288" key="GridCell.Tab.1.right" timestamp="1669096558160">
    <state width="1236" height="288" key="GridCell.Tab.1.left/0.0.1280.800@0.0.1280.800" timestamp="1669100498344" />
    <state width="1236" height="288" key="GridCell.Tab.1.right" timestamp="1669100498345">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="288" key="GridCell.Tab.1.right/0.0.1280.800@0.0.1280.800" timestamp="1669096558160" />
    <state x="332" y="155" width="769" height="518" key="find.popup" timestamp="1669086559935">
    <state width="1236" height="288" key="GridCell.Tab.1.right/0.0.1280.800@0.0.1280.800" timestamp="1669100498345" />
    <state x="332" y="155" width="769" height="518" key="find.popup" timestamp="1669100335613">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state x="332" y="155" width="769" height="518" key="find.popup/0.0.1280.800@0.0.1280.800" timestamp="1669086559935" />
    <state x="332" y="155" width="769" height="518" key="find.popup/0.0.1280.800@0.0.1280.800" timestamp="1669100335613" />
  </component>
  <component name="XDebuggerManager">
    <breakpoint-manager>
@@ -525,8 +451,18 @@
        </line-breakpoint>
        <line-breakpoint enabled="true" suspend="THREAD" type="java-line">
          <url>file://$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java</url>
          <line>148</line>
          <option name="timeStamp" value="71" />
          <line>186</line>
          <option name="timeStamp" value="84" />
        </line-breakpoint>
        <line-breakpoint enabled="true" suspend="THREAD" type="java-line">
          <url>file://$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java</url>
          <line>102</line>
          <option name="timeStamp" value="86" />
        </line-breakpoint>
        <line-breakpoint enabled="true" suspend="THREAD" type="java-line">
          <url>file://$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java</url>
          <line>100</line>
          <option name="timeStamp" value="87" />
        </line-breakpoint>
      </breakpoints>
    </breakpoint-manager>
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java
@@ -39,6 +39,7 @@
    private Throwable throwable;
    public CommonParam commonParam;
    public String userId = "";
    private String homeId;
    public static LCDeviceEngine newInstance() {
        if (lcDeviceEngine == null) {
@@ -53,7 +54,7 @@
    public boolean init(CommonParam commonParam) throws Throwable {
        this.commonParam = commonParam;
        this.accessToken = "";
        this.accessToken = "St_0000c3e2e772d5f74bfca2d86eaa18a6";//为了低层空判断,当前token无效
        this.userId = "";
        this.sdkHasInit = false;
        if (commonParam == null) {
@@ -63,14 +64,12 @@
        commonParam.checkParam();
        //初始化参数
        initParam(commonParam);
        if(!CONST.HOST.contains("hdlcontrol.com")) {
        if (!CONST.HOST.contains("hdlcontrol.com")) {
            //获取开放平台token
            initToken();
            if (TextUtils.isEmpty(accessToken)) {
                throw throwable;
            }
        }else{
            accessToken="St_0000c3e2e772d5f74bfca2d86eaa18a6";
        }
        //组件初始化
        InitParams initParams = new InitParams(commonParam.getContext(), CONST.Envirment.OVERSEAS_PRO.url.replace("https://", ""), accessToken);
@@ -87,11 +86,12 @@
        //开启添加页面
        activity.startActivity(new Intent(commonParam.getContext(), DeviceAddActivity.class));
    }
    public void setSubAccessToken(String subAccessToken){
    public void setSubAccessToken(String subAccessToken) {
        this.subAccessToken = subAccessToken;
    }
    public boolean deviceOnlineChangeNet(Activity activity,DHDevice device, CurWifiInfo wifiInfo)  {
    public boolean deviceOnlineChangeNet(Activity activity, DHDevice device, CurWifiInfo wifiInfo) {
        if (!sdkHasInit) {
            return false;
        }
@@ -149,4 +149,11 @@
        ImageLoader.getInstance().init(config);
    }
    public String getHomeId() {
        return homeId == null ? "" : homeId;
    }
    public void setHomeId(String homeId) {
        this.homeId = homeId;
    }
}
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/CONST.java
@@ -58,4 +58,8 @@
        SECRET = secretKey;
        HOST = url;
    }
    public static boolean isHdlServer() {
        return HOST.contains("hdlcontrol.com");
    }
}
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java
@@ -3,6 +3,7 @@
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.mm.android.deviceaddmodule.LCDeviceEngine;
import com.mm.android.deviceaddmodule.device_wifi.CurWifiInfo;
import com.mm.android.deviceaddmodule.device_wifi.WifiConfig;
@@ -19,6 +20,7 @@
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
public class DeviceAddOpenApiManager {
    private static int TIME_OUT = 10 * 1000;
@@ -241,9 +243,15 @@
        return  json.get("openid").getAsString();
    }
    public static boolean addPolicy(AddDevicePolicyData req)throws BusinessException{
        String jsonParam = new Gson().toJson(req);
        HttpSend.execute(jsonParam, CONST.ADD_POLICY,TIME_OUT);
        return  true;
    public static boolean addPolicy(AddDevicePolicyData req)throws BusinessException {
//        String jsonParam = new Gson().toJson(req);
//        HttpSend.execute(jsonParam, CONST.ADD_POLICY,TIME_OUT);
//        return  true;
        final Map<String, Object> map = new Gson().fromJson(new Gson().toJson(req), new TypeToken<Map<String, String>>() {
        }.getType());
        JsonObject json = HttpSend.execute(map, CONST.CREATE_SUB_ACCOUNT, TIME_OUT);
        return true;
    }
}
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java
@@ -9,6 +9,7 @@
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.mm.android.deviceaddmodule.LCDeviceEngine;
import com.mm.android.deviceaddmodule.mobilecommon.utils.LogUtil;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -52,7 +53,7 @@
            conn.setUseCaches(false);
            conn.setInstanceFollowRedirects(true);
            conn.setRequestProperty("Content-Type", contentType);
            conn.setRequestProperty("Authorization","Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI5MWFjM2FlOWVlMDY0MDY4OWU2NmQzMjQ3MzkxZmQ3MiIsImNvbXBhbnlJZCI6IjIwMiIsInJvbGUiOiIiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidXNlckFjY291bnQiOiJ3eHIiLCJ0ZW5hbnRJZCI6IjIwIiwidXNlclR5cGUiOiJVU0VSX0IiLCJ0b2tlblR5cGUiOiJhY2Nlc3NfdG9rZW4iLCJ1c2VyTmFtZSI6Ind4ciIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2NjkxMDE2NTEsIm5iZiI6MTY2OTA5NDQ1MX0.BhY5cZDds87lpCOVscCjiH-EnvFSuOFjgXvVkWvGr4elUHFwFTNumhtvfCcQY4Nbu0MNTaPbb36ydNPtXHLAZrXVPdijk_WvnhoTBvA_RUOZOrQ1G4Iep3ZjgHuHam1bsCmgATQqDJR66q3ZiLwe5o_Snce2rAK4aI2Das9uN_M");
            conn.setRequestProperty("Authorization","Bearer "+ LCDeviceEngine.newInstance().subAccessToken);
            conn.connect();
            outputStream = conn.getOutputStream();
            outputStream.write(paramStr.getBytes());
@@ -132,13 +133,11 @@
     */
    public static JsonObject encrypt(Map<String,Object> map ) {
        final String timestamp = String.valueOf(System.currentTimeMillis());
        final String appKey ="HDL-HOME-APP-TEST";
        final String appSecret ="WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
        final JsonObject json = getBodyJson(map);
        if (json != null) {
            json.addProperty("appKey", appKey);
            json.addProperty("appKey", CONST.APPID);
            json.addProperty("timestamp", timestamp);
            json.addProperty("sign", getSign(json, appSecret));
            json.addProperty("sign", getSign(json, CONST.SECRET));
        }
        return json;
    }
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
@@ -7,6 +7,7 @@
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.mm.android.deviceaddmodule.LCDeviceEngine;
import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.BusinessException;
import com.mm.android.deviceaddmodule.mobilecommon.utils.LogUtil;
import com.mm.android.deviceaddmodule.mobilecommon.utils.MD5Helper;
@@ -32,23 +33,15 @@
    public static JsonObject execute(Map<String, Object> paramsMap, String method,int timeOut) throws BusinessException {
        Map<String, Object> map = paramsInit(paramsMap);
        JsonObject jsonObj = null;
        JsonObject jsonResult = null;
        if (CONST.HOST.contains("hdlcontrol.com")) {
            // 返回json
            jsonObj = doPost(CONST.HOST + "/home-wisdom/imou/openapi/" + method, map, timeOut);
            LogUtil.debugLog(TAG, "url::" + method + "\n" + "response result:" + jsonObj.toString());
            if (jsonObj == null) {
                throw new BusinessException("openApi response is null");
            }
            jsonResult = jsonObj;
        if (CONST.isHdlServer()) {
            jsonResult = doPost(CONST.HOST + "/home-wisdom/imou/openapi/" + method, map, timeOut);
        } else {
            jsonObj = doPost(CONST.HOST + "/openapi/" + method, map, timeOut);
            LogUtil.debugLog(TAG, "url::" + method + "\n" + "response result:" + jsonObj.toString());
            if (jsonObj == null) {
            jsonResult = doPost(CONST.HOST + "/openapi/" + method, map, timeOut);
            if (jsonResult == null) {
                throw new BusinessException("openApi response is null");
            }
            jsonResult = jsonObj.getAsJsonObject("result");
            jsonResult = jsonResult.getAsJsonObject("result");
        }
        if (jsonResult == null) {
@@ -71,53 +64,14 @@
        }
    }
    public static JsonObject execute(String json, String method,int timeOut) throws BusinessException {
        // 返回json
        LogUtil.debugLog(TAG, "request result:" + json.toString());
        JsonObject jsonResult=null;
        if (CONST.HOST.contains("hdlcontrol.com")) {
            JsonObject jsonObj = doPost(CONST.HOST + "/home-wisdom/imou/openapi/"  + method, json, timeOut);
            LogUtil.debugLog(TAG, "URL::"+method+"\n"+"response result:" + jsonObj.toString());
            if (jsonObj == null) {
                throw new BusinessException("openApi response is null");
            }
            jsonResult = jsonObj;
        }
        else {
            JsonObject jsonObj = doPost(CONST.HOST + "/openapi/" + method, json, timeOut);
            LogUtil.debugLog(TAG, "URL::"+method+"\n"+"response result:" + jsonObj.toString());
            if (jsonObj == null) {
                throw new BusinessException("openApi response is null");
            }
            jsonResult = jsonObj.getAsJsonObject("result");
        }
        if (jsonResult == null) {
            throw new BusinessException("openApi response is null");
        }
        String code = jsonResult.get("code").getAsString();
        if (!"0".equals(code)) {
            String msg = jsonResult.get("msg").getAsString();
            throw new BusinessException(code + msg);
        }
        try {
            JsonObject jsonData = jsonResult.getAsJsonObject("data");
            if (jsonData ==null){
                jsonData=new JsonObject();
            }
            return jsonData;
        } catch (Throwable e) {
            BusinessException businessException = new BusinessException(e);
            throw businessException;
        }
    }
    private static JsonObject doPost(String url, Map<String, Object> map, int timeOut) throws BusinessException {
        Gson gson = new Gson();
        map.put("homeId",1547099040465408002L);
        String json =null;
        JsonObject jsonObject = new JsonObject();
        if(url.contains("hdlcontrol.com")) {
        map.put("homeId", LCDeviceEngine.newInstance().getHomeId());
        String json;
        JsonObject jsonObject;
        if(CONST.isHdlServer()) {
            if (map.containsKey("params")) {
                Map<String, Object> tempMap = (Map<String, Object>) map.get("params");
                map.remove("params");
@@ -161,28 +115,6 @@
        return jsonObject;
    }
    private static JsonObject doPost(String url, String json, int timeOut) throws BusinessException {
        Gson gson = new Gson();
        JsonObject jsonObject = new JsonObject();
        try {
            LogUtil.debugLog(TAG, "reqest: " + url + " data:" + json.toString());
            String openApi = HttpClient.post(url, json, "application/json", "OpenApi",timeOut);
            jsonObject =  new JsonParser().parse(openApi).getAsJsonObject();
        } catch (IOException e) {
            BusinessException b = new BusinessException(e);
            if (e instanceof ConnectTimeoutException || e instanceof SocketTimeoutException
                    || e instanceof UnknownHostException
                    || e instanceof UnknownServiceException || e instanceof SSLException
                    || e instanceof SocketException) {
                b.errorDescription = "操作失败,请检查网络";
            }
            throw b;
        } catch (Throwable e) {
            BusinessException b = new BusinessException(e);
            throw b;
        }
        return jsonObject;
    }
    private static Map<String, Object> paramsInit(Map<String, Object> paramsMap) {
        long time = System.currentTimeMillis() / 1000;
@@ -208,26 +140,69 @@
        return map;
    }
//    public static JsonObject execute(String json, String method,int timeOut) throws BusinessException {
//        // 返回json
//        LogUtil.debugLog(TAG, "request result:" + json.toString());
//        JsonObject jsonResult=null;
//        if (CONST.isHdlServer()) {
//            JsonObject jsonObj = doPost(CONST.HOST + "/home-wisdom/imou/openapi/"  + method, json, timeOut);
//            LogUtil.debugLog(TAG, "URL::"+method+"\n"+"response result:" + jsonObj.toString());
//            if (jsonObj == null) {
//                throw new BusinessException("openApi response is null");
//            }
//            jsonResult = jsonObj;
//        }
//        else {
//            JsonObject jsonObj = doPost(CONST.HOST + "/openapi/" + method, json, timeOut);
//            LogUtil.debugLog(TAG, "URL::"+method+"\n"+"response result:" + jsonObj.toString());
//            if (jsonObj == null) {
//                throw new BusinessException("openApi response is null");
//            }
//            jsonResult = jsonObj.getAsJsonObject("result");
//        }
//
//        if (jsonResult == null) {
//            throw new BusinessException("openApi response is null");
//        }
//        String code = jsonResult.get("code").getAsString();
//        if (!"0".equals(code)) {
//            String msg = jsonResult.get("msg").getAsString();
//            throw new BusinessException(code + msg);
//        }
//        try {
//            JsonObject jsonData = jsonResult.getAsJsonObject("data");
//            if (jsonData ==null){
//                jsonData=new JsonObject();
//            }
//            return jsonData;
//        } catch (Throwable e) {
//            BusinessException businessException = new BusinessException(e);
//            throw businessException;
//        }
//    }
    /**
     * 基本类型加密
     * <p>
     * 判断当前值是否需要参与签名,保持跟云端一致
     * 空字符串不参与
     * 数组,集合不参与
     *
     * @return ture 需要加密
     */
    private static boolean valueNeedSign(String valueStr) {
        try {
            if (TextUtils.isEmpty(valueStr)) return false;
            final char[] strChar = URLDecoder.decode(valueStr, "utf-8")
                    .substring(0, 1).toCharArray();
            final char firstChar = strChar[0];
            return firstChar != '{' && firstChar != '[';
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
//    private static JsonObject doPost(String url, String json, int timeOut) throws BusinessException {
//        Gson gson = new Gson();
//        JsonObject jsonObject = new JsonObject();
//        try {
//            LogUtil.debugLog(TAG, "reqest: " + url + " data:" + json.toString());
//            String openApi = HttpClient.post(url, json, "application/json", "OpenApi",timeOut);
//            jsonObject =  new JsonParser().parse(openApi).getAsJsonObject();
//        } catch (IOException e) {
//            BusinessException b = new BusinessException(e);
//            if (e instanceof ConnectTimeoutException || e instanceof SocketTimeoutException
//                    || e instanceof UnknownHostException
//                    || e instanceof UnknownServiceException || e instanceof SSLException
//                    || e instanceof SocketException) {
//                b.errorDescription = "操作失败,请检查网络";
//            }
//            throw b;
//        } catch (Throwable e) {
//            BusinessException b = new BusinessException(e);
//            throw b;
//        }
//        return jsonObject;
//    }
}
AndroidOpenDemo/app/src/main/java/com/hdl/HdlToLc.java
@@ -18,70 +18,48 @@
import com.usermodule.net.UserNetManager;
public class HdlToLc {
    private static String mAppid;
    private static String mAppSecret;
    private static String mUrl;
//    private static String mOpenId;
    /// <summary>
    ///
    /// </summary>
    public static  String APP_KEY = "HDL-HOME-APP-TEST";
    /// <summary>
    ///
    /// </summary>
    public static  String SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
    /**
     * 子账号token
     */
    private static String mSubToken;
    private static Activity mActivity;
    //用乐橙平台直接测试
    public static boolean useLCForTest=true;
    public static void initData(Activity activity,String appKey,String secretKey, boolean isChina,String subToken) {
    public static void initData(Activity activity,String appKey,String secretKey, boolean isChina) {
        mActivity = activity;
        mSubToken = subToken;
        MediaPlayHelper.initContext(mActivity.getApplication().getApplicationContext());
        ClassInstanceManager.newInstance().init(mActivity.getApplication());
        String mUrl;
        if (isChina) {
            mAppSecret = "f869433de68a4a06bb8f9bb89118fc";
            mAppid = "lc2ea929282d5f4636";
//            mAppSecret = "f869433de68a4a06bb8f9bb89118fc";
//            mAppid = "lc2ea929282d5f4636";
            mUrl = CONST.Envirment.CHINA_TEST.url;
            ProviderManager.getAppProvider().setAppType(0);
        } else {
            mAppSecret = "017fc27bb987496f9a677e4e6f0c88";
            mAppid = "lc0285433bc7e8423d";
//            mAppSecret = "017fc27bb987496f9a677e4e6f0c88";
//            mAppid = "lc0285433bc7e8423d";
//            mUrl = CONST.Envirment.OVERSEAS_PRO.url;
            mUrl=CONST.Envirment.CHINA_TEST.url;
            ProviderManager.getAppProvider().setAppType(1);
        }
        APP_KEY=appKey;
        SECRET_KEY=secretKey;
        try {
            CommonParam commonParam = new CommonParam();
            commonParam.setEnvirment(mUrl);//云端连接
            commonParam.setContext(mActivity.getApplication());
            commonParam.setAppId(mAppid);
            commonParam.setAppSecret(mAppSecret);
            commonParam.setAppId(appKey);
            commonParam.setAppSecret(secretKey);
            //SDK信息初始化
            LCDeviceEngine.newInstance().init(commonParam);
        } catch (Throwable e) {
            Toast.makeText(mActivity, e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    }
    public static void openActivity()
    {
    public static void openActivity(String homeId,String token) {
        try {
//            getSubAccountToken("827a98c98da7469b8bc19bb6a3c7651906");
            LCDeviceEngine.newInstance().setSubAccessToken(mSubToken);
            mActivity.startActivity(new Intent(mActivity,com.lechange.demo.ui.DeviceListActivity.class));
            LCDeviceEngine.newInstance().setHomeId(homeId);
            LCDeviceEngine.newInstance().setSubAccessToken(token);
            mActivity.startActivity(new Intent(mActivity, com.lechange.demo.ui.DeviceListActivity.class));
        } catch (Throwable e) {
            Toast.makeText(mActivity, e.getMessage(), Toast.LENGTH_SHORT).show();
        }
AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java
@@ -64,10 +64,10 @@
        if (id == R.id.tv_title_cn) {
//            HdlToLc.initData( this,true,"");
        } else if (id == R.id.tv_overseas) {
            HdlToLc.initData(this,"HDL-HOME-APP-TEST","WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss",false,"St_00003ee84eda32b14126af958052f20a");
            HdlToLc.initData(this,"HDL-HOME-APP-TEST","WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss",false);
        }
        HdlToLc.openActivity();
        HdlToLc.openActivity("1547099040465408002","eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI2ODI2MjA3ZTgwY2M0ZGVmODcwMDQyNDBhZDYwN2EyOSIsImNvbXBhbnlJZCI6IjIwMiIsInJvbGUiOiIiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidXNlckFjY291bnQiOiJ3eHIiLCJ0ZW5hbnRJZCI6IjIwIiwidXNlclR5cGUiOiJVU0VSX0IiLCJ0b2tlblR5cGUiOiJhY2Nlc3NfdG9rZW4iLCJ1c2VyTmFtZSI6Ind4ciIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2NjkxMDQ4NzAsIm5iZiI6MTY2OTA5NzY3MH0.J9BCjbGjWA4yn57_EPxvaXJsPfDSTwG4jsFtiejRrjk6OxA74XO3eWbvu75dfl1P1AmcdbXvhgeX3FBCgRthNQVActSopUNWefBsV0k4wv4RCXhR6lM63HFVgfgCMy01nmFOxqR7bTO1yM6ffQ102NKOLUFNuaNVbA2pnEanuvg");
    }
AndroidOpenDemo/app/src/main/res/layout/fragment_device_detail_main.xml
@@ -133,6 +133,7 @@
        android:paddingRight="@dimen/px_30">
        <TextView
            android:visibility="gone"
            android:id="@+id/tv_cur_wifi_tip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"