From 7c3d23232c5c0328131d2b560e6224dd0d566f01 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 24 十一月 2022 14:27:22 +0800
Subject: [PATCH] Merge branch 'wxr-sdk-test' into SDK
---
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml | 13
AndroidOpenDemo/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml | 9
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/model/DeviceAddModel.java | 2
AndroidOpenDemo/.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0.xml | 11
AndroidOpenDemo/.idea/modules/app/LCAndroidSDKDemo.app.iml | 22
AndroidOpenDemo/app/src/main/java/com/common/openapi/IGetDeviceInfoCallBack.java | 16
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml | 13
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2_aar.xml | 10
AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java | 32
.idea/workspace.xml | 45 +
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java | 27
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml | 13
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml | 13
AndroidOpenDemo/app/src/main/res/layout/fragment_device_detail_main.xml | 21
AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml | 9
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml | 9
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/service/DeviceAddService.java | 12
AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_DHScanner_1_0_7_aar_0ecd90b9bed2580cb7702e452029b5fe.xml | 10
AndroidOpenDemo/app/src/main/java/com/lechange/demo/App.java | 6
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/DeviceAddActivity.java | 1
AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_1_0.xml | 9
AndroidOpenDemo/.idea/modules/third-zxing/LCAndroidSDKDemo.third-zxing.iml | 91 ++
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java | 191 +++-
AndroidOpenDemo/app/src/main/java/com/net/UserNetManager.java | 2
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_recyclerview_v7_28_0_0_aar.xml | 13
AndroidOpenDemo/.idea/modules.xml | 11
AndroidOpenDemo/.idea/caches/build_file_checksums.ser | 0
AndroidOpenDemo/.idea/libraries/Gradle____third_zxing_libs_zxing_3_3_0_jar.xml | 9
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml | 13
AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_cardview_v7_28_0_0_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml | 9
AndroidOpenDemo/app/src/main/res/layout/activity_device_online_media_play.xml | 5
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml | 13
AndroidOpenDemo/app/src/main/java/com/net/IUserDataCallBack.java | 2
AndroidOpenDemo/app/src/main/res/values/strings.xml | 1
AndroidOpenDemo/.idea/libraries/Gradle____DeviceAddModule_libs_lechangeSDK_jar.xml | 9
AndroidOpenDemo/DeviceAddModule/libs/gson-2.8.8.jar | 0
AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java | 14
AndroidOpenDemo/DeviceAddModule/.DS_Store | 0
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_design_28_0_0_aar.xml | 13
AndroidOpenDemo/app/src/main/java/com/callBack/IAddCamera.java | 13
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml | 13
AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_PullToRefreshListView_release_aar_1232b6310601f161610e5eb82d661087.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_DHMobileToolset_1_1_1_aar_f7d8eb2f1804db3345ec5a537e5ec0db.xml | 10
AndroidOpenDemo/.idea/modules/LCAndroidSDKDemo.iml | 19
AndroidOpenDemo/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml | 9
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HDLMD5Utils.java | 183 +++++
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml | 10
AndroidOpenDemo/.DS_Store | 0
AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceDetailService.java | 34
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml | 13
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2_aar.xml | 10
AndroidOpenDemo/app/src/main/res/values/styles.xml | 4
AndroidOpenDemo/app/src/main/java/com/.DS_Store | 0
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml | 10
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java | 97 ++
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml | 13
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml | 10
.idea/HdlToLc.iml | 9
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_v4_28_0_0_aar.xml | 10
AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java | 4
.DS_Store | 0
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml | 10
AndroidOpenDemo/app/src/main/java/com/common/openapi/MethodConst.java | 2
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0.xml | 9
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml | 10
AndroidOpenDemo/.idea/modules/DeviceAddModule/LCAndroidSDKDemo.DeviceAddModule.iml | 4
AndroidOpenDemo/app/src/main/res/values-en/strings.xml | 1
AndroidOpenDemo/.idea/libraries/Gradle__com_alibaba_arouter_annotation_1_0_6.xml | 9
AndroidOpenDemo/app/src/main/res/.DS_Store | 0
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml | 10
AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java | 218 ++++++
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml | 10
AndroidOpenDemo/.idea/.name | 1
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/p_inputsn/ScanFragment.java | 2
AndroidOpenDemo/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2.xml | 9
AndroidOpenDemo/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml | 9
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml | 10
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/CONST.java | 8
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_collections_28_0_0.xml | 9
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java | 34
AndroidOpenDemo/.idea/libraries/Gradle__com_alibaba_arouter_api_1_4_1_aar.xml | 10
AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceOnlineMediaPlayActivity.java | 8
AndroidOpenDemo/third-zxing/.DS_Store | 0
.idea/vcs.xml | 6
.idea/modules.xml | 8
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_0_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1.xml | 9
AndroidOpenDemo/app/src/main/java/com/lechange/demo/.DS_Store | 0
AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml | 10
AndroidOpenDemo/DeviceAddModule/src/main/res/layout/fragment_bind_success.xml | 2
AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java | 22
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_transition_28_0_0_aar.xml | 13
AndroidOpenDemo/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_8.xml | 9
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__android_arch_core_common_1_1_1.xml | 9
AndroidOpenDemo/.idea/libraries/Gradle____DeviceAddModule_libs_imageload4dh_jar.xml | 9
AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml | 10
/dev/null | 127 ---
AndroidOpenDemo/.idea/libraries/Gradle__junit_junit_4_12.xml | 9
AndroidOpenDemo/app/src/main/java/com/utils/DeviceUtils.java | 94 ++
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml | 10
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/p_bindsuccess/BindSuccessFragment.java | 7
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml | 10
AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_media_compat_28_0_0_aar.xml | 13
AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml | 9
117 files changed, 1,832 insertions(+), 257 deletions(-)
diff --git a/.DS_Store b/.DS_Store
index bdc2da4..386505c 100644
--- a/.DS_Store
+++ b/.DS_Store
Binary files differ
diff --git a/.idea/HdlToLc.iml b/.idea/HdlToLc.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/.idea/HdlToLc.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$" />
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
+</module>
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..127ddda
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/.idea/HdlToLc.iml" filepath="$PROJECT_DIR$/.idea/HdlToLc.iml" />
+ </modules>
+ </component>
+</project>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="VcsDirectoryMappings">
+ <mapping directory="" vcs="Git" />
+ </component>
+</project>
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..eccbee7
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ChangeListManager">
+ <list default="true" id="65c1ada5-6f56-4f18-9096-9578840f8ac4" name="Default Changelist" comment="" />
+ <option name="SHOW_DIALOG" value="false" />
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+ <option name="LAST_RESOLUTION" value="IGNORE" />
+ </component>
+ <component name="Git.Settings">
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+ </component>
+ <component name="ProjectId" id="2Hq3DqbkspUmNCGD5OprF7fRXne" />
+ <component name="ProjectViewState">
+ <option name="autoscrollFromSource" value="true" />
+ <option name="autoscrollToSource" value="true" />
+ <option name="hideEmptyMiddlePackages" value="true" />
+ <option name="showLibraryContents" value="true" />
+ </component>
+ <component name="PropertiesComponent">
+ <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
+ <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
+ <property name="android.project.structure.last.selected" value="SDK Location" />
+ <property name="android.project.structure.proportion" value="0.15" />
+ <property name="android.sdk.path" value="$USER_HOME$/Library/Developer/Xamarin/android-sdk-macosx" />
+ <property name="last_opened_file_path" value="$PROJECT_DIR$" />
+ <property name="project.structure.last.edited" value="SDK Location" />
+ <property name="project.structure.proportion" value="0.17" />
+ <property name="project.structure.side.proportion" value="0.0" />
+ <property name="settings.editor.selected.configurable" value="AndroidSdkUpdater" />
+ </component>
+ <component name="SvnConfiguration">
+ <configuration />
+ </component>
+ <component name="TaskManager">
+ <task active="true" id="Default" summary="Default task">
+ <changelist id="65c1ada5-6f56-4f18-9096-9578840f8ac4" name="Default Changelist" comment="" />
+ <created>1668998669220</created>
+ <option name="number" value="Default" />
+ <option name="presentableId" value="Default" />
+ <updated>1668998669220</updated>
+ </task>
+ <servers />
+ </component>
+</project>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.DS_Store b/AndroidOpenDemo/.DS_Store
index 36951ce..c04119c 100644
--- a/AndroidOpenDemo/.DS_Store
+++ b/AndroidOpenDemo/.DS_Store
Binary files differ
diff --git a/AndroidOpenDemo/.idea/.name b/AndroidOpenDemo/.idea/.name
new file mode 100644
index 0000000..7c4b093
--- /dev/null
+++ b/AndroidOpenDemo/.idea/.name
@@ -0,0 +1 @@
+LCAndroidSDKDemo
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/caches/build_file_checksums.ser b/AndroidOpenDemo/.idea/caches/build_file_checksums.ser
new file mode 100644
index 0000000..6399dbe
--- /dev/null
+++ b/AndroidOpenDemo/.idea/caches/build_file_checksums.ser
Binary files differ
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle____DeviceAddModule_libs_imageload4dh_jar.xml b/AndroidOpenDemo/.idea/libraries/Gradle____DeviceAddModule_libs_imageload4dh_jar.xml
new file mode 100644
index 0000000..300c62f
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle____DeviceAddModule_libs_imageload4dh_jar.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: ./DeviceAddModule/libs/imageload4dh.jar">
+ <CLASSES>
+ <root url="jar://$PROJECT_DIR$/DeviceAddModule/libs/imageload4dh.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle____DeviceAddModule_libs_lechangeSDK_jar.xml b/AndroidOpenDemo/.idea/libraries/Gradle____DeviceAddModule_libs_lechangeSDK_jar.xml
new file mode 100644
index 0000000..e3646fd
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle____DeviceAddModule_libs_lechangeSDK_jar.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: ./DeviceAddModule/libs/lechangeSDK.jar">
+ <CLASSES>
+ <root url="jar://$PROJECT_DIR$/DeviceAddModule/libs/lechangeSDK.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_DHMobileToolset_1_1_1_aar_f7d8eb2f1804db3345ec5a537e5ec0db.xml b/AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_DHMobileToolset_1_1_1_aar_f7d8eb2f1804db3345ec5a537e5ec0db.xml
new file mode 100644
index 0000000..417cf1b
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_DHMobileToolset_1_1_1_aar_f7d8eb2f1804db3345ec5a537e5ec0db.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: ./../../../.gradle/caches/transforms-1/files-1.1/DHMobileToolset-1.1.1.aar/f7d8eb2f1804db3345ec5a537e5ec0db">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/DHMobileToolset-1.1.1.aar/f7d8eb2f1804db3345ec5a537e5ec0db/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/DHMobileToolset-1.1.1.aar/f7d8eb2f1804db3345ec5a537e5ec0db/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_DHScanner_1_0_7_aar_0ecd90b9bed2580cb7702e452029b5fe.xml b/AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_DHScanner_1_0_7_aar_0ecd90b9bed2580cb7702e452029b5fe.xml
new file mode 100644
index 0000000..b9075b0
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_DHScanner_1_0_7_aar_0ecd90b9bed2580cb7702e452029b5fe.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: ./../../../.gradle/caches/transforms-1/files-1.1/DHScanner-1.0.7.aar/0ecd90b9bed2580cb7702e452029b5fe">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/DHScanner-1.0.7.aar/0ecd90b9bed2580cb7702e452029b5fe/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/DHScanner-1.0.7.aar/0ecd90b9bed2580cb7702e452029b5fe/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_PullToRefreshListView_release_aar_1232b6310601f161610e5eb82d661087.xml b/AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_PullToRefreshListView_release_aar_1232b6310601f161610e5eb82d661087.xml
new file mode 100644
index 0000000..3c3411a
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle______________gradle_caches_transforms_1_files_1_1_PullToRefreshListView_release_aar_1232b6310601f161610e5eb82d661087.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: ./../../../.gradle/caches/transforms-1/files-1.1/PullToRefreshListView-release.aar/1232b6310601f161610e5eb82d661087">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/PullToRefreshListView-release.aar/1232b6310601f161610e5eb82d661087/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/PullToRefreshListView-release.aar/1232b6310601f161610e5eb82d661087/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle____third_zxing_libs_zxing_3_3_0_jar.xml b/AndroidOpenDemo/.idea/libraries/Gradle____third_zxing_libs_zxing_3_3_0_jar.xml
new file mode 100644
index 0000000..d066d24
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle____third_zxing_libs_zxing_3_3_0_jar.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: ./third-zxing/libs/zxing_3.3.0.jar">
+ <CLASSES>
+ <root url="jar://$PROJECT_DIR$/third-zxing/libs/zxing_3.3.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_core_common_1_1_1.xml b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_core_common_1_1_1.xml
new file mode 100644
index 0000000..8100439
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_core_common_1_1_1.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: android.arch.core:common:1.1.1">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.1/e55b70d1f5620db124b3e85a7f4bdc7bd48d9f95/common-1.1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml
new file mode 100644
index 0000000..9259dd4
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: android.arch.core:runtime:1.1.1@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.1.aar/f3914d400c29aab655fe9080500f1c18/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.1.aar/f3914d400c29aab655fe9080500f1c18/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1.xml b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1.xml
new file mode 100644
index 0000000..0d77ad2
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: android.arch.lifecycle:common:1.1.1">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.1/207a6efae6a3555e326de41f76bdadd9a239cbce/common-1.1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml
new file mode 100644
index 0000000..f20ad41
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: android.arch.lifecycle:livedata:1.1.1@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-1.1.1.aar/2dafc25bec144912cd7baa2b06103bf0/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-1.1.1.aar/2dafc25bec144912cd7baa2b06103bf0/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml
new file mode 100644
index 0000000..3ab1fa7
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: android.arch.lifecycle:livedata-core:1.1.1@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.1.aar/51cf83ab2bb2c1ff34397b3858b71eff/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.1.aar/51cf83ab2bb2c1ff34397b3858b71eff/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml
new file mode 100644
index 0000000..788c03f
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: android.arch.lifecycle:runtime:1.1.1@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.1.aar/65f9fbf2d6dae92de8d9ea1f65ddbe69/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.1.aar/65f9fbf2d6dae92de8d9ea1f65ddbe69/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml
new file mode 100644
index 0000000..3bb55eb
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: android.arch.lifecycle:viewmodel:1.1.1@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.1.aar/c6db8ff658b2b8de4a22f78c823055bf/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.1.aar/c6db8ff658b2b8de4a22f78c823055bf/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_alibaba_arouter_annotation_1_0_6.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_alibaba_arouter_annotation_1_0_6.xml
new file mode 100644
index 0000000..a4e2045
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_alibaba_arouter_annotation_1_0_6.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: com.alibaba:arouter-annotation:1.0.6">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.alibaba/arouter-annotation/1.0.6/667fa943838b31d3a94cce6fe9e0b786cd9445ae/arouter-annotation-1.0.6.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_alibaba_arouter_api_1_4_1_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_alibaba_arouter_api_1_4_1_aar.xml
new file mode 100644
index 0000000..1b8c04c
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_alibaba_arouter_api_1_4_1_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.alibaba:arouter-api:1.4.1@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/arouter-api-1.4.1.aar/015e319478c0f7958e0441563ac7d56a/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/arouter-api-1.4.1.aar/015e319478c0f7958e0441563ac7d56a/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml
new file mode 100644
index 0000000..6e5bca9
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:animated-vector-drawable:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-28.0.0.aar/743c9ae12b78dc2ed55955f6c0e0d327/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-28.0.0.aar/743c9ae12b78dc2ed55955f6c0e0d327/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml
new file mode 100644
index 0000000..1ab24f8
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:appcompat-v7:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/af1e5516ccbf3c62a3eb96e82dd2f042/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/af1e5516ccbf3c62a3eb96e82dd2f042/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0.aar/af1e5516ccbf3c62a3eb96e82dd2f042/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml
new file mode 100644
index 0000000..199abb7
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:asynclayoutinflater:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/asynclayoutinflater-28.0.0.aar/fc1d79774b572c7edc6165c2044bc836/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/asynclayoutinflater-28.0.0.aar/fc1d79774b572c7edc6165c2044bc836/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_cardview_v7_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_cardview_v7_28_0_0_aar.xml
new file mode 100644
index 0000000..e906af7
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_cardview_v7_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:cardview-v7:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/cardview-v7-28.0.0.aar/d08606ace6213f60bdd13cf318fcac05/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/cardview-v7-28.0.0.aar/d08606ace6213f60bdd13cf318fcac05/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_collections_28_0_0.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_collections_28_0_0.xml
new file mode 100644
index 0000000..6ccf636
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_collections_28_0_0.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:collections:28.0.0">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/collections/28.0.0/c1bcdade4d3cc2836130424a3f3e4182c666a745/collections-28.0.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_0_aar.xml
new file mode 100644
index 0000000..69d35e6
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.constraint:constraint-layout:1.1.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.1.0.aar/1d8b7a5d9e326d5497f2d8c4e7d7f00a/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.1.0.aar/1d8b7a5d9e326d5497f2d8c4e7d7f00a/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_1_0.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_1_0.xml
new file mode 100644
index 0000000..5dbff82
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_1_0.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.constraint:constraint-layout-solver:1.1.0">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support.constraint/constraint-layout-solver/1.1.0/931532e953a477f876f2de18c2e7f16eee01078f/constraint-layout-solver-1.1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml
new file mode 100644
index 0000000..995942f
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:coordinatorlayout:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/coordinatorlayout-28.0.0.aar/d6fd15962868e41da2f2d643faf7eedf/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/coordinatorlayout-28.0.0.aar/d6fd15962868e41da2f2d643faf7eedf/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/coordinatorlayout-28.0.0.aar/d6fd15962868e41da2f2d643faf7eedf/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml
new file mode 100644
index 0000000..ed00c7d
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:cursoradapter:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/cursoradapter-28.0.0.aar/9361a234a82258237d549852fa3b395e/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/cursoradapter-28.0.0.aar/9361a234a82258237d549852fa3b395e/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml
new file mode 100644
index 0000000..e86e8c2
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:customview:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/customview-28.0.0.aar/358ea5e98f1f69eb38944bd2ac523ac4/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/customview-28.0.0.aar/358ea5e98f1f69eb38944bd2ac523ac4/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_design_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_design_28_0_0_aar.xml
new file mode 100644
index 0000000..7055c0e
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_design_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:design:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/design-28.0.0.aar/2ef48b3aca247c9437a11bcb025e6060/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/design-28.0.0.aar/2ef48b3aca247c9437a11bcb025e6060/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/design-28.0.0.aar/2ef48b3aca247c9437a11bcb025e6060/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml
new file mode 100644
index 0000000..6a00a45
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:documentfile:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/documentfile-28.0.0.aar/559c6031ec394a9e4c19d120e5fee401/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/documentfile-28.0.0.aar/559c6031ec394a9e4c19d120e5fee401/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml
new file mode 100644
index 0000000..382b179
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:drawerlayout:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/drawerlayout-28.0.0.aar/db044f7318c1f1029be44dbf263c97ca/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/drawerlayout-28.0.0.aar/db044f7318c1f1029be44dbf263c97ca/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/drawerlayout-28.0.0.aar/db044f7318c1f1029be44dbf263c97ca/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml
new file mode 100644
index 0000000..9a893a3
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:interpolator:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/interpolator-28.0.0.aar/8e57400c9ccf3285f7b4a03cbdc54ae8/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/interpolator-28.0.0.aar/8e57400c9ccf3285f7b4a03cbdc54ae8/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml
new file mode 100644
index 0000000..3ee626f
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:loader:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/loader-28.0.0.aar/67a451e4b57e284303e25d6da1998e1b/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/loader-28.0.0.aar/67a451e4b57e284303e25d6da1998e1b/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml
new file mode 100644
index 0000000..46e94a7
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:localbroadcastmanager:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/localbroadcastmanager-28.0.0.aar/63492ab9a82305c0fd760d4562357a82/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/localbroadcastmanager-28.0.0.aar/63492ab9a82305c0fd760d4562357a82/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml
new file mode 100644
index 0000000..c86502b
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:print:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0.aar/e01cda6a4f1490f83e0e164212992f54/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0.aar/e01cda6a4f1490f83e0e164212992f54/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0.aar/e01cda6a4f1490f83e0e164212992f54/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_recyclerview_v7_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_recyclerview_v7_28_0_0_aar.xml
new file mode 100644
index 0000000..e80bd3e
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_recyclerview_v7_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:recyclerview-v7:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-28.0.0.aar/24421858359922ef9c9daa6635011ff2/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-28.0.0.aar/24421858359922ef9c9daa6635011ff2/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-28.0.0.aar/24421858359922ef9c9daa6635011ff2/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml
new file mode 100644
index 0000000..b29f1a4
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:slidingpanelayout:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/slidingpanelayout-28.0.0.aar/05b3dd8a9b8acf6a3cf18008b7b61034/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/slidingpanelayout-28.0.0.aar/05b3dd8a9b8acf6a3cf18008b7b61034/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0.xml
new file mode 100644
index 0000000..24e83bc
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-annotations:28.0.0">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/28.0.0/ed73f5337a002d1fd24339d5fb08c2c9d9ca60d8/support-annotations-28.0.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml
new file mode 100644
index 0000000..f6faafe
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-compat:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-28.0.0.aar/76ff6b44cfa7b874c02780054c242146/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-28.0.0.aar/76ff6b44cfa7b874c02780054c242146/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-28.0.0.aar/76ff6b44cfa7b874c02780054c242146/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml
new file mode 100644
index 0000000..dbcb25e
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-core-ui:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-28.0.0.aar/bded591d04c13b20403a46a77e5a9dbb/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-28.0.0.aar/bded591d04c13b20403a46a77e5a9dbb/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml
new file mode 100644
index 0000000..6c1e611
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-core-utils:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-28.0.0.aar/0dbd2805f802b9d11f9e1855c46961c8/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-28.0.0.aar/0dbd2805f802b9d11f9e1855c46961c8/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml
new file mode 100644
index 0000000..fb63b43
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-fragment:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-28.0.0.aar/8abac4bbb8af8a373b6a9ec06d51ea85/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-28.0.0.aar/8abac4bbb8af8a373b6a9ec06d51ea85/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-28.0.0.aar/8abac4bbb8af8a373b6a9ec06d51ea85/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_media_compat_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_media_compat_28_0_0_aar.xml
new file mode 100644
index 0000000..894999d
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_media_compat_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-media-compat:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-28.0.0.aar/7af6a08473ce8027f47e2e6295b3d538/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-28.0.0.aar/7af6a08473ce8027f47e2e6295b3d538/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-28.0.0.aar/7af6a08473ce8027f47e2e6295b3d538/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_v4_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_v4_28_0_0_aar.xml
new file mode 100644
index 0000000..771250a
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_v4_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-v4:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-28.0.0.aar/337cab79775309d0bf2cbe9c1c583100/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-28.0.0.aar/337cab79775309d0bf2cbe9c1c583100/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml
new file mode 100644
index 0000000..fd641b4
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-vector-drawable:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-28.0.0.aar/c35f9e81b033c59ee523dc9fe6b221a7/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-28.0.0.aar/c35f9e81b033c59ee523dc9fe6b221a7/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml
new file mode 100644
index 0000000..9120faf
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:swiperefreshlayout:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/swiperefreshlayout-28.0.0.aar/89aeeeef975e5446c20b20f8b81d9549/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/swiperefreshlayout-28.0.0.aar/89aeeeef975e5446c20b20f8b81d9549/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/swiperefreshlayout-28.0.0.aar/89aeeeef975e5446c20b20f8b81d9549/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml
new file mode 100644
index 0000000..1eaee13
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test.espresso:espresso-core:2.2.2@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-2.2.2.aar/30c8156779e315641ac9677bede0aec2/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-2.2.2.aar/30c8156779e315641ac9677bede0aec2/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml
new file mode 100644
index 0000000..fea0167
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_2_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test.espresso:espresso-core:3.0.2@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-3.0.2.aar/08753eefdd4f9556e2ec7ff764778aaf/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-3.0.2.aar/08753eefdd4f9556e2ec7ff764778aaf/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml
new file mode 100644
index 0000000..b616655
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test.espresso:espresso-idling-resource:2.2.2@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-2.2.2.aar/bce9e2e0c0ec2d3973e11b9515b39511/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-2.2.2.aar/bce9e2e0c0ec2d3973e11b9515b39511/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml
new file mode 100644
index 0000000..e03e4f0
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test.espresso:espresso-idling-resource:3.0.2@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-3.0.2.aar/f87341fd3005a2edd8f630f762a57e2e/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-3.0.2.aar/f87341fd3005a2edd8f630f762a57e2e/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml
new file mode 100644
index 0000000..1af21e4
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test:exposed-instrumentation-api-publish:0.5@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/exposed-instrumentation-api-publish-0.5.aar/bc62c7cb534a39bd9062c0d2fb1e4343/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/exposed-instrumentation-api-publish-0.5.aar/bc62c7cb534a39bd9062c0d2fb1e4343/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2_aar.xml
new file mode 100644
index 0000000..ca4a32c
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test:monitor:1.0.2@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/monitor-1.0.2.aar/84cf6733468782b268ac8a1229f0c3c4/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/monitor-1.0.2.aar/84cf6733468782b268ac8a1229f0c3c4/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml
new file mode 100644
index 0000000..078016b
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_rules_0_5_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test:rules:0.5@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rules-0.5.aar/3d25ed1044033d691e695a547f283ae0/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rules-0.5.aar/3d25ed1044033d691e695a547f283ae0/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rules-0.5.aar/3d25ed1044033d691e695a547f283ae0/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml
new file mode 100644
index 0000000..812f4eb
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_runner_0_5_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test:runner:0.5@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-0.5.aar/bd213aa88f7431826e6e6dd5e32cf256/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-0.5.aar/bd213aa88f7431826e6e6dd5e32cf256/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-0.5.aar/bd213aa88f7431826e6e6dd5e32cf256/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2_aar.xml
new file mode 100644
index 0000000..0153720
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test:runner:1.0.2@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-1.0.2.aar/1d2f271d3bd18dc681ea132350e497ed/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-1.0.2.aar/1d2f271d3bd18dc681ea132350e497ed/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_transition_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_transition_28_0_0_aar.xml
new file mode 100644
index 0000000..7641448
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_transition_28_0_0_aar.xml
@@ -0,0 +1,13 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:transition:28.0.0@aar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/transition-28.0.0.aar/6c6e415c4d5e81dafe1aac0c92b8d6e4/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/transition-28.0.0.aar/6c6e415c4d5e81dafe1aac0c92b8d6e4/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/transition-28.0.0.aar/6c6e415c4d5e81dafe1aac0c92b8d6e4/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml
new file mode 100644
index 0000000..2fd6f05
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:versionedparcelable:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/versionedparcelable-28.0.0.aar/9d982810dfe7b7c0aa44a2acc7b6c371/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/versionedparcelable-28.0.0.aar/9d982810dfe7b7c0aa44a2acc7b6c371/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml
new file mode 100644
index 0000000..e931775
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:viewpager:28.0.0@aar">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewpager-28.0.0.aar/994f7681272756449a4ecf21cb58d2d5/res" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewpager-28.0.0.aar/994f7681272756449a4ecf21cb58d2d5/AndroidManifest.xml" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml
new file mode 100644
index 0000000..2b834ea
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: com.google.code.findbugs:jsr305:2.0.1">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/2.0.1/516c03b21d50a644d538de0f0369c620989cd8f0/jsr305-2.0.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_8.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_8.xml
new file mode 100644
index 0000000..3075c13
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_8.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: com.google.code.gson:gson:2.8.8">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.8/431fc3cbc0ff81abdbfde070062741089c3ba874/gson-2.8.8.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml b/AndroidOpenDemo/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml
new file mode 100644
index 0000000..dcf9be0
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: com.squareup:javawriter:2.1.1">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/67ff45d9ae02e583d0f9b3432a5ebbe05c30c966/javawriter-2.1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2.xml b/AndroidOpenDemo/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2.xml
new file mode 100644
index 0000000..0a6bc48
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: javax.annotation:javax.annotation-api:1.2">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/479c1e06db31c432330183f5cae684163f186146/javax.annotation-api-1.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml b/AndroidOpenDemo/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml
new file mode 100644
index 0000000..cbad166
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: javax.inject:javax.inject:1">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__junit_junit_4_12.xml b/AndroidOpenDemo/.idea/libraries/Gradle__junit_junit_4_12.xml
new file mode 100644
index 0000000..c1b646b
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__junit_junit_4_12.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: junit:junit:4.12">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml b/AndroidOpenDemo/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml
new file mode 100644
index 0000000..326588d
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: net.sf.kxml:kxml2:2.3.0">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/ccbc77a5fd907ef863c29f3596c6f54ffa4e9442/kxml2-2.3.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0.xml b/AndroidOpenDemo/.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0.xml
new file mode 100644
index 0000000..a593ca3
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: org.greenrobot:eventbus:3.0.0">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.greenrobot/eventbus/3.0.0/ddd99896e9569eaababbe81b35d80e1b91c4ad85/eventbus-3.0.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.greenrobot/eventbus/3.0.0/777f0a941d3dd0f9988d4f22b42b36ce2fe64ea4/eventbus-3.0.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml b/AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml
new file mode 100644
index 0000000..30bf23a
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: org.hamcrest:hamcrest-core:1.3">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml b/AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml
new file mode 100644
index 0000000..16c340f
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: org.hamcrest:hamcrest-integration:1.3">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/5de0c73fef18917cd85d0ab70bb23818685e4dfd/hamcrest-integration-1.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml b/AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml
new file mode 100644
index 0000000..7903a97
--- /dev/null
+++ b/AndroidOpenDemo/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: org.hamcrest:hamcrest-library:1.3">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/modules.xml b/AndroidOpenDemo/.idea/modules.xml
new file mode 100644
index 0000000..ca09bd2
--- /dev/null
+++ b/AndroidOpenDemo/.idea/modules.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/LCAndroidSDKDemo.iml" filepath="$PROJECT_DIR$/.idea/modules/LCAndroidSDKDemo.iml" />
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/DeviceAddModule/LCAndroidSDKDemo.DeviceAddModule.iml" filepath="$PROJECT_DIR$/.idea/modules/DeviceAddModule/LCAndroidSDKDemo.DeviceAddModule.iml" />
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/app/LCAndroidSDKDemo.app.iml" filepath="$PROJECT_DIR$/.idea/modules/app/LCAndroidSDKDemo.app.iml" />
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/third-zxing/LCAndroidSDKDemo.third-zxing.iml" filepath="$PROJECT_DIR$/.idea/modules/third-zxing/LCAndroidSDKDemo.third-zxing.iml" />
+ </modules>
+ </component>
+</project>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/modules/DeviceAddModule/LCAndroidSDKDemo.DeviceAddModule.iml b/AndroidOpenDemo/.idea/modules/DeviceAddModule/LCAndroidSDKDemo.DeviceAddModule.iml
index 54de706..d33c304 100644
--- a/AndroidOpenDemo/.idea/modules/DeviceAddModule/LCAndroidSDKDemo.DeviceAddModule.iml
+++ b/AndroidOpenDemo/.idea/modules/DeviceAddModule/LCAndroidSDKDemo.DeviceAddModule.iml
@@ -22,7 +22,6 @@
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res;file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res/lc;file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res/lc/drawable;file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res/lc/drawable-hdpi;file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res/lc/drawable-xhdpi;file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res/lc/drawable-xxhdpi;file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res/lc/anim;file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res/lc/color;file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res/lc/values;file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res/lc/values-en;file://$MODULE_DIR$/../../../DeviceAddModule/src/main/res/lc/layout;file://$MODULE_DIR$/../../../DeviceAddModule/src/debug/res;file://$MODULE_DIR$/../../../DeviceAddModule/build/generated/res/rs/debug;file://$MODULE_DIR$/../../../DeviceAddModule/build/generated/res/resValues/debug" />
<option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../../DeviceAddModule/src/androidTest/res;file://$MODULE_DIR$/../../../DeviceAddModule/src/androidTestDebug/res;file://$MODULE_DIR$/../../../DeviceAddModule/build/generated/res/rs/androidTest/debug;file://$MODULE_DIR$/../../../DeviceAddModule/build/generated/res/resValues/androidTest/debug" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
- <option name="PROJECT_TYPE" value="1" />
</configuration>
</facet>
</component>
@@ -57,7 +56,8 @@
<orderEntry type="library" name="Gradle: ./DeviceAddModule/libs/imageload4dh.jar" level="project" />
<orderEntry type="library" name="Gradle: ./DeviceAddModule/libs/lechangeSDK.jar" level="project" />
<orderEntry type="library" name="Gradle: ./third-zxing/libs/zxing_3.3.0.jar" level="project" />
- <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.1" level="project" />
+ <orderEntry type="library" name="Gradle: org.greenrobot:eventbus:3.0.0" level="project" />
+ <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.8" level="project" />
<orderEntry type="library" name="Gradle: com.alibaba:arouter-annotation:1.0.6" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:collections:28.0.0" level="project" />
<orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.1" level="project" />
diff --git a/AndroidOpenDemo/.idea/modules/LCAndroidSDKDemo.iml b/AndroidOpenDemo/.idea/modules/LCAndroidSDKDemo.iml
new file mode 100644
index 0000000..960f337
--- /dev/null
+++ b/AndroidOpenDemo/.idea/modules/LCAndroidSDKDemo.iml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id="LCAndroidSDKDemo" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="java-gradle" name="Java-Gradle">
+ <configuration>
+ <option name="BUILDABLE" value="false" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$/../..">
+ <excludeFolder url="file://$MODULE_DIR$/../../.gradle" />
+ <excludeFolder url="file://$MODULE_DIR$/../../build" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
+</module>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/modules/app/LCAndroidSDKDemo.app.iml b/AndroidOpenDemo/.idea/modules/app/LCAndroidSDKDemo.app.iml
index 45f26c2..74469ec 100644
--- a/AndroidOpenDemo/.idea/modules/app/LCAndroidSDKDemo.app.iml
+++ b/AndroidOpenDemo/.idea/modules/app/LCAndroidSDKDemo.app.iml
@@ -22,7 +22,6 @@
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../../app/src/main/res;file://$MODULE_DIR$/../../../app/src/debug/res;file://$MODULE_DIR$/../../../app/build/generated/res/rs/debug;file://$MODULE_DIR$/../../../app/build/generated/res/resValues/debug" />
<option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../../app/src/androidTest/res;file://$MODULE_DIR$/../../../app/src/androidTestDebug/res;file://$MODULE_DIR$/../../../app/build/generated/res/rs/androidTest/debug;file://$MODULE_DIR$/../../../app/build/generated/res/resValues/androidTest/debug" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
- <option name="PROJECT_TYPE" value="1" />
</configuration>
</facet>
</component>
@@ -57,32 +56,15 @@
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner:1.0.2@aar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:monitor:1.0.2@aar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource:3.0.2@aar" level="project" />
- <orderEntry type="library" name="Gradle: ./DeviceAddModule/libs/imageload4dh.jar" level="project" />
- <orderEntry type="library" name="Gradle: ./third-zxing/libs/zxing_3.3.0.jar" level="project" />
- <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.1" level="project" />
- <orderEntry type="library" name="Gradle: com.alibaba:arouter-annotation:1.0.6" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:collections:28.0.0" level="project" />
<orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.1" level="project" />
<orderEntry type="library" name="Gradle: android.arch.core:common:1.1.1" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-annotations:28.0.0" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-solver:1.1.0" level="project" />
- <orderEntry type="library" name="Gradle: ./../../../.gradle/caches/transforms-1/files-1.1/PullToRefreshListView-release.aar/1232b6310601f161610e5eb82d661087" level="project" />
- <orderEntry type="library" name="Gradle: ./../../../.gradle/caches/transforms-1/files-1.1/DHMobileToolset-1.1.1.aar/f7d8eb2f1804db3345ec5a537e5ec0db" level="project" />
- <orderEntry type="library" name="Gradle: ./../../../.gradle/caches/transforms-1/files-1.1/DHScanner-1.0.7.aar/0ecd90b9bed2580cb7702e452029b5fe" level="project" />
- <orderEntry type="library" name="Gradle: com.alibaba:arouter-api:1.4.1@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-v4:28.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:design:28.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:recyclerview-v7:28.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7:28.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:cardview-v7:28.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout:1.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-media-compat:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-fragment:28.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-core-ui:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-core-utils:28.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable:28.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:transition:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:loader:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:viewpager:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:coordinatorlayout:28.0.0@aar" level="project" />
@@ -93,17 +75,15 @@
<orderEntry type="library" name="Gradle: com.android.support:asynclayoutinflater:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-compat:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:versionedparcelable:28.0.0@aar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:cursoradapter:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime:1.1.1@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:documentfile:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:localbroadcastmanager:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:print:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:interpolator:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:cursoradapter:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: android.arch.lifecycle:viewmodel:1.1.1@aar" level="project" />
<orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata:1.1.1@aar" level="project" />
<orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-core:1.1.1@aar" level="project" />
<orderEntry type="library" name="Gradle: android.arch.core:runtime:1.1.1@aar" level="project" />
- <orderEntry type="module" module-name="LCAndroidSDKDemo.DeviceAddModule" />
- <orderEntry type="module" module-name="LCAndroidSDKDemo.third-zxing" />
</component>
</module>
\ No newline at end of file
diff --git a/AndroidOpenDemo/.idea/modules/third-zxing/LCAndroidSDKDemo.third-zxing.iml b/AndroidOpenDemo/.idea/modules/third-zxing/LCAndroidSDKDemo.third-zxing.iml
new file mode 100644
index 0000000..f6f9fd8
--- /dev/null
+++ b/AndroidOpenDemo/.idea/modules/third-zxing/LCAndroidSDKDemo.third-zxing.iml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id=":third-zxing" external.linked.project.path="$MODULE_DIR$/../../../third-zxing" external.root.project.path="$MODULE_DIR$/../../.." external.system.id="GRADLE" external.system.module.group="LCAndroidSDKDemo" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="android-gradle" name="Android-Gradle">
+ <configuration>
+ <option name="GRADLE_PROJECT_PATH" value=":third-zxing" />
+ <option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.2.1" />
+ <option name="LAST_KNOWN_AGP_VERSION" value="3.2.1" />
+ </configuration>
+ </facet>
+ <facet type="android" name="Android">
+ <configuration>
+ <option name="SELECTED_BUILD_VARIANT" value="debug" />
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
+ <afterSyncTasks>
+ <task>generateDebugSources</task>
+ </afterSyncTasks>
+ <option name="ALLOW_USER_CONFIGURATION" value="false" />
+ <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
+ <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
+ <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../../third-zxing/src/main/res;file://$MODULE_DIR$/../../../third-zxing/src/debug/res;file://$MODULE_DIR$/../../../third-zxing/build/generated/res/rs/debug;file://$MODULE_DIR$/../../../third-zxing/build/generated/res/resValues/debug" />
+ <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../../third-zxing/src/androidTest/res;file://$MODULE_DIR$/../../../third-zxing/src/androidTestDebug/res;file://$MODULE_DIR$/../../../third-zxing/build/generated/res/rs/androidTest/debug;file://$MODULE_DIR$/../../../third-zxing/build/generated/res/resValues/androidTest/debug" />
+ <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
+ <option name="PROJECT_TYPE" value="1" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
+ <output url="file://$MODULE_DIR$/../../../third-zxing/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes" />
+ <output-test url="file://$MODULE_DIR$/../../../third-zxing/build/intermediates/javac/debugUnitTest/compileDebugUnitTestJavaWithJavac/classes" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$/../../../third-zxing">
+ <sourceFolder url="file://$MODULE_DIR$/../../../third-zxing/build/generated/res/resValues/debug" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/../../../third-zxing/build/generated/res/rs/debug" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/../../../third-zxing/build/generated/source/apt/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/../../../third-zxing/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/../../../third-zxing/build/generated/source/rs/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/../../../third-zxing/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/../../../third-zxing/src/main/res" type="java-resource" />
+ <excludeFolder url="file://$MODULE_DIR$/../../../third-zxing/.gradle" />
+ <excludeFolder url="file://$MODULE_DIR$/../../../third-zxing/build" />
+ </content>
+ <orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: javax.annotation:javax.annotation-api:1.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core:2.2.2@aar" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:rules:0.5@aar" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner:0.5@aar" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource:2.2.2@aar" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:exposed-instrumentation-api-publish:0.5@aar" level="project" />
+ <orderEntry type="library" name="Gradle: ./third-zxing/libs/zxing_3.3.0.jar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:collections:28.0.0" level="project" />
+ <orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.1" level="project" />
+ <orderEntry type="library" name="Gradle: android.arch.core:common:1.1.1" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:support-annotations:28.0.0" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:support-fragment:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:support-core-ui:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:support-core-utils:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:loader:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:viewpager:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:coordinatorlayout:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:drawerlayout:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:slidingpanelayout:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:customview:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:swiperefreshlayout:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:asynclayoutinflater:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:support-compat:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:versionedparcelable:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:cursoradapter:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime:1.1.1@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:documentfile:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:localbroadcastmanager:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:print:28.0.0@aar" level="project" />
+ <orderEntry type="library" name="Gradle: android.arch.lifecycle:viewmodel:1.1.1@aar" level="project" />
+ <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata:1.1.1@aar" level="project" />
+ <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-core:1.1.1@aar" level="project" />
+ <orderEntry type="library" name="Gradle: android.arch.core:runtime:1.1.1@aar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:interpolator:28.0.0@aar" level="project" />
+ </component>
+</module>
\ No newline at end of file
diff --git a/AndroidOpenDemo/DeviceAddModule/.DS_Store b/AndroidOpenDemo/DeviceAddModule/.DS_Store
index d04fcfb..eb2320e 100644
--- a/AndroidOpenDemo/DeviceAddModule/.DS_Store
+++ b/AndroidOpenDemo/DeviceAddModule/.DS_Store
Binary files differ
diff --git a/AndroidOpenDemo/DeviceAddModule/libs/gson-2.8.8.jar b/AndroidOpenDemo/DeviceAddModule/libs/gson-2.8.8.jar
new file mode 100644
index 0000000..4707d40
--- /dev/null
+++ b/AndroidOpenDemo/DeviceAddModule/libs/gson-2.8.8.jar
Binary files differ
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/DeviceAddActivity.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/DeviceAddActivity.java
index 74decec..9ba6b37 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/DeviceAddActivity.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/DeviceAddActivity.java
@@ -499,6 +499,7 @@
}
mLoadingPopWindow = null;
}
+ EventBus.getDefault().post("backXamarin");
}
// 绂荤嚎閰嶇綉鎴愬姛锛岃繑鍥炰笂涓�绾ч〉闈�
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java
index eba13db..b8053a0 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java
+++ b/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,13 +64,15 @@
commonParam.checkParam();
//鍒濆鍖栧弬鏁�
initParam(commonParam);
- //鑾峰彇寮�鏀惧钩鍙皌oken
- initToken();
- if (TextUtils.isEmpty(accessToken)) {
- throw throwable;
+ if (!CONST.HOST.contains("hdlcontrol.com")) {
+ //鑾峰彇寮�鏀惧钩鍙皌oken
+ initToken();
+ if (TextUtils.isEmpty(accessToken)) {
+ throw throwable;
+ }
}
//缁勪欢鍒濆鍖�
- InitParams initParams = new InitParams(commonParam.getContext(), CONST.HOST.replace("https://", ""), accessToken);
+ InitParams initParams = new InitParams(commonParam.getContext(), CONST.Envirment.OVERSEAS_PRO.url.replace("https://", ""), accessToken);
LCOpenSDK_Api.initOpenApi(initParams);
LCOpenSDK_DeviceInit.getInstance();
sdkHasInit = true;
@@ -83,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;
}
@@ -145,4 +149,11 @@
ImageLoader.getInstance().init(config);
}
+ public String getHomeId() {
+ return homeId == null ? "" : homeId;
+ }
+
+ public void setHomeId(String homeId) {
+ this.homeId = homeId;
+ }
}
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/model/DeviceAddModel.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/model/DeviceAddModel.java
index 8373403..bd08b21 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/model/DeviceAddModel.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/model/DeviceAddModel.java
@@ -327,7 +327,7 @@
new BusinessRunnable(handler) {
@Override
public void doBusiness() throws BusinessException {
- DeviceBindResult deviceBindResult = deviceAddService.userDeviceBind( sn, devPwd, DMS_TIMEOUT);
+ DeviceBindResult deviceBindResult = deviceAddService.hdlUserDeviceBind( sn, devPwd, DMS_TIMEOUT);
mDeviceAddInfo.setDeviceDefaultName(deviceBindResult.getDeviceName());
mDeviceAddInfo.setBindStatus(deviceBindResult.getBindStatus());
mDeviceAddInfo.setBindAcount(deviceBindResult.getUserAccount());
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/CONST.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/CONST.java
index 20db92a..f14fabf 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/CONST.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/CONST.java
@@ -34,6 +34,8 @@
//娣诲姞瀛愯处鎴锋潈闄�
public static String ADD_POLICY = "addPolicy";
+ public static String INDEPENDENT_REGISTER ="independentRegister";
+
// URL鍦板潃
public static String HOST = "";
// 濡傛灉涓嶇煡閬揳ppid锛岃鐧诲綍open.lechange.com锛屽紑鍙戣�呮湇鍔℃ā鍧椾腑鍒涘缓搴旂敤
@@ -42,7 +44,7 @@
public static String SECRET = "";
public enum Envirment {
- CHINA_TEST("https://funcopenapi.lechange.cn:443"),
+ CHINA_TEST("https://test-gz.hdlcontrol.com"),
CHINA_PRO("https://openapi.lechange.cn:443"),
OVERSEAS_TEST("https://openapifunc.easy4ip.com:443"),
OVERSEAS_PRO("https://openapi.easy4ip.com:443");
@@ -58,4 +60,8 @@
SECRET = secretKey;
HOST = url;
}
+
+ public static boolean isHdlServer() {
+ return HOST.contains("hdlcontrol.com");
+ }
}
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java
index 5c66232..a4d95bb 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java
+++ b/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;
@@ -106,6 +108,24 @@
HashMap<String, Object> paramsMap = new HashMap<String, Object>();
paramsMap.put("token", bindDeviceData.data.token);
paramsMap.put("deviceId", bindDeviceData.data.deviceId);
+ JsonObject json = HttpSend.execute(paramsMap, CONST.METHOD_BINDDEVICE,DMS_TIME_OUT);
+ BindDeviceData.Response response = new BindDeviceData.Response();
+ response.parseData(json);
+ return response;
+ }
+
+ /**
+ * 缁戝畾璁惧
+ *
+ * @param bindDeviceData
+ * @return
+ * @throws BusinessException
+ */
+ public static BindDeviceData.Response hdlUserDeviceBind(BindDeviceData bindDeviceData) throws BusinessException {
+ HashMap<String, Object> paramsMap = new HashMap<String, Object>();
+ paramsMap.put("extDevId", bindDeviceData.data.deviceId);
+ paramsMap.put("spk","security.ipcam.imou");
+ paramsMap.put("sid","8D00708PAGA01ED");
paramsMap.put("code", bindDeviceData.data.code);
JsonObject json = HttpSend.execute(paramsMap, CONST.METHOD_BINDDEVICE,DMS_TIME_OUT);
BindDeviceData.Response response = new BindDeviceData.Response();
@@ -241,9 +261,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, Object>>() {
+// }.getType());
+//
+// JsonObject json = HttpSend.execute(map, CONST.CREATE_SUB_ACCOUNT, TIME_OUT);
+ return true;
}
}
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HDLMD5Utils.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HDLMD5Utils.java
new file mode 100644
index 0000000..29e7a74
--- /dev/null
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HDLMD5Utils.java
@@ -0,0 +1,183 @@
+package com.mm.android.deviceaddmodule.openapi;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.UnsupportedEncodingException;
+import java.math.BigInteger;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+/**
+ * Created by Tong on 2021/11/3.
+ */
+public final class HDLMD5Utils {
+
+ /**
+ * MD5杞瓧绗︿覆
+ */
+ public static String encodeMD5(String s) {
+ try {
+ MessageDigest digest = MessageDigest.getInstance("MD5");
+ digest.update(s.getBytes("UTF-8"));
+ byte[] messageDigest = digest.digest();
+ return toHexString(messageDigest);
+ } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ return "";
+ }
+
+ private static String toHexString(byte[] keyData) {
+ if (keyData == null) {
+ return null;
+ }
+ int expectedStringLen = keyData.length * 2;
+ StringBuilder sb = new StringBuilder(expectedStringLen);
+ for (byte keyDatum : keyData) {
+ String hexStr = Integer.toString(keyDatum & 0x00FF, 16);
+ if (hexStr.length() == 1) {
+ hexStr = "0" + hexStr;
+ }
+ sb.append(hexStr);
+ }
+ return sb.toString();
+ }
+
+ /**
+ * MD5杞瓧绗︿覆
+ * 棰濆鍊�
+ */
+ public static String encodeMD52(String s) {
+ char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
+ try {
+ byte[] btInput = s.getBytes("utf-8");
+ MessageDigest digest = MessageDigest.getInstance("MD5");
+ digest.update(btInput);
+ byte[] md = digest.digest();
+ int j = md.length;
+ char[] str = new char[j * 2];
+ int k = 0;
+ for (byte byte0 : md) {
+ str[k++] = hexDigits[byte0 >>> 4 & 0xf];
+ str[k++] = hexDigits[byte0 & 0xf];
+ }
+ return new String(str);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ /**
+ * MD5鏂囦欢杞瓧绗︿覆
+ */
+ public static String encodeMD5(File f) {
+ if (!f.isFile()) {
+ return null;
+ }
+ MessageDigest digest;
+ byte[] buffer = new byte[1024];
+ int len;
+ try {
+ digest = MessageDigest.getInstance("MD5");
+ FileInputStream in = new FileInputStream(f);
+ while ((len = in.read(buffer, 0, 1024)) != -1) {
+ digest.update(buffer, 0, len);
+ }
+ in.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ BigInteger bigInt = new BigInteger(1, digest.digest());
+ return bigInt.toString(16);
+ }
+
+ /**
+ * MD5鏂囦欢杞瓧绗︿覆
+ */
+ public static String encodeMD5(byte[] f) {
+ MessageDigest digest;
+ try {
+ digest = MessageDigest.getInstance("MD5");
+ digest.update(f);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ BigInteger bigInt = new BigInteger(1, digest.digest());
+ return bigInt.toString(16);
+ }
+
+
+
+ public final static String md5(String plainText) {
+
+// 杩斿洖瀛楃涓�
+
+ String md5Str = null;
+
+ try {
+
+// 鎿嶄綔瀛楃涓�
+
+ StringBuffer buf = new StringBuffer();
+
+ MessageDigest md =
+
+ MessageDigest.getInstance("MD5");
+
+// 娣诲姞瑕佽繘琛岃绠楁憳瑕佺殑淇℃伅,浣跨敤 plainText 鐨� byte
+
+
+ md.update(plainText.getBytes());
+
+// 璁$畻鍑烘憳瑕�,瀹屾垚鍝堝笇璁$畻銆�
+
+ byte b[] = md.digest();
+
+ int i;
+
+ for (int offset = 0; offset < b.length; offset++) {
+
+ i = b[offset];
+
+ if (i < 0) {
+
+ i += 256;
+
+ }
+
+ if (i < 16) {
+
+ buf.append("0");
+
+ }
+
+// 灏嗘暣鍨� 鍗佽繘鍒� i
+
+
+ buf.append(Integer.toHexString(i));
+
+ }
+
+// 32浣嶇殑鍔犲瘑
+
+ md5Str = buf.toString();
+
+// 16浣嶇殑鍔犲瘑
+
+// md5Str = buf.toString().md5Strstring(8,24);
+
+ } catch (Exception e) {
+
+ e.printStackTrace();
+
+ }
+
+ return md5Str;
+
+ }
+
+
+}
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java
index 1a698f3..b79ac2a 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java
@@ -1,11 +1,26 @@
package com.mm.android.deviceaddmodule.openapi;
+import android.net.Uri;
+import android.text.TextUtils;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonElement;
+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;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
import javax.net.ssl.HttpsURLConnection;
public class HttpClient {
@@ -38,6 +53,7 @@
conn.setUseCaches(false);
conn.setInstanceFollowRedirects(true);
conn.setRequestProperty("Content-Type", contentType);
+ conn.setRequestProperty("Authorization","Bearer "+ LCDeviceEngine.newInstance().accessToken);
conn.connect();
outputStream = conn.getOutputStream();
outputStream.write(paramStr.getBytes());
@@ -85,4 +101,85 @@
}
return resultData;
}
+
+
+ /**
+ * 闇�瑕佹寜瀛楁瘝鎺掑簭
+ *
+ * @param json 鎵�鏈夊瓧娈典娇鐢╱rlParameter鎷兼帴锛岄櫎浜哸ppSecret
+ */
+ public static String getSign(JsonObject json, String appSecret) {
+ String builder = jsonToUrlParameter(json) +
+ appSecret;
+ return HDLMD5Utils.encodeMD5(builder);
+ }
+
+
+ private static JsonObject getBodyJson(Map<String,Object> map) {
+
+ JsonObject object = new JsonObject();
+
+ for (Map.Entry<String, Object> entry : map.entrySet()) {
+ object.addProperty(entry.getKey(), entry.getValue().toString());
+ }
+ return object;
+ }
+
+
+
+
+ /**
+ * 娣诲姞sign瀛楁
+ */
+ public static JsonObject encrypt(Map<String,Object> map ) {
+ final String timestamp = String.valueOf(System.currentTimeMillis());
+ final JsonObject json = getBodyJson(map);
+ if (json != null) {
+ json.addProperty("appKey", CONST.APPID);
+ json.addProperty("timestamp", timestamp);
+ json.addProperty("sign", getSign(json, CONST.SECRET));
+ }
+ return json;
+ }
+
+
+
+ private static String jsonToUrlParameter(JsonObject object) {
+ final Map<String, String> map = new Gson().fromJson(object, new TypeToken<Map<String, String>>() {
+ }.getType());
+ final Uri.Builder builder = new Uri.Builder();
+ List<String> list = new ArrayList<>(map.keySet());
+ Collections.sort(list);
+ for (String key : list) {
+ //鍒ゆ柇褰撳墠鍊兼槸鍚﹂渶瑕佸弬涓庣鍚嶏紝淇濇寔璺熶簯绔竴鑷�
+ if (IfValueNeedSign(map.get(key))) {
+ builder.appendQueryParameter(key, map.get(key));
+// HDLSDKLog.e("瑕佺鍚嶏細" + key + " 锛�" + map.get(key));
+ } else {
+// HDLSDKLog.e("涓嶉渶瑕佺鍚嶏細" + key + " 锛�" + map.get(key));
+ }
+ }
+ return builder.build().getQuery();
+ }
+
+ /**
+ * 鍒ゆ柇褰撳墠鍊兼槸鍚﹂渶瑕佸弬涓庣鍚嶏紝淇濇寔璺熶簯绔竴鑷�
+ * 绌哄瓧绗︿覆涓嶅弬涓�
+ * 鏁扮粍,闆嗗悎,瀵硅薄涓嶅弬涓�
+ *
+ * @param valueStr
+ * @return
+ */
+ private static boolean IfValueNeedSign(String valueStr) {
+ if (TextUtils.isEmpty(valueStr))
+ return false;
+ final char[] strChar = valueStr.substring(0, 1).toCharArray();
+ final char firstChar = strChar[0];
+ //System.out.println("getJSONType firstChar = "+firstChar);
+ if (firstChar != '{' && firstChar != '[')
+ return true;
+
+ return false;
+ }
+
}
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
index e2317b7..d08582c 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
@@ -1,17 +1,24 @@
package com.mm.android.deviceaddmodule.openapi;
+import android.text.TextUtils;
+
import com.google.gson.Gson;
+import com.google.gson.JsonElement;
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;
import org.apache.http.conn.ConnectTimeoutException;
+import org.json.JSONObject;
import java.io.IOException;
import java.net.SocketException;
import java.net.SocketTimeoutException;
+import java.net.URLDecoder;
import java.net.UnknownHostException;
import java.net.UnknownServiceException;
import java.util.HashMap;
@@ -26,13 +33,21 @@
public static JsonObject execute(Map<String, Object> paramsMap, String method,int timeOut) throws BusinessException {
Map<String, Object> map = paramsInit(paramsMap);
- // 杩斿洖json
- JsonObject jsonObj = doPost(CONST.HOST + "/openapi/" + method, map,timeOut);
- LogUtil.debugLog(TAG, "url::"+method+"\n"+"response result锛�" + jsonObj.toString());
- if (jsonObj == null) {
- throw new BusinessException("openApi response is null");
+ JsonObject jsonResult = null;
+ if (CONST.isHdlServer()) {
+ if (method.equals("bindDevice")) {
+ jsonResult = doPost(CONST.HOST + "/home-wisdom/app/device/independentRegister", map, timeOut);
+ } else {
+ jsonResult = doPost(CONST.HOST + "/home-wisdom/imou/openapi/" + method, map, timeOut);
+ }
+ } else {
+ jsonResult = doPost(CONST.HOST + "/openapi/" + method, map, timeOut);
+ if (jsonResult == null) {
+ throw new BusinessException("openApi response is null");
+ }
+ jsonResult = jsonResult.getAsJsonObject("result");
}
- JsonObject jsonResult = jsonObj.getAsJsonObject("result");
+
if (jsonResult == null) {
throw new BusinessException("openApi response is null");
}
@@ -41,54 +56,56 @@
String msg = jsonResult.get("msg").getAsString();
throw new BusinessException(code + msg);
}
+
+ JsonObject jsonData = new JsonObject();
try {
- JsonObject jsonData = jsonResult.getAsJsonObject("data");
- if (jsonData ==null){
- jsonData=new JsonObject();
+ jsonData = jsonResult.getAsJsonObject("data");
+ if (jsonData == null) {
+ jsonData = new JsonObject();
}
- return jsonData;
+
} catch (Throwable e) {
- BusinessException businessException = new BusinessException(e);
- throw businessException;
+// BusinessException businessException = new BusinessException(e);
+// throw businessException;
}
+ return jsonData;
}
- public static JsonObject execute(String json, String method,int timeOut) throws BusinessException {
- // 杩斿洖json
- LogUtil.debugLog(TAG, "request result锛�" + json.toString());
- 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");
- }
- JsonObject 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();
- String json = gson.toJson(map);
- JsonObject jsonObject = new JsonObject();
+ String json;
+ JsonObject jsonObject;
+ if(CONST.isHdlServer()) {
+ map.put("homeId", LCDeviceEngine.newInstance().getHomeId());
+ if (map.containsKey("params")) {
+ Map<String, Object> tempMap = (Map<String, Object>) map.get("params");
+ map.remove("params");
+ map.remove("id");
+ map.remove("system");
+ for (Map.Entry<String, Object> temp : tempMap.entrySet()) {
+ if ("page".equals(temp.getKey())) {
+ map.put("pageNo", temp.getValue());
+ }
+ else {
+ if("token".equals(temp.getKey())){
+ continue;
+ }
+ map.put(temp.getKey(), temp.getValue());
+ }
+ }
+ }
+
+ json = gson.toJson(HttpClient.encrypt(map));
+ }else{
+ json = gson.toJson(map);
+ }
+
try {
- LogUtil.debugLog(TAG, "reqest: " + url + " data:" + json.toString());
+ LogUtil.debugLog(TAG, "reqest: " + url + " data:" + json);
String openApi = HttpClient.post(url, json, "application/json", "OpenApi",timeOut);
+ LogUtil.debugLog(TAG, "杩斿洖缁撴灉: \r\n" + openApi);
jsonObject = new JsonParser().parse(openApi).getAsJsonObject();
} catch (IOException e) {
BusinessException b = new BusinessException(e);
@@ -106,28 +123,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;
@@ -152,4 +147,70 @@
map.put("id", id);
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;
+// }
+// }
+
+
+// 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;
+// }
+
}
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/p_bindsuccess/BindSuccessFragment.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/p_bindsuccess/BindSuccessFragment.java
index 1d0369d..9a201f8 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/p_bindsuccess/BindSuccessFragment.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/p_bindsuccess/BindSuccessFragment.java
@@ -150,8 +150,8 @@
public void completeAction() {
//娣诲姞缁撴潫鍝潵鍥炲摢锛屾妸DeviceAddActivity缁撴潫鎺�
EventBus.getDefault().post(new DeviceAddEvent(DeviceAddEvent.DESTROY_ACTION));
- //閫氱煡涓婚〉銆佹垜鐨勮澶囧垪琛ㄨ嚜鍔ㄥ埛鏂�
- EventBus.getDefault().post(new CommonEvent(CommonEvent.DEVICE_ADD_SUCCESS_ACTION));
+// //閫氱煡涓婚〉銆佹垜鐨勮澶囧垪琛ㄨ嚜鍔ㄥ埛鏂� 璺ㄥ钩鍙版墦鍖咃紝涓嶉渶瑕佸啀閫氱煡浜唊aede
+// EventBus.getDefault().post(new CommonEvent(CommonEvent.DEVICE_ADD_SUCCESS_ACTION));
}
@Override
@@ -194,7 +194,8 @@
public void onClick(View v) {
int id = v.getId();
if (id == R.id.tv_next) {
- mPresenter.modifyDevName();
+ completeAction();
+ //mPresenter.modifyDevName();
}
}
}
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/p_inputsn/ScanFragment.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/p_inputsn/ScanFragment.java
index 6be6ab2..8c6b649 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/p_inputsn/ScanFragment.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/p_inputsn/ScanFragment.java
@@ -138,7 +138,7 @@
PageNavigationHelper.gotoManualInputPage(this);
return;
}
-
+ //鎵弿浜岀淮鐮�--kaede
mPresenter.getDeviceInfo(scanResult.getSn().trim(), scanResult.getMode());
}
}
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/service/DeviceAddService.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/service/DeviceAddService.java
index 9f7bf87..98d6dd6 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/service/DeviceAddService.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/service/DeviceAddService.java
@@ -127,6 +127,18 @@
return deviceBindResult;
}
+ public DeviceBindResult hdlUserDeviceBind(String deviceId, String code, int timeout) throws BusinessException {
+ BindDeviceData req=new BindDeviceData();
+ req.data.deviceId = deviceId;
+ req.data.code = code;
+ BindDeviceData.Response response = DeviceAddOpenApiManager.hdlUserDeviceBind(req);
+ DeviceBindResult deviceBindResult = new DeviceBindResult();
+ deviceBindResult.setBindStatus(response.data.bindStatus);
+ deviceBindResult.setDeviceName(response.data.deviceName);
+ deviceBindResult.setUserAccount(response.data.userAccount);
+ return deviceBindResult;
+ }
+
/**
* openApi
* 淇敼璁惧鎴栬�呴�氶亾鍚嶏紝channelId涓虹┖鍒欎负淇敼璁惧鍚嶏紝涓嶄负绌轰负淇敼閫氶亾鍚�
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/res/layout/fragment_bind_success.xml b/AndroidOpenDemo/DeviceAddModule/src/main/res/layout/fragment_bind_success.xml
index 24647ac..1ae9fd8 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/res/layout/fragment_bind_success.xml
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/res/layout/fragment_bind_success.xml
@@ -60,6 +60,7 @@
android:textSize="20dp" />
<TextView
+ android:visibility="invisible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
@@ -69,6 +70,7 @@
android:textSize="15sp" />
<com.mm.android.deviceaddmodule.mobilecommon.widget.ClearEditText
+ android:visibility="invisible"
android:id="@+id/device_name_input"
android:layout_width="match_parent"
android:layout_height="@dimen/add_device_common_edit_height"
diff --git a/AndroidOpenDemo/app/AndroidManifest123456.xml b/AndroidOpenDemo/app/AndroidManifest123456.xml
deleted file mode 100644
index f4f2a99..0000000
--- a/AndroidOpenDemo/app/AndroidManifest123456.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- package="com.lechange.demo">
-
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
-
- <application
- android:name=".App"
- android:debuggable="false"
- android:allowBackup="false"
- android:icon="@mipmap/sdk_launcher"
- android:label="@string/app_name"
- android:roundIcon="@mipmap/sdk_launcher"
- android:supportsRtl="false"
- android:theme="@style/AppTheme"
- tools:replace="android:allowBackup,android:label,android:supportsRtl">
- <activity
- android:name=".ui.EnvGuideActivity"
- android:configChanges="orientation|keyboardHidden|screenSize|locale"
- android:launchMode="singleTop"
- android:screenOrientation="portrait">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <activity
- android:name=".ui.DeviceListActivity"
- android:configChanges="orientation|keyboardHidden|screenSize|locale"
- android:launchMode="singleTop"
- android:exported="false"
- android:screenOrientation="portrait"></activity>
- <activity
- android:name=".ui.DeviceDetailActivity"
- android:configChanges="orientation|keyboardHidden|screenSize|locale"
- android:launchMode="singleTop"
- android:exported="false"
- android:screenOrientation="portrait"></activity>
- <activity
- android:name=".ui.DeviceOnlineMediaPlayActivity"
- android:configChanges="orientation|keyboardHidden|screenSize|locale"
- android:launchMode="singleTop"
- android:exported="false"
- android:screenOrientation="portrait"></activity>
- <activity
- android:name=".ui.DeviceRecordListActivity"
- android:configChanges="orientation|keyboardHidden|screenSize|locale"
- android:launchMode="singleTop"
- android:exported="false"
- android:screenOrientation="portrait"></activity>
- <activity
- android:name=".ui.DeviceRecordPlayActivity"
- android:configChanges="orientation|keyboardHidden|screenSize|locale"
- android:launchMode="singleTop"
- android:exported="false"
- android:screenOrientation="portrait"></activity>
- </application>
-</manifest>
\ No newline at end of file
diff --git a/AndroidOpenDemo/app/src/main/java/com/.DS_Store b/AndroidOpenDemo/app/src/main/java/com/.DS_Store
new file mode 100644
index 0000000..26c154e
--- /dev/null
+++ b/AndroidOpenDemo/app/src/main/java/com/.DS_Store
Binary files differ
diff --git a/AndroidOpenDemo/app/src/main/java/com/callBack/IAddCamera.java b/AndroidOpenDemo/app/src/main/java/com/callBack/IAddCamera.java
new file mode 100644
index 0000000..9ab8766
--- /dev/null
+++ b/AndroidOpenDemo/app/src/main/java/com/callBack/IAddCamera.java
@@ -0,0 +1,13 @@
+package com.callBack;
+
+public interface IAddCamera {
+ void success(String deviceId);
+ /**
+ * 閿欒鍥炶皟
+ *
+ * @param errMsg
+ */
+ void onError(String errMsg);
+
+ void back();
+}
diff --git a/AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceDetailService.java b/AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceDetailService.java
index 8e22f63..4a888a2 100644
--- a/AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceDetailService.java
+++ b/AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceDetailService.java
@@ -292,4 +292,38 @@
};
}
+ /**
+ * 鏍煎紡鍖朣D鍗�
+ * @param deviceId
+ * @param iRecoverSDCardCallBack
+ */
+ public void recoverSDCard(final String deviceId, final IGetDeviceInfoCallBack.IRecoverSDCardCallBack iRecoverSDCardCallBack){
+ final LCBusinessHandler handler = new LCBusinessHandler() {
+ @Override
+ public void handleBusiness(Message msg) {
+ if (iRecoverSDCardCallBack == null) {
+ return;
+ }
+ if (msg.what == HandleMessageCode.HMC_SUCCESS) {
+ //鎴愬姛
+ iRecoverSDCardCallBack.onSuccess("Success");
+ } else {
+ //澶辫触
+ iRecoverSDCardCallBack.onError(BusinessErrorTip.throwError(msg));
+ }
+ }
+ };
+ new BusinessRunnable(handler) {
+ @Override
+ public void doBusiness() throws BusinessException {
+ try {
+ boolean b = DeviceInfoOpenApiManager.recoverSDCard(deviceId);
+ handler.obtainMessage(HandleMessageCode.HMC_SUCCESS, b).sendToTarget();
+ } catch (BusinessException e) {
+ throw e;
+ }
+ }
+ };
+ }
+
}
diff --git a/AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java b/AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java
index 0dc7d6d..3283b52 100644
--- a/AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java
+++ b/AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java
@@ -14,11 +14,7 @@
import com.google.gson.JsonObject;
import com.mm.android.deviceaddmodule.LCDeviceEngine;
import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.BusinessException;
-import com.mm.android.deviceaddmodule.mobilecommon.common.Constants;
-import com.mm.android.deviceaddmodule.mobilecommon.utils.PreferencesHelper;
import com.mm.android.deviceaddmodule.openapi.HttpSend;
-
-import org.json.JSONObject;
import java.util.HashMap;
@@ -124,6 +120,14 @@
paramsMap.put("token", LCDeviceEngine.newInstance().accessToken);
paramsMap.put("deviceId", deviceId);
HttpSend.execute(paramsMap, MethodConst.DELETE_DEVICE_PERMISSION,TIME_OUT);
+ return true;
+ }
+
+ public static boolean recoverSDCard(String deviceId) throws BusinessException{
+ HashMap<String, Object> paramsMap = new HashMap<String, Object>();
+ paramsMap.put("token", LCDeviceEngine.newInstance().accessToken);
+ paramsMap.put("deviceId", deviceId);
+ HttpSend.execute(paramsMap, MethodConst.RECOVER_SDCARD,TIME_OUT);
return true;
}
@@ -240,7 +244,7 @@
paramsMap.put("channelId", cloudRecordsData.data.channelId);
paramsMap.put("beginTime", cloudRecordsData.data.beginTime);
paramsMap.put("endTime", cloudRecordsData.data.endTime);
- paramsMap.put("nextRecordId", cloudRecordsData.data.nextRecordId);
+// paramsMap.put("nextRecordId", cloudRecordsData.data.nextRecordId);
paramsMap.put("count", cloudRecordsData.data.count);
JsonObject json = HttpSend.execute(paramsMap, MethodConst.METHOD_GET_CLOUND_RECORDS,TIME_OUT);
CloudRecordsData.Response response = new CloudRecordsData.Response();
diff --git a/AndroidOpenDemo/app/src/main/java/com/common/openapi/IGetDeviceInfoCallBack.java b/AndroidOpenDemo/app/src/main/java/com/common/openapi/IGetDeviceInfoCallBack.java
index 5d0b016..236b583 100644
--- a/AndroidOpenDemo/app/src/main/java/com/common/openapi/IGetDeviceInfoCallBack.java
+++ b/AndroidOpenDemo/app/src/main/java/com/common/openapi/IGetDeviceInfoCallBack.java
@@ -214,6 +214,22 @@
void onError(Throwable throwable);
}
+ public interface IRecoverSDCardCallBack {
+ /**
+ * 鎴愬姛
+ *
+ * @param result
+ */
+ void onSuccess(String result);
+
+ /**
+ * 閿欒鍥炶皟
+ *
+ * @param throwable
+ */
+ void onError(Throwable throwable);
+ }
+
}
diff --git a/AndroidOpenDemo/app/src/main/java/com/common/openapi/MethodConst.java b/AndroidOpenDemo/app/src/main/java/com/common/openapi/MethodConst.java
index 94e3517..d87da16 100644
--- a/AndroidOpenDemo/app/src/main/java/com/common/openapi/MethodConst.java
+++ b/AndroidOpenDemo/app/src/main/java/com/common/openapi/MethodConst.java
@@ -38,6 +38,8 @@
public static String DELETE_DEVICE_PERMISSION = "deleteDevicePermission";
+ public static String RECOVER_SDCARD = "recoverSDCard";
+
public static String SD_STATUE_QUERY = "deviceSdcardStatus";
public static String GET_DEVICE_CLOUD = "getDeviceCloud";
diff --git a/AndroidOpenDemo/app/src/main/java/com/hdl/HdlToLc.java b/AndroidOpenDemo/app/src/main/java/com/hdl/HdlToLc.java
deleted file mode 100644
index 3a653aa..0000000
--- a/AndroidOpenDemo/app/src/main/java/com/hdl/HdlToLc.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package com.hdl;
-
-import android.Manifest;
-import android.app.Activity;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.widget.Toast;
-import android.support.v4.app.ActivityCompat;
-
-import com.common.openapi.ClassInstanceManager;
-import com.lechange.demo.tools.MediaPlayHelper;
-import com.mm.android.deviceaddmodule.CommonParam;
-import com.mm.android.deviceaddmodule.LCDeviceEngine;
-import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.ProviderManager;
-import com.mm.android.deviceaddmodule.openapi.CONST;
-import com.usermodule.net.IUserDataCallBack;
-import com.usermodule.net.UserNetManager;
-
-public class HdlToLc {
- private static String mAppid;
- private static String mAppSecret;
- private static String mUrl;
- private static String mOpenId;
-
- private static Activity mActivity;
-
- public static void initData(Activity activity, boolean isChina,String openId){
- mActivity = activity;
- mOpenId = openId;
- MediaPlayHelper.initContext(mActivity.getApplication().getApplicationContext());
- ClassInstanceManager.newInstance().init(mActivity.getApplication());
- if (isChina) {
- mAppSecret = "f869433de68a4a06bb8f9bb89118fc";
- mAppid = "lc2ea929282d5f4636";
- mUrl = CONST.Envirment.CHINA_PRO.url;
- ProviderManager.getAppProvider().setAppType(0);
-
- } else {
- mAppSecret = "017fc27bb987496f9a677e4e6f0c88";
- mAppid = "lc0285433bc7e8423d";
- mUrl = CONST.Envirment.OVERSEAS_PRO.url;
- ProviderManager.getAppProvider().setAppType(1);
- }
-
- }
- public static void openActivity()
- {
- try {
- CommonParam commonParam = new CommonParam();
- commonParam.setEnvirment(mUrl);
- commonParam.setContext(mActivity.getApplication());
- commonParam.setAppId(mAppid);
- commonParam.setAppSecret(mAppSecret);
- //SDK鍒濆鍖栧叆鍙�
- LCDeviceEngine.newInstance().init(commonParam);
-
- getSubAccountToken(mOpenId);
- } catch (Throwable e) {
- Toast.makeText(mActivity, e.getMessage(), Toast.LENGTH_SHORT).show();
- }
- }
-
- private static void getSubAccountToken(String openId){
- UserNetManager.getInstance().subAccountToken(openId, new IUserDataCallBack() {
- @Override
- public void onCallBackOpenId(String str) {
- if (str!=null){
- //鏆備笉淇濆瓨鍒皊p涓簡锛屽洜涓鸿幏鍙栭渶瑕乧ontext銆�
- // PreferencesHelper.getInstance(getApplicationContext()).set(Constants.SUBACCOUNTTOKEN,str);
- LCDeviceEngine.newInstance().setSubAccessToken(str);
-
- mActivity.startActivity(new Intent(mActivity,com.lechange.demo.ui.DeviceListActivity.class));
- }
- }
-
- @Override
- public void onError(Throwable throwable) {
-
- }
- });
- }
-
-
- /**
- * 璇锋眰瀵硅鏉冮檺
- */
- public static void requestPermission() {
- boolean isMinSDKM = Build.VERSION.SDK_INT < 23;
- boolean isGranted = ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED
- && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED
- && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED
- && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
- && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
- if (isMinSDKM || isGranted) {
- return;
- }
- requestRecordAudioPermission();
- }
-
- private static void requestRecordAudioPermission() {
- if (ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.RECORD_AUDIO)
- || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION)
- || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.CAMERA)
- || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE)
- || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.READ_EXTERNAL_STORAGE)) {
- ActivityCompat.requestPermissions(mActivity,
- new String[]{
- Manifest.permission.RECORD_AUDIO,
- Manifest.permission.ACCESS_COARSE_LOCATION,
- Manifest.permission.CAMERA,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- Manifest.permission.READ_EXTERNAL_STORAGE},
- 1);
- } else {
- ActivityCompat.requestPermissions(mActivity,
- new String[]{
- Manifest.permission.RECORD_AUDIO,
- Manifest.permission.ACCESS_COARSE_LOCATION,
- Manifest.permission.CAMERA,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- Manifest.permission.READ_EXTERNAL_STORAGE},
- 1);
- }
- }
-
-}
diff --git a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/.DS_Store b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/.DS_Store
new file mode 100644
index 0000000..7d59bac
--- /dev/null
+++ b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/.DS_Store
Binary files differ
diff --git a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/App.java b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/App.java
index 739722f..06dbdc5 100644
--- a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/App.java
+++ b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/App.java
@@ -1,6 +1,7 @@
package com.lechange.demo;
import android.app.Application;
+import android.content.Intent;
import com.common.openapi.ClassInstanceManager;
import com.lechange.demo.tools.MediaPlayHelper;
@@ -13,8 +14,7 @@
// ARouter.openDebug();
// ARouter.openLog();
// ARouter.init(this);
- MediaPlayHelper.initContext(getApplicationContext());
- ClassInstanceManager.newInstance().init(this);
-
+// MediaPlayHelper.initContext(getApplicationContext());
+// ClassInstanceManager.newInstance().init(this);
}
}
\ No newline at end of file
diff --git a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java
index f593375..db12d50 100644
--- a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java
+++ b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java
@@ -55,6 +55,7 @@
private IGetDeviceInfoCallBack.IModifyDeviceName modifyNameListener;
private String fromWhere;
private TextView tvDeploymentTip;
+ private TextView tvFormat_sd;
public static DeviceDetailMainFragment newInstance() {
DeviceDetailMainFragment fragment = new DeviceDetailMainFragment();
@@ -92,11 +93,13 @@
tvDeviceVersion = view.findViewById(R.id.tv_device_version);
tvCurrentWifi = view.findViewById(R.id.tv_current_wifi);
rlCurWifi = view.findViewById(R.id.rl_cur_wifi);
+ tvFormat_sd =view.findViewById(R.id.tvFormat_sd);
rlDeployment.setOnClickListener(this);
rlDetele.setOnClickListener(this);
rlDeviceDetail.setOnClickListener(this);
rlCurWifi.setOnClickListener(this);
+ tvFormat_sd.setOnClickListener(this);
DeviceDetailActivity deviceDetailActivity = (DeviceDetailActivity) getActivity();
deviceDetailActivity.tvTitle.setText(getResources().getString(R.string.lc_demo_device_detail_title));
if (arguments == null) {
@@ -271,6 +274,25 @@
deviceDetailService.unBindDevice(deviceUnBindData, this);*/
deviceDetailService.deletePermission(deviceListBean.deviceId,null,this);
}
+ else if(id==R.id.tvFormat_sd){
+ deviceDetailActivity.rlLoading.setVisibility(View.VISIBLE);
+ DeviceDetailService deviceDetailService = ClassInstanceManager.newInstance().getDeviceDetailService();
+ /* DeviceUnBindData deviceUnBindData = new DeviceUnBindData();
+ deviceUnBindData.data.deviceId = deviceListBean.deviceId;
+ deviceDetailService.unBindDevice(deviceUnBindData, this);*/
+ deviceDetailService.recoverSDCard(deviceListBean.deviceId, new IGetDeviceInfoCallBack.IRecoverSDCardCallBack() {
+ @Override
+ public void onSuccess(String result) {
+ deviceDetailActivity.rlLoading.setVisibility(View.GONE);
+ }
+
+ @Override
+ public void onError(Throwable throwable) {
+ deviceDetailActivity.rlLoading.setVisibility(View.GONE);
+ }
+ });
+
+ }
}
@Override
diff --git a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java
index b4e88e6..9fc6ccc 100644
--- a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java
+++ b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java
@@ -19,7 +19,6 @@
import com.common.openapi.MethodConst;
import com.common.openapi.entity.DeviceDetailListData;
import com.common.openapi.entity.DeviceListData;
-import com.hdl.HdlToLc;
import com.lechange.demo.R;
import com.lechange.demo.adapter.DeviceListAdapter;
import com.lechange.demo.view.LcPullToRefreshRecyclerView;
@@ -27,6 +26,7 @@
import com.lechange.pulltorefreshlistview.PullToRefreshBase;
import com.mm.android.deviceaddmodule.LCDeviceEngine;
import com.mm.android.deviceaddmodule.mobilecommon.utils.LogUtil;
+import com.utils.HdlToLcUtils;
import java.util.ArrayList;
import java.util.Iterator;
@@ -53,7 +53,7 @@
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_device_list);
initView();
- HdlToLc.requestPermission();
+ HdlToLcUtils.getInstance().requestPermission();
}
private void initView() {
diff --git a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceOnlineMediaPlayActivity.java b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceOnlineMediaPlayActivity.java
index 08de111..ecdcd9a 100644
--- a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceOnlineMediaPlayActivity.java
+++ b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceOnlineMediaPlayActivity.java
@@ -577,7 +577,7 @@
mLayoutParams.addRule(RelativeLayout.BELOW, R.id.rl_title);
frLiveWindow.setLayoutParams(mLayoutParams);
MediaPlayHelper.quitFullScreen(DeviceOnlineMediaPlayActivity.this);
- llController.setVisibility(View.VISIBLE);
+ llController.setVisibility(View.GONE);
rlTitle.setVisibility(View.VISIBLE);
llSpeak1.setVisibility(View.GONE);
llCloudStage1.setVisibility(View.GONE);
@@ -601,10 +601,10 @@
MediaPlayHelper.setFullScreen(DeviceOnlineMediaPlayActivity.this);
llController.setVisibility(View.GONE);
rlTitle.setVisibility(View.GONE);
- llSpeak1.setVisibility(View.VISIBLE);
+ llSpeak1.setVisibility(View.GONE);
llCloudStage1.setVisibility(View.VISIBLE);
- llVideo1.setVisibility(View.VISIBLE);
- llScreenShot1.setVisibility(View.VISIBLE);
+ llVideo1.setVisibility(View.GONE);
+ llScreenShot1.setVisibility(View.GONE);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(frRecord
.getLayoutParams());
layoutParams.removeRule(RelativeLayout.BELOW);
diff --git a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java
index 28116ae..7a55de5 100644
--- a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java
+++ b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java
@@ -6,10 +6,12 @@
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
-import com.hdl.HdlToLc;
+
+import com.callBack.IAddCamera;
import com.lechange.demo.R;
import com.lechange.demo.tools.RootUtil;
import com.mm.android.deviceaddmodule.utils.SDsolutionUtility;
+import com.utils.HdlToLcUtils;
public class EnvGuideActivity extends Activity implements View.OnClickListener {
private TextView tvTitleCn;
@@ -62,12 +64,34 @@
public void onClick(View v) {
int id = v.getId();
if (id == R.id.tv_title_cn) {
- HdlToLc.initData( this,true,"");
+// HdlToLc.initData( this,true,"");
} else if (id == R.id.tv_overseas) {
- HdlToLc.initData(this,false,"c11b4f38c6aa4563a17e3cb35b6882df06");
}
- HdlToLc.openActivity();
+ HdlToLcUtils.getInstance().initData(this, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", "https://test-gz.hdlcontrol.com");
+
+ HdlToLcUtils.getInstance().setHomeId("1547099040465408002");
+ HdlToLcUtils.getInstance().setToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJjZmQ1NzM3NTk4YjA0YjQ3YTQyOTQ4YzczNTNkODk3MCIsImNvbXBhbnlJZCI6IjIwMiIsInJvbGUiOiIiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidXNlckFjY291bnQiOiJ3eHIiLCJ0ZW5hbnRJZCI6IjIwIiwidXNlclR5cGUiOiJVU0VSX0IiLCJ0b2tlblR5cGUiOiJhY2Nlc3NfdG9rZW4iLCJ1c2VyTmFtZSI6Ind4ciIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2NjkyNzI5MDAsIm5iZiI6MTY2OTI2NTcwMH0.LX4HmxmxuH80eNpBuDurp8POOGwX2hhqcLR4ULCCSnGhhYH61OaTYym4rn_CGM2J15EBVg0EpcJAfabePtQAS6pbeNv60jf-5s-V4zCPyqGKatduFbx1uG1Bw3TPiPCoTdhKkWb_pwRAfchhFMeibMrbS9W3JSs6eJ1mpZODOtM");
+ HdlToLcUtils.getInstance().setSubAccessToken("St_00003ee84eda32b14126af958052f20a");
+
+// HdlToLcUtils.getInstance().openActivity();
+ HdlToLcUtils.getInstance().addCamera(new IAddCamera() {
+ @Override
+ public void success(String deviceId) {
+
+ }
+
+ @Override
+ public void onError(String errMsg) {
+
+ }
+
+ @Override
+ public void back() {
+
+ }
+ });
+// HdlToLcUtils.getInstance().play("8F05F83AAG05B3A");
}
diff --git a/AndroidOpenDemo/app/src/main/java/com/hdl/net/IUserDataCallBack.java b/AndroidOpenDemo/app/src/main/java/com/net/IUserDataCallBack.java
similarity index 89%
rename from AndroidOpenDemo/app/src/main/java/com/hdl/net/IUserDataCallBack.java
rename to AndroidOpenDemo/app/src/main/java/com/net/IUserDataCallBack.java
index 0d8fb4e..62708aa 100644
--- a/AndroidOpenDemo/app/src/main/java/com/hdl/net/IUserDataCallBack.java
+++ b/AndroidOpenDemo/app/src/main/java/com/net/IUserDataCallBack.java
@@ -1,4 +1,4 @@
-package com.hdl.net;
+package com.net;
public interface IUserDataCallBack {
void onCallBackOpenId(String str);
diff --git a/AndroidOpenDemo/app/src/main/java/com/hdl/net/UserNetManager.java b/AndroidOpenDemo/app/src/main/java/com/net/UserNetManager.java
similarity index 99%
rename from AndroidOpenDemo/app/src/main/java/com/hdl/net/UserNetManager.java
rename to AndroidOpenDemo/app/src/main/java/com/net/UserNetManager.java
index 6ffa6c1..d78bd22 100644
--- a/AndroidOpenDemo/app/src/main/java/com/hdl/net/UserNetManager.java
+++ b/AndroidOpenDemo/app/src/main/java/com/net/UserNetManager.java
@@ -1,4 +1,4 @@
-package com.hdl.net;
+package com.net;
import android.os.Handler;
import android.os.Message;
diff --git a/AndroidOpenDemo/app/src/main/java/com/utils/DeviceUtils.java b/AndroidOpenDemo/app/src/main/java/com/utils/DeviceUtils.java
new file mode 100644
index 0000000..05bef9f
--- /dev/null
+++ b/AndroidOpenDemo/app/src/main/java/com/utils/DeviceUtils.java
@@ -0,0 +1,94 @@
+package com.utils;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.widget.Toast;
+
+import com.common.openapi.ClassInstanceManager;
+import com.common.openapi.DeviceSubAccountListService;
+import com.common.openapi.IGetDeviceInfoCallBack;
+import com.common.openapi.MethodConst;
+import com.common.openapi.entity.DeviceDetailListData;
+import com.lechange.demo.ui.DeviceDetailActivity;
+import com.lechange.demo.ui.DeviceListActivity;
+import com.lechange.demo.ui.DeviceOnlineMediaPlayActivity;
+import com.mm.android.deviceaddmodule.openapi.HDLMD5Utils;
+
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Created by hxb on 2022/11/22.
+ */
+public class DeviceUtils implements IGetDeviceInfoCallBack.ISubAccountDevice< DeviceDetailListData.Response> {
+
+ private String deviceId;
+ public DeviceUtils(String deviceId){
+ this.deviceId=deviceId;
+ }
+ private static List<DeviceDetailListData.ResponseData.DeviceListBean> datas = new ArrayList<>();
+
+ private void getDeviceList() {
+ DeviceSubAccountListService deviceSubAccountListService = ClassInstanceManager.newInstance().getDeviceSubAccountListService();
+ deviceSubAccountListService.getSubAccountDeviceList(1,this);
+ }
+
+ public void play() {
+ for (DeviceDetailListData.ResponseData.DeviceListBean deviceListBean : datas) {
+ if (deviceListBean.deviceId.equals(deviceId)) {
+ if (!deviceListBean.status.equals("online")) {
+ return;
+ }
+ Bundle bundle = new Bundle();
+ bundle.putSerializable(MethodConst.ParamConst.deviceDetail, deviceListBean);
+ Intent intent = new Intent(HdlToLcUtils.getInstance().getActivity(), DeviceOnlineMediaPlayActivity.class);
+ intent.putExtras(bundle);
+ HdlToLcUtils.getInstance().getActivity().startActivity(intent);
+
+ return;
+ }
+ }
+ getDeviceList();
+ }
+ @Override
+ public void DeviceList(DeviceDetailListData.Response responseData) {
+
+ if (responseData.data != null && responseData.data.deviceList != null && responseData.data.deviceList.size() != 0) {
+ Iterator<DeviceDetailListData.ResponseData.DeviceListBean> iterator = responseData.data.deviceList.iterator();
+ while (iterator.hasNext()) {
+ DeviceDetailListData.ResponseData.DeviceListBean next = iterator.next();
+ if (next.channels != null && next.channels.size() == 0 && !next.catalog.contains("NVR")) {
+ // 浣跨敤杩唬鍣ㄤ腑鐨剅emove()鏂规硶,鍙互鍒犻櫎鍏冪礌.
+ iterator.remove();
+ }
+ }
+ }
+
+ if ((responseData.data == null || responseData.data.deviceList == null || responseData.data.deviceList.size() == 0)) {
+ return;
+ }
+
+ datas.addAll(responseData.data.deviceList);
+
+ for (DeviceDetailListData.ResponseData.DeviceListBean deviceListBean : datas) {
+ if (deviceListBean.deviceId.equals(deviceId)) {
+ if (!deviceListBean.status.equals("online")) {
+ return;
+ }
+ Bundle bundle = new Bundle();
+ bundle.putSerializable(MethodConst.ParamConst.deviceDetail, deviceListBean);
+ Intent intent = new Intent(HdlToLcUtils.getInstance().getActivity(), DeviceOnlineMediaPlayActivity.class);
+ intent.putExtras(bundle);
+ HdlToLcUtils.getInstance().getActivity().startActivity(intent);
+
+ return;
+ }
+ }
+ }
+ @Override
+ public void onError(Throwable throwable) {
+ Toast.makeText(HdlToLcUtils.getInstance().getActivity(), throwable.getMessage(), Toast.LENGTH_SHORT).show();
+ }
+}
diff --git a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
new file mode 100644
index 0000000..0fdee9f
--- /dev/null
+++ b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
@@ -0,0 +1,218 @@
+package com.utils;
+
+import android.Manifest;
+import android.app.Activity;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.os.Build;
+import android.support.v4.app.ActivityCompat;
+import android.widget.Toast;
+
+import com.callBack.IAddCamera;
+import com.common.openapi.ClassInstanceManager;
+import com.lechange.demo.tools.MediaPlayHelper;
+import com.mm.android.deviceaddmodule.CommonParam;
+import com.mm.android.deviceaddmodule.DeviceAddActivity;
+import com.mm.android.deviceaddmodule.LCDeviceEngine;
+import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.ProviderManager;
+import com.mm.android.deviceaddmodule.openapi.CONST;
+import com.usermodule.net.IUserDataCallBack;
+import com.usermodule.net.UserNetManager;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+public class HdlToLcUtils {
+
+ private Activity activity;
+ private String homeId;
+ private String token;
+ private String subAccessToken;
+ private IAddCamera iAddCamera;
+
+ public Activity getActivity() {
+ return activity;
+ }
+
+ /**
+ * instance
+ */
+ private volatile static HdlToLcUtils instance;
+
+ /**
+ * getInstance
+ *
+ * @return HDLLink
+ */
+ public static synchronized HdlToLcUtils getInstance() {
+ if (instance == null) {
+ synchronized (HdlToLcUtils.class) {
+ if (instance == null) {
+ instance = new HdlToLcUtils();
+ }
+ }
+ }
+ return instance;
+ }
+
+ public void initData(Activity activity, String appKey, String secretKey,String url) {
+ this.activity = activity;
+ MediaPlayHelper.initContext(activity.getApplication().getApplicationContext());
+ ClassInstanceManager.newInstance().init(activity.getApplication().getApplicationContext());
+// if (isChina) {
+//// mAppSecret = "f869433de68a4a06bb8f9bb89118fc";
+//// mAppid = "lc2ea929282d5f4636";
+// mUrl = CONST.Envirment.CHINA_TEST.url;
+// ProviderManager.getAppProvider().setAppType(0);
+// } else {
+// secretKey = "017fc27bb987496f9a677e4e6f0c88";
+// appKey = "lc0285433bc7e8423d";
+// url = CONST.Envirment.OVERSEAS_PRO.url;
+ ProviderManager.getAppProvider().setAppType(1);
+// }
+
+
+
+ try {
+ CommonParam commonParam = new CommonParam();
+ commonParam.setEnvirment(url);//浜戠杩炴帴
+ commonParam.setContext(activity.getApplication());
+ commonParam.setAppId(appKey);
+ commonParam.setAppSecret(secretKey);
+
+ //SDK淇℃伅鍒濆鍖�
+ LCDeviceEngine.newInstance().init(commonParam);
+ } catch (Throwable e) {
+ Toast.makeText(activity, e.getMessage(), Toast.LENGTH_SHORT).show();
+ }
+ }
+ public void openActivity() {
+ try {
+// getSubAccountToken("827a98c98da7469b8bc19bb6a3c7651906");
+ activity.startActivity(new Intent(activity, com.lechange.demo.ui.DeviceListActivity.class));
+ } catch (Throwable e) {
+ Toast.makeText(activity, e.getMessage(), Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ public void addCamera(IAddCamera iAddCamera) {
+ if(!EventBus.getDefault().isRegistered(this)){
+ EventBus.getDefault().register(this);
+ }
+ //寮�鍚坊鍔犻〉闈�
+ activity.startActivity(new Intent(activity.getApplication(), DeviceAddActivity.class));
+
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onGetMessage(String obj) {
+ if(obj.equals("backXamarin")){
+ iAddCamera.back();
+
+ if(EventBus.getDefault().isRegistered(this)){
+ EventBus.getDefault().unregister(this);
+ }
+ }
+ }
+
+ public void play(String deviceId){
+ new DeviceUtils(deviceId).play();
+ }
+
+
+ public void setActivity(Activity activity) {
+ this.activity = activity;
+ }
+
+ public String getHomeId() {
+ return homeId;
+ }
+
+ public void setHomeId(String homeId) {
+ this.homeId = homeId;
+ LCDeviceEngine.newInstance().setHomeId(homeId);
+ }
+
+ public String getToken() {
+ return token;
+ }
+
+ public void setToken(String token) {
+ this.token = token;
+ LCDeviceEngine.newInstance().accessToken=(token);
+ }
+
+ public String getSubAccessToken() {
+ return subAccessToken;
+ }
+
+ public void setSubAccessToken(String subAccessToken) {
+ this.subAccessToken = subAccessToken;
+ LCDeviceEngine.newInstance().setSubAccessToken(subAccessToken);
+ }
+
+ private void getSubAccountToken(String openId){
+ UserNetManager.getInstance().subAccountToken(openId, new IUserDataCallBack() {
+ @Override
+ public void onCallBackOpenId(String str) {
+ if (str!=null){
+ //鏆備笉淇濆瓨鍒皊p涓簡锛屽洜涓鸿幏鍙栭渶瑕乧ontext銆�
+ // PreferencesHelper.getInstance(getApplicationContext()).set(Constants.SUBACCOUNTTOKEN,str);
+ LCDeviceEngine.newInstance().setSubAccessToken(str);
+
+ activity.startActivity(new Intent(activity,com.lechange.demo.ui.DeviceListActivity.class));
+ }
+ }
+
+ @Override
+ public void onError(Throwable throwable) {
+
+ }
+ });
+ }
+
+
+ /**
+ * 璇锋眰瀵硅鏉冮檺
+ */
+ public void requestPermission() {
+ boolean isMinSDKM = Build.VERSION.SDK_INT < 23;
+ boolean isGranted = ActivityCompat.checkSelfPermission(activity, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED
+ && ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED
+ && ActivityCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED
+ && ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
+ && ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
+ if (isMinSDKM || isGranted) {
+ return;
+ }
+ requestRecordAudioPermission();
+ }
+
+ private void requestRecordAudioPermission() {
+ if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.RECORD_AUDIO)
+ || ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.ACCESS_COARSE_LOCATION)
+ || ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.CAMERA)
+ || ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)
+ || ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.READ_EXTERNAL_STORAGE)) {
+ ActivityCompat.requestPermissions(activity,
+ new String[]{
+ Manifest.permission.RECORD_AUDIO,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.CAMERA,
+ Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ Manifest.permission.READ_EXTERNAL_STORAGE},
+ 1);
+ } else {
+ ActivityCompat.requestPermissions(activity,
+ new String[]{
+ Manifest.permission.RECORD_AUDIO,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.CAMERA,
+ Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ Manifest.permission.READ_EXTERNAL_STORAGE},
+ 1);
+ }
+ }
+
+}
diff --git a/AndroidOpenDemo/app/src/main/res/.DS_Store b/AndroidOpenDemo/app/src/main/res/.DS_Store
new file mode 100644
index 0000000..eeff520
--- /dev/null
+++ b/AndroidOpenDemo/app/src/main/res/.DS_Store
Binary files differ
diff --git a/AndroidOpenDemo/app/src/main/res/layout/activity_device_online_media_play.xml b/AndroidOpenDemo/app/src/main/res/layout/activity_device_online_media_play.xml
index aa7928b..6aaf1d6 100644
--- a/AndroidOpenDemo/app/src/main/res/layout/activity_device_online_media_play.xml
+++ b/AndroidOpenDemo/app/src/main/res/layout/activity_device_online_media_play.xml
@@ -180,7 +180,8 @@
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/lc_demo_color_442c2c2c"
- android:gravity="center">
+ android:gravity="center"
+ android:visibility="gone">
<ImageView
android:id="@+id/iv_sound"
@@ -277,6 +278,7 @@
android:layout_height="@dimen/px_140"
android:layout_marginBottom="@dimen/px_20"
android:background="@color/lc_demo_color_ffffff"
+ android:visibility="gone"
android:paddingLeft="@dimen/px_30"
android:paddingRight="@dimen/px_30">
@@ -338,6 +340,7 @@
</LinearLayout>
<FrameLayout
+ android:visibility="gone"
android:layout_below="@id/ll_controller"
android:id="@+id/fr_record"
android:layout_width="match_parent"
diff --git a/AndroidOpenDemo/app/src/main/res/layout/fragment_device_detail_main.xml b/AndroidOpenDemo/app/src/main/res/layout/fragment_device_detail_main.xml
index d9fa747..a1502d7 100644
--- a/AndroidOpenDemo/app/src/main/res/layout/fragment_device_detail_main.xml
+++ b/AndroidOpenDemo/app/src/main/res/layout/fragment_device_detail_main.xml
@@ -122,6 +122,23 @@
android:src="@mipmap/lc_demo_common_btn_next"></ImageView>
</RelativeLayout>
<RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/px_130"
+ android:background="@color/lc_demo_color_ffffff"
+ android:gravity="center_vertical"
+ android:paddingLeft="@dimen/px_30"
+ android:paddingRight="@dimen/px_30">
+
+ <TextView
+ android:id="@+id/tvFormat_sd"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:text="@string/format_sd"
+ android:textColor="@color/lc_demo_color_2c2c2c"
+ android:textSize="@dimen/px_36"></TextView>
+ </RelativeLayout>
+ <RelativeLayout
android:visibility="gone"
android:layout_marginTop="@dimen/px_1"
android:id="@+id/rl_cur_wifi"
@@ -133,6 +150,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"
@@ -166,7 +184,8 @@
android:layout_gravity="bottom"
android:layout_marginBottom="@dimen/px_50"
android:background="@color/lc_demo_color_ffffff"
- android:gravity="center_vertical">
+ android:gravity="center_vertical"
+ android:visibility="gone">
<TextView
android:layout_width="wrap_content"
diff --git a/AndroidOpenDemo/app/src/main/res/values-en/strings.xml b/AndroidOpenDemo/app/src/main/res/values-en/strings.xml
index c09df0b..461165a 100644
--- a/AndroidOpenDemo/app/src/main/res/values-en/strings.xml
+++ b/AndroidOpenDemo/app/src/main/res/values-en/strings.xml
@@ -78,4 +78,5 @@
<string name="lc_demo_device_today_no_record">today no record</string>
<string name="lc_demo_device_local_sd">No storage medium</string>
<string name="lc_demo_device_cloud_not_open">Cloud storage is not enabled</string>
+ <string name="format_sd">Format sd card</string>
</resources>
diff --git a/AndroidOpenDemo/app/src/main/res/values/strings.xml b/AndroidOpenDemo/app/src/main/res/values/strings.xml
index 4278f8c..fdfcdf3 100644
--- a/AndroidOpenDemo/app/src/main/res/values/strings.xml
+++ b/AndroidOpenDemo/app/src/main/res/values/strings.xml
@@ -78,4 +78,5 @@
<string name="lc_demo_device_today_no_record">浠婃棩鏆傛棤褰曞儚</string>
<string name="lc_demo_device_local_sd">鏃犲瓨鍌ㄤ粙璐�</string>
<string name="lc_demo_device_cloud_not_open">浜戝瓨鍌ㄦ湭寮�閫�</string>
+ <string name="format_sd">鏍煎紡鍖朣D鍗�</string>
</resources>
diff --git a/AndroidOpenDemo/app/src/main/res/values/styles.xml b/AndroidOpenDemo/app/src/main/res/values/styles.xml
index cca61c2..b926eff 100644
--- a/AndroidOpenDemo/app/src/main/res/values/styles.xml
+++ b/AndroidOpenDemo/app/src/main/res/values/styles.xml
@@ -46,8 +46,8 @@
<item name="android:textSize">15sp</item>
</style>
<style name="device_page_style" parent="@style/Theme.AppCompat.NoActionBar">
- <item name="background_color">#FF000000</item>
+ <item name="background_color">#FFF2F3F7</item>
<item name="android:windowIsTranslucent">false</item>
- <item name="android:statusBarColor">#000000</item>
+ <item name="android:statusBarColor">#FFF2F3F7</item>
</style>
</resources>
diff --git a/AndroidOpenDemo/third-zxing/.DS_Store b/AndroidOpenDemo/third-zxing/.DS_Store
new file mode 100644
index 0000000..b41bb67
--- /dev/null
+++ b/AndroidOpenDemo/third-zxing/.DS_Store
Binary files differ
--
Gitblit v1.8.0