diff --git a/src/__MACOSX/._weapon b/src/__MACOSX/._weapon new file mode 100644 index 0000000..069ba60 Binary files /dev/null and b/src/__MACOSX/._weapon differ diff --git a/src/__MACOSX/weapon/._.DS_Store b/src/__MACOSX/weapon/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/__MACOSX/weapon/._.DS_Store differ diff --git a/src/__MACOSX/weapon/._.gitignore b/src/__MACOSX/weapon/._.gitignore new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._.gitignore differ diff --git a/src/__MACOSX/weapon/._.gradle b/src/__MACOSX/weapon/._.gradle new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._.gradle differ diff --git a/src/__MACOSX/weapon/._.idea b/src/__MACOSX/weapon/._.idea new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._.idea differ diff --git a/src/__MACOSX/weapon/._HelpDoc.md b/src/__MACOSX/weapon/._HelpDoc.md new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._HelpDoc.md differ diff --git a/src/__MACOSX/weapon/._app b/src/__MACOSX/weapon/._app new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._app differ diff --git a/src/__MACOSX/weapon/._build.gradle b/src/__MACOSX/weapon/._build.gradle new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._build.gradle differ diff --git a/src/__MACOSX/weapon/._gradle b/src/__MACOSX/weapon/._gradle new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._gradle differ diff --git a/src/__MACOSX/weapon/._gradle.properties b/src/__MACOSX/weapon/._gradle.properties new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._gradle.properties differ diff --git a/src/__MACOSX/weapon/._gradlew b/src/__MACOSX/weapon/._gradlew new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._gradlew differ diff --git a/src/__MACOSX/weapon/._gradlew.bat b/src/__MACOSX/weapon/._gradlew.bat new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._gradlew.bat differ diff --git a/src/__MACOSX/weapon/._local.properties b/src/__MACOSX/weapon/._local.properties new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._local.properties differ diff --git a/src/__MACOSX/weapon/._settings.gradle b/src/__MACOSX/weapon/._settings.gradle new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/._settings.gradle differ diff --git a/src/__MACOSX/weapon/.gradle/._7.0.2 b/src/__MACOSX/weapon/.gradle/._7.0.2 new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/._7.0.2 differ diff --git a/src/__MACOSX/weapon/.gradle/._buildOutputCleanup b/src/__MACOSX/weapon/.gradle/._buildOutputCleanup new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/._buildOutputCleanup differ diff --git a/src/__MACOSX/weapon/.gradle/._checksums b/src/__MACOSX/weapon/.gradle/._checksums new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/._checksums differ diff --git a/src/__MACOSX/weapon/.gradle/._vcs-1 b/src/__MACOSX/weapon/.gradle/._vcs-1 new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/._vcs-1 differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/._dependencies-accessors b/src/__MACOSX/weapon/.gradle/7.0.2/._dependencies-accessors new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/._dependencies-accessors differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/._executionHistory b/src/__MACOSX/weapon/.gradle/7.0.2/._executionHistory new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/._executionHistory differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/._fileChanges b/src/__MACOSX/weapon/.gradle/7.0.2/._fileChanges new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/._fileChanges differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/._fileHashes b/src/__MACOSX/weapon/.gradle/7.0.2/._fileHashes new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/._fileHashes differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/._gc.properties b/src/__MACOSX/weapon/.gradle/7.0.2/._gc.properties new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/._gc.properties differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/._javaCompile b/src/__MACOSX/weapon/.gradle/7.0.2/._javaCompile new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/._javaCompile differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/._vcsMetadata-1 b/src/__MACOSX/weapon/.gradle/7.0.2/._vcsMetadata-1 new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/._vcsMetadata-1 differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/dependencies-accessors/._dependencies-accessors.lock b/src/__MACOSX/weapon/.gradle/7.0.2/dependencies-accessors/._dependencies-accessors.lock new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/dependencies-accessors/._dependencies-accessors.lock differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/dependencies-accessors/._gc.properties b/src/__MACOSX/weapon/.gradle/7.0.2/dependencies-accessors/._gc.properties new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/dependencies-accessors/._gc.properties differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/executionHistory/._executionHistory.bin b/src/__MACOSX/weapon/.gradle/7.0.2/executionHistory/._executionHistory.bin new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/executionHistory/._executionHistory.bin differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/executionHistory/._executionHistory.lock b/src/__MACOSX/weapon/.gradle/7.0.2/executionHistory/._executionHistory.lock new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/executionHistory/._executionHistory.lock differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/fileChanges/._last-build.bin b/src/__MACOSX/weapon/.gradle/7.0.2/fileChanges/._last-build.bin new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/fileChanges/._last-build.bin differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/fileHashes/._fileHashes.bin b/src/__MACOSX/weapon/.gradle/7.0.2/fileHashes/._fileHashes.bin new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/fileHashes/._fileHashes.bin differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/fileHashes/._fileHashes.lock b/src/__MACOSX/weapon/.gradle/7.0.2/fileHashes/._fileHashes.lock new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/fileHashes/._fileHashes.lock differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/fileHashes/._resourceHashesCache.bin b/src/__MACOSX/weapon/.gradle/7.0.2/fileHashes/._resourceHashesCache.bin new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/fileHashes/._resourceHashesCache.bin differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._classAnalysis.bin b/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._classAnalysis.bin new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._classAnalysis.bin differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._jarAnalysis.bin b/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._jarAnalysis.bin new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._jarAnalysis.bin differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._javaCompile.lock b/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._javaCompile.lock new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._javaCompile.lock differ diff --git a/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._taskHistory.bin b/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._taskHistory.bin new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/7.0.2/javaCompile/._taskHistory.bin differ diff --git a/src/__MACOSX/weapon/.gradle/buildOutputCleanup/._buildOutputCleanup.lock b/src/__MACOSX/weapon/.gradle/buildOutputCleanup/._buildOutputCleanup.lock new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/buildOutputCleanup/._buildOutputCleanup.lock differ diff --git a/src/__MACOSX/weapon/.gradle/buildOutputCleanup/._cache.properties b/src/__MACOSX/weapon/.gradle/buildOutputCleanup/._cache.properties new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/buildOutputCleanup/._cache.properties differ diff --git a/src/__MACOSX/weapon/.gradle/buildOutputCleanup/._outputFiles.bin b/src/__MACOSX/weapon/.gradle/buildOutputCleanup/._outputFiles.bin new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/buildOutputCleanup/._outputFiles.bin differ diff --git a/src/__MACOSX/weapon/.gradle/checksums/._checksums.lock b/src/__MACOSX/weapon/.gradle/checksums/._checksums.lock new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/checksums/._checksums.lock differ diff --git a/src/__MACOSX/weapon/.gradle/checksums/._md5-checksums.bin b/src/__MACOSX/weapon/.gradle/checksums/._md5-checksums.bin new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/checksums/._md5-checksums.bin differ diff --git a/src/__MACOSX/weapon/.gradle/checksums/._sha1-checksums.bin b/src/__MACOSX/weapon/.gradle/checksums/._sha1-checksums.bin new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/checksums/._sha1-checksums.bin differ diff --git a/src/__MACOSX/weapon/.gradle/vcs-1/._gc.properties b/src/__MACOSX/weapon/.gradle/vcs-1/._gc.properties new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.gradle/vcs-1/._gc.properties differ diff --git a/src/__MACOSX/weapon/.idea/._.gitignore b/src/__MACOSX/weapon/.idea/._.gitignore new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/._.gitignore differ diff --git a/src/__MACOSX/weapon/.idea/._compiler.xml b/src/__MACOSX/weapon/.idea/._compiler.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/._compiler.xml differ diff --git a/src/__MACOSX/weapon/.idea/._gradle.xml b/src/__MACOSX/weapon/.idea/._gradle.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/._gradle.xml differ diff --git a/src/__MACOSX/weapon/.idea/._libraries b/src/__MACOSX/weapon/.idea/._libraries new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/._libraries differ diff --git a/src/__MACOSX/weapon/.idea/._misc.xml b/src/__MACOSX/weapon/.idea/._misc.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/._misc.xml differ diff --git a/src/__MACOSX/weapon/.idea/._modules b/src/__MACOSX/weapon/.idea/._modules new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/._modules differ diff --git a/src/__MACOSX/weapon/.idea/._modules.xml b/src/__MACOSX/weapon/.idea/._modules.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/._modules.xml differ diff --git a/src/__MACOSX/weapon/.idea/._workspace.xml b/src/__MACOSX/weapon/.idea/._workspace.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/._workspace.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_activity_activity_1_3_1_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_activity_activity_1_3_1_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_activity_activity_1_3_1_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_annotation_annotation_1_2_0.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_annotation_annotation_1_2_0.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_annotation_annotation_1_2_0.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_appcompat_appcompat_1_3_1_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_appcompat_appcompat_1_3_1_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_appcompat_appcompat_1_3_1_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_appcompat_appcompat_resources_1_3_1_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_appcompat_appcompat_resources_1_3_1_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_appcompat_appcompat_resources_1_3_1_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_arch_core_core_common_2_1_0.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_arch_core_core_common_2_1_0.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_arch_core_core_common_2_1_0.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_cardview_cardview_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_cardview_cardview_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_cardview_cardview_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_collection_collection_1_1_0.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_collection_collection_1_1_0.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_collection_collection_1_1_0.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_constraintlayout_constraintlayout_2_1_4_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_constraintlayout_constraintlayout_2_1_4_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_constraintlayout_constraintlayout_2_1_4_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_core_core_1_5_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_core_core_1_5_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_core_core_1_5_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_customview_customview_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_customview_customview_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_customview_customview_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_exifinterface_exifinterface_1_3_3_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_exifinterface_exifinterface_1_3_3_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_exifinterface_exifinterface_1_3_3_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_fragment_fragment_1_3_6_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_fragment_fragment_1_3_6_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_fragment_fragment_1_3_6_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_loader_loader_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_loader_loader_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_loader_loader_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_media_media_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_media_media_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_media_media_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_print_print_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_print_print_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_print_print_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_recyclerview_recyclerview_1_2_1_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_recyclerview_recyclerview_1_2_1_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_recyclerview_recyclerview_1_2_1_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_core_1_3_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_core_1_3_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_core_1_3_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_espresso_espresso_core_3_3_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_espresso_espresso_core_3_3_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_espresso_espresso_core_3_3_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_espresso_espresso_idling_resource_3_3_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_espresso_espresso_idling_resource_3_3_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_espresso_espresso_idling_resource_3_3_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_ext_junit_1_1_2_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_ext_junit_1_1_2_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_ext_junit_1_1_2_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_monitor_1_3_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_monitor_1_3_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_monitor_1_3_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_runner_1_3_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_runner_1_3_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_test_runner_1_3_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_transition_transition_1_2_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_transition_transition_1_2_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_transition_transition_1_2_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_geyifeng_immersionbar_immersionbar_3_2_2_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_geyifeng_immersionbar_immersionbar_3_2_2_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_geyifeng_immersionbar_immersionbar_3_2_2_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_CymChad_BaseRecyclerViewAdapterHelper_3_0_10_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_CymChad_BaseRecyclerViewAdapterHelper_3_0_10_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_CymChad_BaseRecyclerViewAdapterHelper_3_0_10_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_GrenderG_Toasty_1_5_2_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_GrenderG_Toasty_1_5_2_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_GrenderG_Toasty_1_5_2_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bingoogolapple_BGABadgeView_Android_annotation_1_2_0.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bingoogolapple_BGABadgeView_Android_annotation_1_2_0.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bingoogolapple_BGABadgeView_Android_annotation_1_2_0.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bingoogolapple_BGABadgeView_Android_api_1_2_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bingoogolapple_BGABadgeView_Android_api_1_2_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bingoogolapple_BGABadgeView_Android_api_1_2_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_annotations_4_5_0.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_annotations_4_5_0.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_annotations_4_5_0.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_disklrucache_4_5_0.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_disklrucache_4_5_0.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_disklrucache_4_5_0.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_gifdecoder_4_5_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_gifdecoder_4_5_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_gifdecoder_4_5_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_glide_4_5_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_glide_4_5_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_bumptech_glide_glide_4_5_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_getActivity_EasyHttp_11_6_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_getActivity_EasyHttp_11_6_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_getActivity_EasyHttp_11_6_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_getActivity_GsonFactory_6_5_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_getActivity_GsonFactory_6_5_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_getActivity_GsonFactory_6_5_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_getActivity_Toaster_12_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_getActivity_Toaster_12_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_github_getActivity_Toaster_12_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_google_android_material_material_1_3_0_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_google_android_material_material_1_3_0_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_google_android_material_material_1_3_0_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_google_code_findbugs_jsr305_2_0_1.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_google_code_findbugs_jsr305_2_0_1.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_google_code_findbugs_jsr305_2_0_1.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_google_code_gson_gson_2_10_1.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_google_code_gson_gson_2_10_1.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_google_code_gson_gson_2_10_1.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_squareup_javawriter_2_1_1.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_squareup_javawriter_2_1_1.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_squareup_javawriter_2_1_1.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_squareup_okhttp3_okhttp_3_12_13.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_squareup_okhttp3_okhttp_3_12_13.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_squareup_okhttp3_okhttp_3_12_13.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_squareup_okio_okio_1_15_0.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_squareup_okio_okio_1_15_0.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__com_squareup_okio_okio_1_15_0.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__io_github_lucksiege_pictureselector_v3_10_7_aar.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__io_github_lucksiege_pictureselector_v3_10_7_aar.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__io_github_lucksiege_pictureselector_v3_10_7_aar.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__javax_inject_javax_inject_1.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__javax_inject_javax_inject_1.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__javax_inject_javax_inject_1.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__junit_junit_4_12.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__junit_junit_4_12.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__junit_junit_4_12.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__junit_junit_4_13_2.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__junit_junit_4_13_2.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__junit_junit_4_13_2.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_hamcrest_hamcrest_core_1_3.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_hamcrest_hamcrest_core_1_3.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_hamcrest_hamcrest_integration_1_3.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_hamcrest_hamcrest_integration_1_3.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_hamcrest_hamcrest_integration_1_3.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_hamcrest_hamcrest_library_1_3.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_hamcrest_hamcrest_library_1_3.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_hamcrest_hamcrest_library_1_3.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_annotations_13_0.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_annotations_13_0.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_annotations_13_0.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_21.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_21.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_21.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_21.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_21.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_21.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_21.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_21.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_21.xml differ diff --git a/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_21.xml b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_21.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/libraries/._Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_21.xml differ diff --git a/src/__MACOSX/weapon/.idea/modules/._app b/src/__MACOSX/weapon/.idea/modules/._app new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/modules/._app differ diff --git a/src/__MACOSX/weapon/.idea/modules/._weapon.iml b/src/__MACOSX/weapon/.idea/modules/._weapon.iml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/modules/._weapon.iml differ diff --git a/src/__MACOSX/weapon/.idea/modules/app/._weapon.app.iml b/src/__MACOSX/weapon/.idea/modules/app/._weapon.app.iml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/.idea/modules/app/._weapon.app.iml differ diff --git a/src/__MACOSX/weapon/app/._.gitignore b/src/__MACOSX/weapon/app/._.gitignore new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/._.gitignore differ diff --git a/src/__MACOSX/weapon/app/._build b/src/__MACOSX/weapon/app/._build new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/._build differ diff --git a/src/__MACOSX/weapon/app/._build.gradle b/src/__MACOSX/weapon/app/._build.gradle new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/._build.gradle differ diff --git a/src/__MACOSX/weapon/app/._libs b/src/__MACOSX/weapon/app/._libs new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/._libs differ diff --git a/src/__MACOSX/weapon/app/._proguard-rules.pro b/src/__MACOSX/weapon/app/._proguard-rules.pro new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/._proguard-rules.pro differ diff --git a/src/__MACOSX/weapon/app/._sampledata b/src/__MACOSX/weapon/app/._sampledata new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/._sampledata differ diff --git a/src/__MACOSX/weapon/app/._src b/src/__MACOSX/weapon/app/._src new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/._src differ diff --git a/src/__MACOSX/weapon/app/build/._generated b/src/__MACOSX/weapon/app/build/._generated new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/._generated differ diff --git a/src/__MACOSX/weapon/app/build/._intermediates b/src/__MACOSX/weapon/app/build/._intermediates new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/._intermediates differ diff --git a/src/__MACOSX/weapon/app/build/._outputs b/src/__MACOSX/weapon/app/build/._outputs new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/._outputs differ diff --git a/src/__MACOSX/weapon/app/build/._tmp b/src/__MACOSX/weapon/app/build/._tmp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/._tmp differ diff --git a/src/__MACOSX/weapon/app/build/generated/._ap_generated_sources b/src/__MACOSX/weapon/app/build/generated/._ap_generated_sources new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/generated/._ap_generated_sources differ diff --git a/src/__MACOSX/weapon/app/build/generated/._res b/src/__MACOSX/weapon/app/build/generated/._res new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/generated/._res differ diff --git a/src/__MACOSX/weapon/app/build/generated/._source b/src/__MACOSX/weapon/app/build/generated/._source new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/generated/._source differ diff --git a/src/__MACOSX/weapon/app/build/generated/ap_generated_sources/._debug b/src/__MACOSX/weapon/app/build/generated/ap_generated_sources/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/generated/ap_generated_sources/._debug differ diff --git a/src/__MACOSX/weapon/app/build/generated/res/._pngs b/src/__MACOSX/weapon/app/build/generated/res/._pngs new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/generated/res/._pngs differ diff --git a/src/__MACOSX/weapon/app/build/generated/res/._resValues b/src/__MACOSX/weapon/app/build/generated/res/._resValues new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/generated/res/._resValues differ diff --git a/src/__MACOSX/weapon/app/build/generated/source/._buildConfig b/src/__MACOSX/weapon/app/build/generated/source/._buildConfig new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/generated/source/._buildConfig differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._aar_metadata_check b/src/__MACOSX/weapon/app/build/intermediates/._aar_metadata_check new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._aar_metadata_check differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._annotation_processor_list b/src/__MACOSX/weapon/app/build/intermediates/._annotation_processor_list new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._annotation_processor_list differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._app_metadata b/src/__MACOSX/weapon/app/build/intermediates/._app_metadata new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._app_metadata differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._bundle_manifest b/src/__MACOSX/weapon/app/build/intermediates/._bundle_manifest new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._bundle_manifest differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._compatible_screen_manifest b/src/__MACOSX/weapon/app/build/intermediates/._compatible_screen_manifest new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._compatible_screen_manifest differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._compile_and_runtime_not_namespaced_r_class_jar b/src/__MACOSX/weapon/app/build/intermediates/._compile_and_runtime_not_namespaced_r_class_jar new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._compile_and_runtime_not_namespaced_r_class_jar differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._compressed_assets b/src/__MACOSX/weapon/app/build/intermediates/._compressed_assets new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._compressed_assets differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._data_binding_layout_info_type_merge b/src/__MACOSX/weapon/app/build/intermediates/._data_binding_layout_info_type_merge new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._data_binding_layout_info_type_merge differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._desugar_graph b/src/__MACOSX/weapon/app/build/intermediates/._desugar_graph new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._desugar_graph differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._dex b/src/__MACOSX/weapon/app/build/intermediates/._dex new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._dex differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._dex_archive_input_jar_hashes b/src/__MACOSX/weapon/app/build/intermediates/._dex_archive_input_jar_hashes new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._dex_archive_input_jar_hashes differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._dex_number_of_buckets_file b/src/__MACOSX/weapon/app/build/intermediates/._dex_number_of_buckets_file new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._dex_number_of_buckets_file differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._duplicate_classes_check b/src/__MACOSX/weapon/app/build/intermediates/._duplicate_classes_check new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._duplicate_classes_check differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._external_file_lib_dex_archives b/src/__MACOSX/weapon/app/build/intermediates/._external_file_lib_dex_archives new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._external_file_lib_dex_archives differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._external_libs_dex_archive b/src/__MACOSX/weapon/app/build/intermediates/._external_libs_dex_archive new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._external_libs_dex_archive differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._external_libs_dex_archive_with_artifact_transforms b/src/__MACOSX/weapon/app/build/intermediates/._external_libs_dex_archive_with_artifact_transforms new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._external_libs_dex_archive_with_artifact_transforms differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._incremental b/src/__MACOSX/weapon/app/build/intermediates/._incremental new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._incremental differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._javac b/src/__MACOSX/weapon/app/build/intermediates/._javac new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._javac differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._linked_res_for_bundle b/src/__MACOSX/weapon/app/build/intermediates/._linked_res_for_bundle new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._linked_res_for_bundle differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._manifest_merge_blame_file b/src/__MACOSX/weapon/app/build/intermediates/._manifest_merge_blame_file new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._manifest_merge_blame_file differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._merged_assets b/src/__MACOSX/weapon/app/build/intermediates/._merged_assets new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._merged_assets differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._merged_java_res b/src/__MACOSX/weapon/app/build/intermediates/._merged_java_res new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._merged_java_res differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._merged_jni_libs b/src/__MACOSX/weapon/app/build/intermediates/._merged_jni_libs new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._merged_jni_libs differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._merged_manifest b/src/__MACOSX/weapon/app/build/intermediates/._merged_manifest new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._merged_manifest differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._merged_manifests b/src/__MACOSX/weapon/app/build/intermediates/._merged_manifests new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._merged_manifests differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._merged_res b/src/__MACOSX/weapon/app/build/intermediates/._merged_res new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._merged_res differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._merged_res_blame_folder b/src/__MACOSX/weapon/app/build/intermediates/._merged_res_blame_folder new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._merged_res_blame_folder differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._merged_shaders b/src/__MACOSX/weapon/app/build/intermediates/._merged_shaders new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._merged_shaders differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._mixed_scope_dex_archive b/src/__MACOSX/weapon/app/build/intermediates/._mixed_scope_dex_archive new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._mixed_scope_dex_archive differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._navigation_json b/src/__MACOSX/weapon/app/build/intermediates/._navigation_json new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._navigation_json differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._packaged_manifests b/src/__MACOSX/weapon/app/build/intermediates/._packaged_manifests new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._packaged_manifests differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._processed_res b/src/__MACOSX/weapon/app/build/intermediates/._processed_res new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._processed_res differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._project_dex_archive b/src/__MACOSX/weapon/app/build/intermediates/._project_dex_archive new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._project_dex_archive differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._runtime_symbol_list b/src/__MACOSX/weapon/app/build/intermediates/._runtime_symbol_list new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._runtime_symbol_list differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._signing_config_versions b/src/__MACOSX/weapon/app/build/intermediates/._signing_config_versions new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._signing_config_versions differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._stable_resource_ids_file b/src/__MACOSX/weapon/app/build/intermediates/._stable_resource_ids_file new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._stable_resource_ids_file differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._sub_project_dex_archive b/src/__MACOSX/weapon/app/build/intermediates/._sub_project_dex_archive new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._sub_project_dex_archive differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._symbol_list_with_package_name b/src/__MACOSX/weapon/app/build/intermediates/._symbol_list_with_package_name new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._symbol_list_with_package_name differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/._validate_signing_config b/src/__MACOSX/weapon/app/build/intermediates/._validate_signing_config new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/._validate_signing_config differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/annotation_processor_list/._debug b/src/__MACOSX/weapon/app/build/intermediates/annotation_processor_list/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/annotation_processor_list/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/app_metadata/._debug b/src/__MACOSX/weapon/app/build/intermediates/app_metadata/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/app_metadata/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/bundle_manifest/._debug b/src/__MACOSX/weapon/app/build/intermediates/bundle_manifest/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/bundle_manifest/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/bundle_manifest/debug/._AndroidManifest.xml b/src/__MACOSX/weapon/app/build/intermediates/bundle_manifest/debug/._AndroidManifest.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/bundle_manifest/debug/._AndroidManifest.xml differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/._debug b/src/__MACOSX/weapon/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/compressed_assets/._debug b/src/__MACOSX/weapon/app/build/intermediates/compressed_assets/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/compressed_assets/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/data_binding_layout_info_type_merge/._debug b/src/__MACOSX/weapon/app/build/intermediates/data_binding_layout_info_type_merge/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/data_binding_layout_info_type_merge/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/._debug b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/._out b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/._out new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/._out differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._currentProject b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._currentProject new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._currentProject differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._externalLibs b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._externalLibs new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._externalLibs differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._mixedScopes b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._mixedScopes new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._mixedScopes differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._otherProjects b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._otherProjects new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/desugar_graph/debug/out/._otherProjects differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/dex/._debug b/src/__MACOSX/weapon/app/build/intermediates/dex/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/dex/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/dex_archive_input_jar_hashes/._debug b/src/__MACOSX/weapon/app/build/intermediates/dex_archive_input_jar_hashes/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/dex_archive_input_jar_hashes/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/dex_number_of_buckets_file/._debug b/src/__MACOSX/weapon/app/build/intermediates/dex_number_of_buckets_file/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/dex_number_of_buckets_file/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/dex_number_of_buckets_file/debug/._out b/src/__MACOSX/weapon/app/build/intermediates/dex_number_of_buckets_file/debug/._out new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/dex_number_of_buckets_file/debug/._out differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/external_libs_dex_archive/._debug b/src/__MACOSX/weapon/app/build/intermediates/external_libs_dex_archive/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/external_libs_dex_archive/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/external_libs_dex_archive_with_artifact_transforms/._debug b/src/__MACOSX/weapon/app/build/intermediates/external_libs_dex_archive_with_artifact_transforms/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/external_libs_dex_archive_with_artifact_transforms/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/incremental/._bundleDebugResources b/src/__MACOSX/weapon/app/build/intermediates/incremental/._bundleDebugResources new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/incremental/._bundleDebugResources differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/incremental/._debug-mergeJavaRes b/src/__MACOSX/weapon/app/build/intermediates/incremental/._debug-mergeJavaRes new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/incremental/._debug-mergeJavaRes differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/incremental/._packageDebug b/src/__MACOSX/weapon/app/build/intermediates/incremental/._packageDebug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/incremental/._packageDebug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/javac/._debug b/src/__MACOSX/weapon/app/build/intermediates/javac/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/javac/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/linked_res_for_bundle/._debug b/src/__MACOSX/weapon/app/build/intermediates/linked_res_for_bundle/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/linked_res_for_bundle/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/linked_res_for_bundle/debug/._bundled-res.ap_ b/src/__MACOSX/weapon/app/build/intermediates/linked_res_for_bundle/debug/._bundled-res.ap_ new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/linked_res_for_bundle/debug/._bundled-res.ap_ differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/manifest_merge_blame_file/._debug b/src/__MACOSX/weapon/app/build/intermediates/manifest_merge_blame_file/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/manifest_merge_blame_file/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/merged_assets/._debug b/src/__MACOSX/weapon/app/build/intermediates/merged_assets/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/merged_assets/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/merged_java_res/._debug b/src/__MACOSX/weapon/app/build/intermediates/merged_java_res/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/merged_java_res/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/merged_jni_libs/._debug b/src/__MACOSX/weapon/app/build/intermediates/merged_jni_libs/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/merged_jni_libs/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/merged_manifest/._debug b/src/__MACOSX/weapon/app/build/intermediates/merged_manifest/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/merged_manifest/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/merged_res_blame_folder/._debug b/src/__MACOSX/weapon/app/build/intermediates/merged_res_blame_folder/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/merged_res_blame_folder/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/merged_shaders/._debug b/src/__MACOSX/weapon/app/build/intermediates/merged_shaders/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/merged_shaders/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/mixed_scope_dex_archive/._debug b/src/__MACOSX/weapon/app/build/intermediates/mixed_scope_dex_archive/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/mixed_scope_dex_archive/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/navigation_json/._debug b/src/__MACOSX/weapon/app/build/intermediates/navigation_json/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/navigation_json/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/processed_res/._debug b/src/__MACOSX/weapon/app/build/intermediates/processed_res/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/processed_res/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/project_dex_archive/._debug b/src/__MACOSX/weapon/app/build/intermediates/project_dex_archive/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/project_dex_archive/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/runtime_symbol_list/._debug b/src/__MACOSX/weapon/app/build/intermediates/runtime_symbol_list/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/runtime_symbol_list/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/signing_config_versions/._debug b/src/__MACOSX/weapon/app/build/intermediates/signing_config_versions/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/signing_config_versions/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/stable_resource_ids_file/._debug b/src/__MACOSX/weapon/app/build/intermediates/stable_resource_ids_file/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/stable_resource_ids_file/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/sub_project_dex_archive/._debug b/src/__MACOSX/weapon/app/build/intermediates/sub_project_dex_archive/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/sub_project_dex_archive/._debug differ diff --git a/src/__MACOSX/weapon/app/build/intermediates/symbol_list_with_package_name/._debug b/src/__MACOSX/weapon/app/build/intermediates/symbol_list_with_package_name/._debug new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/intermediates/symbol_list_with_package_name/._debug differ diff --git a/src/__MACOSX/weapon/app/build/outputs/._apk b/src/__MACOSX/weapon/app/build/outputs/._apk new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/outputs/._apk differ diff --git a/src/__MACOSX/weapon/app/build/outputs/._logs b/src/__MACOSX/weapon/app/build/outputs/._logs new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/outputs/._logs differ diff --git a/src/__MACOSX/weapon/app/build/outputs/apk/._.DS_Store b/src/__MACOSX/weapon/app/build/outputs/apk/._.DS_Store new file mode 100644 index 0000000..5dbbbc6 Binary files /dev/null and b/src/__MACOSX/weapon/app/build/outputs/apk/._.DS_Store differ diff --git a/src/__MACOSX/weapon/app/build/tmp/._compileDebugJavaWithJavac b/src/__MACOSX/weapon/app/build/tmp/._compileDebugJavaWithJavac new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/build/tmp/._compileDebugJavaWithJavac differ diff --git a/src/__MACOSX/weapon/app/src/._.DS_Store b/src/__MACOSX/weapon/app/src/._.DS_Store new file mode 100644 index 0000000..5dbbbc6 Binary files /dev/null and b/src/__MACOSX/weapon/app/src/._.DS_Store differ diff --git a/src/__MACOSX/weapon/app/src/._androidTest b/src/__MACOSX/weapon/app/src/._androidTest new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/._androidTest differ diff --git a/src/__MACOSX/weapon/app/src/._main b/src/__MACOSX/weapon/app/src/._main new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/._main differ diff --git a/src/__MACOSX/weapon/app/src/._test b/src/__MACOSX/weapon/app/src/._test new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/._test differ diff --git a/src/__MACOSX/weapon/app/src/androidTest/._java b/src/__MACOSX/weapon/app/src/androidTest/._java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/androidTest/._java differ diff --git a/src/__MACOSX/weapon/app/src/androidTest/java/._com b/src/__MACOSX/weapon/app/src/androidTest/java/._com new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/androidTest/java/._com differ diff --git a/src/__MACOSX/weapon/app/src/androidTest/java/com/._test b/src/__MACOSX/weapon/app/src/androidTest/java/com/._test new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/androidTest/java/com/._test differ diff --git a/src/__MACOSX/weapon/app/src/androidTest/java/com/test/._weapon b/src/__MACOSX/weapon/app/src/androidTest/java/com/test/._weapon new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/androidTest/java/com/test/._weapon differ diff --git a/src/__MACOSX/weapon/app/src/androidTest/java/com/test/weapon/._ExampleInstrumentedTest.java b/src/__MACOSX/weapon/app/src/androidTest/java/com/test/weapon/._ExampleInstrumentedTest.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/androidTest/java/com/test/weapon/._ExampleInstrumentedTest.java differ diff --git a/src/__MACOSX/weapon/app/src/main/._.DS_Store b/src/__MACOSX/weapon/app/src/main/._.DS_Store new file mode 100644 index 0000000..5dbbbc6 Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/._.DS_Store differ diff --git a/src/__MACOSX/weapon/app/src/main/._AndroidManifest.xml b/src/__MACOSX/weapon/app/src/main/._AndroidManifest.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/._AndroidManifest.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/._java b/src/__MACOSX/weapon/app/src/main/._java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/._java differ diff --git a/src/__MACOSX/weapon/app/src/main/._res b/src/__MACOSX/weapon/app/src/main/._res new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/._res differ diff --git a/src/__MACOSX/weapon/app/src/main/java/._com b/src/__MACOSX/weapon/app/src/main/java/._com new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/._com differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/._test b/src/__MACOSX/weapon/app/src/main/java/com/._test new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/._test differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/._weapon b/src/__MACOSX/weapon/app/src/main/java/com/test/._weapon new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/._weapon differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._Adapter b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._Adapter new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._Adapter differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._AppApplication.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._AppApplication.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._AppApplication.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._BaseFragment.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._BaseFragment.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._BaseFragment.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._LoginActivity.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._LoginActivity.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._LoginActivity.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._MainActivity.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._MainActivity.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._MainActivity.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._api b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._api new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._api differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._bean b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._bean new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._bean differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._fragment b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._fragment new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._fragment differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._http b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._http new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._http differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._util b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._util new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/._util differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/Adapter/._FixInAdvanceAdapter.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/Adapter/._FixInAdvanceAdapter.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/Adapter/._FixInAdvanceAdapter.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/Adapter/._LocationAlarmAdapter.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/Adapter/._LocationAlarmAdapter.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/Adapter/._LocationAlarmAdapter.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/Adapter/._RemindAdapter.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/Adapter/._RemindAdapter.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/Adapter/._RemindAdapter.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._GetWarningApi.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._GetWarningApi.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._GetWarningApi.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._GetWeaponApi.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._GetWeaponApi.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._GetWeaponApi.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._LendWeaponApi.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._LendWeaponApi.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._LendWeaponApi.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._ReturnWeaponApi.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._ReturnWeaponApi.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._ReturnWeaponApi.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._ReturnWeaponListApi.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._ReturnWeaponListApi.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/api/._ReturnWeaponListApi.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/bean/._GetWeaponList.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/bean/._GetWeaponList.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/bean/._GetWeaponList.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/fragment/._FixInAdvanceFragment.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/fragment/._FixInAdvanceFragment.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/fragment/._FixInAdvanceFragment.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/fragment/._LocationAlarmFragment.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/fragment/._LocationAlarmFragment.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/fragment/._LocationAlarmFragment.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/fragment/._RemindFragment.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/fragment/._RemindFragment.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/fragment/._RemindFragment.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._HttpData.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._HttpData.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._HttpData.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._ReleaseServer.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._ReleaseServer.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._ReleaseServer.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._RequestHandler.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._RequestHandler.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._RequestHandler.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._ResultException.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._ResultException.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._ResultException.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._TokenException.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._TokenException.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/http/._TokenException.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/util/._AppData.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/util/._AppData.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/util/._AppData.java differ diff --git a/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/util/._ShadeTabViewVertical.java b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/util/._ShadeTabViewVertical.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/java/com/test/weapon/util/._ShadeTabViewVertical.java differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._drawable b/src/__MACOSX/weapon/app/src/main/res/._drawable new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._drawable differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._drawable-v24 b/src/__MACOSX/weapon/app/src/main/res/._drawable-v24 new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._drawable-v24 differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._layout b/src/__MACOSX/weapon/app/src/main/res/._layout new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._layout differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._mipmap-anydpi-v26 b/src/__MACOSX/weapon/app/src/main/res/._mipmap-anydpi-v26 new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._mipmap-anydpi-v26 differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._mipmap-hdpi b/src/__MACOSX/weapon/app/src/main/res/._mipmap-hdpi new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._mipmap-hdpi differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._mipmap-mdpi b/src/__MACOSX/weapon/app/src/main/res/._mipmap-mdpi new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._mipmap-mdpi differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._mipmap-xhdpi b/src/__MACOSX/weapon/app/src/main/res/._mipmap-xhdpi new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._mipmap-xhdpi differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._mipmap-xxhdpi b/src/__MACOSX/weapon/app/src/main/res/._mipmap-xxhdpi new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._mipmap-xxhdpi differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._mipmap-xxxhdpi b/src/__MACOSX/weapon/app/src/main/res/._mipmap-xxxhdpi new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._mipmap-xxxhdpi differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._values b/src/__MACOSX/weapon/app/src/main/res/._values new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._values differ diff --git a/src/__MACOSX/weapon/app/src/main/res/._xml b/src/__MACOSX/weapon/app/src/main/res/._xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/._xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/drawable-v24/._ic_launcher_foreground.xml b/src/__MACOSX/weapon/app/src/main/res/drawable-v24/._ic_launcher_foreground.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/drawable-v24/._ic_launcher_foreground.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/drawable/._bg_gray_border.xml b/src/__MACOSX/weapon/app/src/main/res/drawable/._bg_gray_border.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/drawable/._bg_gray_border.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/drawable/._ic_launcher_background.xml b/src/__MACOSX/weapon/app/src/main/res/drawable/._ic_launcher_background.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/drawable/._ic_launcher_background.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/layout/._activity_login.xml b/src/__MACOSX/weapon/app/src/main/res/layout/._activity_login.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/layout/._activity_login.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/layout/._activity_main.xml b/src/__MACOSX/weapon/app/src/main/res/layout/._activity_main.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/layout/._activity_main.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/layout/._fix_in_advance_layout.xml b/src/__MACOSX/weapon/app/src/main/res/layout/._fix_in_advance_layout.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/layout/._fix_in_advance_layout.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/layout/._fragment_fix_in_advance.xml b/src/__MACOSX/weapon/app/src/main/res/layout/._fragment_fix_in_advance.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/layout/._fragment_fix_in_advance.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/layout/._fragment_location_alarm.xml b/src/__MACOSX/weapon/app/src/main/res/layout/._fragment_location_alarm.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/layout/._fragment_location_alarm.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/layout/._fragment_remind.xml b/src/__MACOSX/weapon/app/src/main/res/layout/._fragment_remind.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/layout/._fragment_remind.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/layout/._location_alarm_layout.xml b/src/__MACOSX/weapon/app/src/main/res/layout/._location_alarm_layout.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/layout/._location_alarm_layout.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/layout/._remind_item_layout.xml b/src/__MACOSX/weapon/app/src/main/res/layout/._remind_item_layout.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/layout/._remind_item_layout.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/layout/._view_shade_tab_vertical.xml b/src/__MACOSX/weapon/app/src/main/res/layout/._view_shade_tab_vertical.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/layout/._view_shade_tab_vertical.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-anydpi-v26/._ic_launcher.xml b/src/__MACOSX/weapon/app/src/main/res/mipmap-anydpi-v26/._ic_launcher.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-anydpi-v26/._ic_launcher.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-anydpi-v26/._ic_launcher_round.xml b/src/__MACOSX/weapon/app/src/main/res/mipmap-anydpi-v26/._ic_launcher_round.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-anydpi-v26/._ic_launcher_round.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-hdpi/._ic_launcher.webp b/src/__MACOSX/weapon/app/src/main/res/mipmap-hdpi/._ic_launcher.webp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-hdpi/._ic_launcher.webp differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-hdpi/._ic_launcher_round.webp b/src/__MACOSX/weapon/app/src/main/res/mipmap-hdpi/._ic_launcher_round.webp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-hdpi/._ic_launcher_round.webp differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-mdpi/._ic_launcher.webp b/src/__MACOSX/weapon/app/src/main/res/mipmap-mdpi/._ic_launcher.webp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-mdpi/._ic_launcher.webp differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-mdpi/._ic_launcher_round.webp b/src/__MACOSX/weapon/app/src/main/res/mipmap-mdpi/._ic_launcher_round.webp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-mdpi/._ic_launcher_round.webp differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_face_auth.png b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_face_auth.png new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_face_auth.png differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_launcher.webp b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_launcher.webp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_launcher.webp differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_launcher_round.webp b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_launcher_round.webp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_launcher_round.webp differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_tuijian.png b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_tuijian.png new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_tuijian.png differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_tuijian_pressed.png b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_tuijian_pressed.png new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._ic_tuijian_pressed.png differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._no_pic.png b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._no_pic.png new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._no_pic.png differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_01.png b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_01.png new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_01.png differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_01_pressed.png b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_01_pressed.png new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_01_pressed.png differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_04.png b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_04.png new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_04.png differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_04_pressed.png b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_04_pressed.png new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xhdpi/._sy_04_pressed.png differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xxhdpi/._ic_launcher.webp b/src/__MACOSX/weapon/app/src/main/res/mipmap-xxhdpi/._ic_launcher.webp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xxhdpi/._ic_launcher.webp differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xxhdpi/._ic_launcher_round.webp b/src/__MACOSX/weapon/app/src/main/res/mipmap-xxhdpi/._ic_launcher_round.webp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xxhdpi/._ic_launcher_round.webp differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xxxhdpi/._ic_launcher.webp b/src/__MACOSX/weapon/app/src/main/res/mipmap-xxxhdpi/._ic_launcher.webp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xxxhdpi/._ic_launcher.webp differ diff --git a/src/__MACOSX/weapon/app/src/main/res/mipmap-xxxhdpi/._ic_launcher_round.webp b/src/__MACOSX/weapon/app/src/main/res/mipmap-xxxhdpi/._ic_launcher_round.webp new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/mipmap-xxxhdpi/._ic_launcher_round.webp differ diff --git a/src/__MACOSX/weapon/app/src/main/res/values/._colors.xml b/src/__MACOSX/weapon/app/src/main/res/values/._colors.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/values/._colors.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/values/._strings.xml b/src/__MACOSX/weapon/app/src/main/res/values/._strings.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/values/._strings.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/values/._strings_http.xml b/src/__MACOSX/weapon/app/src/main/res/values/._strings_http.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/values/._strings_http.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/values/._themes.xml b/src/__MACOSX/weapon/app/src/main/res/values/._themes.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/values/._themes.xml differ diff --git a/src/__MACOSX/weapon/app/src/main/res/xml/._net_config.xml b/src/__MACOSX/weapon/app/src/main/res/xml/._net_config.xml new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/main/res/xml/._net_config.xml differ diff --git a/src/__MACOSX/weapon/app/src/test/._java b/src/__MACOSX/weapon/app/src/test/._java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/test/._java differ diff --git a/src/__MACOSX/weapon/app/src/test/java/._com b/src/__MACOSX/weapon/app/src/test/java/._com new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/test/java/._com differ diff --git a/src/__MACOSX/weapon/app/src/test/java/com/._test b/src/__MACOSX/weapon/app/src/test/java/com/._test new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/test/java/com/._test differ diff --git a/src/__MACOSX/weapon/app/src/test/java/com/test/._weapon b/src/__MACOSX/weapon/app/src/test/java/com/test/._weapon new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/test/java/com/test/._weapon differ diff --git a/src/__MACOSX/weapon/app/src/test/java/com/test/weapon/._ExampleUnitTest.java b/src/__MACOSX/weapon/app/src/test/java/com/test/weapon/._ExampleUnitTest.java new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/app/src/test/java/com/test/weapon/._ExampleUnitTest.java differ diff --git a/src/__MACOSX/weapon/gradle/._wrapper b/src/__MACOSX/weapon/gradle/._wrapper new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/gradle/._wrapper differ diff --git a/src/__MACOSX/weapon/gradle/wrapper/._gradle-wrapper.jar b/src/__MACOSX/weapon/gradle/wrapper/._gradle-wrapper.jar new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/gradle/wrapper/._gradle-wrapper.jar differ diff --git a/src/__MACOSX/weapon/gradle/wrapper/._gradle-wrapper.properties b/src/__MACOSX/weapon/gradle/wrapper/._gradle-wrapper.properties new file mode 100644 index 0000000..efa546b Binary files /dev/null and b/src/__MACOSX/weapon/gradle/wrapper/._gradle-wrapper.properties differ diff --git a/src/weapon/.gitignore b/src/weapon/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/src/weapon/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/src/weapon/.idea/.gitignore b/src/weapon/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/src/weapon/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/src/weapon/.idea/compiler.xml b/src/weapon/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/src/weapon/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/weapon/.idea/gradle.xml b/src/weapon/.idea/gradle.xml new file mode 100644 index 0000000..e3996ab --- /dev/null +++ b/src/weapon/.idea/gradle.xml @@ -0,0 +1,22 @@ + + + + + + + \ No newline at end of file diff --git a/src/weapon/.idea/misc.xml b/src/weapon/.idea/misc.xml new file mode 100644 index 0000000..a1590a8 --- /dev/null +++ b/src/weapon/.idea/misc.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/weapon/HelpDoc.md b/src/weapon/HelpDoc.md new file mode 100644 index 0000000..219b50a --- /dev/null +++ b/src/weapon/HelpDoc.md @@ -0,0 +1,69 @@ +# 目录 com.text.weapon + +* [Adapter](#列表适配器) + + * [FixInAdvanceAdapter](#可借列表adapter) + + * [LocationAlarmAdapter](#报警信息列表adapter) + + * [RemindAdapter](#归还列表Adapter) + + +* [Api](#接口请求) + + * [GetWarningApi](#获取预警信息列表接口) + + * [GetWeaponApi](#获取可借信息列表接口) + + * [LendWeaponApi](#申请借出武器接口) + + * [ReturnWeaponApi](#归还武器接口) + + * [ReturnWeaponListApi](#获取归还武器列表接口) + + +* [bean](#实体类) + + * [GetWeaponList](#武器列表实体) + +* [fragment](#子页面) + + * [FixInAdvanceFragment](#可以借出武器列表页面) + * [LocationAlarmFragment](#预警信息武器列表页面) + * [RemindFragment](#可以归还武器列表页面) + + +* [http](#网络请求相关) + + * [httpData](#统一返回Json网络格式) + + * [ReleaseServer](#Server配置服务器信息) + + * [RequestHandler](#处理接口返回异常及结果信息) + + * [ResultException](#返回结果异常) + + * [TokenException](#Token失效异常) + +* [util](#相关工具) + * [AppData](#app基础参数可修改网络地址) + + * [ShadeTabViewVertical](#首页底部tab控件) + + * [AppApplication](#Application类初始化部分信息) + + * [BaseFragment](#基础Fragment网络请求的frag页面需继承该类) + + * [LoginActivity](#登录页面activity) + + * [MainActivity](#登录后主页包含三个子页) + +# 集成文档 + +需修改AppData中网络地址为自己的地址 +ApiAddress为接口地址 +PicAddress为图片地址 + +如果运行不成功需修改gradle-wrapper.properties中的distributionUrl为本地地址 参考:file:///c:/Users/****/gradle-7.0.2-bin.zip +#集成文档 +#目录 com.text.weapon \ No newline at end of file diff --git a/src/weapon/app/.gitignore b/src/weapon/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/src/weapon/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/src/weapon/app/build.gradle b/src/weapon/app/build.gradle new file mode 100644 index 0000000..59e905e --- /dev/null +++ b/src/weapon/app/build.gradle @@ -0,0 +1,64 @@ +plugins { + id 'com.android.application' +} + +android { + compileSdk 30 + + defaultConfig { + applicationId "com.test.weapon" + minSdk 21 + targetSdk 30 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'com.google.android.material:material:1.3.0' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation project(path: ':library') + testImplementation 'junit:junit:4.+' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + + //Android 徽章控件 tab栏出现红点控件 //https://github.com/bingoogolapple/BGABadgeView-Android + implementation 'com.github.bingoogolapple.BGABadgeView-Android:api:1.2.0' + annotationProcessor 'com.github.bingoogolapple.BGABadgeView-Android:compiler:1.2.0' + + //沉浸式状态栏 https://github.com/gyf-dev/ImmersionBar + + // 基础依赖包,必须要依赖 + implementation 'com.geyifeng.immersionbar:immersionbar:3.2.2' + + //图片选择框架 https://github.com/LuckSiege/PictureSelector + implementation 'io.github.lucksiege:pictureselector:v3.10.7' + + //图片加载 https://github.com/bumptech/glide + implementation 'com.github.bumptech.glide:glide:4.5.0' + annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0' + + //强大并且灵活的RecyclerViewAdapter https://github.com/CymChad/BaseRecyclerViewAdapterHelper/blob/master/readme/0-BaseRecyclerViewAdapterHelper.md + implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.10' + + implementation 'com.github.GrenderG:Toasty:1.5.2' + implementation 'com.github.getActivity:EasyHttp:11.6' + // noinspection GradleDependency + implementation 'com.squareup.okhttp3:okhttp:3.12.13' + implementation 'com.google.code.gson:gson:2.10.1' + implementation 'com.github.getActivity:GsonFactory:6.5' + + implementation 'com.github.getActivity:Toaster:12.0' +} \ No newline at end of file diff --git a/src/weapon/app/proguard-rules.pro b/src/weapon/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/src/weapon/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/src/weapon/app/src/androidTest/java/com/test/weapon/ExampleInstrumentedTest.java b/src/weapon/app/src/androidTest/java/com/test/weapon/ExampleInstrumentedTest.java new file mode 100644 index 0000000..8296ffe --- /dev/null +++ b/src/weapon/app/src/androidTest/java/com/test/weapon/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.test.weapon; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.test.weapon", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/src/weapon/app/src/main/AndroidManifest.xml b/src/weapon/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..79cd65a --- /dev/null +++ b/src/weapon/app/src/main/AndroidManifest.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/weapon/app/src/main/java/com/test/weapon/Adapter/FixInAdvanceAdapter.java b/src/weapon/app/src/main/java/com/test/weapon/Adapter/FixInAdvanceAdapter.java new file mode 100644 index 0000000..654c69b --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/Adapter/FixInAdvanceAdapter.java @@ -0,0 +1,32 @@ +package com.test.weapon.Adapter; + +import android.widget.ImageView; + +import androidx.annotation.NonNull; + +import com.bumptech.glide.Glide; +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.viewholder.BaseViewHolder; +import com.test.weapon.util.AppData; +import com.test.weapon.R; +import com.test.weapon.bean.GetWeaponList; + +public class FixInAdvanceAdapter extends BaseQuickAdapter { + + public FixInAdvanceAdapter(int layoutResId) { + super(layoutResId); + } + + @Override + protected void convert(@NonNull BaseViewHolder baseViewHolder, GetWeaponList fixInAdvanceBean) { + Glide.with(getContext()).load(AppData.PicAddress+fixInAdvanceBean.getImgPath()).into((ImageView) baseViewHolder.getView(R.id.img_url)); + baseViewHolder.setText(R.id.tv_name,fixInAdvanceBean.getName()); + baseViewHolder.setText(R.id.tv_desc,"子弹口径:"+fixInAdvanceBean.getBulletCaliber()+"mm\n弹夹容量:"+fixInAdvanceBean.getCartridgeCapacity()+"\n有效射程:"+fixInAdvanceBean.getEffectiveRange()); + if (fixInAdvanceBean.getIsLend()==1){ + baseViewHolder.setText(R.id.tv_lend,"续借"); + }else{ + baseViewHolder.setText(R.id.tv_lend,"借出"); + } + + } +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/Adapter/LocationAlarmAdapter.java b/src/weapon/app/src/main/java/com/test/weapon/Adapter/LocationAlarmAdapter.java new file mode 100644 index 0000000..b300806 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/Adapter/LocationAlarmAdapter.java @@ -0,0 +1,27 @@ +package com.test.weapon.Adapter; + +import android.widget.ImageView; + +import androidx.annotation.NonNull; + +import com.bumptech.glide.Glide; +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.viewholder.BaseViewHolder; +import com.test.weapon.util.AppData; +import com.test.weapon.R; +import com.test.weapon.bean.GetWeaponList; + +public class LocationAlarmAdapter extends BaseQuickAdapter { + + public LocationAlarmAdapter(int layoutResId) { + super(layoutResId); + } + + @Override + protected void convert(@NonNull BaseViewHolder baseViewHolder, GetWeaponList fixInAdvanceBean) { + Glide.with(getContext()).load(AppData.PicAddress+fixInAdvanceBean.getImgPath()).into((ImageView) baseViewHolder.getView(R.id.img_url)); + baseViewHolder.setText(R.id.tv_name,fixInAdvanceBean.getName()+"已超出指定范围"); + baseViewHolder.setText(R.id.tv_desc,"子弹口径:"+fixInAdvanceBean.getBulletCaliber()+"mm\n弹夹容量:"+fixInAdvanceBean.getCartridgeCapacity()+"\n有效射程:"+fixInAdvanceBean.getEffectiveRange()); + + } +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/Adapter/RemindAdapter.java b/src/weapon/app/src/main/java/com/test/weapon/Adapter/RemindAdapter.java new file mode 100644 index 0000000..c8d6e40 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/Adapter/RemindAdapter.java @@ -0,0 +1,41 @@ +package com.test.weapon.Adapter; + +import android.widget.ImageView; + +import androidx.annotation.NonNull; + +import com.bumptech.glide.Glide; +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.viewholder.BaseViewHolder; +import com.test.weapon.api.ReturnWeaponListApi; +import com.test.weapon.R; +import com.test.weapon.util.AppData; + +import java.text.SimpleDateFormat; +import java.util.Date; + +public class RemindAdapter extends BaseQuickAdapter { + + public RemindAdapter(int layoutResId) { + super(layoutResId); + } + + @Override + protected void convert(@NonNull BaseViewHolder baseViewHolder, ReturnWeaponListApi.Bean fixInAdvanceBean) { + Glide.with(getContext()).load(AppData.PicAddress+fixInAdvanceBean.getWeaponry().getImgPath()).into((ImageView) baseViewHolder.getView(R.id.img_url)); + baseViewHolder.setText(R.id.tv_name,fixInAdvanceBean.getWeaponryName()); + baseViewHolder.setText(R.id.tv_name,fixInAdvanceBean.getWeaponryName()+"\n子弹口径:"+fixInAdvanceBean.getWeaponry().getBulletCaliber()+"mm\n弹夹容量:"+fixInAdvanceBean.getWeaponry().getCartridgeCapacity()+"\n有效射程:"+fixInAdvanceBean.getWeaponry().getEffectiveRange()); + + baseViewHolder.setText(R.id.tv_time,"归还时间:"+getDateToString(fixInAdvanceBean.getReturnTime())); + baseViewHolder.setVisible(R.id.tv_return,fixInAdvanceBean.getReturnStatus()==0); + baseViewHolder.setVisible(R.id.img_warring,fixInAdvanceBean.getReturnTime() httpRequest, + @NonNull HttpParams params, + @NonNull HttpHeaders headers) { + } + }) + + // 设置请求重试次数 + .setRetryCount(1) + // 设置请求重试时间 + .setRetryTime(2000) + + .into(); + } +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/BaseFragment.java b/src/weapon/app/src/main/java/com/test/weapon/BaseFragment.java new file mode 100644 index 0000000..bead9dd --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/BaseFragment.java @@ -0,0 +1,22 @@ +package com.test.weapon; + +import androidx.fragment.app.Fragment; + +import com.hjq.http.listener.OnHttpListener; +import com.hjq.toast.Toaster; +import com.test.weapon.http.HttpData; + + +public class BaseFragment extends Fragment implements OnHttpListener { + @Override + public void onSucceed(Object result) { + if (result instanceof HttpData) { + Toaster.show(((HttpData) result).getMessage()); + } + } + + @Override + public void onFail(Exception e) { + + } +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/LoginActivity.java b/src/weapon/app/src/main/java/com/test/weapon/LoginActivity.java new file mode 100644 index 0000000..f1b9476 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/LoginActivity.java @@ -0,0 +1,60 @@ +package com.test.weapon; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import com.gyf.immersionbar.ImmersionBar; + +import es.dmoral.toasty.Toasty; + +/** + * 登录 + */ +public class LoginActivity extends AppCompatActivity { + private EditText etUserName; + private EditText etPassword; + private Button btnLogin; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + ImmersionBar.with(this) + .statusBarDarkFont(true, 0.2f) //原理:如果当前设备支持状态栏字体变色,会设置状态栏字体为黑色,如果当前设备不支持状态栏字体变色,会使当前状态栏加上透明度,否则不执行透明度 + .init(); + etUserName=(EditText) findViewById(R.id.et_userName); + etPassword=(EditText) findViewById(R.id.et_password); + btnLogin=(Button) findViewById(R.id.btn_login); + btnLogin.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + login(); + } + }); + } + + /** + * 登录方法 + */ + private void login(){ + String userName=etUserName.getText().toString().trim(); + String password=etPassword.getText().toString().trim(); + if (TextUtils.isEmpty(userName)){ + Toasty.info(LoginActivity.this, "请输入用户名", Toast.LENGTH_SHORT, true).show(); + return; + } + if (TextUtils.isEmpty(password)){ + Toasty.info(LoginActivity.this, "请输入密码", Toast.LENGTH_SHORT, true).show(); + return; + } + Toasty.success(LoginActivity.this, "登录成功!", Toast.LENGTH_SHORT, true).show(); + startActivity(new Intent(LoginActivity.this,MainActivity.class)); + finish(); + } +} \ No newline at end of file diff --git a/src/weapon/app/src/main/java/com/test/weapon/MainActivity.java b/src/weapon/app/src/main/java/com/test/weapon/MainActivity.java new file mode 100644 index 0000000..e3e139d --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/MainActivity.java @@ -0,0 +1,256 @@ +package com.test.weapon; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.util.TimeUtils; +import androidx.fragment.app.Fragment; +import androidx.viewpager2.adapter.FragmentStateAdapter; +import androidx.viewpager2.widget.ViewPager2; + +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + +import com.gyf.immersionbar.ImmersionBar; +import com.hjq.http.EasyHttp; +import com.hjq.http.body.JsonBody; +import com.hjq.http.listener.HttpCallback; +import com.hjq.http.listener.OnHttpListener; +import com.hjq.toast.Toaster; +import com.luck.picture.lib.basic.PictureSelector; +import com.luck.picture.lib.config.SelectMimeType; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.interfaces.OnResultCallbackListener; +import com.test.weapon.api.ReturnWeaponListApi; +import com.test.weapon.fragment.FixInAdvanceFragment; +import com.test.weapon.fragment.LocationAlarmFragment; +import com.test.weapon.fragment.RemindFragment; +import com.test.weapon.http.HttpData; +import com.test.weapon.util.ShadeTabViewVertical; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import cn.pedant.SweetAlert.SweetAlertDialog; +import es.dmoral.toasty.Toasty; + +public class MainActivity extends AppCompatActivity implements View.OnClickListener, OnHttpListener { + private ViewPager2 viewPager; + private ShadeTabViewVertical mainHome; + private ShadeTabViewVertical mainNeedDealt; + private ShadeTabViewVertical mainMineCenter; + private TextView tvTitle; + private ImageView imgFaceAuth; + + private List mTabs = new ArrayList(); + private FragmentStateAdapter mAdapter; + private List mTabIndicator = new ArrayList<>(); + private int mPage; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + ImmersionBar.with(this) + .statusBarDarkFont(true, 0.2f) //原理:如果当前设备支持状态栏字体变色,会设置状态栏字体为黑色,如果当前设备不支持状态栏字体变色,会使当前状态栏加上透明度,否则不执行透明度 + .init(); + viewPager=findViewById(R.id.viewPager); + mainHome=findViewById(R.id.main_home); + mainNeedDealt=findViewById(R.id.main_need_dealt); + mainMineCenter=findViewById(R.id.main_mine_center); + tvTitle=findViewById(R.id.tv_title); + imgFaceAuth=findViewById(R.id.img_faceAuth); + mainHome.setOnClickListener(this::onClick); + mainNeedDealt.setOnClickListener(this::onClick); + mainMineCenter.setOnClickListener(this::onClick); + imgFaceAuth.setOnClickListener(this::onClick); + initDatas(); + + } + + /** + * 初始化各个fragment + */ + private void initDatas() { + mTabs.add(new FixInAdvanceFragment()); + mTabs.add(new LocationAlarmFragment()); + mTabs.add(new RemindFragment()); + mAdapter = new FragmentStateAdapter(getSupportFragmentManager(),getLifecycle()) { + @NonNull + @Override + public Fragment createFragment(int position) { + return mTabs.get(position); + } + + @Override + public int getItemCount() { + return mTabs.size(); + } + }; + initTabIndicator(); + + viewPager.setAdapter(mAdapter); + viewPager.setOffscreenPageLimit(ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT);//防止切换页面时刷新fragment + viewPager.setUserInputEnabled(false);//禁止滑动 + mPage = getIntent().getIntExtra("page", 0); + setViewPagerSelect(mPage); + getData(); + + } + + /** + * 设置滑动页面的选择 + * + * @param page + */ + public void setViewPagerSelect(int page) { + resetTabsStatus(); + mTabIndicator.get(page).setIconAlpha(0); + viewPager.setCurrentItem(page, false); + } + + //添加变色的底部Icon + private void initTabIndicator() { + mTabIndicator.add(mainHome); + mTabIndicator.add(mainNeedDealt); + mTabIndicator.add(mainMineCenter); + mainHome.setIconAlpha(0); + } + + + /** + * 重置Tab状态 + */ + private void resetTabsStatus() { + for (int i = 0; i < mTabIndicator.size(); i++) { + mTabIndicator.get(i).setIconAlpha(1); + } + } + + @Override + public void onClick(View v) { + resetTabsStatus(); + switch (v.getId()) { + case R.id.main_home: + mTabIndicator.get(0).setIconAlpha(0); + viewPager.setCurrentItem(0, false); + tvTitle.setText("预定武器"); + break; + case R.id.main_need_dealt: + mTabIndicator.get(1).setIconAlpha(0); + viewPager.setCurrentItem(1, false); + tvTitle.setText("定位报警"); + break; + case R.id.main_mine_center: + mTabIndicator.get(2).setIconAlpha(0); + viewPager.setCurrentItem(2, false); + tvTitle.setText("提醒归还"); + break; + case R.id.img_faceAuth: + faceAuth(); + break; + } + } + + /** + * 模拟人脸认证 + */ + private void faceAuth(){ + PictureSelector.create(this) + .openCamera(SelectMimeType.ofImage()) + .isCameraAroundState(true)//是否开启前置摄像头;系统相机 只支持部分机型 + .forResult(new OnResultCallbackListener() { + @Override + public void onResult(ArrayList result) { + if (!TextUtils.isEmpty(result.get(0).getPath())){ + //实例化Random对象 + Random random = new Random(); + //首先在 [1,10] 区间(10个数)随机获取一个数 + int i = random.nextInt(10) % (10 - 1 + 1) + 1; + //然后根据中间概率来设置 if 条件语句的区间,达到效果 + if (i <= 7) {//人脸认证成功 + Toasty.success(MainActivity.this, "人脸认证成功!", Toast.LENGTH_SHORT, true).show(); + } else {//人脸认证失败 + Toasty.error(MainActivity.this, "人脸认证失败!", Toast.LENGTH_SHORT, true).show(); + } + }else{ + Toasty.info(MainActivity.this, "您已取消人脸认证!", Toast.LENGTH_SHORT, true).show(); + } + + } + + @Override + public void onCancel() { + Toasty.info(MainActivity.this, "您已取消人脸认证!", Toast.LENGTH_SHORT, true).show(); + } + }); + + } + void getData(){ + + Map map=new HashMap<>(); + map.put("pageNo","1"); + map.put("pageSize","10"); + + EasyHttp.post(this) + .api(new ReturnWeaponListApi() + ) + .body(new JsonBody(map)) + .request(new HttpCallback>>(this) { + + @Override + public void onSucceed(HttpData> result) { + for (int i=0;i) result).getMessage()); + } + } + + @Override + public void onFail(Exception e) { + + } +} \ No newline at end of file diff --git a/src/weapon/app/src/main/java/com/test/weapon/api/GetWarningApi.java b/src/weapon/app/src/main/java/com/test/weapon/api/GetWarningApi.java new file mode 100644 index 0000000..3fb3f7f --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/api/GetWarningApi.java @@ -0,0 +1,26 @@ +package com.test.weapon.api; + + +import androidx.annotation.NonNull; + +import com.hjq.http.annotation.HttpHeader; +import com.hjq.http.annotation.HttpRename; +import com.hjq.http.config.IRequestApi; + +import java.util.List; + +public class GetWarningApi implements IRequestApi { + @NonNull + @Override + public String getApi() { + return "/weaponry/weaponry/getLocationWarningPageList"; + } + + + @HttpHeader + @HttpRename("Content-Type") + private String contentType = "application/json;charset=utf-8"; + + + + } diff --git a/src/weapon/app/src/main/java/com/test/weapon/api/GetWeaponApi.java b/src/weapon/app/src/main/java/com/test/weapon/api/GetWeaponApi.java new file mode 100644 index 0000000..b0f2210 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/api/GetWeaponApi.java @@ -0,0 +1,151 @@ +package com.test.weapon.api; + + +import androidx.annotation.NonNull; + +import com.hjq.http.annotation.HttpHeader; +import com.hjq.http.annotation.HttpRename; +import com.hjq.http.config.IRequestApi; + +import java.util.List; + +public class GetWeaponApi implements IRequestApi { + @NonNull + @Override + public String getApi() { + return "/weaponry/weaponry/getPageList"; + } + @HttpRename("pageNo") + private String pageNo; + + public GetWeaponApi setPageNo(String pageNo) { + this.pageNo = pageNo; + return this; + } + @HttpRename("pageSize") + private String pageSize; + + @HttpHeader + @HttpRename("Content-Type") + private String contentType = "application/json;charset=utf-8"; + + public GetWeaponApi setPageSize(String pageSize) { + this.pageSize = pageSize; + return this; + } + + public final static class Bean { + + private Integer code; + private String message; + private List data; + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataDTO { + private String id; + private String name; + private String imgPath; + private String cartridgeCapacity; + private String bulletCaliber; + private String effectiveRange; + private String totalInventory; + private String lockInventory; + private String isLend; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getImgPath() { + return imgPath; + } + + public void setImgPath(String imgPath) { + this.imgPath = imgPath; + } + + public String getCartridgeCapacity() { + return cartridgeCapacity; + } + + public void setCartridgeCapacity(String cartridgeCapacity) { + this.cartridgeCapacity = cartridgeCapacity; + } + + public String getBulletCaliber() { + return bulletCaliber; + } + + public void setBulletCaliber(String bulletCaliber) { + this.bulletCaliber = bulletCaliber; + } + + public String getEffectiveRange() { + return effectiveRange; + } + + public void setEffectiveRange(String effectiveRange) { + this.effectiveRange = effectiveRange; + } + + public String getTotalInventory() { + return totalInventory; + } + + public void setTotalInventory(String totalInventory) { + this.totalInventory = totalInventory; + } + + public String getLockInventory() { + return lockInventory; + } + + public void setLockInventory(String lockInventory) { + this.lockInventory = lockInventory; + } + + public String getIsLend() { + return isLend; + } + + public void setIsLend(String isLend) { + this.isLend = isLend; + } + } + } + } diff --git a/src/weapon/app/src/main/java/com/test/weapon/api/LendWeaponApi.java b/src/weapon/app/src/main/java/com/test/weapon/api/LendWeaponApi.java new file mode 100644 index 0000000..267b7fe --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/api/LendWeaponApi.java @@ -0,0 +1,22 @@ +package com.test.weapon.api; + +import androidx.annotation.NonNull; + +import com.hjq.http.annotation.HttpHeader; +import com.hjq.http.annotation.HttpRename; +import com.hjq.http.config.IRequestApi; + +/** + * Created on 2023/3/24 + */ +public class LendWeaponApi implements IRequestApi { + @NonNull + @Override + public String getApi() { + return "/weaponry/weaponryLend/save"; + } + @HttpHeader + @HttpRename("Content-Type") + private String contentType = "application/json;charset=utf-8"; + +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/api/ReturnWeaponApi.java b/src/weapon/app/src/main/java/com/test/weapon/api/ReturnWeaponApi.java new file mode 100644 index 0000000..b0532d0 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/api/ReturnWeaponApi.java @@ -0,0 +1,30 @@ +package com.test.weapon.api; + +import androidx.annotation.NonNull; + +import com.hjq.http.annotation.HttpHeader; +import com.hjq.http.annotation.HttpRename; +import com.hjq.http.config.IRequestApi; + +/** + * Created on 2023/3/24 + */ +public class ReturnWeaponApi implements IRequestApi { + @NonNull + @Override + public String getApi() { + return "/weaponry/weaponryReturnRecord/save?"; + } + @HttpRename("lendRecordId") + private String lendRecordId; + + public ReturnWeaponApi setLendRecordId(String lendRecordId) { + this.lendRecordId = lendRecordId; + return this; + } + + @HttpHeader + @HttpRename("Content-Type") + private String contentType = "application/json;charset=utf-8"; + +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/api/ReturnWeaponListApi.java b/src/weapon/app/src/main/java/com/test/weapon/api/ReturnWeaponListApi.java new file mode 100644 index 0000000..91b9ce8 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/api/ReturnWeaponListApi.java @@ -0,0 +1,167 @@ +package com.test.weapon.api; + +import androidx.annotation.NonNull; + +import com.hjq.http.config.IRequestApi; + +/** + * Created on 2023/3/24 + */ +public class ReturnWeaponListApi implements IRequestApi { + @NonNull + @Override + public String getApi() { + return "/weaponry/weaponryLend/getPageList"; + } + public final static class Bean{ + + private String id; + private String weaponryId; + private String weaponryName; + private Integer num; + private Long returnTime; + private Integer returnStatus; + private WeaponryDTO weaponry; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getWeaponryId() { + return weaponryId; + } + + public void setWeaponryId(String weaponryId) { + this.weaponryId = weaponryId; + } + + public String getWeaponryName() { + return weaponryName; + } + + public void setWeaponryName(String weaponryName) { + this.weaponryName = weaponryName; + } + + public Integer getNum() { + return num; + } + + public void setNum(Integer num) { + this.num = num; + } + + public Long getReturnTime() { + return returnTime; + } + + public void setReturnTime(Long returnTime) { + this.returnTime = returnTime; + } + + public Integer getReturnStatus() { + return returnStatus; + } + + public void setReturnStatus(Integer returnStatus) { + this.returnStatus = returnStatus; + } + + public WeaponryDTO getWeaponry() { + return weaponry; + } + + public void setWeaponry(WeaponryDTO weaponry) { + this.weaponry = weaponry; + } + + public static class WeaponryDTO { + private String id; + private String name; + private String imgPath; + private String cartridgeCapacity; + private String bulletCaliber; + private String effectiveRange; + private String totalInventory; + private String lockInventory; + private String isLend; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getImgPath() { + return imgPath; + } + + public void setImgPath(String imgPath) { + this.imgPath = imgPath; + } + + public String getCartridgeCapacity() { + return cartridgeCapacity; + } + + public void setCartridgeCapacity(String cartridgeCapacity) { + this.cartridgeCapacity = cartridgeCapacity; + } + + public String getBulletCaliber() { + return bulletCaliber; + } + + public void setBulletCaliber(String bulletCaliber) { + this.bulletCaliber = bulletCaliber; + } + + public String getEffectiveRange() { + return effectiveRange; + } + + public void setEffectiveRange(String effectiveRange) { + this.effectiveRange = effectiveRange; + } + + public String getTotalInventory() { + return totalInventory; + } + + public void setTotalInventory(String totalInventory) { + this.totalInventory = totalInventory; + } + + public String getLockInventory() { + return lockInventory; + } + + public void setLockInventory(String lockInventory) { + this.lockInventory = lockInventory; + } + + public String getIsLend() { + return isLend; + } + + public void setIsLend(String isLend) { + this.isLend = isLend; + } + } + } + +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/bean/GetWeaponList.java b/src/weapon/app/src/main/java/com/test/weapon/bean/GetWeaponList.java new file mode 100644 index 0000000..3be0dfd --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/bean/GetWeaponList.java @@ -0,0 +1,171 @@ +package com.test.weapon.bean; + +/** + * Created on 2023/3/23 + */ +public class GetWeaponList { + + + private Object pageNo; + private Object pageSize; + private String id; + private Long createTime; + private Long updateTime; + private Object updateTimeEnd; + private Object operator; + private Object remark; + private String name; + private String imgPath; + private Integer cartridgeCapacity; + private Double bulletCaliber; + private Integer effectiveRange; + private Integer totalInventory; + private Integer lockInventory; + private Integer status; + private Integer isLend; + private Object lockInventoryStart; + + public Object getPageNo() { + return pageNo; + } + + public void setPageNo(Object pageNo) { + this.pageNo = pageNo; + } + + public Object getPageSize() { + return pageSize; + } + + public void setPageSize(Object pageSize) { + this.pageSize = pageSize; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Long getCreateTime() { + return createTime; + } + + public void setCreateTime(Long createTime) { + this.createTime = createTime; + } + + public Long getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + } + + public Object getUpdateTimeEnd() { + return updateTimeEnd; + } + + public void setUpdateTimeEnd(Object updateTimeEnd) { + this.updateTimeEnd = updateTimeEnd; + } + + public Object getOperator() { + return operator; + } + + public void setOperator(Object operator) { + this.operator = operator; + } + + public Object getRemark() { + return remark; + } + + public void setRemark(Object remark) { + this.remark = remark; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getImgPath() { + return imgPath; + } + + public void setImgPath(String imgPath) { + this.imgPath = imgPath; + } + + public Integer getCartridgeCapacity() { + return cartridgeCapacity; + } + + public void setCartridgeCapacity(Integer cartridgeCapacity) { + this.cartridgeCapacity = cartridgeCapacity; + } + + public Double getBulletCaliber() { + return bulletCaliber; + } + + public void setBulletCaliber(Double bulletCaliber) { + this.bulletCaliber = bulletCaliber; + } + + public Integer getEffectiveRange() { + return effectiveRange; + } + + public void setEffectiveRange(Integer effectiveRange) { + this.effectiveRange = effectiveRange; + } + + public Integer getTotalInventory() { + return totalInventory; + } + + public void setTotalInventory(Integer totalInventory) { + this.totalInventory = totalInventory; + } + + public Integer getLockInventory() { + return lockInventory; + } + + public void setLockInventory(Integer lockInventory) { + this.lockInventory = lockInventory; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getIsLend() { + return isLend; + } + + public void setIsLend(Integer isLend) { + this.isLend = isLend; + } + + public Object getLockInventoryStart() { + return lockInventoryStart; + } + + public void setLockInventoryStart(Object lockInventoryStart) { + this.lockInventoryStart = lockInventoryStart; + } +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/fragment/FixInAdvanceFragment.java b/src/weapon/app/src/main/java/com/test/weapon/fragment/FixInAdvanceFragment.java new file mode 100644 index 0000000..f334382 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/fragment/FixInAdvanceFragment.java @@ -0,0 +1,123 @@ +package com.test.weapon.fragment; + +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Toast; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.listener.OnItemChildClickListener; +import com.google.gson.Gson; +import com.hjq.http.EasyHttp; +import com.hjq.http.body.JsonBody; +import com.hjq.http.listener.HttpCallback; +import com.test.weapon.BaseFragment; +import com.test.weapon.Adapter.FixInAdvanceAdapter; +import com.test.weapon.bean.GetWeaponList; +import com.test.weapon.api.LendWeaponApi; +import com.test.weapon.http.HttpData; +import com.test.weapon.R; +import com.test.weapon.api.GetWeaponApi; + +import java.util.Calendar; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import cn.pedant.SweetAlert.SweetAlertDialog; +import es.dmoral.toasty.Toasty; + +/** + * 预定武器 + */ +public class FixInAdvanceFragment extends BaseFragment { + private RecyclerView rvAdvance; + private long time; + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_fix_in_advance, container, true); + rvAdvance=view.findViewById(R.id.rv_advance); + initView(); + return view; + + } + + private void initView(){ + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.SECOND, calendar.get(Calendar.SECOND)+604800); + time= calendar.getTimeInMillis(); + + + FixInAdvanceAdapter adapter = new FixInAdvanceAdapter(R.layout.fix_in_advance_layout); + rvAdvance.setLayoutManager(new LinearLayoutManager(getContext())); + rvAdvance.setAdapter(adapter); + // 先注册需要点击的子控件id(注意,请不要写在convert方法里) + adapter.addChildClickViewIds(R.id.tv_lend); + adapter.setOnItemChildClickListener(new OnItemChildClickListener() { + @Override + public void onItemChildClick(@NonNull BaseQuickAdapter adapter, @NonNull View view, int position) { + GetWeaponList bean= (GetWeaponList) adapter.getData().get(position); + switch (view.getId()){ + case R.id.tv_lend: + lendWeapon(bean.getId(),bean.getIsLend()); + if (bean.getIsLend()==0){ + bean.setIsLend(1); + adapter.notifyItemChanged(position); + } + + break; + } + } + }); + Mapmap=new HashMap<>(); + map.put("pageNo","1"); + map.put("pageSize","10"); + + + + EasyHttp.post(this) + .api(new GetWeaponApi() + ) + .body(new JsonBody(map)) + .request(new HttpCallback>>(this) { + + @Override + public void onSucceed(HttpData> result) { + adapter.addData(result.getData()); + } + }); + + + } + void lendWeapon(String id,int type){ + + Mapmap=new HashMap<>(); + map.put("weaponryId",id); + map.put("num","1"); + map.put("returnTime",time+""); + + EasyHttp.post(this) + .api(new LendWeaponApi() + ) + .body(new JsonBody(map)) + .request(new HttpCallback(this) { + + @Override + public void onSucceed(HttpData result) { + + if (type==1){ + Toasty.success(getActivity(), "续借申请已提交,请等待审核!", Toast.LENGTH_SHORT, true).show(); + }else{ + Toasty.success(getActivity(), "借出申请已提交,请等待审核!", Toast.LENGTH_SHORT, true).show(); + } + } + }); + + } +} \ No newline at end of file diff --git a/src/weapon/app/src/main/java/com/test/weapon/fragment/LocationAlarmFragment.java b/src/weapon/app/src/main/java/com/test/weapon/fragment/LocationAlarmFragment.java new file mode 100644 index 0000000..00cfebd --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/fragment/LocationAlarmFragment.java @@ -0,0 +1,72 @@ +package com.test.weapon.fragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.hjq.http.EasyHttp; +import com.hjq.http.body.JsonBody; +import com.hjq.http.listener.HttpCallback; +import com.test.weapon.Adapter.LocationAlarmAdapter; +import com.test.weapon.BaseFragment; +import com.test.weapon.R; +import com.test.weapon.api.GetWarningApi; +import com.test.weapon.api.GetWeaponApi; +import com.test.weapon.bean.GetWeaponList; +import com.test.weapon.http.HttpData; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 定位报警 + */ +public class LocationAlarmFragment extends BaseFragment { + private RecyclerView rvLocation; + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_location_alarm, container, false); + rvLocation = view.findViewById(R.id.rv_location); + initView(); + return view; + } + private void initView(){ + LocationAlarmAdapter adapter = new LocationAlarmAdapter(R.layout.location_alarm_layout); + rvLocation.setLayoutManager(new LinearLayoutManager(getContext())); + rvLocation.setAdapter(adapter); + + Map map=new HashMap<>(); + map.put("pageNo","1"); + map.put("pageSize","10"); + + EasyHttp.post(this) + .api(new GetWarningApi() + ) + .body(new JsonBody(map)) + .request(new HttpCallback>>(this) { + + @Override + public void onSucceed(HttpData> result) { + adapter.addData(result.getData()); + } + }); + + + + + + + } +} \ No newline at end of file diff --git a/src/weapon/app/src/main/java/com/test/weapon/fragment/RemindFragment.java b/src/weapon/app/src/main/java/com/test/weapon/fragment/RemindFragment.java new file mode 100644 index 0000000..a92b755 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/fragment/RemindFragment.java @@ -0,0 +1,108 @@ +package com.test.weapon.fragment; + +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Toast; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.listener.OnItemChildClickListener; +import com.hjq.http.EasyHttp; +import com.hjq.http.body.JsonBody; +import com.hjq.http.listener.HttpCallback; +import com.test.weapon.BaseFragment; +import com.test.weapon.api.ReturnWeaponApi; +import com.test.weapon.api.ReturnWeaponListApi; +import com.test.weapon.R; +import com.test.weapon.Adapter.RemindAdapter; +import com.test.weapon.http.HttpData; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import cn.pedant.SweetAlert.SweetAlertDialog; +import es.dmoral.toasty.Toasty; + +/** + * 提醒归还 + */ +public class RemindFragment extends BaseFragment { + + private RecyclerView rvRemind; + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_remind, container, false); + rvRemind=view.findViewById(R.id.rv_remind); + initView(); + return view; + } + private void initView(){ + RemindAdapter adapter = new RemindAdapter(R.layout.remind_item_layout); + rvRemind.setLayoutManager(new LinearLayoutManager(getContext())); + rvRemind.setAdapter(adapter); + + // 先注册需要点击的子控件id(注意,请不要写在convert方法里) + adapter.addChildClickViewIds(R.id.tv_return); + adapter.setOnItemChildClickListener(new OnItemChildClickListener() { + @Override + public void onItemChildClick(@NonNull BaseQuickAdapter adapter, @NonNull View view, int position) { + ReturnWeaponListApi.Bean bean= (ReturnWeaponListApi.Bean) adapter.getData().get(position); + + lendWeapon(bean.getId()); + bean.setReturnStatus(1); + adapter.notifyItemChanged(position); + } + }); + + Map map=new HashMap<>(); + map.put("pageNo","1"); + map.put("pageSize","10"); + + EasyHttp.post(this) + .api(new ReturnWeaponListApi() + ) + .body(new JsonBody(map)) + .request(new HttpCallback>>(this) { + + @Override + public void onSucceed(HttpData> result) { + adapter.addData(result.getData()); + } + }); + + + } + + void lendWeapon(String id){ + + + + EasyHttp.get(this) + .api(new ReturnWeaponApi().setLendRecordId(id) + ) + .request(new HttpCallback(this) { + + @Override + public void onSucceed(HttpData result) { + Toasty.success(getActivity(), "归还成功!", Toast.LENGTH_SHORT, true).show(); + + } + }); + + } + +} \ No newline at end of file diff --git a/src/weapon/app/src/main/java/com/test/weapon/http/HttpData.java b/src/weapon/app/src/main/java/com/test/weapon/http/HttpData.java new file mode 100644 index 0000000..1871346 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/http/HttpData.java @@ -0,0 +1,51 @@ +package com.test.weapon.http; + +import okhttp3.Headers; + + +public class HttpData { + + /** 请求头 */ + private Headers headers; + + /** 返回码 */ + private int code; + /** 提示语 */ + private String message; + /** 数据 */ + private T data; + + public void setHeaders(Headers headers) { + this.headers = headers; + } + + public Headers getHeaders() { + return headers; + } + + public int getCode() { + return code; + } + + public String getMessage() { + return message; + } + + public T getData() { + return data; + } + + /** + * 是否请求成功 + */ + public boolean isRequestSuccess() { + return code == 200; + } + + /** + * 是否 Token 失效 + */ + public boolean isTokenFailure() { + return code == 1001; + } +} \ No newline at end of file diff --git a/src/weapon/app/src/main/java/com/test/weapon/http/ReleaseServer.java b/src/weapon/app/src/main/java/com/test/weapon/http/ReleaseServer.java new file mode 100644 index 0000000..93ce0d8 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/http/ReleaseServer.java @@ -0,0 +1,17 @@ +package com.test.weapon.http; + +import androidx.annotation.NonNull; + +import com.hjq.http.config.IRequestServer; +import com.test.weapon.util.AppData; + +/** + * Created on 2023/3/23 + */ +public class ReleaseServer implements IRequestServer { + @NonNull + @Override + public String getHost() { + return AppData.ApiAddress; + } +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/http/RequestHandler.java b/src/weapon/app/src/main/java/com/test/weapon/http/RequestHandler.java new file mode 100644 index 0000000..97641b2 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/http/RequestHandler.java @@ -0,0 +1,170 @@ +package com.test.weapon.http; + +import android.app.Application; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; + +import androidx.annotation.NonNull; + +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; +import com.hjq.gson.factory.GsonFactory; +import com.hjq.http.EasyLog; +import com.hjq.http.config.IRequestHandler; +import com.hjq.http.exception.CancelException; +import com.hjq.http.exception.DataException; +import com.hjq.http.exception.HttpException; +import com.hjq.http.exception.NetworkException; +import com.hjq.http.exception.NullBodyException; +import com.hjq.http.exception.ResponseException; +import com.hjq.http.exception.ServerException; +import com.hjq.http.exception.TimeoutException; +import com.hjq.http.request.HttpRequest; +import com.test.weapon.R; +; + +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.GenericArrayType; +import java.lang.reflect.Type; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; + +import okhttp3.Headers; +import okhttp3.Response; +import okhttp3.ResponseBody; + +/** + * Created on 2023/3/23 + */ +public class RequestHandler implements IRequestHandler { + private final Application mApplication; + + public RequestHandler(Application application) { + mApplication = application; + } + @NonNull + @Override + public Object requestSuccess(@NonNull HttpRequest httpRequest, @NonNull Response response, @NonNull Type type) throws Exception { + if (Response.class.equals(type)) { + return response; + } + + if (!response.isSuccessful()) { + throw new ResponseException(String.format(mApplication.getString(R.string.http_response_error), + response.code(), response.message()), response); + } + + if (Headers.class.equals(type)) { + return response.headers(); + } + + ResponseBody body = response.body(); + if (body == null) { + throw new NullBodyException(mApplication.getString(R.string.http_response_null_body)); + } + + if (ResponseBody.class.equals(type)) { + return body; + } + + // 如果是用数组接收,判断一下是不是用 byte[] 类型进行接收的 + if(type instanceof GenericArrayType) { + Type genericComponentType = ((GenericArrayType) type).getGenericComponentType(); + if (byte.class.equals(genericComponentType)) { + return body.bytes(); + } + } + + if (InputStream.class.equals(type)) { + return body.byteStream(); + } + + if (Bitmap.class.equals(type)) { + return BitmapFactory.decodeStream(body.byteStream()); + } + + String text; + try { + text = body.string(); + } catch (IOException e) { + // 返回结果读取异常 + throw new DataException(mApplication.getString(R.string.http_data_explain_error), e); + } + + // 打印这个 Json 或者文本 + EasyLog.printJson(httpRequest, text); + + if (String.class.equals(type)) { + return text; + } + + final Object result; +// Gson sGson = new Gson(); + try { +// result= sGson.fromJson(text,type); + + result = GsonFactory.getSingletonGson().fromJson(text, type); + } catch (JsonSyntaxException e) { + // 返回结果读取异常 + throw new DataException(mApplication.getString(R.string.http_data_explain_error), e); + } + + if (result instanceof HttpData) { + HttpData model = (HttpData) result; + model.setHeaders(response.headers()); + + if (model.isRequestSuccess()) { + // 代表执行成功 + return result; + } + + if (model.isTokenFailure()) { + // 代表登录失效,需要重新登录 + throw new TokenException(mApplication.getString(R.string.http_token_error)); + } + + // 代表执行失败 + throw new ResultException(model.getMessage(), model); + } + return result; } + + @NonNull + @Override + public Exception requestFail(@NonNull HttpRequest httpRequest, @NonNull Exception e) { + if (e instanceof HttpException) { + if (e instanceof TokenException) { + // 登录信息失效,跳转到登录页 + + } + return e; + } + + if (e instanceof SocketTimeoutException) { + return new TimeoutException(mApplication.getString(R.string.http_server_out_time), e); + } + + if (e instanceof UnknownHostException) { + NetworkInfo info = ((ConnectivityManager) mApplication.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); + // 判断网络是否连接 + if (info != null && info.isConnected()) { + // 有连接就是服务器的问题 + return new ServerException(mApplication.getString(R.string.http_server_error), e); + } + // 没有连接就是网络异常 + return new NetworkException(mApplication.getString(R.string.http_network_error), e); + } + + if (e instanceof IOException) { + // 出现该异常的两种情况 + // 1. 调用 EasyHttp.cancel + // 2. 网络请求被中断 + return new CancelException(mApplication.getString(R.string.http_request_cancel), e); + } + + return new HttpException(e.getMessage(), e); + } +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/http/ResultException.java b/src/weapon/app/src/main/java/com/test/weapon/http/ResultException.java new file mode 100644 index 0000000..cd0f552 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/http/ResultException.java @@ -0,0 +1,29 @@ +package com.test.weapon.http; + +import androidx.annotation.NonNull; + +import com.hjq.http.exception.HttpException; +import com.test.weapon.http.HttpData; + +/** + * desc : 返回结果异常 + */ +public final class ResultException extends HttpException { + + private final HttpData mData; + + public ResultException(String message, HttpData data) { + super(message); + mData = data; + } + + public ResultException(String message, Throwable cause, HttpData data) { + super(message, cause); + mData = data; + } + + @NonNull + public HttpData getHttpData() { + return mData; + } +} \ No newline at end of file diff --git a/src/weapon/app/src/main/java/com/test/weapon/http/TokenException.java b/src/weapon/app/src/main/java/com/test/weapon/http/TokenException.java new file mode 100644 index 0000000..9275ce5 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/http/TokenException.java @@ -0,0 +1,17 @@ +package com.test.weapon.http; + +import com.hjq.http.exception.HttpException; + +/** + * desc : Token 失效异常 + */ +public final class TokenException extends HttpException { + + public TokenException(String message) { + super(message); + } + + public TokenException(String message, Throwable cause) { + super(message, cause); + } +} \ No newline at end of file diff --git a/src/weapon/app/src/main/java/com/test/weapon/util/AppData.java b/src/weapon/app/src/main/java/com/test/weapon/util/AppData.java new file mode 100644 index 0000000..ffc9875 --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/util/AppData.java @@ -0,0 +1,8 @@ +package com.test.weapon.util; + + +public class AppData { + public static String PicAddress="http://120.24.185.153:8088/file/"; + public static String ApiAddress="http://120.24.185.153:8088/"; + +} diff --git a/src/weapon/app/src/main/java/com/test/weapon/util/ShadeTabViewVertical.java b/src/weapon/app/src/main/java/com/test/weapon/util/ShadeTabViewVertical.java new file mode 100644 index 0000000..4ca836e --- /dev/null +++ b/src/weapon/app/src/main/java/com/test/weapon/util/ShadeTabViewVertical.java @@ -0,0 +1,249 @@ +package com.test.weapon.util; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.drawable.BitmapDrawable; +import android.os.Bundle; +import android.os.Parcelable; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.TextView; + +import com.test.weapon.R; + +import cn.bingoogolapple.badgeview.BGABadgeViewHelper; +import cn.bingoogolapple.badgeview.BGABadgeable; +import cn.bingoogolapple.badgeview.BGADragDismissDelegate; + + +/** + * 描述: 渐变Tab + */ +public class ShadeTabViewVertical extends FrameLayout implements BGABadgeable { + + private BGABadgeViewHelper mBadgeViewHelper; + /** + * 一般状态下的图标 + */ + private ImageView iv_normalIcon; + + /** + * 选中状态下的图标 + */ + private ImageView iv_selectIcon; + + /** + * 一般状态下底部 TextView + */ + private TextView tv_normalLabel; + + /** + * 选中状态下底部 TextView + */ + private TextView tv_selectLabel; + + /** + * 选中状态下的文字颜色 + */ + private int selectTextColor; + + /** + * 底部文字默认大小(sp) + */ + private final int DEFAULT_TEXT_SIZE = 4; + + /** + * 一般状态下底部文字默认颜色 + */ + private final String DEFAULT_NORMAL_TEXT_COLOR = "#000000"; + + /** + * 选中状态下底部文字默认颜色 + */ + private final String DEFAULT_SELECT_TEXT_COLOR = "#000000"; + + private float alpha; + + public ShadeTabViewVertical(Context context, AttributeSet attrs) { + super(context, attrs); + mBadgeViewHelper = new BGABadgeViewHelper(this, context, attrs, BGABadgeViewHelper.BadgeGravity.RightCenter); + initView(context); + //获取自定义属性值 + TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.ShadeTabViewVertical, 0, 0); + BitmapDrawable normalIcon = (BitmapDrawable) typedArray.getDrawable(R.styleable.ShadeTabViewVertical_normalIcon); + BitmapDrawable selectIcon = (BitmapDrawable) typedArray.getDrawable(R.styleable.ShadeTabViewVertical_selectIcon); + String tab = typedArray.getString(R.styleable.ShadeTabViewVertical_tab); +// float textSize = typedArray.getDimension(R.styleable.ShadeTabView_textSize, +// TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, DEFAULT_TEXT_SIZE, getResources().getDisplayMetrics())); + int normalTextColor = typedArray.getColor(R.styleable.ShadeTabViewVertical_normalTextColor, Color.parseColor(DEFAULT_NORMAL_TEXT_COLOR)); + selectTextColor = typedArray.getColor(R.styleable.ShadeTabViewVertical_selectTextColor, Color.parseColor(DEFAULT_SELECT_TEXT_COLOR)); + //资源回收 + typedArray.recycle(); + //属性设置 + iv_normalIcon.setImageDrawable(normalIcon); + iv_selectIcon.setImageDrawable(selectIcon); + tv_normalLabel.setText(tab); + tv_normalLabel.setTextSize(12); + tv_normalLabel.setTextColor(normalTextColor); + tv_selectLabel.setText(tab); + tv_selectLabel.setTextSize(12); + tv_selectLabel.setTextColor(selectTextColor); + setIconAlpha(1); + } + + private void initView(Context context) { + LayoutInflater.from(context).inflate(R.layout.view_shade_tab_vertical, this); + iv_normalIcon = (ImageView) findViewById(R.id.iv_normal_icon); + iv_selectIcon = (ImageView) findViewById(R.id.iv_select_icon); + tv_normalLabel = (TextView) findViewById(R.id.tv_normal_label); + tv_selectLabel = (TextView) findViewById(R.id.tv_select_label); + } + /** + * 设置上下两层图片的透明度,alpha 值越小,图片的颜色越倾向于带有颜色的图层 + * @param alpha 透明度 + */ + public void setIconAlpha(float alpha) { + // setAlpha(float) 0.0f~1.0f 数值越大越不透明 + iv_selectIcon.setAlpha(1 - alpha); + iv_normalIcon.setAlpha(alpha); + tv_normalLabel.setAlpha(alpha); + tv_selectLabel.setAlpha(1 - alpha); + this.alpha = alpha; + } + + private static final String STATE_INSTANCE = "STATE_INSTANCE"; + + private static final String STATE_ALPHA = "STATE_ALPHA"; + + /** + * 保存状态 + * + * @return Parcelable + */ + @Override + protected Parcelable onSaveInstanceState() { + Bundle bundle = new Bundle(); + bundle.putParcelable(STATE_INSTANCE, super.onSaveInstanceState()); + bundle.putFloat(STATE_ALPHA, alpha); + return bundle; + } + + /** + * 恢复状态 + * + * @param parcelable Parcelable + */ + @Override + protected void onRestoreInstanceState(Parcelable parcelable) { + Bundle bundle = (Bundle) parcelable; + super.onRestoreInstanceState(bundle.getParcelable(STATE_INSTANCE)); + setIconAlpha(bundle.getFloat(STATE_ALPHA)); + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + return mBadgeViewHelper.onTouchEvent(event); + } + + @Override + public boolean callSuperOnTouchEvent(MotionEvent event) { + return super.onTouchEvent(event); + } + + @Override + public void dispatchDraw(Canvas canvas) { + super.dispatchDraw(canvas); + mBadgeViewHelper.drawBadge(canvas); + } + + /** + * 显示圆点徽章 + */ + @Override + public void showCirclePointBadge() { + mBadgeViewHelper.showCirclePointBadge(); + } + + /** + * 显示文字徽章 + * + * @param badgeText + */ + @Override + public void showTextBadge(String badgeText) { + mBadgeViewHelper.showTextBadge(badgeText); + } + + /** + * 隐藏徽章 + */ + @Override + public void hiddenBadge() { + mBadgeViewHelper.hiddenBadge(); + } + + /** + * 显示图像徽章 + * + * @param bitmap + */ + @Override + public void showDrawableBadge(Bitmap bitmap) { + mBadgeViewHelper.showDrawable(bitmap); + } + + /** + * 设置拖动删除徽章的代理 + * + * @param delegate + */ + @Override + public void setDragDismissDelegate(BGADragDismissDelegate delegate) { + mBadgeViewHelper.setDragDismissDelegate(delegate); + } + + /** + * 是否显示徽章 + * + * @return + */ + @Override + public boolean isShowBadge() { + return mBadgeViewHelper.isShowBadge(); + } + + /** + * 是否可拖动 + * + * @return + */ + @Override + public boolean isDraggable() { + return mBadgeViewHelper.isDraggable(); + } + + /** + * 是否正在拖动 + * + * @return + */ + @Override + public boolean isDragging() { + return mBadgeViewHelper.isDragging(); + } + + /** + * 获取到徽章对象 + * @return + */ + @Override + public BGABadgeViewHelper getBadgeViewHelper() { + return mBadgeViewHelper; + } +} diff --git a/src/weapon/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/src/weapon/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/src/weapon/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/weapon/app/src/main/res/drawable/bg_gray_border.xml b/src/weapon/app/src/main/res/drawable/bg_gray_border.xml new file mode 100644 index 0000000..1c29b9e --- /dev/null +++ b/src/weapon/app/src/main/res/drawable/bg_gray_border.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/src/weapon/app/src/main/res/drawable/ic_launcher_background.xml b/src/weapon/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/src/weapon/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/weapon/app/src/main/res/layout/activity_login.xml b/src/weapon/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..1b98e5d --- /dev/null +++ b/src/weapon/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +