Merge branch 'wxr-sdk-test' into SDK
84个文件已添加
2个文件已删除
30个文件已修改
2 文件已重命名
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="VcsDirectoryMappings"> |
| | | <mapping directory="" vcs="Git" /> |
| | | </component> |
| | | </project> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | LCAndroidSDKDemo |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <?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> |
| | |
| | | <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> |
| | |
| | | <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" /> |
New file |
| | |
| | | <?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> |
| | |
| | | <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> |
| | |
| | | <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" /> |
| | |
| | | <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> |
New file |
| | |
| | | <?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> |
| | |
| | | }
|
| | | mLoadingPopWindow = null;
|
| | | }
|
| | | EventBus.getDefault().post("backXamarin");
|
| | | }
|
| | |
|
| | | // 离线配网成功,返回上一级页面
|
| | |
| | | private Throwable throwable;
|
| | | public CommonParam commonParam;
|
| | | public String userId = "";
|
| | | private String homeId;
|
| | |
|
| | | public static LCDeviceEngine newInstance() {
|
| | | if (lcDeviceEngine == null) {
|
| | |
| | |
|
| | | 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) {
|
| | |
| | | commonParam.checkParam();
|
| | | //初始化参数
|
| | | initParam(commonParam);
|
| | | //获取开放平台token
|
| | | initToken();
|
| | | if (TextUtils.isEmpty(accessToken)) {
|
| | | throw throwable;
|
| | | if (!CONST.HOST.contains("hdlcontrol.com")) {
|
| | | //获取开放平台token
|
| | | 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;
|
| | |
| | | //开启添加页面
|
| | | 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;
|
| | | }
|
| | |
| | | ImageLoader.getInstance().init(config);
|
| | | }
|
| | |
|
| | | public String getHomeId() {
|
| | | return homeId == null ? "" : homeId;
|
| | | }
|
| | |
|
| | | public void setHomeId(String homeId) {
|
| | | this.homeId = homeId;
|
| | | }
|
| | | }
|
| | |
| | | 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());
|
| | |
| | | //添加子账户权限
|
| | | public static String ADD_POLICY = "addPolicy";
|
| | |
|
| | | public static String INDEPENDENT_REGISTER ="independentRegister";
|
| | |
|
| | | // URL地址
|
| | | public static String HOST = "";
|
| | | // 如果不知道appid,请登录open.lechange.com,开发者服务模块中创建应用
|
| | |
| | | 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");
|
| | |
| | | SECRET = secretKey;
|
| | | HOST = url;
|
| | | }
|
| | |
|
| | | public static boolean isHdlServer() {
|
| | | return HOST.contains("hdlcontrol.com");
|
| | | }
|
| | | }
|
| | |
| | | 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;
|
| | |
| | | import org.json.JSONObject;
|
| | |
|
| | | import java.util.HashMap;
|
| | | import java.util.Map;
|
| | |
|
| | | public class DeviceAddOpenApiManager {
|
| | | private static int TIME_OUT = 10 * 1000;
|
| | |
| | | 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();
|
| | |
| | | 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;
|
| | | }
|
| | | }
|
New file |
| | |
| | | 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; |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | 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 { |
| | |
| | | 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()); |
| | |
| | | } |
| | | return resultData; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 需要按字母排序 |
| | | * |
| | | * @param json 所有字段使用urlParameter拼接,除了appSecret |
| | | */ |
| | | 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; |
| | | } |
| | | |
| | | } |
| | |
| | | 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;
|
| | |
| | |
|
| | | 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");
|
| | | }
|
| | |
| | | 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);
|
| | |
| | | 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;
|
| | |
| | | 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;
|
| | | // }
|
| | |
|
| | | }
|
| | |
| | | public void completeAction() {
|
| | | //添加结束哪来回哪,把DeviceAddActivity结束掉
|
| | | EventBus.getDefault().post(new DeviceAddEvent(DeviceAddEvent.DESTROY_ACTION));
|
| | | //通知主页、我的设备列表自动刷新
|
| | | EventBus.getDefault().post(new CommonEvent(CommonEvent.DEVICE_ADD_SUCCESS_ACTION));
|
| | | // //通知主页、我的设备列表自动刷新 跨平台打包,不需要再通知了kaede
|
| | | // EventBus.getDefault().post(new CommonEvent(CommonEvent.DEVICE_ADD_SUCCESS_ACTION));
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | | public void onClick(View v) {
|
| | | int id = v.getId();
|
| | | if (id == R.id.tv_next) {
|
| | | mPresenter.modifyDevName();
|
| | | completeAction();
|
| | | //mPresenter.modifyDevName();
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | PageNavigationHelper.gotoManualInputPage(this);
|
| | | return;
|
| | | }
|
| | |
|
| | | //扫描二维码--kaede
|
| | | mPresenter.getDeviceInfo(scanResult.getSn().trim(), scanResult.getMode());
|
| | | }
|
| | | }
|
| | |
| | | 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为空则为修改设备名,不为空为修改通道名
|
| | |
| | | android:textSize="20dp" />
|
| | |
|
| | | <TextView
|
| | | android:visibility="invisible"
|
| | | android:layout_width="wrap_content"
|
| | | android:layout_height="wrap_content"
|
| | | android:layout_gravity="center"
|
| | |
| | | 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"
|
New file |
| | |
| | | package com.callBack; |
| | | |
| | | public interface IAddCamera { |
| | | void success(String deviceId); |
| | | /** |
| | | * 错误回调 |
| | | * |
| | | * @param errMsg |
| | | */ |
| | | void onError(String errMsg); |
| | | |
| | | void back(); |
| | | } |
| | |
| | | };
|
| | | }
|
| | |
|
| | | /**
|
| | | * 格式化SD卡
|
| | | * @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;
|
| | | }
|
| | | }
|
| | | };
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | 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;
|
| | |
|
| | |
| | | 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;
|
| | | }
|
| | |
|
| | |
| | | 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();
|
| | |
| | | void onError(Throwable throwable);
|
| | | }
|
| | |
|
| | | public interface IRecoverSDCardCallBack {
|
| | | /**
|
| | | * 成功
|
| | | *
|
| | | * @param result
|
| | | */
|
| | | void onSuccess(String result);
|
| | |
|
| | | /**
|
| | | * 错误回调
|
| | | *
|
| | | * @param throwable
|
| | | */
|
| | | void onError(Throwable throwable);
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | }
|
| | |
| | |
|
| | | 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";
|
| | |
|
| | |
| | | package com.lechange.demo; |
| | | |
| | | import android.app.Application; |
| | | import android.content.Intent; |
| | | |
| | | import com.common.openapi.ClassInstanceManager; |
| | | import com.lechange.demo.tools.MediaPlayHelper; |
| | |
| | | // ARouter.openDebug(); |
| | | // ARouter.openLog(); |
| | | // ARouter.init(this); |
| | | MediaPlayHelper.initContext(getApplicationContext()); |
| | | ClassInstanceManager.newInstance().init(this); |
| | | |
| | | // MediaPlayHelper.initContext(getApplicationContext()); |
| | | // ClassInstanceManager.newInstance().init(this); |
| | | } |
| | | } |
| | |
| | | private IGetDeviceInfoCallBack.IModifyDeviceName modifyNameListener;
|
| | | private String fromWhere;
|
| | | private TextView tvDeploymentTip;
|
| | | private TextView tvFormat_sd;
|
| | |
|
| | | public static DeviceDetailMainFragment newInstance() {
|
| | | DeviceDetailMainFragment fragment = new DeviceDetailMainFragment();
|
| | |
| | | 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) {
|
| | |
| | | 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
|
| | |
| | | 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;
|
| | |
| | | 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;
|
| | |
| | | super.onCreate(savedInstanceState);
|
| | | setContentView(R.layout.activity_device_list);
|
| | | initView();
|
| | | HdlToLc.requestPermission();
|
| | | HdlToLcUtils.getInstance().requestPermission();
|
| | | }
|
| | |
|
| | | private void initView() {
|
| | |
| | | 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);
|
| | |
| | | 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);
|
| | |
| | | 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; |
| | |
| | | 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"); |
| | | |
| | | } |
| | | |
File was renamed from AndroidOpenDemo/app/src/main/java/com/hdl/net/IUserDataCallBack.java |
| | |
| | | package com.hdl.net; |
| | | package com.net; |
| | | |
| | | public interface IUserDataCallBack { |
| | | void onCallBackOpenId(String str); |
File was renamed from AndroidOpenDemo/app/src/main/java/com/hdl/net/UserNetManager.java |
| | |
| | | package com.hdl.net; |
| | | package com.net; |
| | | |
| | | import android.os.Handler; |
| | | import android.os.Message; |
New file |
| | |
| | | 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")) { |
| | | // 使用迭代器中的remove()方法,可以删除元素. |
| | | 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(); |
| | | } |
| | | } |
New file |
| | |
| | | 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){ |
| | | //暂不保存到sp中了,因为获取需要context。 |
| | | // 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); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | 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"
|
| | |
| | | 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">
|
| | |
|
| | |
| | | </LinearLayout>
|
| | |
|
| | | <FrameLayout
|
| | | android:visibility="gone"
|
| | | android:layout_below="@id/ll_controller"
|
| | | android:id="@+id/fr_record"
|
| | | android:layout_width="match_parent"
|
| | |
| | | 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"
|
| | |
| | | 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"
|
| | |
| | | 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"
|
| | |
| | | <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>
|
| | |
| | | <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">格式化SD卡</string>
|
| | | </resources>
|
| | |
| | | <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>
|