From 6e9b97e42e1f025d925b2ae32b38e256ad7eaac7 Mon Sep 17 00:00:00 2001 From: fengjignqi <15192412330@163.com> Date: Thu, 17 Sep 2026 08:59:24 +0800 Subject: [PATCH] first commit --- .gitignore | 16 + .idea/.gitignore | 3 + .idea/AndroidProjectSystem.xml | 6 + .idea/compiler.xml | 6 + .idea/deploymentTargetSelector.xml | 11 + .idea/deviceManager.xml | 13 + .idea/gradle.xml | 19 + .idea/migrations.xml | 10 + .idea/misc.xml | 9 + .idea/runConfigurations.xml | 17 + .idea/vcs.xml | 6 + app/.gitignore | 1 + app/build.gradle | 69 ++++ app/proguard-rules.pro | 21 + .../juhabi/birds/ExampleInstrumentedTest.kt | 24 ++ app/src/main/AndroidManifest.xml | 65 +++ .../main/java/com/juhabi/birds/AppConfig.kt | 11 + .../java/com/juhabi/birds/MyApplication.kt | 92 +++++ .../com/juhabi/birds/base/BaseActivity.kt | 383 ++++++++++++++++++ .../birds/base/BaseActivityNoPresenter.kt | 47 +++ .../com/juhabi/birds/base/BaseFragment.kt | 379 +++++++++++++++++ .../birds/base/BaseFragmentNoPresenter.kt | 19 + .../com/juhabi/birds/base/BasePresenter.kt | 18 + .../java/com/juhabi/birds/base/IPresenter.kt | 8 + .../main/java/com/juhabi/birds/base/IView.kt | 11 + .../birds/component/picker/DateTimePicker.kt | 147 +++++++ .../ConstraintLayoutDemoActivity.kt | 29 ++ .../demo/recycler/RecyclerViewDemoActivity.kt | 59 +++ .../recycler/adapter/RecyclerDemoAdapter.java | 43 ++ .../demo/recycler/model/RecyclerDemoItem.kt | 9 + .../com/juhabi/birds/dialog/LoadingDialog.kt | 41 ++ .../com/juhabi/birds/login/LoginActivity.kt | 71 ++++ .../com/juhabi/birds/login/model/LoginUser.kt | 18 + .../juhabi/birds/login/mvp/LoginContract.kt | 26 ++ .../com/juhabi/birds/login/mvp/LoginImpl.kt | 57 +++ .../juhabi/birds/login/mvp/LoginPresenter.kt | 59 +++ .../com/juhabi/birds/main/MainActivity.kt | 138 +++++++ .../birds/main/adapter/MainPagerAdapter.kt | 18 + .../birds/main/fragment/HistoryFragment.kt | 28 ++ .../birds/main/fragment/HomeFragment.kt | 25 ++ .../birds/main/fragment/MineFragment.kt | 30 ++ .../birds/main/fragment/PlanFragment.kt | 28 ++ .../fragment/history/mvp/HistoryContract.kt | 9 + .../main/fragment/history/mvp/HistoryImpl.kt | 3 + .../fragment/history/mvp/HistoryPresenter.kt | 7 + .../main/fragment/home/mvp/HomeContract.kt | 9 + .../birds/main/fragment/home/mvp/HomeImpl.kt | 3 + .../main/fragment/home/mvp/HomePresenter.kt | 7 + .../fragment/mine/mvp/MineFragmentContract.kt | 9 + .../fragment/mine/mvp/MineFragmentImpl.kt | 3 + .../mine/mvp/MineFragmentPresenter.kt | 7 + .../main/fragment/plan/mvp/PlanContract.kt | 9 + .../birds/main/fragment/plan/mvp/PlanImpl.kt | 3 + .../main/fragment/plan/mvp/PlanPresenter.kt | 7 + .../juhabi/birds/main/model/AppVersionInfo.kt | 13 + .../com/juhabi/birds/main/mvp/MainContract.kt | 19 + .../com/juhabi/birds/main/mvp/MainImpl.kt | 27 ++ .../juhabi/birds/main/mvp/MainPresenter.kt | 21 + .../juhabi/birds/mine/MineCenterActivity.kt | 245 +++++++++++ .../juhabi/birds/mine/model/MineUserInfo.kt | 24 ++ .../com/juhabi/birds/mine/mvp/MineContract.kt | 26 ++ .../com/juhabi/birds/mine/mvp/MineImpl.kt | 106 +++++ .../juhabi/birds/mine/mvp/MinePresenter.kt | 53 +++ .../com/juhabi/birds/network/ApiClient.kt | 20 + .../com/juhabi/birds/network/ApiResult.kt | 14 + .../com/juhabi/birds/network/ApiService.kt | 27 ++ .../java/com/juhabi/birds/network/BaseBean.kt | 25 ++ .../com/juhabi/birds/network/NetworkConfig.kt | 18 + .../juhabi/birds/network/NetworkManager.kt | 82 ++++ .../com/juhabi/birds/network/TokenManager.kt | 25 ++ .../com/juhabi/birds/user/model/UserEntity.kt | 15 + .../juhabi/birds/util/LubanCompressUtil.kt | 65 +++ .../birds/util/SharedPreferencesUtil.kt | 112 +++++ .../java/com/juhabi/birds/util/ToastUtil.kt | 43 ++ .../com/juhabi/birds/util/click/ClickUtil.kt | 20 + .../juhabi/birds/util/data/IDCardValidate.kt | 81 ++++ .../birds/util/data/PhonePatternUtil.kt | 13 + .../juhabi/birds/util/file/PreviewFileUtil.kt | 67 +++ .../birds/util/manager/ActivityManager.kt | 60 +++ .../birds/util/manager/UserInfoManager.kt | 85 ++++ .../juhabi/birds/utils/AppUpdateManager.kt | 250 ++++++++++++ .../main/res/color/bottom_nav_item_color.xml | 5 + .../res/drawable/bg_constraint_avatar.xml | 4 + .../res/drawable/bg_constraint_progress.xml | 9 + .../main/res/drawable/bg_constraint_tag.xml | 5 + app/src/main/res/drawable/dialog_input_bg.xml | 5 + .../res/drawable/dialog_round_efefef_bg.xml | 4 + .../res/drawable/ic_launcher_background.xml | 170 ++++++++ .../res/drawable/ic_launcher_foreground.xml | 30 ++ app/src/main/res/drawable/ic_nav_history.xml | 3 + app/src/main/res/drawable/ic_nav_home.xml | 3 + app/src/main/res/drawable/ic_nav_mine.xml | 3 + app/src/main/res/drawable/ic_nav_plan.xml | 3 + app/src/main/res/drawable/img_back_black.png | Bin 0 -> 1719 bytes app/src/main/res/drawable/img_top.png | Bin 0 -> 472421 bytes .../main/res/drawable/loading_dialog_bg.xml | 4 + .../drawable/permission_dialog_cancel_bg.xml | 4 + .../drawable/permission_dialog_confirm_bg.xml | 4 + .../main/res/drawable/recycler_item_bg.xml | 6 + .../activity_constraint_layout_demo.xml | 357 ++++++++++++++++ app/src/main/res/layout/activity_login.xml | 88 ++++ app/src/main/res/layout/activity_main.xml | 51 +++ .../main/res/layout/activity_mine_center.xml | 196 +++++++++ .../layout/activity_recycler_view_demo.xml | 8 + app/src/main/res/layout/dialog_input_text.xml | 60 +++ app/src/main/res/layout/dialog_loading.xml | 29 ++ app/src/main/res/layout/fragment_history.xml | 20 + app/src/main/res/layout/fragment_home.xml | 21 + app/src/main/res/layout/fragment_mine.xml | 34 ++ app/src/main/res/layout/fragment_plan.xml | 31 ++ .../include_activity_back_whitebg_layout.xml | 62 +++ .../layout/include_title_history_layout.xml | 26 ++ .../res/layout/include_title_home_layout.xml | 26 ++ .../res/layout/include_title_mine_layout.xml | 26 ++ .../res/layout/include_title_plan_layout.xml | 26 ++ .../main/res/layout/item_recycler_demo.xml | 41 ++ .../res/layout/permission_confirm_dialog.xml | 56 +++ .../main/res/layout/permission_top_dialog.xml | 36 ++ .../main/res/menu/bottom_navigation_menu.xml | 19 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes app/src/main/res/values-night/themes.xml | 16 + app/src/main/res/values/colors.xml | 144 +++++++ app/src/main/res/values/strings.xml | 38 ++ app/src/main/res/values/styles.xml | 14 + app/src/main/res/values/themes.xml | 16 + app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + app/src/main/res/xml/file_paths.xml | 6 + .../java/com/juhabi/birds/ExampleUnitTest.kt | 17 + build.gradle | 5 + chengkong.jks | Bin 0 -> 2702 bytes gradle.properties | 16 + gradle/libs.versions.toml | 52 +++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 45457 bytes gradle/wrapper/gradle-wrapper.properties | 9 + gradlew | 251 ++++++++++++ gradlew.bat | 94 +++++ settings.gradle | 29 ++ 149 files changed, 5948 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/AndroidProjectSystem.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/deploymentTargetSelector.xml create mode 100644 .idea/deviceManager.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/migrations.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 .idea/vcs.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/juhabi/birds/ExampleInstrumentedTest.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/juhabi/birds/AppConfig.kt create mode 100644 app/src/main/java/com/juhabi/birds/MyApplication.kt create mode 100644 app/src/main/java/com/juhabi/birds/base/BaseActivity.kt create mode 100644 app/src/main/java/com/juhabi/birds/base/BaseActivityNoPresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/base/BaseFragment.kt create mode 100644 app/src/main/java/com/juhabi/birds/base/BaseFragmentNoPresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/base/BasePresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/base/IPresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/base/IView.kt create mode 100644 app/src/main/java/com/juhabi/birds/component/picker/DateTimePicker.kt create mode 100644 app/src/main/java/com/juhabi/birds/demo/constraint/ConstraintLayoutDemoActivity.kt create mode 100644 app/src/main/java/com/juhabi/birds/demo/recycler/RecyclerViewDemoActivity.kt create mode 100644 app/src/main/java/com/juhabi/birds/demo/recycler/adapter/RecyclerDemoAdapter.java create mode 100644 app/src/main/java/com/juhabi/birds/demo/recycler/model/RecyclerDemoItem.kt create mode 100644 app/src/main/java/com/juhabi/birds/dialog/LoadingDialog.kt create mode 100644 app/src/main/java/com/juhabi/birds/login/LoginActivity.kt create mode 100644 app/src/main/java/com/juhabi/birds/login/model/LoginUser.kt create mode 100644 app/src/main/java/com/juhabi/birds/login/mvp/LoginContract.kt create mode 100644 app/src/main/java/com/juhabi/birds/login/mvp/LoginImpl.kt create mode 100644 app/src/main/java/com/juhabi/birds/login/mvp/LoginPresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/MainActivity.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/adapter/MainPagerAdapter.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/HistoryFragment.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/HomeFragment.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/MineFragment.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/PlanFragment.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryContract.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryImpl.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryPresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomeContract.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomeImpl.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomePresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentContract.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentImpl.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentPresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanContract.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanImpl.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanPresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/model/AppVersionInfo.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/mvp/MainContract.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/mvp/MainImpl.kt create mode 100644 app/src/main/java/com/juhabi/birds/main/mvp/MainPresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/mine/MineCenterActivity.kt create mode 100644 app/src/main/java/com/juhabi/birds/mine/model/MineUserInfo.kt create mode 100644 app/src/main/java/com/juhabi/birds/mine/mvp/MineContract.kt create mode 100644 app/src/main/java/com/juhabi/birds/mine/mvp/MineImpl.kt create mode 100644 app/src/main/java/com/juhabi/birds/mine/mvp/MinePresenter.kt create mode 100644 app/src/main/java/com/juhabi/birds/network/ApiClient.kt create mode 100644 app/src/main/java/com/juhabi/birds/network/ApiResult.kt create mode 100644 app/src/main/java/com/juhabi/birds/network/ApiService.kt create mode 100644 app/src/main/java/com/juhabi/birds/network/BaseBean.kt create mode 100644 app/src/main/java/com/juhabi/birds/network/NetworkConfig.kt create mode 100644 app/src/main/java/com/juhabi/birds/network/NetworkManager.kt create mode 100644 app/src/main/java/com/juhabi/birds/network/TokenManager.kt create mode 100644 app/src/main/java/com/juhabi/birds/user/model/UserEntity.kt create mode 100644 app/src/main/java/com/juhabi/birds/util/LubanCompressUtil.kt create mode 100644 app/src/main/java/com/juhabi/birds/util/SharedPreferencesUtil.kt create mode 100644 app/src/main/java/com/juhabi/birds/util/ToastUtil.kt create mode 100644 app/src/main/java/com/juhabi/birds/util/click/ClickUtil.kt create mode 100644 app/src/main/java/com/juhabi/birds/util/data/IDCardValidate.kt create mode 100644 app/src/main/java/com/juhabi/birds/util/data/PhonePatternUtil.kt create mode 100644 app/src/main/java/com/juhabi/birds/util/file/PreviewFileUtil.kt create mode 100644 app/src/main/java/com/juhabi/birds/util/manager/ActivityManager.kt create mode 100644 app/src/main/java/com/juhabi/birds/util/manager/UserInfoManager.kt create mode 100644 app/src/main/java/com/juhabi/birds/utils/AppUpdateManager.kt create mode 100644 app/src/main/res/color/bottom_nav_item_color.xml create mode 100644 app/src/main/res/drawable/bg_constraint_avatar.xml create mode 100644 app/src/main/res/drawable/bg_constraint_progress.xml create mode 100644 app/src/main/res/drawable/bg_constraint_tag.xml create mode 100644 app/src/main/res/drawable/dialog_input_bg.xml create mode 100644 app/src/main/res/drawable/dialog_round_efefef_bg.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_nav_history.xml create mode 100644 app/src/main/res/drawable/ic_nav_home.xml create mode 100644 app/src/main/res/drawable/ic_nav_mine.xml create mode 100644 app/src/main/res/drawable/ic_nav_plan.xml create mode 100644 app/src/main/res/drawable/img_back_black.png create mode 100644 app/src/main/res/drawable/img_top.png create mode 100644 app/src/main/res/drawable/loading_dialog_bg.xml create mode 100644 app/src/main/res/drawable/permission_dialog_cancel_bg.xml create mode 100644 app/src/main/res/drawable/permission_dialog_confirm_bg.xml create mode 100644 app/src/main/res/drawable/recycler_item_bg.xml create mode 100644 app/src/main/res/layout/activity_constraint_layout_demo.xml create mode 100644 app/src/main/res/layout/activity_login.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_mine_center.xml create mode 100644 app/src/main/res/layout/activity_recycler_view_demo.xml create mode 100644 app/src/main/res/layout/dialog_input_text.xml create mode 100644 app/src/main/res/layout/dialog_loading.xml create mode 100644 app/src/main/res/layout/fragment_history.xml create mode 100644 app/src/main/res/layout/fragment_home.xml create mode 100644 app/src/main/res/layout/fragment_mine.xml create mode 100644 app/src/main/res/layout/fragment_plan.xml create mode 100644 app/src/main/res/layout/include_activity_back_whitebg_layout.xml create mode 100644 app/src/main/res/layout/include_title_history_layout.xml create mode 100644 app/src/main/res/layout/include_title_home_layout.xml create mode 100644 app/src/main/res/layout/include_title_mine_layout.xml create mode 100644 app/src/main/res/layout/include_title_plan_layout.xml create mode 100644 app/src/main/res/layout/item_recycler_demo.xml create mode 100644 app/src/main/res/layout/permission_confirm_dialog.xml create mode 100644 app/src/main/res/layout/permission_top_dialog.xml create mode 100644 app/src/main/res/menu/bottom_navigation_menu.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 app/src/main/res/xml/file_paths.xml create mode 100644 app/src/test/java/com/juhabi/birds/ExampleUnitTest.kt create mode 100644 build.gradle create mode 100644 chengkong.jks create mode 100644 gradle.properties create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..23732d0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +*.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 +.kotlin diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml new file mode 100644 index 0000000..4a53bee --- /dev/null +++ b/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..ca16a99 --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,11 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/deviceManager.xml b/.idea/deviceManager.xml new file mode 100644 index 0000000..91f9558 --- /dev/null +++ b/.idea/deviceManager.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..639c779 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b2c751a --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..56d28c8 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,69 @@ +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.compose.compiler) +} + +android { + namespace 'com.juhabi.birds' + compileSdk { + version = release(36) { + minorApiLevel = 1 + } + } + + defaultConfig { + applicationId "com.juhabi.birds" + minSdk 24 + targetSdk 36 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 + } + buildFeatures { + viewBinding true + compose true + } +} + +dependencies { + implementation platform(libs.androidx.compose.bom) + androidTestImplementation platform(libs.androidx.compose.bom) + implementation libs.androidx.compose.ui + implementation libs.androidx.compose.ui.graphics + implementation libs.androidx.compose.ui.tooling.preview + implementation libs.androidx.compose.material3 + implementation libs.androidx.activity.compose + debugImplementation libs.androidx.compose.ui.tooling + implementation libs.androidx.appcompat + implementation libs.androidx.core.ktx + implementation libs.material + implementation libs.androidx.constraintlayout + implementation libs.androidx.viewpager2 + implementation libs.retrofit.core + implementation libs.retrofit.converter.gson + implementation libs.okhttp + implementation libs.okhttp.logging + implementation libs.gson + implementation libs.luban + implementation libs.android.picker.view + implementation libs.androidx.recyclerview + implementation libs.base.recyclerview.adapter.helper + implementation libs.immersion.bar + testImplementation libs.junit + androidTestImplementation libs.androidx.espresso.core + androidTestImplementation libs.androidx.junit + //屏幕适配 + implementation 'me.jessyan:autosize:1.1.2' +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/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/app/src/androidTest/java/com/juhabi/birds/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/juhabi/birds/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..4f4727f --- /dev/null +++ b/app/src/androidTest/java/com/juhabi/birds/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.juhabi.birds + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.juhabi.birds", appContext.packageName) + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..3235e95 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/juhabi/birds/AppConfig.kt b/app/src/main/java/com/juhabi/birds/AppConfig.kt new file mode 100644 index 0000000..9190d04 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/AppConfig.kt @@ -0,0 +1,11 @@ +package com.juhabi.birds + +object AppConfig { + const val BASE_URL = "http://47.97.217.123:8081/" + const val APP_CLIENT_ID = "428a8310cd442757ae699df5d894f051" + const val APP_USER_TYPE = "app_user" + const val CONTENT_LANGUAGE = "zh_CN" + + @Volatile + var userToken: String = "" +} diff --git a/app/src/main/java/com/juhabi/birds/MyApplication.kt b/app/src/main/java/com/juhabi/birds/MyApplication.kt new file mode 100644 index 0000000..2d2625f --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/MyApplication.kt @@ -0,0 +1,92 @@ +package com.juhabi.birds + +import android.app.Activity +import android.app.ActivityManager +import android.app.Application +import android.content.Context +import android.os.Build +import android.os.Bundle +import com.juhabi.birds.util.manager.UserInfoManager +import me.jessyan.autosize.AutoSize +import me.jessyan.autosize.AutoSizeConfig + +class MyApplication : Application(), Application.ActivityLifecycleCallbacks { + + override fun onCreate() { + super.onCreate() + + // 初始化 AutoSize + AutoSize.initCompatMultiProcess(this) // 处理多进程:cite[1] + + // 可选:进行高级配置 + AutoSizeConfig.getInstance() + .setLog(false) // 设置是否打印日志,默认 true + .setBaseOnWidth(true) // 默认 true,表示以宽度为基准适配。false 则以高度为基准:cite[2] + .setUseDeviceSize(false) // 是否使用设备的实际尺寸做适配,默认为 false:cite[1] + .setExcludeFontScale(false) // 是否屏蔽系统字体大小对 AndroidAutoSize 的影响, 默认为 false:cite[1] + + instance = this + + if (!isMainProcess()) return + + registerActivityLifecycleCallbacks(this) + initialize() + } + + /** Add application-wide, privacy-safe SDK initialization here. */ + private fun initialize() { + UserInfoManager.initialize(this) + // NetworkManager is created lazily by ApiClient, so it needs no eager initialization. + } + + override fun onActivityResumed(activity: Activity) { + currentActivity = activity + } + + override fun onActivityPaused(activity: Activity) { + if (currentActivity === activity) { + currentActivity = null + } + } + + override fun onActivityDestroyed(activity: Activity) { + if (currentActivity === activity) { + currentActivity = null + } + } + + override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) { + } + + override fun onActivityStarted(activity: Activity) { + } + + override fun onActivityStopped(activity: Activity) { + } + + override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) { + } + + private fun isMainProcess(): Boolean { + val processName = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + getProcessName() + } else { + val activityManager = getSystemService(ACTIVITY_SERVICE) as ActivityManager + activityManager.runningAppProcesses + ?.firstOrNull { it.pid == android.os.Process.myPid() } + ?.processName + } + return processName == applicationInfo.processName + } + + companion object { + lateinit var instance: MyApplication + private set + + val appContext: Context + get() = instance.applicationContext + + var currentActivity: Activity? = null + private set + } +} diff --git a/app/src/main/java/com/juhabi/birds/base/BaseActivity.kt b/app/src/main/java/com/juhabi/birds/base/BaseActivity.kt new file mode 100644 index 0000000..a57ee98 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/base/BaseActivity.kt @@ -0,0 +1,383 @@ +package com.juhabi.birds.base + +import android.app.Activity +import android.content.Intent +import android.content.pm.PackageManager +import android.graphics.drawable.ColorDrawable +import android.graphics.drawable.Drawable +import android.net.Uri +import android.os.Bundle +import android.provider.Settings +import android.view.Gravity +import android.view.LayoutInflater +import android.view.WindowManager +import android.widget.EditText +import android.widget.ImageView +import android.widget.TextView +import android.widget.Toast +import androidx.activity.result.contract.ActivityResultContracts +import androidx.activity.result.ActivityResultLauncher +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.app.AlertDialog +import androidx.core.content.ContextCompat +import androidx.viewbinding.ViewBinding +import com.juhabi.birds.R +import com.juhabi.birds.dialog.LoadingDialog +import com.gyf.immersionbar.ImmersionBar + +/** + * Activity 基类:统一管理 ViewBinding、Presenter 生命周期、弹窗和动态权限。 + */ +abstract class BaseActivity> : + AppCompatActivity(), IView { + + protected val mContext: BaseActivity + get() = this + + private var _binding: VB? = null + protected val binding: VB + get() = requireNotNull(_binding) { "Binding is unavailable outside the Activity lifecycle" } + + protected var presenter: P? = null + private set + private var loadingDialog: LoadingDialog? = null + private var permissionDialog: AlertDialog? = null + private val permissionLauncher = registerForActivityResult( + ActivityResultContracts.RequestMultiplePermissions() + ) { result -> + hidePermissionDialog() + val denied = result.filterValues { !it }.keys.toTypedArray() + if (denied.isEmpty()) { + onPermissionsGranted(result.keys.toTypedArray()) + } else { + val permanentlyDenied = denied.all { !shouldShowRequestPermissionRationale(it) } + onPermissionsDenied(denied, permanentlyDenied) + } + } + + /** 创建当前页面的 ViewBinding。 */ + protected abstract fun createBinding(inflater: LayoutInflater): VB + /** 创建 Presenter;不需要 Presenter 时可以返回 null。 */ + protected abstract fun createPresenter(): P? + /** ViewBinding 初始化完成后,在这里设置控件状态和监听事件。 */ + protected abstract fun initView(savedInstanceState: Bundle?) + /** 初始化页面数据,子类可按需重写。 */ + protected open fun initData(savedInstanceState: Bundle?) { + } + + /** 创建页面并依次完成绑定、Presenter、视图和数据初始化。 */ + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + _binding = createBinding(layoutInflater) + setContentView(binding.root) + initWindows() + presenter = createPresenter().also { it?.attachBaseView(this) } + initView(savedInstanceState) + initData(savedInstanceState) + } + + /** 初始化系统标题栏、状态栏和导航栏,子页面可以按需重写。 */ + protected open fun initWindows() { + supportActionBar?.hide() + ImmersionBar.with(this) + .fitsSystemWindows(true) + .statusBarColor(R.color.color_zhu) + .statusBarDarkFont(true) + .navigationBarColor(R.color.color_zhu) + .navigationBarDarkIcon(true) + .init() + } + + @Suppress("UNCHECKED_CAST") + private fun P.attachBaseView(view: IView) { + (this as IPresenter).attachView(view) + } + + /** 实现 IView,显示默认加载弹窗。 */ + override fun showLoading() { + showLoadingDialog() + } + + /** 实现 IView,隐藏默认加载弹窗。 */ + override fun hideLoading() { + hideLoadingDialog() + } + + /** 显示加载弹窗;按返回键取消时关闭当前 Activity。 */ + fun showLoadingDialog(message: String = "加载中...") { + if (isFinishing || isDestroyed || loadingDialog?.isShowing == true) return + val dialog = LoadingDialog(this, message).apply { + setCanceledOnTouchOutside(false) + setCancelable(true) + setOnCancelListener { finish() } + } + try { + dialog.show() + loadingDialog = dialog + } catch (_: Exception) { + dialog.dismiss() + } + } + + /** 关闭并释放加载弹窗。 */ + fun hideLoadingDialog() { + loadingDialog?.dismiss() + loadingDialog = null + } + + /** 使用 Toast 显示短消息。 */ + override fun showMessage(message: String) { + Toast.makeText(this, message, Toast.LENGTH_SHORT).show() + } + + /** 跳转到指定 Activity,可携带 Bundle 参数。 */ + protected fun goTo(to: Class, data: Bundle? = null) { + startActivity(createActivityIntent(to, data)) + } + + /** 兼容 Water 项目命名,跳转到不继承当前 BaseActivity 的普通 Activity。 */ + protected fun goToWihoutNoBase(to: Class, data: Bundle? = null) { + goTo(to, data) + } + + /** 兼容 Water 项目命名,跳转到不使用 Presenter 的 Activity。 */ + protected fun goToWihoutNoPresent(to: Class, data: Bundle? = null) { + goTo(to, data) + } + + /** 跳转到目标页面并关闭当前 Activity。 */ + protected fun goToAndFinish(to: Class, data: Bundle? = null) { + goTo(to, data) + finish() + } + + /** 清空现有任务栈并以目标 Activity 作为新的根页面。 */ + protected fun goToClearTask(to: Class, data: Bundle? = null) { + val intent = createActivityIntent(to, data).apply { + flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK + } + startActivity(intent) + } + + /** 使用 Activity Result API 跳转,并由传入的 Launcher 接收返回结果。 */ + protected fun goToForResult( + to: Class, + launcher: ActivityResultLauncher, + data: Bundle? = null + ) { + launcher.launch(createActivityIntent(to, data)) + } + + /** 创建统一的 Activity 跳转 Intent,并按需写入 Bundle 参数。 */ + private fun createActivityIntent(to: Class, data: Bundle?): Intent { + return Intent(this, to).apply { + data?.let(::putExtras) + } + } + + /** 检查单个权限是否已授权。 */ + fun hasRecordPermission(permission: String): Boolean { + return hasRecordPermission(arrayOf(permission)) + } + + /** 检查一组权限是否已全部授权。 */ + fun hasRecordPermission(permissions: Array): Boolean { + return permissions.all { ContextCompat.checkSelfPermission(this, it) == PackageManager.PERMISSION_GRANTED } + } + + /** 显示说明弹窗并申请单个权限。 */ + fun getSinglePermissionRequst(permission: String, title: String, content: String, requestCode: Int) { + getMorePermissionRequst(arrayOf(permission), title, content, requestCode) + } + + /** 显示说明弹窗并一次申请多个权限。 */ + fun getMorePermissionRequst(permissions: Array, title: String, content: String, requestCode: Int) { + if (hasRecordPermission(permissions)) { + onPermissionsGranted(permissions) + return + } + showPermissionConfirmDialog( + title, + content, + onCancel = { onPermissionsDenied(permissions, false) }, + onAllow = { + showPermissionDialog(title, content) + permissionLauncher.launch(permissions) + } + ) + } + + /** 使用默认说明文案申请一个或多个权限。 */ + protected open fun requestPermission(vararg permissions: String) { + getMorePermissionRequst(permissions.toList().toTypedArray(), "需要权限", "请允许应用使用相关权限", 0) + } + + /** 权限被拒绝后的兼容回调,子类可重写。 */ + protected open fun noAllowPermission() { + } + /** 权限全部通过后的回调,默认继续执行下一步。 */ + protected open fun onPermissionsGranted(permissions: Array) { + nextStep() + } + /** 权限被拒绝后的回调,永久拒绝时默认引导用户进入设置页。 */ + protected open fun onPermissionsDenied(permissions: Array, permanentlyDenied: Boolean) { + noAllowPermission() + if (permanentlyDenied && !isFinishing) { + AlertDialog.Builder(this).setTitle("权限被拒绝") + .setMessage("请在应用设置中开启所需权限") + .setNegativeButton("取消", null) + .setPositiveButton("去设置") { _, _ -> openAppPermissionSettings() } + .show() + } + } + /** 权限通过后需要继续执行的业务步骤。 */ + protected open fun nextStep() { + } + + /** 普通确认弹窗和输入弹窗共用的点击回调。 */ + interface OnDialogClick { + /** 点击取消按钮。 */ + fun onCancelClick() { + } + /** 点击普通弹窗的确定按钮。 */ + fun onConfirmClick() { + } + /** 点击输入弹窗的确定按钮,并返回输入内容。 */ + fun onConfirmClick(content: String) { + } + } + + /** 显示带取消和确定按钮的普通弹窗。 */ + fun showDialogtext( + title: String, + content: String, + okText: String = "确定", + cancelText: String = "取消", + click: OnDialogClick? = null, + touchOutsideCancel: Boolean = true + ) { + val view = layoutInflater.inflate(R.layout.permission_confirm_dialog, null) + view.findViewById(R.id.permissionTitle).text = title + view.findViewById(R.id.permissionContent).text = content + val dialog = AlertDialog.Builder(this).setView(view).create() + view.findViewById(R.id.permissionCancel).apply { + text = cancelText + setOnClickListener { + dialog.dismiss() + click?.onCancelClick() + } + } + view.findViewById(R.id.permissionAllow).apply { + text = okText + setOnClickListener { + dialog.dismiss() + click?.onConfirmClick() + } + } + dialog.setCanceledOnTouchOutside(touchOutsideCancel) + dialog.setOnShowListener { dialog.window?.setBackgroundDrawable(ColorDrawable(android.graphics.Color.TRANSPARENT)) } + dialog.show() + } + + /** 显示带输入框的弹窗,输入为空时保留弹窗并提示。 */ + fun showEditDialog( + title: String, + hint: String, + content: String = "", + touchOutsideCancel: Boolean = true, + cancelText: String = "取消", + confirmText: String = "确定", + click: OnDialogClick? = null + ) { + val view = layoutInflater.inflate(R.layout.dialog_input_text, null) + view.findViewById(R.id.dialogTitle).text = title + val input = view.findViewById(R.id.dialogInput).apply { + this.hint = hint + setText(content) + requestFocus() + } + val dialog = AlertDialog.Builder(this).setView(view).create() + view.findViewById(R.id.dialogCancel).apply { + text = cancelText + setOnClickListener { + dialog.dismiss() + click?.onCancelClick() + } + } + view.findViewById(R.id.dialogConfirm).apply { + text = confirmText + setOnClickListener { + val value = input.text.toString().trim() + if (value.isEmpty()) { + input.error = hint + return@setOnClickListener + } + dialog.dismiss() + click?.onConfirmClick(value) + } + } + dialog.setCanceledOnTouchOutside(touchOutsideCancel) + dialog.setOnShowListener { dialog.window?.setBackgroundDrawable(ColorDrawable(android.graphics.Color.TRANSPARENT)) } + dialog.show() + } + + /** 在屏幕顶部显示权限用途提示弹窗。 */ + fun showPermissionDialog(title: String, content: String) { + permissionDialog?.dismiss() + val view = layoutInflater.inflate(R.layout.permission_top_dialog, null) + view.findViewById(R.id.permissionTopTitle).text = title + view.findViewById(R.id.permissionTopContent).text = content + permissionDialog = AlertDialog.Builder(this).setView(view).create().also { dialog -> + dialog.setCanceledOnTouchOutside(false) + dialog.show() + dialog.window?.apply { + setBackgroundDrawable(ColorDrawable(android.graphics.Color.TRANSPARENT)) + setGravity(Gravity.TOP) + setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT) + } + } + } + + /** 在顶部显示可配置图标的权限用途提示弹窗。 */ + fun showPermissionDialog(icon: Drawable?, showIcon: Boolean, title: String, content: String) { + showPermissionDialog(title, content) + permissionDialog?.findViewById(R.id.permissionIcon)?.apply { + visibility = if (showIcon) android.view.View.VISIBLE else android.view.View.GONE + if (icon != null) setImageDrawable(icon) + } + } + + /** 在系统权限申请框弹出前,显示自定义权限说明弹窗。 */ + private fun showPermissionConfirmDialog(title: String, content: String, onCancel: () -> Unit, onAllow: () -> Unit) { + val view = layoutInflater.inflate(R.layout.permission_confirm_dialog, null) + view.findViewById(R.id.permissionTitle).text = title + view.findViewById(R.id.permissionContent).text = content + val dialog = AlertDialog.Builder(this).setView(view).create() + view.findViewById(R.id.permissionCancel).setOnClickListener { dialog.dismiss(); onCancel() } + view.findViewById(R.id.permissionAllow).setOnClickListener { dialog.dismiss(); onAllow() } + dialog.setOnShowListener { dialog.window?.setBackgroundDrawable(ColorDrawable(android.graphics.Color.TRANSPARENT)) } + dialog.show() + } + + /** 关闭并释放顶部权限提示弹窗。 */ + fun hidePermissionDialog() { + permissionDialog?.dismiss() + permissionDialog = null + } + + /** 打开当前应用的系统设置详情页。 */ + protected fun openAppPermissionSettings() { + startActivity(Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:$packageName"))) + } + + + /** 页面销毁时释放 Presenter、弹窗和 ViewBinding。 */ + override fun onDestroy() { + presenter?.onDestroy() + presenter = null + hideLoading() + hidePermissionDialog() + _binding = null + super.onDestroy() + } +} diff --git a/app/src/main/java/com/juhabi/birds/base/BaseActivityNoPresenter.kt b/app/src/main/java/com/juhabi/birds/base/BaseActivityNoPresenter.kt new file mode 100644 index 0000000..f82038d --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/base/BaseActivityNoPresenter.kt @@ -0,0 +1,47 @@ +package com.juhabi.birds.base + +import android.os.Bundle +import android.view.LayoutInflater +import androidx.appcompat.app.AppCompatActivity +import androidx.viewbinding.ViewBinding +import com.juhabi.birds.R +import com.gyf.immersionbar.ImmersionBar + +abstract class BaseActivityNoPresenter : AppCompatActivity() { + protected val mContext: BaseActivityNoPresenter + get() = this + + private var _binding: VB? = null + protected val binding: VB get() = requireNotNull(_binding) + + protected abstract fun createBinding(inflater: LayoutInflater): VB + protected abstract fun initView(savedInstanceState: Bundle?) + protected open fun initData(savedInstanceState: Bundle?) { + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + _binding = createBinding(layoutInflater) + setContentView(binding.root) + initWindows() + initView(savedInstanceState) + initData(savedInstanceState) + } + + /** 初始化系统标题栏、状态栏和导航栏,子页面可以按需重写。 */ + protected open fun initWindows() { + supportActionBar?.hide() + ImmersionBar.with(this) + .fitsSystemWindows(true) + .statusBarColor(R.color.color_white) + .statusBarDarkFont(true) + .navigationBarColor(R.color.color_white) + .navigationBarDarkIcon(true) + .init() + } + + override fun onDestroy() { + _binding = null + super.onDestroy() + } +} diff --git a/app/src/main/java/com/juhabi/birds/base/BaseFragment.kt b/app/src/main/java/com/juhabi/birds/base/BaseFragment.kt new file mode 100644 index 0000000..9f96bf1 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/base/BaseFragment.kt @@ -0,0 +1,379 @@ +package com.juhabi.birds.base + +import android.app.Activity +import android.content.Intent +import android.content.pm.PackageManager +import android.graphics.drawable.ColorDrawable +import android.graphics.drawable.Drawable +import android.net.Uri +import android.os.Bundle +import android.provider.Settings +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.view.WindowManager +import android.widget.EditText +import android.widget.ImageView +import android.widget.TextView +import android.widget.Toast +import androidx.activity.result.contract.ActivityResultContracts +import androidx.activity.result.ActivityResultLauncher +import androidx.appcompat.app.AlertDialog +import androidx.core.content.ContextCompat +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentActivity +import androidx.viewbinding.ViewBinding +import com.juhabi.birds.R +import com.juhabi.birds.dialog.LoadingDialog + +/** + * Fragment 基类:统一管理 ViewBinding、Presenter 生命周期、弹窗和动态权限。 + */ +abstract class BaseFragment> : Fragment(), IView { + protected val mContext: FragmentActivity + get() = requireActivity() + + private var _binding: VB? = null + protected val binding: VB + get() = requireNotNull(_binding) { "Binding is unavailable outside the Fragment view lifecycle" } + + protected var presenter: P? = null + private set + private var loadingDialog: LoadingDialog? = null + private var permissionDialog: AlertDialog? = null + private val permissionLauncher = registerForActivityResult( + ActivityResultContracts.RequestMultiplePermissions() + ) { result -> + hidePermissionDialog() + val denied = result.filterValues { !it }.keys.toTypedArray() + if (denied.isEmpty()) { + onPermissionsGranted(result.keys.toTypedArray()) + } else { + val permanentlyDenied = denied.all { !shouldShowRequestPermissionRationale(it) } + onPermissionsDenied(denied, permanentlyDenied) + } + } + + /** 创建当前页面的 ViewBinding。 */ + protected abstract fun createBinding(inflater: LayoutInflater, container: ViewGroup?): VB + /** 创建 Presenter;不需要 Presenter 时可以返回 null。 */ + protected abstract fun createPresenter(): P? + /** Fragment View 创建完成后,在这里设置控件状态和监听事件。 */ + protected abstract fun initView(savedInstanceState: Bundle?) + /** 初始化页面数据,子类可按需重写。 */ + protected open fun initData(savedInstanceState: Bundle?) { + } + + /** 创建 Fragment 视图并初始化 ViewBinding。 */ + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, state: Bundle?): View { + _binding = createBinding(inflater, container) + return binding.root + } + + /** View 创建完成后依次初始化 Presenter、控件和页面数据。 */ + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + initWindows() + presenter = createPresenter().also { it?.attachBaseView(this) } + initView(savedInstanceState) + initData(savedInstanceState) + } + + /** Fragment 显示时配置宿主 Activity 的状态栏和导航栏,子页面可以按需重写。 */ + protected open fun initWindows() { + } + + @Suppress("UNCHECKED_CAST") + private fun P.attachBaseView(view: IView) { + (this as IPresenter).attachView(view) + } + + /** 实现 IView,显示默认加载弹窗。 */ + override fun showLoading() { + showLoadingDialog() + } + + /** 实现 IView,隐藏默认加载弹窗。 */ + override fun hideLoading() { + hideLoadingDialog() + } + + /** 在 Fragment 已附加时显示加载弹窗。 */ + fun showLoadingDialog(message: String = "加载中...") { + val currentContext = context ?: return + if (!isAdded || loadingDialog?.isShowing == true) return + val dialog = LoadingDialog(currentContext, message).apply { + setCanceledOnTouchOutside(false) + setCancelable(true) + } + try { + dialog.show() + loadingDialog = dialog + } catch (_: Exception) { + dialog.dismiss() + } + } + + /** 关闭并释放加载弹窗。 */ + fun hideLoadingDialog() { + loadingDialog?.dismiss() + loadingDialog = null + } + + /** 使用 Toast 显示短消息。 */ + override fun showMessage(message: String) { + context?.let { Toast.makeText(it, message, Toast.LENGTH_SHORT).show() } + } + + /** 使用普通消息样式显示错误信息。 */ + override fun showError(message: String) { + showMessage(message) + } + + /** 从当前 Fragment 跳转到指定 Activity,可携带 Bundle 参数。 */ + protected fun goTo(to: Class, data: Bundle? = null) { + startActivity(createActivityIntent(to, data)) + } + + /** 兼容 Water 项目命名,跳转到不继承当前 BaseActivity 的普通 Activity。 */ + protected fun goToWihoutNoBase(to: Class, data: Bundle? = null) { + goTo(to, data) + } + + /** 兼容 Water 项目命名,跳转到不使用 Presenter 的 Activity。 */ + protected fun goToWihoutNoPresent(to: Class, data: Bundle? = null) { + goTo(to, data) + } + + /** 跳转到目标页面并关闭 Fragment 所在的 Activity。 */ + protected fun goToAndFinish(to: Class, data: Bundle? = null) { + goTo(to, data) + requireActivity().finish() + } + + /** 清空现有任务栈并以目标 Activity 作为新的根页面。 */ + protected fun goToClearTask(to: Class, data: Bundle? = null) { + val intent = createActivityIntent(to, data).apply { + flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK + } + startActivity(intent) + } + + /** 使用 Activity Result API 跳转,并由传入的 Launcher 接收返回结果。 */ + protected fun goToForResult( + to: Class, + launcher: ActivityResultLauncher, + data: Bundle? = null + ) { + launcher.launch(createActivityIntent(to, data)) + } + + /** 创建统一的 Activity 跳转 Intent,并按需写入 Bundle 参数。 */ + private fun createActivityIntent(to: Class, data: Bundle?): Intent { + return Intent(requireContext(), to).apply { + data?.let(::putExtras) + } + } + + /** 检查单个权限是否已授权。 */ + fun hasRecordPermission(permission: String): Boolean { + return hasRecordPermission(arrayOf(permission)) + } + /** 检查一组权限是否已全部授权。 */ + fun hasRecordPermission(permissions: Array): Boolean { + return permissions.all { + ContextCompat.checkSelfPermission(requireContext(), it) == PackageManager.PERMISSION_GRANTED + } + } + + /** 显示说明弹窗并申请单个权限。 */ + fun getSinglePermissionRequst(permission: String, title: String, content: String, requestCode: Int) { + getMorePermissionRequst(arrayOf(permission), title, content, requestCode) + } + + /** 显示说明弹窗并一次申请多个权限。 */ + fun getMorePermissionRequst(permissions: Array, title: String, content: String, requestCode: Int) { + if (hasRecordPermission(permissions)) { + onPermissionsGranted(permissions) + return + } + showPermissionConfirmDialog( + title, + content, + onCancel = { onPermissionsDenied(permissions, false) }, + onAllow = { + showPermissionDialog(title, content) + permissionLauncher.launch(permissions) + } + ) + } + + /** 使用默认说明文案申请一个或多个权限。 */ + protected open fun requestPermission(vararg permissions: String) { + getMorePermissionRequst(permissions.toList().toTypedArray(), "需要权限", "请允许应用使用相关权限", 0) + } + + /** 权限被拒绝后的兼容回调,子类可重写。 */ + protected open fun noAllowPermission() { + } + /** 权限全部通过后的回调,默认继续执行下一步。 */ + protected open fun onPermissionsGranted(permissions: Array) { + nextStep() + } + /** 权限被拒绝后的回调,永久拒绝时默认引导用户进入设置页。 */ + protected open fun onPermissionsDenied(permissions: Array, permanentlyDenied: Boolean) { + noAllowPermission() + if (permanentlyDenied && isAdded) { + AlertDialog.Builder(requireContext()).setTitle("权限被拒绝") + .setMessage("请在应用设置中开启所需权限") + .setNegativeButton("取消", null) + .setPositiveButton("去设置") { _, _ -> openAppPermissionSettings() } + .show() + } + } + /** 权限通过后需要继续执行的业务步骤。 */ + protected open fun nextStep() { + } + + /** 普通确认弹窗和输入弹窗共用的点击回调。 */ + interface OnDialogClick { + /** 点击取消按钮。 */ + fun onCancelClick() { + } + /** 点击普通弹窗的确定按钮。 */ + fun onConfirmClick() { + } + /** 点击输入弹窗的确定按钮,并返回输入内容。 */ + fun onConfirmClick(content: String) { + } + } + + /** 显示带取消和确定按钮的普通弹窗。 */ + fun showDialogtext( + title: String, + content: String, + okText: String = "确定", + cancelText: String = "取消", + click: OnDialogClick? = null, + touchOutsideCancel: Boolean = true + ) { + val view = layoutInflater.inflate(R.layout.permission_confirm_dialog, null) + view.findViewById(R.id.permissionTitle).text = title + view.findViewById(R.id.permissionContent).text = content + val dialog = AlertDialog.Builder(requireContext()).setView(view).create() + view.findViewById(R.id.permissionCancel).apply { + text = cancelText + setOnClickListener { + dialog.dismiss() + click?.onCancelClick() + } + } + view.findViewById(R.id.permissionAllow).apply { + text = okText + setOnClickListener { + dialog.dismiss() + click?.onConfirmClick() + } + } + dialog.setCanceledOnTouchOutside(touchOutsideCancel) + dialog.setOnShowListener { dialog.window?.setBackgroundDrawable(ColorDrawable(android.graphics.Color.TRANSPARENT)) } + dialog.show() + } + + /** 显示带输入框的弹窗,输入为空时保留弹窗并提示。 */ + fun showEditDialog( + title: String, + hint: String, + content: String = "", + touchOutsideCancel: Boolean = true, + cancelText: String = "取消", + confirmText: String = "确定", + click: OnDialogClick? = null + ) { + val view = layoutInflater.inflate(R.layout.dialog_input_text, null) + view.findViewById(R.id.dialogTitle).text = title + val input = view.findViewById(R.id.dialogInput).apply { + this.hint = hint + setText(content) + requestFocus() + } + val dialog = AlertDialog.Builder(requireContext()).setView(view).create() + view.findViewById(R.id.dialogCancel).apply { + text = cancelText + setOnClickListener { + dialog.dismiss() + click?.onCancelClick() + } + } + view.findViewById(R.id.dialogConfirm).apply { + text = confirmText + setOnClickListener { + val value = input.text.toString().trim() + if (value.isEmpty()) { + input.error = hint + return@setOnClickListener + } + dialog.dismiss() + click?.onConfirmClick(value) + } + } + dialog.setCanceledOnTouchOutside(touchOutsideCancel) + dialog.setOnShowListener { dialog.window?.setBackgroundDrawable(ColorDrawable(android.graphics.Color.TRANSPARENT)) } + dialog.show() + } + + /** 在屏幕顶部显示权限用途提示弹窗。 */ + fun showPermissionDialog(title: String, content: String) { + permissionDialog?.dismiss() + val view = layoutInflater.inflate(R.layout.permission_top_dialog, null) + view.findViewById(R.id.permissionTopTitle).text = title + view.findViewById(R.id.permissionTopContent).text = content + permissionDialog = AlertDialog.Builder(requireContext()).setView(view).create().also { + it.setCanceledOnTouchOutside(false) + it.show() + it.window?.apply { + setBackgroundDrawable(ColorDrawable(android.graphics.Color.TRANSPARENT)) + setGravity(android.view.Gravity.TOP) + setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT) + } + } + } + /** 在顶部显示可配置图标的权限用途提示弹窗。 */ + fun showPermissionDialog(icon: Drawable?, showIcon: Boolean, title: String, content: String) { + showPermissionDialog(title, content) + permissionDialog?.findViewById(R.id.permissionIcon)?.apply { + visibility = if (showIcon) View.VISIBLE else View.GONE + if (icon != null) setImageDrawable(icon) + } + } + /** 在系统权限申请框弹出前,显示自定义权限说明弹窗。 */ + private fun showPermissionConfirmDialog(title: String, content: String, onCancel: () -> Unit, onAllow: () -> Unit) { + val view = layoutInflater.inflate(R.layout.permission_confirm_dialog, null) + view.findViewById(R.id.permissionTitle).text = title + view.findViewById(R.id.permissionContent).text = content + val dialog = AlertDialog.Builder(requireContext()).setView(view).create() + view.findViewById(R.id.permissionCancel).setOnClickListener { dialog.dismiss(); onCancel() } + view.findViewById(R.id.permissionAllow).setOnClickListener { dialog.dismiss(); onAllow() } + dialog.setOnShowListener { dialog.window?.setBackgroundDrawable(ColorDrawable(android.graphics.Color.TRANSPARENT)) } + dialog.show() + } + /** 关闭并释放顶部权限提示弹窗。 */ + fun hidePermissionDialog() { + permissionDialog?.dismiss() + permissionDialog = null + } + /** 打开当前应用的系统设置详情页。 */ + protected fun openAppPermissionSettings() { + startActivity(Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:${requireContext().packageName}"))) + } + + /** Fragment View 销毁时释放 Presenter、弹窗和 ViewBinding。 */ + override fun onDestroyView() { + presenter?.onDestroy() + presenter = null + hideLoading() + hidePermissionDialog() + _binding = null + super.onDestroyView() + } +} diff --git a/app/src/main/java/com/juhabi/birds/base/BaseFragmentNoPresenter.kt b/app/src/main/java/com/juhabi/birds/base/BaseFragmentNoPresenter.kt new file mode 100644 index 0000000..8706926 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/base/BaseFragmentNoPresenter.kt @@ -0,0 +1,19 @@ +package com.juhabi.birds.base + +import androidx.viewbinding.ViewBinding + +/** + * 不需要 Presenter 的 Fragment 基类。 + * 子类仍可复用 BaseFragment 提供的 ViewBinding、加载弹窗、权限和页面跳转能力。 + */ +abstract class BaseFragmentNoPresenter : + BaseFragment>() { + + final override fun createPresenter(): BasePresenter? { + return null + } + + override fun showError(message: String) { + showMessage(message) + } +} diff --git a/app/src/main/java/com/juhabi/birds/base/BasePresenter.kt b/app/src/main/java/com/juhabi/birds/base/BasePresenter.kt new file mode 100644 index 0000000..cd31bd6 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/base/BasePresenter.kt @@ -0,0 +1,18 @@ +package com.juhabi.birds.base + +abstract class BasePresenter : IPresenter { + final override var view: V? = null + private set + + final override fun attachView(view: V) { + this.view = view + onStart() + } + + override fun onStart() { + } + + override fun onDestroy() { + view = null + } +} diff --git a/app/src/main/java/com/juhabi/birds/base/IPresenter.kt b/app/src/main/java/com/juhabi/birds/base/IPresenter.kt new file mode 100644 index 0000000..fc41472 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/base/IPresenter.kt @@ -0,0 +1,8 @@ +package com.juhabi.birds.base + +interface IPresenter { + val view: V? + fun attachView(view: V) + fun onStart() + fun onDestroy() +} diff --git a/app/src/main/java/com/juhabi/birds/base/IView.kt b/app/src/main/java/com/juhabi/birds/base/IView.kt new file mode 100644 index 0000000..6d98927 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/base/IView.kt @@ -0,0 +1,11 @@ +package com.juhabi.birds.base + +interface IView { + fun showLoading() + fun hideLoading() + fun showMessage(message: String) + fun showError(message: String) + fun handleError(error: Throwable) { + showError(error.message ?: "Unknown error") + } +} diff --git a/app/src/main/java/com/juhabi/birds/component/picker/DateTimePicker.kt b/app/src/main/java/com/juhabi/birds/component/picker/DateTimePicker.kt new file mode 100644 index 0000000..9346cad --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/component/picker/DateTimePicker.kt @@ -0,0 +1,147 @@ +package com.juhabi.birds.component.picker + +import android.content.Context +import androidx.core.content.ContextCompat +import com.bigkoo.pickerview.builder.TimePickerBuilder +import com.juhabi.birds.R +import java.text.SimpleDateFormat +import java.util.Calendar +import java.util.Date +import java.util.Locale + +/** + * 日期时间选择器统一入口。 + * + * 组件基于 Android-PickerView 封装,支持日期、时间、日期时间三种模式。 + * 页面只需要配置模式和监听器,不需要重复设置控件颜色、单位及格式化规则。 + */ +class DateTimePicker private constructor( + private val context: Context, + private val mode: Mode, + private val selectedTime: Calendar, + private val startTime: Calendar?, + private val endTime: Calendar?, + private val onSelected: (Result) -> Unit +) { + + /** 显示选择器。 */ + fun show() { + val pickerBuilder = TimePickerBuilder(context) { date, _ -> + onSelected( + Result( + date = date, + timestamp = date.time, + formattedText = mode.format(date) + ) + ) + } + .setType(mode.visibleItems) + .setDate(selectedTime) + .setTitleText(mode.title) + .setSubmitText("确定") + .setCancelText("取消") + .setLabel("年", "月", "日", "时", "分", "秒") + .setSubmitColor(ContextCompat.getColor(context, R.color.bottom_nav_selected)) + .setCancelColor(ContextCompat.getColor(context, R.color.bottom_nav_unselected)) + .setTextColorCenter(ContextCompat.getColor(context, R.color.bottom_nav_selected)) + .isCenterLabel(false) + + if (startTime != null && endTime != null) { + pickerBuilder.setRangDate(startTime, endTime) + } + + pickerBuilder.build().show() + } + + /** 选择器展示模式,以及各模式对应的显示列和返回格式。 */ + enum class Mode( + internal val visibleItems: BooleanArray, + internal val pattern: String, + internal val title: String + ) { + DATE( + booleanArrayOf(true, true, true, false, false, false), + "yyyy-MM-dd", + "选择日期" + ), + TIME( + booleanArrayOf(false, false, false, true, true, true), + "HH:mm:ss", + "选择时间" + ), + DATE_TIME( + booleanArrayOf(true, true, true, true, true, true), + "yyyy-MM-dd HH:mm:ss", + "选择日期时间" + ); + + internal fun format(date: Date): String { + return SimpleDateFormat(pattern, Locale.getDefault()).format(date) + } + } + + /** 页面接收到的统一选择结果。 */ + data class Result( + val date: Date, + val timestamp: Long, + val formattedText: String + ) + + /** + * 选择器构建器。 + * + * 默认选中当前时间;只有开始和结束时间都设置时,时间范围才会生效。 + */ + class Builder(private val context: Context) { + private var mode: Mode = Mode.DATE_TIME + private var selectedTime: Calendar = Calendar.getInstance() + private var startTime: Calendar? = null + private var endTime: Calendar? = null + private var onSelected: ((Result) -> Unit)? = null + + fun setMode(mode: Mode): Builder { + return apply { + this.mode = mode + } + } + + fun setSelectedTime(timestamp: Long): Builder { + return apply { + selectedTime = Calendar.getInstance().apply { timeInMillis = timestamp } + } + } + + fun setTimeRange(startTimeInMillis: Long, endTimeInMillis: Long): Builder { + return apply { + require(startTimeInMillis <= endTimeInMillis) { "开始时间不能晚于结束时间" } + startTime = Calendar.getInstance().apply { timeInMillis = startTimeInMillis } + endTime = Calendar.getInstance().apply { timeInMillis = endTimeInMillis } + } + } + + fun setOnSelectedListener(listener: (Result) -> Unit): Builder { + return apply { + onSelected = listener + } + } + + fun build(): DateTimePicker { + val listener = requireNotNull(onSelected) { "必须设置选择结果监听器" } + val effectiveSelectedTime = selectedTime.clone() as Calendar + startTime?.let { start -> + if (effectiveSelectedTime.before(start)) effectiveSelectedTime.timeInMillis = start.timeInMillis + } + endTime?.let { end -> + if (effectiveSelectedTime.after(end)) effectiveSelectedTime.timeInMillis = end.timeInMillis + } + return DateTimePicker( + context = context, + mode = mode, + selectedTime = effectiveSelectedTime, + startTime = startTime, + endTime = endTime, + onSelected = listener + ) + } + } +} diff --git a/app/src/main/java/com/juhabi/birds/demo/constraint/ConstraintLayoutDemoActivity.kt b/app/src/main/java/com/juhabi/birds/demo/constraint/ConstraintLayoutDemoActivity.kt new file mode 100644 index 0000000..3d178be --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/demo/constraint/ConstraintLayoutDemoActivity.kt @@ -0,0 +1,29 @@ +package com.juhabi.birds.demo.constraint + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import com.juhabi.birds.base.BaseActivityNoPresenter +import com.juhabi.birds.databinding.ActivityConstraintLayoutDemoBinding + +/** + * ConstraintLayout 综合示例页。 + * 布局知识点集中写在 activity_constraint_layout_demo.xml 中,方便边看页面边读代码。 + */ +class ConstraintLayoutDemoActivity : BaseActivityNoPresenter() { + + private var detailsVisible = true + + override fun createBinding(inflater: LayoutInflater): ActivityConstraintLayoutDemoBinding { + return ActivityConstraintLayoutDemoBinding.inflate(inflater) + } + + override fun initView(savedInstanceState: Bundle?) { + binding.backButton.setOnClickListener { finish() } + binding.toggleDetailsButton.setOnClickListener { + detailsVisible = !detailsVisible + binding.detailGroup.visibility = if (detailsVisible) View.VISIBLE else View.GONE + binding.toggleDetailsButton.text = if (detailsVisible) "隐藏详情" else "显示详情" + } + } +} diff --git a/app/src/main/java/com/juhabi/birds/demo/recycler/RecyclerViewDemoActivity.kt b/app/src/main/java/com/juhabi/birds/demo/recycler/RecyclerViewDemoActivity.kt new file mode 100644 index 0000000..7d2c753 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/demo/recycler/RecyclerViewDemoActivity.kt @@ -0,0 +1,59 @@ +package com.juhabi.birds.demo.recycler + +import android.os.Bundle +import android.view.LayoutInflater +import androidx.recyclerview.widget.LinearLayoutManager +import com.juhabi.birds.R +import com.juhabi.birds.base.BaseActivityNoPresenter +import com.juhabi.birds.databinding.ActivityRecyclerViewDemoBinding +import com.juhabi.birds.demo.recycler.adapter.RecyclerDemoAdapter +import com.juhabi.birds.demo.recycler.model.RecyclerDemoItem + +/** RecyclerView 与 BaseQuickAdapter 的基础调用示例页。 */ +class RecyclerViewDemoActivity : BaseActivityNoPresenter() { + + override fun createBinding(inflater: LayoutInflater): ActivityRecyclerViewDemoBinding { + return ActivityRecyclerViewDemoBinding.inflate(inflater) + } + + override fun initView(savedInstanceState: Bundle?) { + title = getString(R.string.recycler_demo_title) + + val adapter = RecyclerDemoAdapter(this, R.layout.item_recycler_demo, createDemoData()) + binding.recyclerView.layoutManager = LinearLayoutManager(this) + binding.recyclerView.adapter = adapter + + // 列表点击事件由页面处理,适配器只负责展示数据。 + adapter.setOnItemClickListener { _, _, position -> + showSelectedItem(adapter.data[position]) + } + + adapter.setOnItemChildClickListener { _, view, position -> + val item = adapter.data[position] + val message = when (view.id) { + R.id.titleTextView -> "点击了标题:${item.title}" + R.id.idTextView -> "点击了编号:${item.id}" + R.id.statusTextView -> "点击了状态:${item.status}" + R.id.timeTextView -> "点击了更新时间:${item.updateTime}" + else -> return@setOnItemChildClickListener + } + android.widget.Toast.makeText(this, message, android.widget.Toast.LENGTH_SHORT).show() + } + } + + private fun showSelectedItem(item: RecyclerDemoItem) { + android.widget.Toast.makeText(this, "点击了:${item.title}", android.widget.Toast.LENGTH_SHORT).show() + } + + /** 创建固定演示数据,接入接口后可直接替换为服务端返回的列表。 */ + private fun createDemoData(): List { + return listOf( + RecyclerDemoItem(1001, "设备巡检记录", "已完成", "2026-07-23 09:30:00"), + RecyclerDemoItem(1002, "自动浇水计划", "执行中", "2026-07-23 10:15:20"), + RecyclerDemoItem(1003, "传感器数据同步", "待处理", "2026-07-23 11:08:45"), + RecyclerDemoItem(1004, "系统配置备份", "已完成", "2026-07-22 18:42:10"), + RecyclerDemoItem(1005, "固件升级任务", "失败", "2026-07-22 16:20:35"), + RecyclerDemoItem(1006, "用户操作日志", "已完成", "2026-07-22 14:05:00") + ) + } +} diff --git a/app/src/main/java/com/juhabi/birds/demo/recycler/adapter/RecyclerDemoAdapter.java b/app/src/main/java/com/juhabi/birds/demo/recycler/adapter/RecyclerDemoAdapter.java new file mode 100644 index 0000000..0073ba7 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/demo/recycler/adapter/RecyclerDemoAdapter.java @@ -0,0 +1,43 @@ +package com.juhabi.birds.demo.recycler.adapter; + +import android.content.Context; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.viewholder.BaseViewHolder; +import com.juhabi.birds.R; +import com.juhabi.birds.demo.recycler.model.RecyclerDemoItem; + +import java.util.List; + +/** + * BaseQuickAdapter 使用示例。 + * convert() 只负责把一条数据绑定到对应的 item 控件。 + */ +public class RecyclerDemoAdapter extends BaseQuickAdapter { + private final Context mContext; + + public RecyclerDemoAdapter(Context context, int layoutResId, @Nullable List data) { + super(layoutResId, data); + this.mContext = context; + addChildClickViewIds( + R.id.titleTextView, + R.id.idTextView, + R.id.statusTextView, + R.id.timeTextView + ); + } + + @Override + protected void convert(@NonNull BaseViewHolder holder, RecyclerDemoItem item) { + holder.setText(R.id.titleTextView, item.getTitle()); + holder.setText(R.id.idTextView, mContext.getString(R.string.recycler_item_id, item.getId())); + holder.setText(R.id.statusTextView, mContext.getString(R.string.recycler_item_status, item.getStatus())); + holder.setText( + R.id.timeTextView, + mContext.getString(R.string.recycler_item_update_time, item.getUpdateTime()) + ); + } +} diff --git a/app/src/main/java/com/juhabi/birds/demo/recycler/model/RecyclerDemoItem.kt b/app/src/main/java/com/juhabi/birds/demo/recycler/model/RecyclerDemoItem.kt new file mode 100644 index 0000000..b264785 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/demo/recycler/model/RecyclerDemoItem.kt @@ -0,0 +1,9 @@ +package com.juhabi.birds.demo.recycler.model + +/** RecyclerView 示例页使用的简单数据模型。 */ +data class RecyclerDemoItem( + val id: Long, + val title: String, + val status: String, + val updateTime: String +) diff --git a/app/src/main/java/com/juhabi/birds/dialog/LoadingDialog.kt b/app/src/main/java/com/juhabi/birds/dialog/LoadingDialog.kt new file mode 100644 index 0000000..adb555b --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/dialog/LoadingDialog.kt @@ -0,0 +1,41 @@ +package com.juhabi.birds.dialog + +import android.app.Dialog +import android.content.Context +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.view.Gravity +import android.view.Window +import android.view.WindowManager +import android.widget.TextView +import com.juhabi.birds.R + +class LoadingDialog( + context: Context, + private val message: String = "加载中..." +) : Dialog(context, R.style.LoadingDialogTheme) { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + requestWindowFeature(Window.FEATURE_NO_TITLE) + setContentView(R.layout.dialog_loading) + findViewById(R.id.loadingText).text = message + window?.apply { + // 参考 Water:窗口全屏、内容居中,并为页面增加轻量半透明遮罩。 + setBackgroundDrawable(ColorDrawable(Color.argb(13, 0, 0, 0))) + setGravity(Gravity.CENTER) + setDimAmount(0.2f) + addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) + setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT) + } + } + + override fun show() { + super.show() + window?.apply { + setGravity(Gravity.CENTER) + setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT) + } + } +} diff --git a/app/src/main/java/com/juhabi/birds/login/LoginActivity.kt b/app/src/main/java/com/juhabi/birds/login/LoginActivity.kt new file mode 100644 index 0000000..7cac569 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/login/LoginActivity.kt @@ -0,0 +1,71 @@ +package com.juhabi.birds.login + +import android.os.Bundle +import android.content.Intent +import android.view.LayoutInflater +import com.juhabi.birds.base.BaseActivity +import com.juhabi.birds.databinding.ActivityLoginBinding +import com.juhabi.birds.login.model.LoginUser +import com.juhabi.birds.login.mvp.LoginContract +import com.juhabi.birds.login.mvp.LoginImpl +import com.juhabi.birds.login.mvp.LoginPresenter +import com.juhabi.birds.network.TokenManager +import com.juhabi.birds.mine.MineCenterActivity +import com.juhabi.birds.util.ToastUtil + +class LoginActivity : BaseActivity(), + LoginContract.LoginView { + + override fun createBinding(inflater: LayoutInflater): ActivityLoginBinding { + return ActivityLoginBinding.inflate(inflater) + } + + override fun createPresenter(): LoginPresenter { + return LoginPresenter(LoginImpl()) + } + + override fun initView(savedInstanceState: Bundle?) { +// if (TokenManager.get(this).isNotBlank()) { +// startActivity(Intent(this, MineCenterActivity::class.java)) +// finish() +// return +// } + if(binding.usernameEditText.text.toString().isNotBlank()){ + ToastUtil.showShort(mContext,""); + return + } + binding.loginButton.setOnClickListener { + presenter?.login( + binding.usernameEditText.text?.toString().orEmpty(), + binding.passwordEditText.text?.toString().orEmpty() + ) + } + } + + override fun showUsernameError(message: String) { + binding.usernameLayout.error = message + binding.usernameEditText.requestFocus() + } + + override fun showPasswordError(message: String) { + binding.passwordLayout.error = message + binding.passwordEditText.requestFocus() + } + + override fun clearInputErrors() { + binding.usernameLayout.error = null + binding.passwordLayout.error = null + } + + override fun onLoginSuccess(user: LoginUser) { + TokenManager.save(this, user.accessToken) + binding.resultTextView.text = "登录成功,Token 已保存" + showMessage("登录成功") + startActivity(Intent(this, MineCenterActivity::class.java)) + finish() + } + + override fun showError(message: String) { + ToastUtil.showShort(mContext,message) + } +} diff --git a/app/src/main/java/com/juhabi/birds/login/model/LoginUser.kt b/app/src/main/java/com/juhabi/birds/login/model/LoginUser.kt new file mode 100644 index 0000000..8cf30d5 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/login/model/LoginUser.kt @@ -0,0 +1,18 @@ +package com.juhabi.birds.login.model + +import com.google.gson.annotations.SerializedName + +data class LoginUser( + val scope: Any? = null, + val openid: Any? = null, + @SerializedName("access_token") + val accessToken: String = "", + @SerializedName("refresh_token") + val refreshToken: Any? = null, + @SerializedName("expire_in") + val expireIn: Long = 0, + @SerializedName("refresh_expire_in") + val refreshExpireIn: Any? = null, + @SerializedName("client_id") + val clientId: String = "" +) diff --git a/app/src/main/java/com/juhabi/birds/login/mvp/LoginContract.kt b/app/src/main/java/com/juhabi/birds/login/mvp/LoginContract.kt new file mode 100644 index 0000000..5eb99d7 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/login/mvp/LoginContract.kt @@ -0,0 +1,26 @@ +package com.juhabi.birds.login.mvp + +import com.juhabi.birds.base.IView +import com.juhabi.birds.login.model.LoginUser +import com.juhabi.birds.network.BaseBean +import org.json.JSONObject + +interface LoginContract { + interface Callback { + fun success(data: T) + fun fail(message: String) + } + + interface DataModel { + fun login(json: JSONObject, callback: Callback>) + fun cancel() + } + + interface LoginView : IView { + fun showUsernameError(message: String) + fun showPasswordError(message: String) + fun clearInputErrors() + fun onLoginSuccess(user: LoginUser) + } + +} diff --git a/app/src/main/java/com/juhabi/birds/login/mvp/LoginImpl.kt b/app/src/main/java/com/juhabi/birds/login/mvp/LoginImpl.kt new file mode 100644 index 0000000..d1f29e4 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/login/mvp/LoginImpl.kt @@ -0,0 +1,57 @@ +package com.juhabi.birds.login.mvp + +import android.os.Handler +import android.os.Looper +import com.juhabi.birds.login.model.LoginUser +import com.juhabi.birds.network.ApiClient +import com.juhabi.birds.network.BaseBean +import com.juhabi.birds.network.NetworkManager +import org.json.JSONObject +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response + +class LoginImpl : LoginContract.DataModel { + private val mainHandler = Handler(Looper.getMainLooper()) + private var loginCall: Call>? = null + + override fun login( + json: JSONObject, + callback: LoginContract.Callback> + ) { + loginCall?.cancel() + loginCall = ApiClient.apiService + .login(NetworkManager.getToken(), NetworkManager.toRequestBody(json)) + .also { call -> + call.enqueue(object : Callback> { + override fun onResponse( + call: Call>, + response: Response> + ) { + mainHandler.post { + val bean = response.body() + if (response.isSuccessful && bean != null) { + callback.success(bean) + } else { + callback.fail("接口响应异常:${response.code()}") + } + } + } + + override fun onFailure(call: Call>, error: Throwable) { + if (!call.isCanceled) { + mainHandler.post { + callback.fail(error.message ?: "网络请求失败") + } + } + } + }) + } + } + + override fun cancel() { + loginCall?.cancel() + loginCall = null + mainHandler.removeCallbacksAndMessages(null) + } +} diff --git a/app/src/main/java/com/juhabi/birds/login/mvp/LoginPresenter.kt b/app/src/main/java/com/juhabi/birds/login/mvp/LoginPresenter.kt new file mode 100644 index 0000000..4106ebd --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/login/mvp/LoginPresenter.kt @@ -0,0 +1,59 @@ +package com.juhabi.birds.login.mvp + +import com.juhabi.birds.base.BasePresenter +import com.juhabi.birds.AppConfig +import com.juhabi.birds.login.model.LoginUser +import com.juhabi.birds.network.BaseBean +import org.json.JSONObject + +class LoginPresenter(private val loginImpl: LoginImpl) : BasePresenter() { + + fun login(username: String, password: String) { + val currentView = view ?: return + currentView.clearInputErrors() + + if (username.isBlank()) { + currentView.showUsernameError("请输入账号") + return + } + if (password.isBlank()) { + currentView.showPasswordError("请输入密码") + return + } + + currentView.showLoading() + val json = JSONObject(); + json.put("grantType", "password") + json.put("username", username.trim()) + json.put("password", password) + json.put("clientId", AppConfig.APP_CLIENT_ID) + json.put("userType", AppConfig.APP_USER_TYPE) + loginImpl.login( + json, + object : LoginContract.Callback> { + override fun success(data: BaseBean) { + val attachedView = view ?: return + attachedView.hideLoading() + val user = data.data + if ((data.code == 0 || data.code == 200) && user != null) { + attachedView.onLoginSuccess(user) + } else { + attachedView.showError(data.message.ifBlank { "登录失败" }) + } + } + + override fun fail(message: String) { + view?.apply { + hideLoading() + showError(message) + } + } + } + ) + } + + override fun onDestroy() { + loginImpl.cancel() + super.onDestroy() + } +} diff --git a/app/src/main/java/com/juhabi/birds/main/MainActivity.kt b/app/src/main/java/com/juhabi/birds/main/MainActivity.kt new file mode 100644 index 0000000..a31f7ad --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/MainActivity.kt @@ -0,0 +1,138 @@ +package com.juhabi.birds.main + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import androidx.annotation.ColorRes +import androidx.core.content.ContextCompat +import com.juhabi.birds.R +import com.juhabi.birds.base.BaseActivity +import com.juhabi.birds.databinding.ActivityMainBinding +import com.juhabi.birds.main.adapter.MainPagerAdapter +import com.juhabi.birds.main.fragment.HistoryFragment +import com.juhabi.birds.main.fragment.HomeFragment +import com.juhabi.birds.main.fragment.MineFragment +import com.juhabi.birds.main.fragment.PlanFragment +import com.juhabi.birds.main.model.AppVersionInfo +import com.juhabi.birds.main.mvp.MainContract +import com.juhabi.birds.main.mvp.MainImpl +import com.juhabi.birds.main.mvp.MainPresenter +import com.gyf.immersionbar.ImmersionBar + +class MainActivity : BaseActivity(), + MainContract.MainView { + + override fun createBinding(inflater: LayoutInflater): ActivityMainBinding { + return ActivityMainBinding.inflate(inflater) + } + + override fun createPresenter(): MainPresenter { + return MainPresenter(MainImpl(applicationContext)) + } + + override fun initWindows() { + ImmersionBar.with(this) + .statusBarView(binding.statusBarView) + .statusBarDarkFont(true) + .navigationBarColor(R.color.color_zhu) + .navigationBarDarkIcon(true) + .init() + } + + override fun initView(savedInstanceState: Bundle?) { + binding.viewPager.adapter = MainPagerAdapter( + this, + listOf(HomeFragment(), PlanFragment(), HistoryFragment(), MineFragment()) + ) + binding.viewPager.offscreenPageLimit = 1 + binding.viewPager.registerOnPageChangeCallback(object : androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback() { + override fun onPageSelected(position: Int) { + binding.bottomNavigation.menu.getItem(position).isChecked = true + updateTopBarColor(position) + } + }) + binding.bottomNavigation.setOnItemSelectedListener { item -> + onNavigationItemSelected(item.itemId) + } + binding.bottomNavigation.selectedItemId = R.id.navigation_home + } + + private fun onNavigationItemSelected(itemId: Int): Boolean { + return when (itemId) { + R.id.navigation_home -> onHomeSelected() + R.id.navigation_plan -> onPlanSelected() + R.id.navigation_history -> onHistorySelected() + R.id.navigation_mine -> onMineSelected() + else -> false + } + } + + private fun onHomeSelected(): Boolean { + switchPage(PAGE_HOME) + // Add Home-specific status bar, refresh, or Fragment communication here. + return true + } + + private fun onPlanSelected(): Boolean { + switchPage(PAGE_PLAN) + // Add Plan-specific status bar, refresh, or Fragment communication here. + return true + } + + private fun onHistorySelected(): Boolean { + switchPage(PAGE_HISTORY) + // Add History-specific status bar, refresh, or Fragment communication here. + return true + } + + private fun onMineSelected(): Boolean { + switchPage(PAGE_MINE) + // Add Mine-specific status bar, refresh, or Fragment communication here. + return true + } + + private fun switchPage(position: Int) { + updateTopBarColor(position) + if (binding.viewPager.currentItem != position) { + binding.viewPager.setCurrentItem(position, false) + } + } + + private fun updateTopBarColor(position: Int) { + if (position == PAGE_PLAN) { + binding.immersiveTopImageView.visibility = View.VISIBLE + binding.statusBarView.setBackgroundColor( + ContextCompat.getColor(this, android.R.color.transparent) + ) + return + } + + binding.immersiveTopImageView.visibility = View.GONE + @ColorRes val colorRes = when (position) { + PAGE_HOME -> R.color.color_zhu + PAGE_HISTORY -> R.color.color_E9A01C + PAGE_MINE -> R.color.color_B85CE6 + else -> R.color.color_zhu + } + binding.statusBarView.setBackgroundColor(ContextCompat.getColor(this, colorRes)) + } + + override fun initData(savedInstanceState: Bundle?) { + presenter?.loadAppVersion() + } + + override fun onAppVersionLoaded(versionInfo: AppVersionInfo) { + // The version is available for a future update-check API or dialog. + } + + override fun showError(message: String) { + showMessage(message) + } + + private companion object { + const val PAGE_HOME = 0 + const val PAGE_PLAN = 1 + const val PAGE_HISTORY = 2 + const val PAGE_MINE = 3 + } +} diff --git a/app/src/main/java/com/juhabi/birds/main/adapter/MainPagerAdapter.kt b/app/src/main/java/com/juhabi/birds/main/adapter/MainPagerAdapter.kt new file mode 100644 index 0000000..b5faba1 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/adapter/MainPagerAdapter.kt @@ -0,0 +1,18 @@ +package com.juhabi.birds.main.adapter + +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentActivity +import androidx.viewpager2.adapter.FragmentStateAdapter + +class MainPagerAdapter( + activity: FragmentActivity, + private val fragments: List +) : FragmentStateAdapter(activity) { + override fun getItemCount(): Int { + return fragments.size + } + + override fun createFragment(position: Int): Fragment { + return fragments[position] + } +} diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/HistoryFragment.kt b/app/src/main/java/com/juhabi/birds/main/fragment/HistoryFragment.kt new file mode 100644 index 0000000..0b26a17 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/HistoryFragment.kt @@ -0,0 +1,28 @@ +package com.juhabi.birds.main.fragment + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.ViewGroup +import com.juhabi.birds.base.BaseFragment +import com.juhabi.birds.databinding.FragmentHistoryBinding +import com.juhabi.birds.main.fragment.history.mvp.HistoryContract +import com.juhabi.birds.main.fragment.history.mvp.HistoryImpl +import com.juhabi.birds.main.fragment.history.mvp.HistoryPresenter +import me.jessyan.autosize.internal.CustomAdapt + +class HistoryFragment : BaseFragment(), + HistoryContract.HistoryView{ + override fun createBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentHistoryBinding { + return FragmentHistoryBinding.inflate(inflater, container, false) + } + + override fun createPresenter(): HistoryPresenter { + return HistoryPresenter(HistoryImpl()) + } + + override fun initView(savedInstanceState: Bundle?) { + } + + + +} diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/HomeFragment.kt b/app/src/main/java/com/juhabi/birds/main/fragment/HomeFragment.kt new file mode 100644 index 0000000..2be01ab --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/HomeFragment.kt @@ -0,0 +1,25 @@ +package com.juhabi.birds.main.fragment + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.ViewGroup +import com.juhabi.birds.base.BaseFragment +import com.juhabi.birds.databinding.FragmentHomeBinding +import com.juhabi.birds.main.fragment.home.mvp.HomeContract +import com.juhabi.birds.main.fragment.home.mvp.HomeImpl +import com.juhabi.birds.main.fragment.home.mvp.HomePresenter + +class HomeFragment : BaseFragment(), + HomeContract.HomeView { + + override fun createBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentHomeBinding { + return FragmentHomeBinding.inflate(inflater, container, false) + } + + override fun createPresenter(): HomePresenter { + return HomePresenter(HomeImpl()) + } + + override fun initView(savedInstanceState: Bundle?) { + } +} diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/MineFragment.kt b/app/src/main/java/com/juhabi/birds/main/fragment/MineFragment.kt new file mode 100644 index 0000000..4359d79 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/MineFragment.kt @@ -0,0 +1,30 @@ +package com.juhabi.birds.main.fragment + +import android.content.Intent +import android.os.Bundle +import android.view.LayoutInflater +import android.view.ViewGroup +import com.juhabi.birds.base.BaseFragment +import com.juhabi.birds.databinding.FragmentMineBinding +import com.juhabi.birds.main.fragment.mine.mvp.MineFragmentContract +import com.juhabi.birds.main.fragment.mine.mvp.MineFragmentImpl +import com.juhabi.birds.main.fragment.mine.mvp.MineFragmentPresenter +import com.juhabi.birds.mine.MineCenterActivity + +class MineFragment : BaseFragment(), + MineFragmentContract.MineView { + + override fun createBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentMineBinding { + return FragmentMineBinding.inflate(inflater, container, false) + } + + override fun createPresenter(): MineFragmentPresenter { + return MineFragmentPresenter(MineFragmentImpl()) + } + + override fun initView(savedInstanceState: Bundle?) { + binding.openComponentCenterButton.setOnClickListener { + startActivity(Intent(requireContext(), MineCenterActivity::class.java)) + } + } +} diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/PlanFragment.kt b/app/src/main/java/com/juhabi/birds/main/fragment/PlanFragment.kt new file mode 100644 index 0000000..f3e6bdd --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/PlanFragment.kt @@ -0,0 +1,28 @@ +package com.juhabi.birds.main.fragment + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.ViewGroup +import com.juhabi.birds.base.BaseFragment +import com.juhabi.birds.databinding.FragmentPlanBinding +import com.juhabi.birds.main.fragment.plan.mvp.PlanContract +import com.juhabi.birds.main.fragment.plan.mvp.PlanImpl +import com.juhabi.birds.main.fragment.plan.mvp.PlanPresenter + +class PlanFragment : BaseFragment(), + PlanContract.PlanView { + + override fun createBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentPlanBinding { + return FragmentPlanBinding.inflate(inflater, container, false) + } + + override fun createPresenter(): PlanPresenter { + return PlanPresenter(PlanImpl()) + } + + override fun initView(savedInstanceState: Bundle?) { + binding.planBackButton.setOnClickListener { + requireActivity().onBackPressedDispatcher.onBackPressed() + } + } +} diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryContract.kt b/app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryContract.kt new file mode 100644 index 0000000..02faf3c --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryContract.kt @@ -0,0 +1,9 @@ +package com.juhabi.birds.main.fragment.history.mvp + +import com.juhabi.birds.base.IView + +interface HistoryContract { + interface DataModel + + interface HistoryView : IView +} diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryImpl.kt b/app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryImpl.kt new file mode 100644 index 0000000..b099b74 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryImpl.kt @@ -0,0 +1,3 @@ +package com.juhabi.birds.main.fragment.history.mvp + +class HistoryImpl : HistoryContract.DataModel diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryPresenter.kt b/app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryPresenter.kt new file mode 100644 index 0000000..7526d38 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/history/mvp/HistoryPresenter.kt @@ -0,0 +1,7 @@ +package com.juhabi.birds.main.fragment.history.mvp + +import com.juhabi.birds.base.BasePresenter + +class HistoryPresenter( + private val model: HistoryContract.DataModel +) : BasePresenter() diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomeContract.kt b/app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomeContract.kt new file mode 100644 index 0000000..b8333ba --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomeContract.kt @@ -0,0 +1,9 @@ +package com.juhabi.birds.main.fragment.home.mvp + +import com.juhabi.birds.base.IView + +interface HomeContract { + interface DataModel + + interface HomeView : IView +} diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomeImpl.kt b/app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomeImpl.kt new file mode 100644 index 0000000..3c71916 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomeImpl.kt @@ -0,0 +1,3 @@ +package com.juhabi.birds.main.fragment.home.mvp + +class HomeImpl : HomeContract.DataModel diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomePresenter.kt b/app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomePresenter.kt new file mode 100644 index 0000000..97f4193 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/home/mvp/HomePresenter.kt @@ -0,0 +1,7 @@ +package com.juhabi.birds.main.fragment.home.mvp + +import com.juhabi.birds.base.BasePresenter + +class HomePresenter( + private val model: HomeContract.DataModel +) : BasePresenter() diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentContract.kt b/app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentContract.kt new file mode 100644 index 0000000..346862c --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentContract.kt @@ -0,0 +1,9 @@ +package com.juhabi.birds.main.fragment.mine.mvp + +import com.juhabi.birds.base.IView + +interface MineFragmentContract { + interface DataModel + + interface MineView : IView +} diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentImpl.kt b/app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentImpl.kt new file mode 100644 index 0000000..0de0694 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentImpl.kt @@ -0,0 +1,3 @@ +package com.juhabi.birds.main.fragment.mine.mvp + +class MineFragmentImpl : MineFragmentContract.DataModel diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentPresenter.kt b/app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentPresenter.kt new file mode 100644 index 0000000..1ab4e9b --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/mine/mvp/MineFragmentPresenter.kt @@ -0,0 +1,7 @@ +package com.juhabi.birds.main.fragment.mine.mvp + +import com.juhabi.birds.base.BasePresenter + +class MineFragmentPresenter( + private val model: MineFragmentContract.DataModel +) : BasePresenter() diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanContract.kt b/app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanContract.kt new file mode 100644 index 0000000..303eee3 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanContract.kt @@ -0,0 +1,9 @@ +package com.juhabi.birds.main.fragment.plan.mvp + +import com.juhabi.birds.base.IView + +interface PlanContract { + interface DataModel + + interface PlanView : IView +} diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanImpl.kt b/app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanImpl.kt new file mode 100644 index 0000000..fa285ec --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanImpl.kt @@ -0,0 +1,3 @@ +package com.juhabi.birds.main.fragment.plan.mvp + +class PlanImpl : PlanContract.DataModel diff --git a/app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanPresenter.kt b/app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanPresenter.kt new file mode 100644 index 0000000..ac733b3 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/fragment/plan/mvp/PlanPresenter.kt @@ -0,0 +1,7 @@ +package com.juhabi.birds.main.fragment.plan.mvp + +import com.juhabi.birds.base.BasePresenter + +class PlanPresenter( + private val model: PlanContract.DataModel +) : BasePresenter() diff --git a/app/src/main/java/com/juhabi/birds/main/model/AppVersionInfo.kt b/app/src/main/java/com/juhabi/birds/main/model/AppVersionInfo.kt new file mode 100644 index 0000000..35a08ea --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/model/AppVersionInfo.kt @@ -0,0 +1,13 @@ +package com.juhabi.birds.main.model + +data class AppVersionInfo( + val versionName: String, + var platform: String = "", + var currentVersion: String = "", + var latestVersion: String = "", + var versionCode: Int = 0, + var updateAvailable: Boolean = false, + var forceUpdate: Boolean = false, + var downloadUrl: String = "", + var releaseNotes: String = "" +) diff --git a/app/src/main/java/com/juhabi/birds/main/mvp/MainContract.kt b/app/src/main/java/com/juhabi/birds/main/mvp/MainContract.kt new file mode 100644 index 0000000..f503203 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/mvp/MainContract.kt @@ -0,0 +1,19 @@ +package com.juhabi.birds.main.mvp + +import com.juhabi.birds.base.IView +import com.juhabi.birds.main.model.AppVersionInfo + +interface MainContract { + interface DataModel { + fun getAppVersion(callback: Callback) + } + + interface Callback { + fun onSuccess(data: T) + fun onFailure(message: String) + } + + interface MainView : IView { + fun onAppVersionLoaded(versionInfo: AppVersionInfo) + } +} diff --git a/app/src/main/java/com/juhabi/birds/main/mvp/MainImpl.kt b/app/src/main/java/com/juhabi/birds/main/mvp/MainImpl.kt new file mode 100644 index 0000000..249f401 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/mvp/MainImpl.kt @@ -0,0 +1,27 @@ +package com.juhabi.birds.main.mvp + +import android.content.Context +import android.os.Build +import com.juhabi.birds.main.model.AppVersionInfo + +class MainImpl(context: Context) : MainContract.DataModel { + private val appContext = context.applicationContext + + override fun getAppVersion(callback: MainContract.Callback) { +// runCatching { +// val packageInfo = appContext.packageManager.getPackageInfo(appContext.packageName, 0) +// AppVersionInfo( +// versionName = packageInfo.versionName.orEmpty(), +// versionCode = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { +// packageInfo.longVersionCode +// } else { +// @Suppress("DEPRECATION") +// packageInfo.versionCode.toLong() +// } +// ) +// }.onSuccess(callback::onSuccess) +// .onFailure { error -> +// callback.onFailure(error.message ?: "Unable to read app version") +// } + } +} diff --git a/app/src/main/java/com/juhabi/birds/main/mvp/MainPresenter.kt b/app/src/main/java/com/juhabi/birds/main/mvp/MainPresenter.kt new file mode 100644 index 0000000..cd9a629 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/main/mvp/MainPresenter.kt @@ -0,0 +1,21 @@ +package com.juhabi.birds.main.mvp + +import com.juhabi.birds.base.BasePresenter +import com.juhabi.birds.main.model.AppVersionInfo + +class MainPresenter( + private val model: MainContract.DataModel +) : BasePresenter() { + + fun loadAppVersion() { + model.getAppVersion(object : MainContract.Callback { + override fun onSuccess(data: AppVersionInfo) { + view?.onAppVersionLoaded(data) + } + + override fun onFailure(message: String) { + view?.showError(message) + } + }) + } +} diff --git a/app/src/main/java/com/juhabi/birds/mine/MineCenterActivity.kt b/app/src/main/java/com/juhabi/birds/mine/MineCenterActivity.kt new file mode 100644 index 0000000..97a65a2 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/mine/MineCenterActivity.kt @@ -0,0 +1,245 @@ +package com.juhabi.birds.mine + +import android.Manifest +import android.content.Intent +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import androidx.compose.foundation.layout.Column +import androidx.compose.material3.Button +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import com.juhabi.birds.R +import com.juhabi.birds.base.BaseActivity +import com.juhabi.birds.component.picker.DateTimePicker +import com.juhabi.birds.databinding.ActivityMineCenterBinding +import com.juhabi.birds.demo.constraint.ConstraintLayoutDemoActivity +import com.juhabi.birds.demo.recycler.RecyclerViewDemoActivity +import com.juhabi.birds.login.LoginActivity +import com.juhabi.birds.mine.model.MineUserInfo +import com.juhabi.birds.mine.mvp.MineContract +import com.juhabi.birds.mine.mvp.MineImpl +import com.juhabi.birds.mine.mvp.MinePresenter +import com.juhabi.birds.main.model.AppVersionInfo +import com.juhabi.birds.network.TokenManager +import com.juhabi.birds.utils.AppUpdateManager +import com.gyf.immersionbar.ImmersionBar +import java.util.Calendar + +class MineCenterActivity : BaseActivity(), + MineContract.MineView, View.OnClickListener { + + private val appUpdateManager by lazy { + AppUpdateManager(this, ::showMessage) + } + + override fun createBinding(inflater: LayoutInflater): ActivityMineCenterBinding { + return ActivityMineCenterBinding.inflate(inflater) + } + + override fun createPresenter(): MinePresenter { + return MinePresenter(MineImpl()) + } + + override fun initView(savedInstanceState: Bundle?) { + TokenManager.get(this) + listOf( + binding.reloadButton, + binding.checkVersionButton, + binding.openLoginButton, + binding.multiplePermissionButton, + binding.locationPermissionButton, + binding.normalDialogButton, + binding.inputDialogButton, + binding.datePickerButton, + binding.timePickerButton, + binding.dateTimePickerButton, + binding.recyclerViewDemoButton, + binding.constraintLayoutDemoButton + ).forEach { button -> + button.setOnClickListener(this) + } + } + + override fun initWindows() { + ImmersionBar.with(this) + .statusBarView(binding.statusBarView) + .statusBarDarkFont(true) + .navigationBarColor(R.color.color_zhu) + .navigationBarDarkIcon(true) + .init() + } + + override fun onClick(view: View) { + when (view.id) { + R.id.reloadButton -> { + presenter?.getUserInfo() + } + R.id.checkVersionButton -> checkVersion() + + R.id.openLoginButton -> { + goTo(LoginActivity::class.java, null); + } + + R.id.multiplePermissionButton -> { + getMorePermissionRequst( + arrayOf( + Manifest.permission.CAMERA, + Manifest.permission.RECORD_AUDIO + ), + "相机和麦克风权限", + "拍照和录音功能需要使用相机及麦克风权限", + REQUEST_CAMERA_AND_AUDIO + ) + } + + R.id.locationPermissionButton -> { + getSinglePermissionRequst( + Manifest.permission.ACCESS_FINE_LOCATION, + "定位权限", + "定位功能需要获取您的位置信息", + REQUEST_LOCATION + ) + } + + R.id.normalDialogButton -> { + showDialogtext( + "操作确认", + "确定要执行这项操作吗?", + "确定", + "取消", + object : OnDialogClick { + override fun onCancelClick() { + showMessage("已取消") + } + + override fun onConfirmClick() { + showMessage("已点击确定") + } + } + ) + } + + R.id.inputDialogButton -> { + showEditDialog( + "请输入内容", + "请输入测试内容", + click = object : OnDialogClick { + override fun onCancelClick() { + showMessage("已取消输入") + } + override fun onConfirmClick(content: String) { + showMessage("输入内容:$content") + } + } + ) + } + + R.id.datePickerButton -> showDateTimePicker(DateTimePicker.Mode.DATE) + + R.id.timePickerButton -> showDateTimePicker(DateTimePicker.Mode.TIME) + + R.id.dateTimePickerButton -> showDateTimePicker(DateTimePicker.Mode.DATE_TIME) + + R.id.recyclerViewDemoButton -> { + startActivity(Intent(this, RecyclerViewDemoActivity::class.java)) + } + + R.id.constraintLayoutDemoButton -> { + startActivity(Intent(this, ConstraintLayoutDemoActivity::class.java)) + } + } + } + + + + private fun checkVersion() { + val currentVersion = packageManager + .getPackageInfo(packageName, 0) + .versionName + .orEmpty() + presenter?.checkVersion(currentVersion) + } + + override fun onVersionChecked(versionInfo: AppVersionInfo) { + val currentVersion = packageManager.getPackageInfo(packageName, 0).versionName.orEmpty() + appUpdateManager.checkAndUpdate(currentVersion, versionInfo) + } + + override fun onRequestPermissionsResult( + requestCode: Int, + permissions: Array, + grantResults: IntArray + ) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults) + appUpdateManager.onRequestPermissionsResult(requestCode, grantResults) + } + + /** + * 日期、时间和日期时间共用同一个组件调用入口。 + * 后续页面需要限制可选范围时,可以继续调用 setTimeRange()。 + */ + private fun showDateTimePicker(mode: DateTimePicker.Mode) { + DateTimePicker.Builder(this) + .setMode(mode) + .setSelectedTime(selectedDateTime) + .setOnSelectedListener { result -> + selectedDateTime = result.timestamp + binding.dateTimeResultTextView.text = result.formattedText + showMessage("已选择:${result.formattedText}") + } + .build() + .show() + } + + override fun initData(savedInstanceState: Bundle?) { + presenter?.getUserInfo() + } + + override fun getUserInfoSuccess(userInfo: MineUserInfo) { + val user = userInfo.user ?: return showError("个人信息为空") + binding.nicknameTextView.text = user.nickName.ifBlank { "未设置昵称" } + binding.phoneTextView.text = "手机号:${user.phonenumber.ifBlank { "未绑定" }}" + binding.emailTextView.text = "邮箱:${user.email.ifBlank { "未绑定" }}" + binding.userIdTextView.text = "用户 ID:${user.userId}" + binding.userTypeTextView.text = "用户类型:${user.userType}" + binding.loginDateTextView.text = "最近登录:${user.loginDate.ifBlank { "暂无" }}" + } + + override fun showError(message: String) { + showMessage(message) + } + + override fun onPermissionsGranted(permissions: Array) { + showMessage("权限获取成功:${permissions.joinToString { it.substringAfterLast('.') }}") + } + + override fun onPermissionsDenied(permissions: Array, permanentlyDenied: Boolean) { + showMessage("权限被拒绝:${permissions.joinToString { it.substringAfterLast('.') }}") + super.onPermissionsDenied(permissions, permanentlyDenied) + } + + companion object { + private const val REQUEST_CAMERA_AND_AUDIO = 1001 + private const val REQUEST_LOCATION = 1002 + } + + /** 保存最近一次选择结果,再次打开选择器时用于回显。 */ + private var selectedDateTime: Long = Calendar.getInstance().timeInMillis + +} +//@Preview(showBackground = true, name = "Test") +//@Composable +//fun UserInfo() { +// Column { +// Text("张三") +// Text("手机号:13800138000") +// +// Button( +// onClick = {} +// ) { +// Text("修改") +// } +// } +//} \ No newline at end of file diff --git a/app/src/main/java/com/juhabi/birds/mine/model/MineUserInfo.kt b/app/src/main/java/com/juhabi/birds/mine/model/MineUserInfo.kt new file mode 100644 index 0000000..20c6acf --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/mine/model/MineUserInfo.kt @@ -0,0 +1,24 @@ +package com.juhabi.birds.mine.model + +data class MineUserInfo( + val user: User? = null, + val permissions: List = emptyList(), + val roles: List = emptyList(), + val url: String? = null +) { + data class User( + val userId: String = "", + val tenantId: String = "", + val userName: String? = null, + val nickName: String = "", + val userType: String = "", + val email: String = "", + val phonenumber: String = "", + val sex: String = "", + val avatar: String? = null, + val status: String = "", + val loginIp: String = "", + val loginDate: String = "", + val createTime: String = "" + ) +} diff --git a/app/src/main/java/com/juhabi/birds/mine/mvp/MineContract.kt b/app/src/main/java/com/juhabi/birds/mine/mvp/MineContract.kt new file mode 100644 index 0000000..802b874 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/mine/mvp/MineContract.kt @@ -0,0 +1,26 @@ +package com.juhabi.birds.mine.mvp + +import com.juhabi.birds.base.IView +import com.juhabi.birds.main.model.AppVersionInfo +import com.juhabi.birds.mine.model.MineUserInfo + +interface MineContract { + interface Callback { + fun success(data: T) + fun fail(message: String) + } + + interface DataModel { + fun getUserInfo(params: Map, callback: Callback) + fun checkVersion( + params: Map, + callback: Callback + ) + fun cancel() + } + + interface MineView : IView { + fun getUserInfoSuccess(userInfo: MineUserInfo) + fun onVersionChecked(versionInfo: AppVersionInfo) + } +} diff --git a/app/src/main/java/com/juhabi/birds/mine/mvp/MineImpl.kt b/app/src/main/java/com/juhabi/birds/mine/mvp/MineImpl.kt new file mode 100644 index 0000000..bfa92a3 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/mine/mvp/MineImpl.kt @@ -0,0 +1,106 @@ +package com.juhabi.birds.mine.mvp + +import android.os.Handler +import android.os.Looper +import com.juhabi.birds.mine.model.MineUserInfo +import com.juhabi.birds.main.model.AppVersionInfo +import com.juhabi.birds.network.ApiClient +import com.juhabi.birds.network.BaseBean +import com.juhabi.birds.network.NetworkManager +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response + +class MineImpl : MineContract.DataModel { + private val mainHandler = Handler(Looper.getMainLooper()) + private var userInfoCall: Call>? = null + private var versionCall: Call>? = null + + override fun getUserInfo( + params: Map, + callback: MineContract.Callback + ) { + userInfoCall?.cancel() + userInfoCall = ApiClient.apiService + .getMineUserInfo(NetworkManager.getToken(), params) + .also { call -> + call.enqueue(object : Callback> { + override fun onResponse( + call: Call>, + response: Response> + ) { + mainHandler.post { + val bean = response.body() + val data = bean?.data + if (response.isSuccessful && bean?.code == 200 && data != null) { + callback.success(data) + } else { + callback.fail(bean?.message?.ifBlank { null } ?: "获取个人信息失败") + } + } + } + + override fun onFailure(call: Call>, error: Throwable) { + if (!call.isCanceled) { + mainHandler.post { + callback.fail(error.message ?: "网络请求失败") + } + } + } + }) + } + } + + override fun checkVersion( + params: Map, + callback: MineContract.Callback) { + versionCall?.cancel() + versionCall = ApiClient.apiService + .checkVersionCode(NetworkManager.getToken(), params) + .also { call -> + call.enqueue(object : Callback> { + override fun onResponse( + call: Call>, + response: Response> + ) { + mainHandler.post { + val bean = response.body() + val data = bean?.data + if (response.isSuccessful && + bean?.code == 200 && + data != null + ) { + callback.success(data) + } else { + callback.fail( + bean?.message?.ifBlank { null } + ?: "版本检测失败" + ) + } + } + } + + override fun onFailure( + call: Call>, + error: Throwable + ) { + if (!call.isCanceled) { + mainHandler.post { + callback.fail( + error.message ?: "版本检测失败" + ) + } + } + } + }) + } + } + + override fun cancel() { + userInfoCall?.cancel() + userInfoCall = null + versionCall?.cancel() + versionCall = null + mainHandler.removeCallbacksAndMessages(null) + } +} diff --git a/app/src/main/java/com/juhabi/birds/mine/mvp/MinePresenter.kt b/app/src/main/java/com/juhabi/birds/mine/mvp/MinePresenter.kt new file mode 100644 index 0000000..daf793e --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/mine/mvp/MinePresenter.kt @@ -0,0 +1,53 @@ +package com.juhabi.birds.mine.mvp + +import com.juhabi.birds.base.BasePresenter +import com.juhabi.birds.main.model.AppVersionInfo +import com.juhabi.birds.mine.model.MineUserInfo + +class MinePresenter(private val mineImpl: MineImpl) : BasePresenter() { + + fun getUserInfo() { + val currentView = view ?: return + currentView.showLoading() + mineImpl.getUserInfo(emptyMap(), object : MineContract.Callback { + override fun success(data: MineUserInfo) { + view?.apply { + hideLoading() + getUserInfoSuccess(data) + } + } + + override fun fail(message: String) { + view?.apply { + hideLoading() + showError(message) + } + } + } + ) + } + + fun checkVersion(currentVersion: String) { + val params = mapOf( + "currentVersion" to currentVersion, + "platform" to "android" + ) + mineImpl.checkVersion( + params, + object : MineContract.Callback { + override fun success(data: AppVersionInfo) { + view?.onVersionChecked(data) + } + + override fun fail(message: String) { + view?.showError(message) + } + } + ) + } + + override fun onDestroy() { + mineImpl.cancel() + super.onDestroy() + } +} diff --git a/app/src/main/java/com/juhabi/birds/network/ApiClient.kt b/app/src/main/java/com/juhabi/birds/network/ApiClient.kt new file mode 100644 index 0000000..b86f50f --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/network/ApiClient.kt @@ -0,0 +1,20 @@ +package com.juhabi.birds.network + +import com.juhabi.birds.AppConfig + +/** + * 全局网络入口。 + */ +object ApiClient { + private val networkManager: NetworkManager by lazy { + NetworkManager.create( + NetworkConfig( + baseUrl = AppConfig.BASE_URL, + enableLogging = true + ) + ) + } + + val apiService: ApiService + get() = networkManager.apiService +} diff --git a/app/src/main/java/com/juhabi/birds/network/ApiResult.kt b/app/src/main/java/com/juhabi/birds/network/ApiResult.kt new file mode 100644 index 0000000..75e1166 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/network/ApiResult.kt @@ -0,0 +1,14 @@ +package com.juhabi.birds.network + +sealed interface ApiResult { + data class Success(val data: T) : ApiResult + data class Failure(val error: Throwable) : ApiResult +} + +suspend inline fun safeApiCall(crossinline request: suspend () -> T): ApiResult { + return try { + ApiResult.Success(request()) + } catch (error: Exception) { + ApiResult.Failure(error) + } +} diff --git a/app/src/main/java/com/juhabi/birds/network/ApiService.kt b/app/src/main/java/com/juhabi/birds/network/ApiService.kt new file mode 100644 index 0000000..2b1924e --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/network/ApiService.kt @@ -0,0 +1,27 @@ +package com.juhabi.birds.network + +import com.juhabi.birds.login.model.LoginUser +import com.juhabi.birds.main.model.AppVersionInfo +import com.juhabi.birds.mine.model.MineUserInfo +import okhttp3.RequestBody +import retrofit2.Call +import retrofit2.http.Body +import retrofit2.http.HeaderMap +import retrofit2.http.GET +import retrofit2.http.QueryMap +import retrofit2.http.POST + +/** + * 项目统一接口定义。所有业务接口地址集中维护在这里。 + */ +interface ApiService { + @POST("auth/login") + fun login(@HeaderMap headers: Map, @Body requestBody: RequestBody): Call> + + @GET("app/v1/getUserInfo") + fun getMineUserInfo(@HeaderMap headers: Map, @QueryMap params: Map): Call> + + + @GET("app/v1/checkVersion") + fun checkVersionCode(@HeaderMap headers: Map, @QueryMap params: Map): Call> +} diff --git a/app/src/main/java/com/juhabi/birds/network/BaseBean.kt b/app/src/main/java/com/juhabi/birds/network/BaseBean.kt new file mode 100644 index 0000000..36d2967 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/network/BaseBean.kt @@ -0,0 +1,25 @@ +package com.juhabi.birds.network + +import com.google.gson.Gson +import java.io.Serializable + +data class BaseBean( + val code: Int = -1, + val msg: String = "", + val data: T? = null, + val rows: T? = null, + val pages: Int = 0, + val total: Int = 0, + val size: Int = 0, + val currentPage: Int = 0 +) : Serializable { + val isSuccess: Boolean get() = code == SUCCESS_CODE + val message: String get() = msg + fun dataString(): String { + return data?.let { Gson().toJson(it) }.orEmpty() + } + + companion object { + const val SUCCESS_CODE = 0 + } +} diff --git a/app/src/main/java/com/juhabi/birds/network/NetworkConfig.kt b/app/src/main/java/com/juhabi/birds/network/NetworkConfig.kt new file mode 100644 index 0000000..f6f8eb7 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/network/NetworkConfig.kt @@ -0,0 +1,18 @@ +package com.juhabi.birds.network + +import okhttp3.Interceptor +import java.util.concurrent.TimeUnit + +data class NetworkConfig( + val baseUrl: String, + val connectTimeout: Long = 30, + val readTimeout: Long = 30, + val writeTimeout: Long = 30, + val timeoutUnit: TimeUnit = TimeUnit.SECONDS, + val enableLogging: Boolean = false, + val interceptors: List = emptyList() +) { + init { + require(baseUrl.endsWith('/')) { "baseUrl must end with '/'" } + } +} diff --git a/app/src/main/java/com/juhabi/birds/network/NetworkManager.kt b/app/src/main/java/com/juhabi/birds/network/NetworkManager.kt new file mode 100644 index 0000000..692808d --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/network/NetworkManager.kt @@ -0,0 +1,82 @@ +package com.juhabi.birds.network + +import com.juhabi.birds.AppConfig +import com.google.gson.GsonBuilder +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.OkHttpClient +import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.toRequestBody +import okhttp3.logging.HttpLoggingInterceptor +import org.json.JSONObject +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory + +class NetworkManager private constructor(config: NetworkConfig) { + private val retrofit: Retrofit + + val apiService: ApiService by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { + retrofit.create(ApiService::class.java) + } + + init { + val clientBuilder = OkHttpClient.Builder() + .connectTimeout(config.connectTimeout, config.timeoutUnit) + .readTimeout(config.readTimeout, config.timeoutUnit) + .writeTimeout(config.writeTimeout, config.timeoutUnit) + .retryOnConnectionFailure(true) + + config.interceptors.forEach(clientBuilder::addInterceptor) + if (config.enableLogging) { + clientBuilder.addInterceptor( + HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY) + ) + } + + val gson = GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create() + retrofit = Retrofit.Builder() + .baseUrl(config.baseUrl) + .client(clientBuilder.build()) + .addConverterFactory(GsonConverterFactory.create(gson)) + .build() + } + + fun create(service: Class): T { + return retrofit.create(service) + } + + inline fun create(): T { + return create(T::class.java) + } + + companion object { + private val JSON = "application/json; charset=utf-8".toMediaType() + private val FORM_DATA = "multipart/form-data".toMediaType() + + fun create(config: NetworkConfig): NetworkManager { + return NetworkManager(config) + } + + /** 与 WaterProject 的 NetWorkManager.getToken() 保持一致,统一生成公共请求头。 */ + fun getToken(): Map { + return buildMap { + put("clientId", AppConfig.APP_CLIENT_ID) + put("content-language", AppConfig.CONTENT_LANGUAGE) + AppConfig.userToken.takeIf(String::isNotBlank)?.let { token -> + put("Authorization", "Bearer $token") + } + } + } + + fun toRequestBody(json: JSONObject): RequestBody { + return toRequestBody(json.toString()) + } + + fun toRequestBody(json: String): RequestBody { + return json.toRequestBody(JSON) + } + + fun formBodies(values: Map): Map { + return values.mapValues { (_, value) -> value.orEmpty().toRequestBody(FORM_DATA) } + } + } +} diff --git a/app/src/main/java/com/juhabi/birds/network/TokenManager.kt b/app/src/main/java/com/juhabi/birds/network/TokenManager.kt new file mode 100644 index 0000000..d26382c --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/network/TokenManager.kt @@ -0,0 +1,25 @@ +package com.juhabi.birds.network + +import android.content.Context +import com.juhabi.birds.AppConfig +import com.juhabi.birds.util.SharedPreferencesUtil + +object TokenManager { + private const val KEY_USER_TOKEN = "user_token" + + fun save(context: Context, token: String) { + SharedPreferencesUtil.putString(context, KEY_USER_TOKEN, token) + AppConfig.userToken = token + } + + fun get(context: Context): String { + val token = SharedPreferencesUtil.getString(context, KEY_USER_TOKEN) + AppConfig.userToken = token + return token + } + + fun clear(context: Context) { + SharedPreferencesUtil.remove(context, KEY_USER_TOKEN) + AppConfig.userToken = "" + } +} diff --git a/app/src/main/java/com/juhabi/birds/user/model/UserEntity.kt b/app/src/main/java/com/juhabi/birds/user/model/UserEntity.kt new file mode 100644 index 0000000..f18e56b --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/user/model/UserEntity.kt @@ -0,0 +1,15 @@ +package com.juhabi.birds.user.model + +/** + * 临时用户实体,用户接口确定后可根据实际业务替换或扩展字段。 + */ +data class UserEntity( + val userId: String = "", + val userName: String = "", + val nickName: String = "", + val phoneNumber: String = "", + val email: String = "", + val avatar: String = "", + val sex: String = "", + val tenantId: String = "" +) diff --git a/app/src/main/java/com/juhabi/birds/util/LubanCompressUtil.kt b/app/src/main/java/com/juhabi/birds/util/LubanCompressUtil.kt new file mode 100644 index 0000000..e4eb72d --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/util/LubanCompressUtil.kt @@ -0,0 +1,65 @@ +package com.juhabi.birds.util + +import android.content.Context +import java.io.File +import java.util.Locale +import top.zibin.luban.Luban +import top.zibin.luban.OnCompressListener + +/** 使用 Luban 对图片文件进行异步压缩。 */ +object LubanCompressUtil { + + private const val DEFAULT_IGNORE_SIZE_KB = 100 + + interface CompressCallback { + /** 图片压缩成功。 */ + fun success(file: File) + + /** 图片压缩失败。 */ + fun fail(failMsg: String) + } + + /** 兼容 WaterProject 中的单例调用方式。 */ + fun getInstance(): LubanCompressUtil { + return this + } + + /** + * 压缩指定图片。 + * + * 小于 100KB 的图片保持原样,GIF 图片不参与压缩。 + */ + fun getCompressFile( + context: Context, + oldFile: File, + callback: CompressCallback? + ) { + if (!oldFile.exists() || !oldFile.isFile) { + callback?.fail("图片文件不存在") + return + } + + Luban.with(context.applicationContext) + .load(oldFile) + .ignoreBy(DEFAULT_IGNORE_SIZE_KB) + .filter { path -> + path.isNotBlank() && !path.lowercase(Locale.ROOT).endsWith(".gif") + } + .setCompressListener(object : OnCompressListener { + /** 压缩开始。 */ + override fun onStart() { + } + + /** 返回压缩后的图片文件。 */ + override fun onSuccess(file: File) { + callback?.success(file) + } + + /** 将压缩异常转换为业务错误消息。 */ + override fun onError(error: Throwable) { + callback?.fail(error.message ?: "图片压缩失败") + } + }) + .launch() + } +} diff --git a/app/src/main/java/com/juhabi/birds/util/SharedPreferencesUtil.kt b/app/src/main/java/com/juhabi/birds/util/SharedPreferencesUtil.kt new file mode 100644 index 0000000..dc5c912 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/util/SharedPreferencesUtil.kt @@ -0,0 +1,112 @@ +package com.juhabi.birds.util + +import android.content.Context +import android.content.SharedPreferences +import com.google.gson.Gson +import com.google.gson.JsonSyntaxException + +/** + * 使用 SharedPreferences 存储轻量级本地数据。 + * + * 复杂对象会序列化为 JSON,仅适合存储用户信息等体积较小的数据。 + */ +object SharedPreferencesUtil { + const val DEFAULT_PREFERENCES_NAME = "kot_mvp_user" + + private val gson = Gson() + + private fun preferences( + context: Context, + preferencesName: String + ): SharedPreferences = context.applicationContext.getSharedPreferences( + preferencesName, + Context.MODE_PRIVATE + ) + + fun putString( + context: Context, + key: String, + value: String, + preferencesName: String = DEFAULT_PREFERENCES_NAME + ) = preferences(context, preferencesName).edit().putString(key, value).apply() + + fun getString( + context: Context, + key: String, + defaultValue: String = "", + preferencesName: String = DEFAULT_PREFERENCES_NAME + ): String = preferences(context, preferencesName).getString(key, defaultValue) ?: defaultValue + + fun putInt(context: Context, key: String, value: Int, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).edit().putInt(key, value).apply() + + fun getInt(context: Context, key: String, defaultValue: Int = 0, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).getInt(key, defaultValue) + + fun putLong(context: Context, key: String, value: Long, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).edit().putLong(key, value).apply() + + fun getLong(context: Context, key: String, defaultValue: Long = 0L, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).getLong(key, defaultValue) + + fun putFloat(context: Context, key: String, value: Float, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).edit().putFloat(key, value).apply() + + fun getFloat(context: Context, key: String, defaultValue: Float = 0f, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).getFloat(key, defaultValue) + + fun putBoolean(context: Context, key: String, value: Boolean, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).edit().putBoolean(key, value).apply() + + fun getBoolean(context: Context, key: String, defaultValue: Boolean = false, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).getBoolean(key, defaultValue) + + fun putStringSet( + context: Context, + key: String, + value: Set, + preferencesName: String = DEFAULT_PREFERENCES_NAME + ) = preferences(context, preferencesName).edit().putStringSet(key, value).apply() + + fun getStringSet( + context: Context, + key: String, + defaultValue: Set = emptySet(), + preferencesName: String = DEFAULT_PREFERENCES_NAME + ): Set = preferences(context, preferencesName) + .getStringSet(key, defaultValue) + ?.toSet() + ?: defaultValue + + fun putObject( + context: Context, + key: String, + value: Any, + preferencesName: String = DEFAULT_PREFERENCES_NAME + ) = putString(context, key, gson.toJson(value), preferencesName) + + fun getObject( + context: Context, + key: String, + clazz: Class, + preferencesName: String = DEFAULT_PREFERENCES_NAME + ): T? { + val json = getString(context, key, preferencesName = preferencesName) + if (json.isBlank()) return null + + return try { + gson.fromJson(json, clazz) + } catch (_: JsonSyntaxException) { + null + } + } + + fun contains(context: Context, key: String, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).contains(key) + + fun remove(context: Context, key: String, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).edit().remove(key).apply() + + fun clear(context: Context, preferencesName: String = DEFAULT_PREFERENCES_NAME) = + preferences(context, preferencesName).edit().clear().apply() +} diff --git a/app/src/main/java/com/juhabi/birds/util/ToastUtil.kt b/app/src/main/java/com/juhabi/birds/util/ToastUtil.kt new file mode 100644 index 0000000..243ebeb --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/util/ToastUtil.kt @@ -0,0 +1,43 @@ +package com.juhabi.birds.util + +import android.content.Context +import android.widget.Toast + +/** Toast 统一管理工具。 */ +object ToastUtil { + + var isShow = true + + private var toast: Toast? = null + + fun showShort(context: Context, message: CharSequence) { + show(context, message, Toast.LENGTH_SHORT) + } + + fun showShort(context: Context, message: Int) { + show(context, message.toString(), Toast.LENGTH_SHORT) + } + + fun showLong(context: Context, message: CharSequence) { + show(context, message, Toast.LENGTH_LONG) + } + + fun showLong(context: Context, message: Int) { + show(context, message.toString(), Toast.LENGTH_LONG) + } + + fun show(context: Context, message: CharSequence, duration: Int) { + val currentToast = toast + if (currentToast == null) { + toast = Toast.makeText(context, message, duration) + } else { + currentToast.setText(message) + currentToast.duration = duration + } + toast?.show() + } + + fun show(context: Context, message: Int, duration: Int) { + show(context, message.toString(), duration) + } +} diff --git a/app/src/main/java/com/juhabi/birds/util/click/ClickUtil.kt b/app/src/main/java/com/juhabi/birds/util/click/ClickUtil.kt new file mode 100644 index 0000000..5f603eb --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/util/click/ClickUtil.kt @@ -0,0 +1,20 @@ +package com.juhabi.birds.util.click + +import android.graphics.Rect +import android.view.TouchDelegate +import android.view.View + +object ClickUtil { + /** 将 [view] 的触摸区域向四周分别扩大 [size] 像素。 */ + @JvmStatic + fun addClickPart(view: View, size: Int) { + val parent = view.parent as? View ?: return + val expandSize = size.coerceAtLeast(0) + parent.post { + val delegateArea = Rect() + view.getHitRect(delegateArea) + delegateArea.inset(-expandSize, -expandSize) + parent.touchDelegate = TouchDelegate(delegateArea, view) + } + } +} diff --git a/app/src/main/java/com/juhabi/birds/util/data/IDCardValidate.kt b/app/src/main/java/com/juhabi/birds/util/data/IDCardValidate.kt new file mode 100644 index 0000000..f78ba8c --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/util/data/IDCardValidate.kt @@ -0,0 +1,81 @@ +package com.juhabi.birds.util.data + +import java.time.DateTimeException +import java.time.LocalDate +import java.time.format.DateTimeFormatter +import java.time.format.ResolverStyle + +/** 校验中国大陆地区的 15 位和 18 位居民身份证号码。 */ +object IDCardValidate { + private val weights = intArrayOf(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2) + private val verifyCodes = charArrayOf('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2') + private val areaCodes = setOf( + "11", "12", "13", "14", "15", + "21", "22", "23", + "31", "32", "33", "34", "35", "36", "37", + "41", "42", "43", "44", "45", "46", + "50", "51", "52", "53", "54", + "61", "62", "63", "64", "65", + "71", "81", "82", "91" + ) + private val birthDateFormatter = DateTimeFormatter + .ofPattern("uuuuMMdd") + .withResolverStyle(ResolverStyle.STRICT) + private val earliestBirthDate = LocalDate.of(1900, 1, 1) + + @JvmStatic + fun validate_effective(idcardNumber: String?): Boolean = validateEffective(idcardNumber) + + /** + * 为兼容 Water 项目而保留,第二个参数不会影响校验结果。 + */ + @JvmStatic + @Suppress("UNUSED_PARAMETER") + fun validate_effective(idcardNumber: String?, isreturn_AutoCard: Boolean): Boolean = + validateEffective(idcardNumber) + + @JvmStatic + fun validateEffective(idCardNumber: String?): Boolean { + val source = idCardNumber?.trim()?.uppercase() ?: return false + val cardNumber = when (source.length) { + OLD_CARD_NUMBER_LENGTH -> convertToNewCardNumber(source) ?: return false + NEW_CARD_NUMBER_LENGTH -> source + else -> return false + } + + if (!cardNumber.take(17).all(Char::isDigit)) return false + if (cardNumber.last() != 'X' && !cardNumber.last().isDigit()) return false + if (cardNumber.substring(0, 2) !in areaCodes) return false + if (!hasValidBirthDate(cardNumber.substring(6, 14))) return false + return cardNumber.last() == calculateVerifyCode(cardNumber) + } + + private fun convertToNewCardNumber(oldCardNumber: String): String? { + if (!oldCardNumber.all(Char::isDigit)) return null + val firstSeventeen = buildString(17) { + append(oldCardNumber, 0, 6) + append("19") + append(oldCardNumber, 6, oldCardNumber.length) + } + return firstSeventeen + calculateVerifyCode(firstSeventeen) + } + + private fun hasValidBirthDate(value: String): Boolean { + val birthDate = try { + LocalDate.parse(value, birthDateFormatter) + } catch (_: DateTimeException) { + return false + } + return birthDate.isAfter(earliestBirthDate) && birthDate.isBefore(LocalDate.now()) + } + + private fun calculateVerifyCode(cardNumber: CharSequence): Char { + val sum = weights.indices.sumOf { index -> + (cardNumber[index] - '0') * weights[index] + } + return verifyCodes[sum % 11] + } + + private const val NEW_CARD_NUMBER_LENGTH = 18 + private const val OLD_CARD_NUMBER_LENGTH = 15 +} diff --git a/app/src/main/java/com/juhabi/birds/util/data/PhonePatternUtil.kt b/app/src/main/java/com/juhabi/birds/util/data/PhonePatternUtil.kt new file mode 100644 index 0000000..0d2e835 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/util/data/PhonePatternUtil.kt @@ -0,0 +1,13 @@ +package com.juhabi.birds.util.data + +object PhonePatternUtil { + private val phonePattern = Regex("^1[3-9]\\d{9}$") + + @JvmStatic + fun phoneReg(phoneNumber: String?): Boolean = isValidPhoneNumber(phoneNumber) + + /** 校验中国大陆地区的 11 位手机号码。 */ + @JvmStatic + fun isValidPhoneNumber(phoneNumber: String?): Boolean = + phoneNumber != null && phonePattern.matches(phoneNumber) +} diff --git a/app/src/main/java/com/juhabi/birds/util/file/PreviewFileUtil.kt b/app/src/main/java/com/juhabi/birds/util/file/PreviewFileUtil.kt new file mode 100644 index 0000000..a7c0b21 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/util/file/PreviewFileUtil.kt @@ -0,0 +1,67 @@ +package com.juhabi.birds.util.file + +import android.app.Activity +import android.content.ActivityNotFoundException +import android.content.Context +import android.content.Intent +import android.net.Uri +import android.webkit.MimeTypeMap +import androidx.core.content.FileProvider +import java.io.File + +object PreviewFileUtil { + @JvmStatic + fun previewFiles(context: Context, suffix: String?, fileUrl: String?): Boolean { + if (fileUrl.isNullOrBlank()) return false + val uri = when { + fileUrl.startsWith("content://", ignoreCase = true) -> Uri.parse(fileUrl) + fileUrl.startsWith("http://", ignoreCase = true) || + fileUrl.startsWith("https://", ignoreCase = true) -> Uri.parse(fileUrl) + else -> fileToContentUri(context, File(fileUrl)) ?: return false + } + return preview(context, uri, resolveMimeType(suffix, uri)) + } + + @JvmStatic + fun preview(context: Context, uri: Uri, mimeType: String? = null): Boolean { + val resolvedMimeType = mimeType + ?.takeIf { it.isNotBlank() } + ?: context.contentResolver.getType(uri) + ?: resolveMimeType(null, uri) + val intent = Intent(Intent.ACTION_VIEW) + .setDataAndType(uri, resolvedMimeType) + .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) + if (context !is Activity) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + + return try { + context.startActivity(Intent.createChooser(intent, null).apply { + if (context !is Activity) addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + }) + true + } catch (_: ActivityNotFoundException) { + false + } + } + + private fun fileToContentUri(context: Context, file: File): Uri? { + if (!file.exists() || !file.isFile) return null + return try { + FileProvider.getUriForFile(context, "${context.packageName}.fileprovider", file) + } catch (_: IllegalArgumentException) { + null + } + } + + private fun resolveMimeType(suffix: String?, uri: Uri): String { + val extension = suffix + ?.substringAfterLast('.') + ?.trim() + ?.lowercase() + ?.takeIf { it.isNotBlank() } + ?: MimeTypeMap.getFileExtensionFromUrl(uri.toString()).lowercase() + return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension) + ?: DEFAULT_MIME_TYPE + } + + private const val DEFAULT_MIME_TYPE = "*/*" +} diff --git a/app/src/main/java/com/juhabi/birds/util/manager/ActivityManager.kt b/app/src/main/java/com/juhabi/birds/util/manager/ActivityManager.kt new file mode 100644 index 0000000..1ec63cb --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/util/manager/ActivityManager.kt @@ -0,0 +1,60 @@ +package com.juhabi.birds.util.manager + +import android.app.Activity +import java.util.Collections +import java.util.LinkedHashMap + +object ActivityManager { + private val activities = Collections.synchronizedMap(LinkedHashMap()) + + /** 返回 Activity 集合的快照,防止调用方直接修改内部集合。 */ + @JvmStatic + fun getActivitys(): Map = synchronized(activities) { + LinkedHashMap(activities) + } + + @JvmStatic + fun getActivity(key: String): Activity? = activities[key] + + @JvmStatic + fun addActivity(value: Activity, key: String) { + activities[key] = value + } + + @JvmStatic + fun removeActivity(key: String) { + activities.remove(key) + } + + @JvmStatic + fun removeAllActivity() { + finishAndRemove { _, _ -> true } + } + + @JvmStatic + fun removeAllActivityExceptMain() { + finishAndRemove { key, activity -> + !key.contains(MAIN_ACTIVITY_NAME) && activity.javaClass.simpleName != MAIN_ACTIVITY_NAME + } + } + + @JvmStatic + fun removeActivityByTag(tag: String) { + if (tag.isBlank()) return + finishAndRemove { key, _ -> key.contains(tag) } + } + + private fun finishAndRemove(predicate: (String, Activity) -> Boolean) { + val targets = synchronized(activities) { + activities.filter { (key, activity) -> predicate(key, activity) } + } + targets.forEach { (key, activity) -> + if (!activity.isFinishing && !activity.isDestroyed) { + activity.runOnUiThread { activity.finish() } + } + activities.remove(key, activity) + } + } + + private const val MAIN_ACTIVITY_NAME = "MainActivity" +} diff --git a/app/src/main/java/com/juhabi/birds/util/manager/UserInfoManager.kt b/app/src/main/java/com/juhabi/birds/util/manager/UserInfoManager.kt new file mode 100644 index 0000000..e441784 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/util/manager/UserInfoManager.kt @@ -0,0 +1,85 @@ +package com.juhabi.birds.util.manager + +import android.content.Context +import com.juhabi.birds.MyApplication +import com.juhabi.birds.network.TokenManager +import com.juhabi.birds.user.model.UserEntity +import com.juhabi.birds.util.SharedPreferencesUtil + +/** 管理当前用户的内存缓存和轻量级本地持久化数据。 */ +object UserInfoManager { + @Volatile + private var cachedUser: UserEntity? = null + + @JvmStatic + fun getInstance(): UserInfoManager = this + + /** 应用启动时恢复本地保存的 token 和用户信息。 */ + @JvmStatic + fun initialize(context: Context) { + TokenManager.get(context) + cachedUser = SharedPreferencesUtil.getObject( + context, + KEY_USER_INFO, + UserEntity::class.java + ) + } + + @JvmStatic + fun getUserInfo(): UserEntity? = getUserInfo(MyApplication.appContext) + + @JvmStatic + fun getUserInfo(context: Context): UserEntity? { + cachedUser?.let { return it } + return SharedPreferencesUtil.getObject( + context, + KEY_USER_INFO, + UserEntity::class.java + )?.also { cachedUser = it } + } + + @JvmStatic + fun setUserInfo(userInfo: UserEntity) { + setUserInfo(MyApplication.appContext, userInfo) + } + + @JvmStatic + fun setUserInfo(context: Context, userInfo: UserEntity) { + cachedUser = userInfo + SharedPreferencesUtil.putObject(context, KEY_USER_INFO, userInfo) + } + + /** 登录成功后统一保存用户信息和 token。 */ + @JvmStatic + fun saveLogin(userInfo: UserEntity, token: String) { + saveLogin(MyApplication.appContext, userInfo, token) + } + + @JvmStatic + fun saveLogin(context: Context, userInfo: UserEntity, token: String) { + setUserInfo(context, userInfo) + TokenManager.save(context, token) + SharedPreferencesUtil.putBoolean(context, KEY_USER_LOGIN, token.isNotBlank()) + } + + @JvmStatic + fun isLoggedIn(): Boolean = isLoggedIn(MyApplication.appContext) + + @JvmStatic + fun isLoggedIn(context: Context): Boolean { + val hasToken = TokenManager.get(context).isNotBlank() + return hasToken && SharedPreferencesUtil.getBoolean(context, KEY_USER_LOGIN, hasToken) + } + + /** 仅清除账号相关数据,不影响应用中的其他本地配置。 */ + @JvmStatic + fun clearUser(context: Context) { + cachedUser = null + TokenManager.clear(context) + SharedPreferencesUtil.remove(context, KEY_USER_INFO) + SharedPreferencesUtil.remove(context, KEY_USER_LOGIN) + } + + private const val KEY_USER_INFO = "user_info" + private const val KEY_USER_LOGIN = "user_login" +} diff --git a/app/src/main/java/com/juhabi/birds/utils/AppUpdateManager.kt b/app/src/main/java/com/juhabi/birds/utils/AppUpdateManager.kt new file mode 100644 index 0000000..38c4f80 --- /dev/null +++ b/app/src/main/java/com/juhabi/birds/utils/AppUpdateManager.kt @@ -0,0 +1,250 @@ +package com.juhabi.birds.utils + +import android.Manifest +import android.app.Activity +import android.app.NotificationChannel +import android.app.NotificationManager +import android.content.Intent +import android.content.pm.PackageManager +import android.os.Build +import android.os.Environment +import androidx.appcompat.app.AlertDialog +import androidx.core.app.NotificationCompat +import androidx.core.content.FileProvider +import com.juhabi.birds.main.model.AppVersionInfo +import okhttp3.OkHttpClient +import okhttp3.Request +import java.io.File +import java.io.FileOutputStream +import java.io.InputStream +import java.util.concurrent.Executors + +class AppUpdateManager( + private val activity: Activity, + private val messageCallback: (String) -> Unit +) { + private var pendingDownloadUrl: String? = null + + fun checkAndUpdate( + currentVersion: String, + versionInfo: AppVersionInfo + ) { + val latestVersion = versionInfo.latestVersion.ifBlank { + versionInfo.versionName + } + if (!isNewerVersion(currentVersion, latestVersion)) { + messageCallback("当前已是最新版本") + return + } + showUpdateDialog(latestVersion, versionInfo) + } + + fun onRequestPermissionsResult( + requestCode: Int, + grantResults: IntArray + ): Boolean { + if (requestCode != REQUEST_NOTIFICATIONS) return false + + val downloadUrl = pendingDownloadUrl + pendingDownloadUrl = null + val permissionGranted = grantResults.firstOrNull() == + PackageManager.PERMISSION_GRANTED + if (permissionGranted && !downloadUrl.isNullOrBlank()) { + downloadApk(downloadUrl) + } else { + messageCallback("需要通知权限才能显示下载进度") + } + return true + } + + private fun showUpdateDialog( + latestVersion: String, + versionInfo: AppVersionInfo + ) { + AlertDialog.Builder(activity) + .setTitle("发现新版本 $latestVersion") + .setMessage( + versionInfo.releaseNotes.ifBlank { + "是否立即下载更新?" + } + ) + .setNegativeButton("取消", null) + .setPositiveButton("下载") { _, _ -> + downloadApk(versionInfo.downloadUrl) + } + .setCancelable(!versionInfo.forceUpdate) + .show() + } + + private fun isNewerVersion( + currentVersion: String, + latestVersion: String + ): Boolean { + val currentParts = parseVersion(currentVersion) + val latestParts = parseVersion(latestVersion) + val partCount = maxOf(currentParts.size, latestParts.size) + + for (index in 0 until partCount) { + val currentPart = currentParts.getOrElse(index) { 0 } + val latestPart = latestParts.getOrElse(index) { 0 } + if (currentPart != latestPart) { + return latestPart > currentPart + } + } + return false + } + + private fun parseVersion(version: String): List { + return version + .split('.', '-', '_') + .map { part -> part.toIntOrNull() ?: 0 } + } + + private fun downloadApk(url: String) { + if (url.isBlank()) { + messageCallback("下载地址为空") + return + } + if (!hasNotificationPermission()) { + pendingDownloadUrl = url + activity.requestPermissions( + arrayOf(Manifest.permission.POST_NOTIFICATIONS), + REQUEST_NOTIFICATIONS + ) + return + } + + val notificationManager = activity.getSystemService( + NotificationManager::class.java + ) + createDownloadChannel(notificationManager) + Executors.newSingleThreadExecutor().execute { + runCatching { + downloadFile(url, notificationManager) + }.onSuccess { apkFile -> + activity.runOnUiThread { + showDownloadComplete(notificationManager) + installApk(apkFile) + } + }.onFailure { error -> + activity.runOnUiThread { + messageCallback("下载失败:${error.message}") + } + } + } + } + + private fun hasNotificationPermission(): Boolean { + return Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU || + activity.checkSelfPermission( + Manifest.permission.POST_NOTIFICATIONS + ) == PackageManager.PERMISSION_GRANTED + } + + private fun createDownloadChannel(manager: NotificationManager) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) return + + manager.createNotificationChannel( + NotificationChannel( + DOWNLOAD_CHANNEL_ID, + "应用更新", + NotificationManager.IMPORTANCE_LOW + ) + ) + } + + private fun downloadFile( + url: String, + notificationManager: NotificationManager + ): File { + val response = OkHttpClient().newCall( + Request.Builder().url(url).build() + ).execute() + if (!response.isSuccessful) error("HTTP ${response.code}") + + val body = response.body ?: error("下载响应为空") + val apkFile = File( + activity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), + UPDATE_APK_NAME + ) + body.byteStream().use { input -> + FileOutputStream(apkFile).use { output -> + copyDownload( + input, + output, + body.contentLength(), + notificationManager + ) + } + } + return apkFile + } + + private fun copyDownload( + input: InputStream, + output: FileOutputStream, + totalBytes: Long, + notificationManager: NotificationManager + ) { + val buffer = ByteArray(DOWNLOAD_BUFFER_SIZE) + var downloadedBytes = 0L + var readCount: Int + + while (input.read(buffer).also { readCount = it } != -1) { + output.write(buffer, 0, readCount) + downloadedBytes += readCount + if (totalBytes > 0) { + val progress = (downloadedBytes * 100 / totalBytes).toInt() + showDownloadProgress(notificationManager, progress) + } + } + } + + private fun showDownloadProgress( + manager: NotificationManager, + progress: Int + ) { + val notification = NotificationCompat.Builder( + activity, + DOWNLOAD_CHANNEL_ID + ) + .setSmallIcon(android.R.drawable.stat_sys_download) + .setContentTitle("正在下载更新") + .setOnlyAlertOnce(true) + .setProgress(100, progress, false) + .build() + manager.notify(DOWNLOAD_NOTIFICATION_ID, notification) + } + + private fun showDownloadComplete(manager: NotificationManager) { + val notification = NotificationCompat.Builder( + activity, + DOWNLOAD_CHANNEL_ID + ) + .setSmallIcon(android.R.drawable.stat_sys_download_done) + .setContentTitle("下载完成") + .build() + manager.notify(DOWNLOAD_NOTIFICATION_ID, notification) + } + + private fun installApk(file: File) { + val uri = FileProvider.getUriForFile( + activity, + "${activity.packageName}.fileprovider", + file + ) + val installIntent = Intent(Intent.ACTION_VIEW) + .setDataAndType(uri, APK_MIME_TYPE) + .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) + activity.startActivity(installIntent) + } + + private companion object { + const val REQUEST_NOTIFICATIONS = 1003 + const val DOWNLOAD_NOTIFICATION_ID = 10086 + const val DOWNLOAD_CHANNEL_ID = "app_update" + const val DOWNLOAD_BUFFER_SIZE = 8 * 1024 + const val UPDATE_APK_NAME = "kot-update.apk" + const val APK_MIME_TYPE = "application/vnd.android.package-archive" + } +} diff --git a/app/src/main/res/color/bottom_nav_item_color.xml b/app/src/main/res/color/bottom_nav_item_color.xml new file mode 100644 index 0000000..aeb73c4 --- /dev/null +++ b/app/src/main/res/color/bottom_nav_item_color.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/bg_constraint_avatar.xml b/app/src/main/res/drawable/bg_constraint_avatar.xml new file mode 100644 index 0000000..476109a --- /dev/null +++ b/app/src/main/res/drawable/bg_constraint_avatar.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/bg_constraint_progress.xml b/app/src/main/res/drawable/bg_constraint_progress.xml new file mode 100644 index 0000000..e840525 --- /dev/null +++ b/app/src/main/res/drawable/bg_constraint_progress.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/bg_constraint_tag.xml b/app/src/main/res/drawable/bg_constraint_tag.xml new file mode 100644 index 0000000..2d7d0f2 --- /dev/null +++ b/app/src/main/res/drawable/bg_constraint_tag.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/dialog_input_bg.xml b/app/src/main/res/drawable/dialog_input_bg.xml new file mode 100644 index 0000000..4a27553 --- /dev/null +++ b/app/src/main/res/drawable/dialog_input_bg.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/dialog_round_efefef_bg.xml b/app/src/main/res/drawable/dialog_round_efefef_bg.xml new file mode 100644 index 0000000..1918460 --- /dev/null +++ b/app/src/main/res/drawable/dialog_round_efefef_bg.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_nav_history.xml b/app/src/main/res/drawable/ic_nav_history.xml new file mode 100644 index 0000000..a11db8b --- /dev/null +++ b/app/src/main/res/drawable/ic_nav_history.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/src/main/res/drawable/ic_nav_home.xml b/app/src/main/res/drawable/ic_nav_home.xml new file mode 100644 index 0000000..8483c28 --- /dev/null +++ b/app/src/main/res/drawable/ic_nav_home.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/src/main/res/drawable/ic_nav_mine.xml b/app/src/main/res/drawable/ic_nav_mine.xml new file mode 100644 index 0000000..fbe00ab --- /dev/null +++ b/app/src/main/res/drawable/ic_nav_mine.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/src/main/res/drawable/ic_nav_plan.xml b/app/src/main/res/drawable/ic_nav_plan.xml new file mode 100644 index 0000000..5eeced3 --- /dev/null +++ b/app/src/main/res/drawable/ic_nav_plan.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/src/main/res/drawable/img_back_black.png b/app/src/main/res/drawable/img_back_black.png new file mode 100644 index 0000000000000000000000000000000000000000..80b05ce844905a7e093c5d677f701f5e29aa8770 GIT binary patch literal 1719 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

}7t~ez26tYgFUDK*v>S(e?Z?|7gRx>WyXvdVFyI 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

+ + + + + diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3 GIT binary patch literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9 GIT binary patch literal 2898 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca GIT binary patch literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f GIT binary patch literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..2936ac3 --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,16 @@ + + + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..88deb7f --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,144 @@ + + + #3F51B5 + #303F9F + #FF4081 + #FFFFFF + #222222 + #838080 + #666666 + #F9F9F9 + #FFFFFF + + + + #00000000 + #FFFFFF + + #EEEEEE + + + #F2F4F7 + #999999 + #999999 + + #333333 + #222222 + #333333 + #000000 + #E0E0E0 + #F5F5F5 + #EBEBEB + #F7F7F7 + #838080 + #F3F3F3 + #E4FBFA + #D9D9D9 + #DCDFE6 + #E34D59 + + + #707070 + + #ff999999 + + + + #1D76FE + #1A72FF + #00CA9D + #C8C8C8 + #F6F6F6 + #2E2E2E + #E1E1E1 + #676767 + #C5D7E1 + #EFEFEF + + #666666 + + + + + #F9F9F9 + #DDE6F5 + #2E9CF3 + #F7F9FA + #F8F9FA + #F0F6FF + #D1DCEE + #319EF4 + #E5F2FB + #E9A01C + #C1CFE6 + #FAEFFF + #ECFAED + #ECF2FA + #FFF5E0 + #B85CE6 + #24B326 + #2A5CAA + #E69900 + #E9EEF6 + #F4F7FB + #4CAF50 + #A8AFBC + #6BB96F + #E4F3E4 + #FEE6E0 + #4FB153 + #FE5733 + #D5AC26 + #FFC107 + #FFFBE5 + #FFD700 + #7A8699 + #F0F0F2 + #F5F6F7 + #CCE0FF + #F7F7F7 + #E6E6E6 + #E60000 + #E8EDF5 + #FFF7CC + #FDF8D8 + #E6BF00 + #F7D73B + #FEDC18 + #60B864 + #FF3B30 + #EDF6ED + #F39E0F + #FEF3E1 + #F7D49A + #E7EEF8 + #CCCCCC + #ECF6FF + #F0F8F1 + #FFFCEB + #1D90FF + + #8000CA9D + + + + + + #0d000000 + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + #2E7D32 + #8A8A8A + #F7F8FA + #FFFFFFFF + #C51609 + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..d8fe5ac --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,38 @@ + + KotMvpProject + 账号登录 + 请输入账号和密码 + 手机号 + 密码 + 登录 + 登录成功后将自动保存 Token + 前往登录页面 + 计划页顶部背景图 + 返回 + 个人中心 + 重新加载 + 检测新版本 + 测试相机和麦克风权限 + 测试定位权限 + 测试普通弹窗 + 测试输入弹窗 + 首页 + 计划 + 历史 + 我的 + 首页 + 计划 + 历史 + 我的 + 打开功能组件中心 + 日期时间选择组件 + 选择日期 + 选择时间 + 选择日期时间 + 暂未选择 + RecyclerView 列表示例 + 列表组件示例 + 编号:%1$d + 状态:%1$s + 更新时间:%1$s + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..febfdb5 --- /dev/null +++ b/app/src/main/res/values/styles.xml @@ -0,0 +1,14 @@ + + + + + diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..5fc6532 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,16 @@ + + + + diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml new file mode 100644 index 0000000..4df9255 --- /dev/null +++ b/app/src/main/res/xml/backup_rules.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/app/src/main/res/xml/data_extraction_rules.xml new file mode 100644 index 0000000..9ee9997 --- /dev/null +++ b/app/src/main/res/xml/data_extraction_rules.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/file_paths.xml b/app/src/main/res/xml/file_paths.xml new file mode 100644 index 0000000..8a9185b --- /dev/null +++ b/app/src/main/res/xml/file_paths.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/src/test/java/com/juhabi/birds/ExampleUnitTest.kt b/app/src/test/java/com/juhabi/birds/ExampleUnitTest.kt new file mode 100644 index 0000000..33dee2b --- /dev/null +++ b/app/src/test/java/com/juhabi/birds/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.juhabi.birds + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..8b72b4e --- /dev/null +++ b/build.gradle @@ -0,0 +1,5 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + alias(libs.plugins.android.application) apply false + alias(libs.plugins.compose.compiler) apply false +} diff --git a/chengkong.jks b/chengkong.jks new file mode 100644 index 0000000000000000000000000000000000000000..7ac287de1217d250564f57ffa1a57b5dc90fffe2 GIT binary patch literal 2702 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 c82=K%QXLKFx%@O{wJjEi6Y56o#$)Bpeg literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..8a48a68 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,9 @@ +#Tue Jul 21 15:10:34 CST 2026 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionSha256Sum=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..ef07e01 --- /dev/null +++ b/gradlew @@ -0,0 +1,251 @@ +#!/bin/sh + +# +# Copyright © 2015 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH="\\\"\\\"" + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..db3a6ac --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH= + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..68c165e --- /dev/null +++ b/settings.gradle @@ -0,0 +1,29 @@ +pluginManagement { + repositories { + google { + content { + includeGroupByRegex("com\\.android.*") + includeGroupByRegex("com\\.google.*") + includeGroupByRegex("androidx.*") + } + } + mavenCentral() + gradlePluginPortal() + } +} +plugins { + id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0' +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + // Android-PickerView 4.1.9 发布在 JCenter,使用镜像保证旧依赖仍可解析。 + maven { url = uri("https://maven.aliyun.com/repository/jcenter") } + maven { url = uri("https://jitpack.io") } + } +} + +rootProject.name = "BirdsProject" +include ':app'

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 z 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%0D7NYsI>aIYRz!PyBF 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⪙ekS(cy)qj& z%%w#f$u^pe7%S}wcn%Cqa<&M9ddn|V?1nu~f%V~&p=^*5;rof48TZ{xy-MNVs9sw4 z>9S#4y$GkoB4VFI)wDEo?-bW}Q8n~Smb%?*-fy3+?|*N^3;w8t2wNDaAqCNdU+!4L@*bY+Vi2Zdzo)=ggmyB{x zPMhYNVJcc@Wk=^*IC|NZlpX-W%BryH-L;wcIgN-q@*|?K{AG`BS8SzEf3c{Ubux#w z-Z0eL>LzD-!y+bLWk55*jfjR`w42QU&#iQ9Wkb3giTT=q+zxe)M}xPkL*Hhy6ge9Q z6LGjJ5MW*?ZFk-fVO`K8A=Z4?&AgnW6c(xry3Km-wL*oj1rk9Z1}LvI#;dinY5v9! zq=xx=#z{)N)S}Yy%QL9UdUnyxzSj9$n8Fzb9)yrcdyr^ei`F)c7N$ZW=&h*JFw7Lu zXKiaf!)_azd}d5bXolt-%72q-??P~DqL~M46Qw^rgQ_w}KC-bTvVoeH0QlLq`&@vp z`YqWx`{Mslyf+uM-F-XPW-@y=Sv`>DHfc~eiQMSkju5Dq8ShU&x^|${q+F-~M_42_ zMub|33G3{p7xX%c#zW;AIhsn6NM#!*ORV}v_ddt~-q;HQ?J@4fIpzR`Al;*1N5Gbm z3>wTuqWn=Lq}ggpUkU1N`9Y1;`FZ4 z7#p@ei0{2!k%Lx`@&S6R(%x%Fro@b@j&9cF*KX3JrCSMcO6lc z4nBVgC!NPkMOaGdd2C5p3ceVVtJcZ(4U4n-n=iK85`gxDZZ1+NEg0ksF%r7NxkJry zX9^2y$(}iJy46+KH?IslzUyQA4#rzFQk6_Z}GYLb_7Bxe0aJqLFO&yqfTZ`21a1?7%-{)4fBnJK?-o|qEo zA4I=qWJ&}~qu7%1`zD?1m>)bYNCa=+8*^w}63{bPcw$?e4)w)}JYt2ue&5(03dao$ zq8AGx6aD-FLq(|Jmf+Uxwn^m~vkpbdlP@ZJLI20@fYYEl_U_k_4Ob~N;Re;VoJ z8v^@o1y9@NL59I}abwUjl3&ckGM3cbGexfpQj#E_BZSL3bG+ysI!?b)DbG4*$5bRt`MKOSn18 z9XJU@d!jgsSIMAn4XbIw*-F%fIbgWJg}D@a&3t5UcJd@Zk!b#vyHv<<_)vpM3mPl% zJ387g`ROj8;>B!Xhl&9sUUW04$GMTwmM6XMGtwB>_XVPxhi*zuR9~Lvs4KmnT+$w* ztV;L3l%V5OhOSOxJOjgCpYo@5ymjn2OQIj<&#sRVQ}x9$NqpPv0*m8WlE(wVR*T;c z1W4qig8bzl3VlBiF!5aCkCZC4+D0Qn63Nu>J&Ndyg6E*}zcN`p6y>E=?}Bq+kkkRr z@N;8CM)_vMZqwk&R(Eo?Rm*ml+AEXt8=jeDSY{QHI(|3NY7$HhaacCiThF*7 z_~(C!*80ibS?r(I>|+%Ij=j90`QyBy~fnW+ArCSUwTSFLREY zw%@TtOw>5OMiFO(n(cAz`#M^EygY#%8EyRDV!=^aK9W(TjJJhL@41*0_bBKU>FMDLAML zmJ@F8fw=BYrwPD(dIVpTOcofb8<{>L>JgW)5D$zU=~-kF9IU9+)4679Z9N~FLMgRc z`i}D6WGIXNSup!~_C7^cgHvTDN<4gKNfwPui_{2Qz|=-3M*2so;oy^(nE2WMU`RLW zE$h^4*Pz$csqaVZ>s9!_xaBqF593~mIlNob=>S9zhQIU7m#gODZ0QR5pGLE~Lyq1S zLgi6=SWK)f>QA*b+S9-CHqmdu%`7*s6&mDPZ! zJBSci>tOh4qCqhe|5pUE$qU9Fm7GoV(Lt%L&EBX|Dlu$gkUgC^R< z1sIR9hHc`2+o$3w2>&`Eg803q%|kOoZ9M}SwPP2RPUGp{2|JZ)=O-nVSB@`PNi`Zm zzi-uEu*f6yNiW6sDzs30FpkbF`ceaw`h1E8tN}a=EB+dsKzya+xY-`1e&F9$#2-mi zT)4?=?IUNr)CG7;oGI0F8tD|Rdz&m1|F2}8$=qtQrq9VR28KQb&aZ_1e#|Rb2xn#c z4J*Pe@)sqE3a{?O`Q=rZU6{QgnDw&m6FpBmxgNE%jB@w5o0*YBH96^&$+V!fI8AhC za6d$;e{lOseos*<51oYRC$>*I_RnIH3LNpat8`7-|H%_E{As6QpU)IT*&OvLY^%9I zwoJE*P~&UlyRiI}pnElZKwm=H!V^?6siPh-I21%vm8aEedAr8Cy{FBuq!@3Gb z9GM#t^$e%P-2QoEnlnp@%U694`sDbRjx%?7s~^qg;Fn=Z1U7tP2pgUB>g8mIG}lpj zz-E)_TwFE4n$eq7O2&8SLHRwthn^qK`Jf3tu%{4CDK{mXw%gJPI~oLRx4Q4pk?JrG zibnMf{%EkeTrmt<0EuYmKW=C_tjHy;;jN!9cT_KMwR4MyIPq(zTlZhPzEqnyX@A`M z>UmmK*K1-B`l((gD&%s3ewuz-Mn)Ie07#$T2@q+t>+6jpw;+g%=Y7<>gqV08?4UF7 z$7f<`_CsCauWfmiWGacy0Q1SC)aRU{at+i9=L=@t2c^uV@KN~o&-n@m#h+`6nNN<# z;7zm7D_u;;#YkV{xFxFa1V&rCc7Ci2wGX+@c#^jKb$Ec<{=1B&l+}-KLkaLSFN@x; zzxjzQ)#zF3Td&|({GH1M%-JQ}`zG}KO;q6Fr@)xn|iFBmV_aMEnEWuywkG9o8K=>qxh z_s{8wE~#4wFz_~82{}n)`{2c+^ea|%OoO4S)nS+xEtb-MUW$^bfsAWechqM1;}a3_3*yedLz$SN4!>eCk0uxhC<4{GTMig-6%vn4 zoaY@BF#`d8N03Mh6@9xogtQ*dw7Be$x&@P3c3fe_gtQWU%A0O0;zsumZKAi&zr}qt z=aG>+v`YU(AH%&iW;8o!ZRXoMoKt*~0z)Ybd^N22e3!wW2gk_17$@uCnmYOlUfTv8?44cJHq;kb->HwU$Lm58Vd9QUqMO zGQFcqZvbsziU0gw!R)?=)lJiYvDbnXf-6`V@yB;!zpV(O0j+Z$V3V$rgPdwvjV7kL zT}nvG6j>@hvhi7u^{CHT6r;E(YJRKOPBVR?(%6rcNfTC|Vbsvo!z2K`Qp;-v&cop#N@B$xlm`KW>mP_BIalN~&1~zM^(Q00$=MA43MN z;pvZq0;ORFiDx~x_ER5m#KW%|Jc?`bqI07JJCmdn5YqdQhf%z;+lz^`w=b zuNc*~8fd9*T12OoGR0~vq*Iiu$tXw`YGn^(Y2d#ma^xDh^uAVoHU-&~yBnrRYx?`N z=r-CA+FX{@85Ys)yOt#RAX1hC+-|G&T@=E(${kt{V<=}V(o?2vwE(|k$fMmh4LO!H z*hl`hvqKN37ei`)cZlbyB_oMWg%#5&B7VJ!o1(Pi-<*W0EXFDoc1J(uBUt>SPL7y= zujlZK;cU>`%gbpU?v-qH!iFVm5b;azo5`qMYShr%X=n1EW|51ws;ZF*BphU};C63= zQ^BwL$}7v*ZhR1G_0$ojXYWlo;L)kC^|TK|`P-4fX4$F8eI6o-L@s%$fwG)*Cm8c==DosAQg2IiGK5?1I&9kXO^vS0DSy!}=w5erf)6AC; zGe_wdPpm5ANiaCZ-tt56+68gmyn%rRF;~3t4+w12^?XW+a_k-A3s{KL+04+hW(N}K zAWV!bjzm}ETj-Yu4>z}0?k#d-jZfg|rhl~pHoY}29LKjO6?Sbv3*g@FmYt{S6KT=b zx}f6nI)}*;0CCZW+F2;sSzH*WL_Isa2(_1)e(~DV^)^M_`WN6VRGY7Jk3aSw8*2f&CQ-?0Z1L2^YSA^F^yAKlPX z{zkI4OY%VYulE8V8ekKxzukC;WH|*;qc&Gt7i97x&s-{2DH;o zrc9PshLQ*GEZ%0JF@#S$*BBwZu#ke6qte5+s6i<4Ba1r2{Zc0K=K-=JQ5}@vtNO0J z#JbZw1@z^LjX#Z@T@I(-l3%OVVu&7T&Etov(POP!wAVgYnE#E}>?vMDSW%KLZ>c19 zEnG?nuYQfd9Zb)Ttn?!@&OohP4!k9D4tn)nDUx@ux7D;Wlf9nGIN5RK8c91H@~!$? z`5#jaU3(rS!LQCWYIbzp=GI~di+?8Hw76f`6pph+j3?kZ%gUit3fmwWf2ZGl-+jK% zm(Ch9arf8#2^cNWxv=C0nGlvtmkkb9sdsDPr@QO#p~^Tcqc=?h!^a zndB78-@ODXD9#5yS(DjEg12jPjRtgAtjNBAbgp&enlV#X!=v;AB?cM zK$qDKDYaO&{RA6j&RBUp)U*ziWvIMFk(GHx(MD}uhAZ?A`+@+U0jS-Q>+4_0fg?&l zqo@y`)-1zYf=xwtI;e}Q&UZx)L_f!OT0*Pl>B5SIFNMm(wK?iUSq-Pn@f0` z;}J3?%+ncd-kH4h<VY)dPJv`Al4Egsd8 zO^>=t%a-yk{xeF?5z27dspwc?m@Sy*en8Pxec{ubt{dqJwV8d9MaW9pInC4)&b4Qb z?f~sr$ft*-*GNRr>pavv)&qSGHo|xN>lZB(l2mOg-7}m?x%VMLTev2^sS^S~y#)Vm9ck!M zOVLO5a4eSw^=Os%X8el)HTqVm!^k)}Fr2h0rOPR$L`q6ZXUnIypFsV0$x>XgDpESt zk?@ULRO^aM(L^E2PHrY0xK#ISbfz;rDNqYUSfTdNn#AzPS-#kkAH9pdi`?Gy@e-i76vpKqH;&yTk`^J8q-4eEAoJ&!gIzU!B=iPaK-)EMRtJz^v5`#dg<>QZZ_H+_k$J| zqFtJ=d96#e+CcxIO99noGFFF zL1=X@9#nr&kZ+jG&EfDm3v<}s!k_a=9Wk;C%3D&k!@)=5>k2A!WivD>PCO;P1etO3 z#jiX)VPN0`AUixKz5N9rA4({`{8>e>Jr2ANvec2xBKtQkX6+M+i&b0I78#B}M7(AY zGzyJWV-O9Lg7Gn&{Utrk-4rSmXy$b#UGy(gS}%Scd3waW>GN1*K8z|fAJ3@Qo@Y?J zgb9cOt2&;wXavgN_YUS^2eY5P<^0C~?}3~~&i}_?kc;tj{5gDu(;r6){4b{Sr$uv& zS+_&czr`{5w-Yollb5}84+Ep#;TkOvIH6@{TM4k5GPckg9lDEp+FJSVF=7w{>!)f! z_KOXD(N2a@j{1KvaI|#ZMN3d$)17W*f8%C`sor>z;XP+4@rGM;cubs;|Eu5CZfvXI z>TEcwpr@acd?%Ydo@HQHPb*`wUgPz@YTI;jZ3bra%<>$-e&(nF+y7}fcogP%c*LEU zMr&2WWw40?#&d*Ka}lA{b{DJPTV1(u3tH_;DgSg0Jg~E4+u1e{II@NQO-!Tkx*B zbqI#~mSVQFOBKuQTMwCyp6Xpv1zzb35YWdBWbkP*;gX|6Gnix3+-z6b6e=f?D_E4O zrkbp5Vv}AKzN&f=7bWKDkxJ0xUvUedoJhNgeFF7$r1=1DZ7hA!e8f_S&pGYeXAoD) zhE)AE3|@mO7|g0g+=HIGeX zuZtW-@mg7*$gA(7T(z1|XF?jq=dLa>;Aqj?Wf zEiPoJAD1^XMn4!axQ>X64Uw^iLR1F1R4!tBQ*Wp&h0rVI=XFgolV40kb<~=@_km7( zPOq2Mq}VBcej8$2-qzFwgA0FZ=*IHrnopR?IJ1KaDoHG9f@QAO1>FtVH9V>=;e(8C z_}8@6E-lW*kUJ~)y0b=nhBFy&M+49u2{jsSw|?y<;Q|80ydSenKQTG!3uW@stO{2< zn**17sY^{W?cegoN!L#j|1>u84Pw`PXTY{A4H&G2C5xq5E!1lBPoo^vHhv<)##r-0>=EI*A@Rx~&e$Z}9azU2%Z;O+*daraRZrJh>{ z>Qw3L>0sRfK%O)boMVt9E-7c1JF)LJYpcvM6;hA~W-5(TO3exL#0Rh@2~yIHGn*cd z4W29igAsw_-;nZjxj^&}m4Y|<+plGrM*Rid?(#l4Ds4n~3f|vSU6A&gbNu?sG{k0a zt+`CH8>|ejUH|_k*d!U z4l9iR$pwduUyYfKro1T*!u`R*5I3l!6*gd6ROB|}>=$imHLbLPZScy^#nLVo-%Tk- z%az+c1eI4<=rLhhcQG*w8qNKM+VIyL*XqSrH-Zl6k;rPd(*+A(#VUJwPC+wK-Gt+$_qf(Bwi7c2 zrR0r%i{BPg$2%I=o#fdQd?F(+6a1@w#@tjMRe&#gtB=_^1zc%GcE>bpwi0j_8H%p%)Ya~LB z+6fG%#y=1(vdzh;>ZlAvP?M%BlpkV}eI0LSZUx;2vGcracbVvEZ#x^N|$LG>$mie z;eZO51phI#;03!XN}0FI3d}A$WZNL;&&&?d51%V=?~!Ot{H790j(PNssIMmMwo)Zn5G@IVx!R37Nts43~zks0Fx4HfcgPnS#27pLL#oTsY zLrb$WRcO4eyX&@;-_g#QB`U+aUQc^~^y$u;*jp19HS*>`q2mne-wP!Jg>p+##=yX- z5i=?0WNBi1{qLo#VUXu;DhcekK)Iue+;xr20bGd2zO!EH2g73S+YEUhq_qye!OZRu zFOCYj2@vq|yGwtSx;7a`r&HT*tYM6F-7>F6=F--_p z^eED;RMLwlKCgm~+q8CRGC&g4vgl^$CpSB@_zRfAoDqGt7olUyQo(yK=a+*Q`1D=! z6uY!Zk&AwtzytknazU669Sq7TxmWe;HrcG&`4C!kR=1cO&fsK#3yle-hqE{ z&+$9FKCnftcd;BSEWo&zZeJ&}O3j+BjIHhRioEH08#Z^!Fk`^9CPG#7@}=8o^?i_`EQV)JHBLugA@0_>5YrsetB)pgy0pd{HF zXN%HyMJy#Y9xsi*91!Vr$>Xk?qf*+O^ArtDgvOnj0*_I%U8H5&`LLK)3+vXoOgs6V zq({p>JHo&NrP{`oDcONaK+x^gw^<&StY49L*}=~y!cxsbpvV0@sS*j_mc`owmhbuo zcMGSm*Yhere+d)C|JE&=I*jnWM6?43HDirw zQAIi|_MEoGnP7o4!UWsiFt8d*GKPTEGJh0?K8Keo;Hcpn6paP+c+;w_X=A>W{W_+x z5m((@QNlbpeLqwbJ_K;)FnjIo7W7^x{nNy3GvQE0fB?l+OS(F+fY2hh=HPWgZSE{q=zmSXQ&TU-RWqHII&2 zCLfS?H0R5IiVoB-X8)ld1%!x5(#C`%6BEaNl9VwNnL7m52$f{%_pkH+}Q(id5?7d4J1Ax^25+(}o^isjlT9Rc}=BTnePkW){stUR?Y#x;XE z&Jsq$)erda@>xIoPg2Z{>tlZFXa>`G2t615>cz~5w^u2#gfu#hfZS2E^1WB|&uX@1 zKzfsTlJcwmA>(_7aMiiJYFnuG7Vu4yM*9~$Q7oW`gg$&%I9Yp2#; zv6{vFz?sK1GqFE)8uHY)ZSkUN=m}H}sp<8Yn|@)S@Te@y90G4|O7tprdSjy%@8b zU{0FQv5)(O#bp_&m>(f^c{7YnBThAXo@5s2+{A=5adxqGJ?I~dD1pby;8bO+>C?r( z=cPPS_2oWP%on%ktDmwyOd%4zzHjte++NCO?iQ%ATr}3Op~dX1zZv^%vp<+OSTLo{ zU!(bs4pla>wx%+vT5i0>iX}fxK)kr;c5bNAb$W?Z8~f7Q$mM!b#Wp zUN1j)Q%X&BQUxVnI!ytGeuy>5&uS`LB=*UQ%&+T&);Jv$@uC#V_lcN;NbUzt`D39L zRI(yUjTbuc=KT?etY*}wf*|S-$V}L4#Nzn@dmi22!)c~LOYGj(yQrB$;?$j;&+P(j~7i$neqCr0F&8o6vl--2k-;-3-MHO-rhA(>Cu_keh78kYM7jo;UTgi}cC&1hvTWrTQ&M$w}E< z(mm4C{nBd%syHOkE7Fan)7e_g08U341AFjtSZu2%~1F3nH!8E z;};!LtdkKgFAqK|b*+#&_D<^8!qwetv60uAu6j>Yp*4=B`OY-UZOOa2d|NBbWiI3Z zmY58?xbOq*FKU(vbC}a5LmlGfqNQZv7UgiV170wx)$V3mvRNewi1`_L7rP-lPl_eb zxz%V+AsRP6A8NP`@?ErSM$Yz8?{q!!c0NA|YsM$g=v0=)HuyBR>A@2-NGl%&Uh8Ib z0~$YteQ(@~ExTgLyg_(}|Itt#7~U1MN*i{weS6J}&Xat}QT;SDd?+U28H_#Wn_n)E<& ziAe;p?x_*sN#3y&`9(W;Sv<;JiQroUGx19vM(M<*t7LC;U%9ZpFlV!e4?f;drvYhO znFsx{yhAN~o0J!$kWis1<}oF3pfeTK!>U$Iy&N2txe8eCs+u~JLZ$f;;Hmw ztJO*Mk_h+|9I4GDteb-lp8OE0>vw3g^V`_04_&HuV5uv0p`cDndRhEt&s`Uh!aTJ? zH;mY?>R=Cl&61?t3_a#e0(@Av(6IRK691?xA@y68$r2jX@nG?R*JeOwMesv7bBhw( z%lf^eq+mR|rZg%#`Er^HJqC3# z`C85|3}jw(Cya&~p7;?;5beg33g&pn*f}K70S2_!o<#-~TxsoZTK_Ij-8aGxz@;9^ zU66a9yTE1{+OK317j^-J?2kT!u(;RM%3svk9Aq7`w#%OF zw`Py9OW%~}x_+3l>TuqLrv&aM8_EuP?ZraJkQ5m(zQIS7xQwrd{aqT~?oia9QEN)M z>$oNwb@&|aVyO5C=^f2skVeS(3_&`di-Z6knX|}Wy4I}w?!TT(WLEhZa0hwi4|&OPNcZ{MYXHZ*Vn;NeN6PPh~QZZ z=e;)Wu9GuOE-iLvQmH7SwGP;XD_Fw^9oy(4La%td5YJU1WmbbXW%@>{Pj}r? z|EWQ1tfxmt*^{w zuVi<4kmf~eUaD!WA`$lF%hOTZ-xbiGT(Ga4iT)ShC_1_;P zlcFW%S}n|RwdBx87DJXxjA6k2qu-)P3M0eZ;Q z$V2D{HJC1bi=MAGSW0J0mVsz+uZd8}z8<>`CO132LSDECLfxD1qnM6M&9o=fqqBPmz~1=e;dT|Y1|KwsBzIo%t_zU(~3yecM=$_%?A zTRm)yEe=OaSz6VEZ0>y?>iz4stZ5!V{S;hFQT9>mjV=ev~j z_h87so1mQkGafBlKfe4xpO1l2to%E6K~x?CgGJ?k|6wqmkTzmGt@wiR>Z{x-nRp02 zfez!5`gMFcHzfpsuC^3D&D{`6$dVt+wG4B!fvaX zG64_8Y2W23j~RQK$!GXzq53-QjK3V112v7hNQJY@!C>A41XFq@Gqk#lpgmLccJ1%c z$=5?6LedR4tg6NjM{5aaxa7YQCDZTzl$fpivJl ztV7p+0WmU!ZszI$)gZ4MGknU>T9az9`UZHPdtCkGps0!iu4ji z5>`fVlIxtYdbB^$sZc8>1<}Voc>{BY)|GJYPvBliNdos01&4bS*j_wegvBPI`?x^2l*f zw_>d}r6EnyOuvt+qM3y($y;F3v?-z3A|NeCy7ryI8D3-SLlMiJ#`;A4;R!mW(z-F` zJ!VW-R?;jln9{pmtJ*Mz>c%ft+}oRj>rUkjY<@Juh+8sVa}7cr-mWB;6ad69t3FkZ zr$7uSE2aG#-Y4+F{>VT72B?QVcq(G^=@LuM`r=2)AES!8dBPRqHg9#dQ`Ws6Os*`RE0tm39l?G<3%hL>!3)_h(g2-)Gbg$j# zl7N?0ZCfpV<<^ZbmxuQ9-C?)J5{89ffCxVULAF&*FD#%eDUDV-TZh1(>nN#q%P0#W zOsAR(7Wy++hqdQjBf*kH+mFyV1&iQZ5t=TJrWFq|UUy73bW-~7Il5hahFL^V3eW1G z25ML@y~#-5ENi@S1V(mXmmazl*(xfGhJ;O1){%;o)^n!hZ!K{80QAQuoiihB?u_Q% z29n6P3mK-{=)3LPn}kGPEf3o2f@nUcDE7xR209dmVg||GeEX*Uw$2XnwaKuO$g*yN zNV|T!abO{PG5S6m8H7_>()Iqyca^3~CI26==x<=BjahBMK(nM7PO9jW51;re5u%hW zdDODxh2^&U9zo{pPD}52cjU{IDLZLG){mcUSb}Zx@bRpjn7TJet48%Js_?<0lEtee zK4KYKrgKPD_V|TZv83L(ZN+4ZL=FDNkpx9KiEJG@sol;6bDiQp2X&(Mb-y*E*54EN05|5Czuw2hF?Wr)H`u*2(Is(=)x^CSSlw#bJV3d%sx^}fc z#kb>=ndW9mu#xCxYBbn4eVuxIE(3EbUZAe*$;z1n^z7rz&wv2+BM&@QdNbA_Hr*M1 z;l{=IT195fj|)PnlN=hZipheJubc2(Q_sm?M&aA=%9dYxZ3L92}j0cwvK-BMvCmxiWQ1*et_mScROz zBwGVGe%Q%^uElMT4J=%lo+QH48 zn*!rb&FiHhA<>Txu@TxRjM2_5j*(;L@~6?#!IkEilzg_TbT-r2(@*cq7{jV}>CgYe zv~i|yEz#EstX3!3LxOAWg>7OxP!LO2=vp9{^#YqAq&jzUir292x1!R< z`nyMwN;}M7h7-%rtJGdPxzgkf<(cZDifAvQAwKS!gH3yv2cU^z`olWJXu;IFT%r0t zLH?9Ah=O<_%Ev7s=0I2Lms+NG@#o-J1&`9|)RKLgFWi8_9Tb7h*?z+^^!p_%dtcE9 z2?MMgn((`v;{E6)!VG9sSjqd^-Y&7{_li|kQu<2BnM1APZby-)j5gBz4^ayTwK`RE zx;n9rW*Qk31xgI_4qfhjvIdOV%sTe@G)hxt>UssA>JaB^(iOyCMJp0N%<|aY2mj>)7t%joPx?7$8?ipt$*)At0`6ccw20T0dSo$$XFl?u3(qcYB!WrPU2zrVOXq(=XQgM;2?bdQ0)!B&0B_=illm zYnAAL`=!$$H=NC?)gPV>ozG|Ml?G~M?kl(?In69c3qz__q}bDKm4OGZ-xBmLCVu9) zXSOt-AmGlND**m2&-An(82|=~|Li*Re9f>BC4t6;%+|cXaXV?>;6jgUVU5DBkFvmL z_z;)cIVuqgek0Z@3eWo|{4b$g7ss25(Vs(KD&q)zeKf+ZP+;wCRD}a(S*FsPkM!C< z>BwtP6cZojF*$ZHtD@{51WtN%8G7uP61t0r0y=^z)fgq?Sv%)TS% z0|?+1x46jm&LaXT_UI2yf#Xy30jB7l4U=aKqpmO?Y&Dec3<5p^=4qO0g6(^QbUtq= zA=N2o6>Pe5+&UF>gK1mHlh?b8)hzjh*^J!lm*r`_Io-b3e9ti8F8Ec-eq~GMRZC3u ziNT%5EUZHd5&;E%oNpWJsm=?W92DiLDRK6V{eC5TnKG%_3z1)m<6dHLbYjV5Ebsnq zqixM|Lyj$xZ7p1=I@Qx7v^$?45+(QHU^;$m=daaWd0E|`xd5Rwe*volWeR-{gd-;Qr@Bb#mC| zD|P#u9&HW&@p`8w6Nc&la(?3YKk~nF*p~CZI+P6je}Yv&CFS2-m7Ue^OLN&mC(tdYVRciGT{+?I{Bc=qjwj~$gwGrp;;e|r8}^)Q4z zjg5aH2go4QcyP06HmK`0{$S~ZwLB!sZN?p4HP*GD&5ty;JoeTFlX>3A)wG9IE~c0? zytMG+<`d8$mNPE5_6E5$D43V@knj7pkKay%V+-Qq{Go3e!W#eNby>(cj1JqYp^B&2 z`ik0Q47bb?p+uDD;taE)1w3m;zxTYKJ2P_J0@6nP(}mWE!=G5%n!*^?O?G{C`ArPb=J_kO@a)3cgrAXKC>pS)|IAbXJd-n7Dt zSpn>-^7*9D>{}u#J}H>NlCupHSqt z3Gfd4G9wP?l^tPUIN#b3`SBZg&0}}?2ilnIK(&;hsQVT* z=*n*h6Vx0~2Z5TCGk8eVeq!;*x`|L~#&B!>{*NEXE~v17nx|T3s1Ut;<2=2d;(|}# z&qB25!&$H@Dp1!~-`MBW}RIG{Y>Yq-?Vj@#-LsIJ2_QC6)Ae&2yhy;MdB$MHb7l2n6 z@YwV&G_-keJ#tavJzyMc3(I64y2S2mtTqHsUr9m8(%5p+tE1zTcz4nz3irRFM&O!* zIbO?#0wM8GeJ2c-3Yy>326Q(`hPf{P0R?KTCeKlPdVMwZT|`09sIOyAbb zm#1UsR6+7urIhWEU{sms8u#@-`FCG;(iIZJPcjWK@yt;tl9%^?fEJ#i08v{#WK{L@#H zRKX^PM556dQuf2J+WMwcvl#OtM^7b~f(a!>fU~BvX62r@qa(kSyGV zNYa%DqCk9&ZE9wg&70KOPpO(8x^>j-1o!!bA1~q-tyI3)+x$z#Baby+9FxwEB^kaQ zvi3|S82~Wfa=Og=3rIL7+7gGPp8N&eCgQOk0RS~yH=a(lj+|M@(`GJwV%bM+_%3w^ zsF->vqW=P#7lapt?9xhXC=>4sv_7;+W!H0%`}1+^2d&4w+4AvmEtYx|`LkwzCSv)c zga}$u5jl0Cmzq3=qEdJ1qi@ZMOjT1r{UTF5ZZ%giUJ=>6+qvfPZo_$c2i5kfNwLm{ z*kjO2&^RTeH>0n1J+KACoxOx@$^ajan@wUXx)JwYl-+=`4V z1#yG3sR$rBN}O-YDXrO|&DJ)r z&=<*b{rI={>#p@JKKO(GC(-vCbxTUJqGO|x%orMX}B2T zr`H+ZYXhe}j2m>6S|!@l47T{0Rcz!!-iJcLPcaK=JVNU&SeZoey?V+BRh-5vM;xRx za+Gr@BORn!1X!dswWC z*~mvKL_h+gNVqh4LTaq z4_lKif)ZtN>Xdoo{LRK^-wy=H&B=7>H(-i6@O0KUPy}S7cv_Yd_y3iM%=bTb_3 z=Gbm4=jrknFp%)|<~&sEs=VQ;hQEEN>o+^OCBrFBf>@c3*0WKfIuklG+C7!K&N0$) z4|mE#^8>HvEe&!olUQzjmsuEx|7~p6th;ark&@q#xeO^3-lQ_O5gmu#G6nuj+xIKF z)|z+6lG$4?8dSBaSn=2O$I_E&FG`Ll4jpliIGO^t5>qnqzziz0-xjCC8fYB>a(HVA z9f1zr!=Uh&UK-;Pae{*F-<=D_9M6DlZ~)q;H@Ow*k__5f(< z(lIZVB|Y7QI%vO(;D$jNHQ>wgWo=Kr83 zO1{W|fUv@UJ>ZqW6C0CZoExV)X>htIL*sv);WYpN_SsT1AadyFe}N_Nn}(w=6G(VG zC#Trq&xKFD8KqI63IgX!lhb0b&UddbD*IBuD@xk@^x0%dKJ(FCp3?D)a@K=#%rmr7 zm{H{s)j?_$Pp|1*j{B%@8zML1wXP#6Pm}QE~StCVCb2c*}9#;x!GaajnjuAp!>- zHgT_Oemixl{od}=@Q!CZ)J|?@0=pW_dqn3{M$m&2v<6@D4>aNYD0Y7vOl~|VHs*|X z6(hmY1vD}@faJRks|MVs^hBFPCFDE!^-1C6o3O|ROpv#tYyH!7uo5>9pAiB|(*7f^*T>aT&ryhqm`Al=TPxKzK7A z@A671?+>4}{7$SgA`{Qbt;!ThR?(d8Y8}u_p$QRO_a6~ydZL5gKbTP8vNQRku@xRW zBl5i2je=WEDqgMM;@q8sJ3z67Um0I!7{RdKXq_rmYpBUxrg@jt9?q4G zDw9%Hb>K9M(nt&yH7ff?gO0Xdi}~nMTPvV^b+hOJQInNRV<^H)IqN$(awG? z!$VVQmxZs)qx*ewJv@Il<7d!Q=db16<<6zRn-={}RicqMx$WM?3P%I$Qa>mNxZ7?i z&Mvf!cyV_g#-BMcz3-z0M%#WF6KyX}yX(z~O`-Sp99J^1OEx`Jp_>wE?+Q|M-8`Z2 z+ng!{MKT-j@Q8xR)b`nGxoBwCmTe?v=@=1^P)j>QcRIrSI=@_&hM7Dcb5`lhnv}9V z6c*F(DLLl%vupi$iH%|ado8}e1lG_i&>)Tg)oiam!0u%tU~VOT2DGq7R4ZEN$}xFZ zo_+_Y4r6tLUK#RKncVBWpeJQ95R`4iO-52DqPjI=iU06a0_Sl0{Y(`3Mn-Oxy{aj% zU}U8KCeCxwc&N*fIHg+m_?9-*Ra~()J_v&HF2Swf2CF4t1Dwjy0))X)S+)zfbJNCo zMPNI>az02&q)jI3XN9=6h>(O=gVqx$BikTX;N9iETccCRP+pa zL?V8j^XpX=3|OFV;UN0Jl4zmQD*n)Eb*{QKf}%V1S98U8IOh|yhT{HgtRm7oHKa^V zL2iINM0e4!p_mG~eU3bi0yEaVr*67^1%G>gUeJiIR#S<6K`!5a7}$eE)=F1d-0YDc zH+?7mojW{&C^d1je#CtFbz|`RZs_1xQEjAgwwQ#0+uWcABrLap3!VZ|E{vysCz{-n zjkKd2o^m;E9os5D6wuV3v!MQjuS$Jk)c&kbQ@cPb$}Rse-aAG>zdTsz0_%viIovcfMf(nzu;*Po5W z-xe6{YC_)6LkI>{$=Fs3d@E0X{}<4yzhPEaT3fltTtsL%Df8qWhyV##1NRy)C#XS+ zzT1`kIW#%c&EiNgXC#>N4aq(Dgl5yDnlXkH#iIAa8g5w{VKkg<=4d5l;<62>6K~on z)ONp=;gp+3?#;eS6lJD5;ah^?<2RePI6FQ04MirIF)(aAAe*)r+diUpgpUtL>r>#^7!vrOeOliah ztiR}3mQEW8)xB)}+|yIxOkG<=U@`e}<1)+sB}e!@83jEZRtjz{R#jFtVnjKi7wp&y zktnwImZ(J3P*Qp2aU^`(kLJ0Xu2nQlQV)iU9?q*eH4x<5$lO#C4r~#1vrvwYS{pU- z6Bm)0R0xKZCe6OMQG<&NR_=J7zD<<~ij%9A%E40~%G(;@`f3_l_v0RYV#&DsB&`3q*SsG|Nwl(ef{k#*;FVRG7PUY$!rAgxYJh(r3G#S_o&8dM9hc7h|d#C$F2 z@wsB0(~2x1)5M&3MrD0}d|OXq_2bp9xr|JrfNc3l{p4H7?e!0MO3&Z~f0d^y*Mm<$ z2HWH7maWFN^iB*|NEgx|6@`2=w&VM25YZ`7@BnQ#`$jfvwn)xOjO+Smlq5$=vcDtP zQZ`2yO;sTxg-+tF8`aTf-V2?P!57Dnxz|VC_PD)KJryUSqftwDDGZ=7M1dsV*l5Sd zESXaT%ggBr#@2e}JF>qqQazeD_*ih?mCYDGd4ZMocn@iz==K#)ENyL2@j0cmDVmJj z&peW3z~-ttrIu;_l8x;5N$D`k?B+|E^`6N!c-KN{AD*Fj&DOH3^vd8eT3fX!7ddZ= zL2($shHuE}iQ1~B$Vq5vy_8eXY8MGlUD?fjMUMXZ@UlC=g*q=>sbQVIiGu!aqhB%1 zQO@)Zc5E@Ycj|s>Be3~%=}~gPDO3eR4Lr+;hdmCx85Z@B_T%O8Ay1Iv_PpzapF=at z@5VRnZQA$=zbB{P{SCI*L+%pd!T1rKfr(|s%#yyLp`-B7KLVmqAY0%uP2s$%>|a2r z1hebl6`G;^9~v;BGnRk8Ql*qTP3y(Al^r|j6MxWnq56xmA`-ugXTj@C~ANkj%5o#%?D8Ds$dv;fTzc}7X}ae3#X}ta_5xF8}&V+ zw81`1@u~?EL!YDT9p3S5CCugbIB<|wq&joz>>WKIZP2r0^0A=+hZcbPA1pNf9Od@@ z)x)LJ!?K$4$IgxUtDyEzwfJ>9$7;$7taC$r*htu?%P~Vm<;jW1D@#G1wb&}ROIlmu zj!?FYGadm|B2=1iyBL4LQebUZ@?4H@{G~yr_kcUBSR=hbe4ZW>4Bib^Sy!O3aLZ?% z#L(0Un=f;3F&XcF3?z*YCg;DIfAVsNj`sFJF#%c*ymi`VO5Z@4#dYCF4@MJZfJ-E@ z)xIvx!`l5DL(fKL@Xx-mr*zaV-P*5Ma2hk}Sx*tNKlbq_xw%{P<lkw6n)^G3WCfG>_}{;Cxq$zKu6)gg8vCX8z+=4l_bV!5mNfH( z+w#6`lYBW_VmOz+v%#q)NDtCtQQA(Eq~S1ir5Fi!J=8=veZaF@IAu zJza05BsEl2qo!ilmS@^3*@YXgi(J9*y(E}fi8?H)@Q`vDiy^kRx5`pZ1>-U$4F*vk zFmyMdqHjDc%x&7D*HKS3>&~A`9 zYR1Ou4!=)=K27TMuJc*2wnta;Ae)BU`zo~qK35uJ4!DT~4jgRzCOX+f+_vF`)nbz% zk`)}j`YB#0b@*Nu+mlC16ixRMy7Y7>Q23Qj*GbsZa409L0#iPhMfUlH)USP25qb&p z&-cIjd$C5^xxMIDv(~wL|4ZYr@7B~P`v)@7+xOLab2zR)?C{vt9EAI7m#`$u)-ISg z>W+rF{<_KP#lr*e_OId`VA>0BKeMj@sz)pMN`93`=Y=nSZnP8eMbt(g5bp~(s==-y ziPS&Uj*uL<*_xp+ZZcyi%Sv`h9nj$G@X{;t*8WgJ2reXWtLf0$*~(l zaE}fZ&lmI-D!)_$CpkbW&3(c&stg#CjC(VGx4zpEHO#7ZDsvcjp}RP?j64!*ExI?f zLt|H*n`Q;aX;zym7q!7`g*$_jV3?o78?vg2a`P>5;eXmF+c;W$=F!Kd;-S*Ig>GsYw1o z;809q``Zk13X*rt;!Tf+e;O^J^3>&cM_go}3o*vd>DjyI3UV|BR-}vX zp8`n(S;+g^Dyqb8%s1v@Ap;lgg~>T8zM?HQ;|+rrAN8ui1ZAzRxCUCPk@Pvdqb5gc zE^Ly`d;^PrADy%z1K&GvO8OEb}<+!!xxjQb0C)WBErz*d4GH3OwA^F2O% z4Kdjw%@bM66-!z*f56g%#H_a455mR^;6^(<@tWUu*{pMC@7V}KZ!DU z#!6@SJg#l*`N6A?*XHY6=#bp zV@El{;~;OjS5Im(4*WTWA&v6^Qi%4mghzClzX>|e_M{h~Ezjv9g?E5)lk=^vk#P{! z@sd?->ZIh2hNEd1hNjI!QUQUjXRXgSWd5Vp!wUuT*JeQ%71JV_71k=3;?AP&8+r^0 zdgk7lWRzDD{1i>@-EQC}7kJK@vxj#%G6`B-iDDk)wDLfD^__qotW78Q4d14$>71`z zmaLqTYxQYIE+kxgdT+%xHeXz`xQXl8C`J+{$|U%Zj(M7|yQ5=a1~Nf@MNPvcb(cSX zuY%$xA2n|kGgr1v+~3BqRvRuf+xMltJyX?N@NtRj1}0j*iITLG%H*RJ@WIFRyw?)d zl#wIKiCU9aoK#5Z>(}l%+xlp8z-KOnSX7mYUm2!Vm3Eh-Gv}EfnXS%@Z0UCn^^8Ng z6Vsl~iM{&F%CNeIw2-Kg8x{ErFzw+pH*GK}b}LmKVkGy!f44YcsrbEy5`g?wy~K~_ zN%3h;Pi^ptnSoQK{^)4&!A+*;25HZ=!i>{2;?RWqJHlAE0(s_z6h84yyD=Wo^c^EE z3rZ2kZq0^)k`^z*TmD384m-DmrL3IDW>YS}i{0KPk0(GFkNo@Pc;7I1iD+_LPU(Sq zyzdS$aw4{`8aS?Xl-kOwDvJBPnRYJ?W%9cp1FWdsJw-~ouXYQRs~(IX$4eVP*_MNL>z!>Bj*NzD-XW*$NSHj6QFY z8-A&7KXOjzDu{bDz$sNAYTR^u8gh+lcG2 zo#yXLFuiL8doOQb7BaTH$DG`7Q}(^|tgCzBfF?SQfc7VN83kdo2CitWDPcHFOJH0Ff zw{qfK>QdXuKKO&?AF@v#yR~>lOL|%s7B`JZM&W=#&3LbW3?v zX2y(X4;?M0P!ks|xiRIwOFbDrE~G6AT|?SkS=ZZL<$((m(mS zdymT`Sm0$x)DP$1nxcWTRJi`6^hrPI`@A)2HcwkhtJtsy5_xeN3Yb(}UX;UXYTzBh zr^u!QaF&`3xwfOhUHez2KZp~C*ZUNVOWo%Fiy!_1nCD=!#$=^k@s^sP;#6umu^6w~ zanj50nD^3gr>ZBji;Gh97e?F1@#*Yw>GbcIh6^b;NAQm`HyYRq=V|z++bL6wYM5e^ z&3f6}DKp=-D0?Ou#e;H0)5wQIaZ09mod!Kd;eOw&q`Nrp%t=!T)5aZ4npNqfaq_FQ z6a#6IA_*WrJdM`;>Pc^j`J*zhr6I4)i;(a7`=mH$Y|-8AxhTW#mcl9w{pNd>FeCku zXZ0ef#gX0`Ms4&P?KoJm<&R>LYOjy@1vHz&!ptq)?`Cgg5l(jQVNU?LO4^Nj9<9W@ zcvc#N$m2|lqJA#Vw_tTK|G8-8B4REdN?8X}j7qzYy$~)Um!#>0yn}+>xJ<)s!9KyX zySbLyFFS7?s&e_&A5V5m)NRD^zP3x~n;KwQIp@I#KhUX3zvg|Tt+Y8ZN(T{E+n;U6BrZGua9GLTHJjr?S*jY~-BH|aj*_w-Lf6BoBM zE_mFmD0dJ}V@c4Gl^QMyPF4cLtpG&H!s(ypUuChz@9RPEZwh5_`|e78dCmkP3&T@I z`kL;-Y@4MR^u~{WJ5$9*#VF6UKfQVKfi^zl`pas&oAk#8^49Xy+=W`_i9CvV@A+!x_V9ir-9J~(2O+D;9#DaQz;Q+jw5%)yjrlpjY3bnr#Ly8i zC&T{LY+i{_4uq}n#%EtDTAUPUY}Gs2#JJX&Y5t<+@r4P_Qci-vB2Me0@O_t6e5h?f zT;w<)XOCzSp7-%QD2nIgnpZaewH)w+OH{5+^MrVE<;DLNa#VI0;I?9iSBZVwabIZi z$o$~zegSmjBzUB5u&u?M9u19-_PHqRFW9 z9~h9M#lI<=`v;R>-TEcU*?%-tKUd#Pa9=oYl0_ZK9Opow`}D%~!i;KJwIK!0nrU9CRKK#%M`Xnu>d_Gs&dt{Z zjaYQC#9KphKy+I@knG7xd8lDtx1GYL4`MENe$$QFkw4Zab2V2axlJ|S6X9Ywc-hD_ zJh5)@APKR$*GH+GoVoE~>1AW26QqULs$9lpv`kY?>g%A3MM`~0=hO2@y#HCMeF)I0 z+xK0$r)=W&aj0J2#rRvP~D|p+Py<# z{xWR1ukfYuc09=r!~){#Mdc>O#;}`#c)VLSzw7#>vee-TD~|zPQs?~4KQ~|I^F4nD zG`s8iqoa}8^rUd-X)*nz;SjWSH%+N#@uekc2KZOeEF@S}gU@+u-Xu`_(eLzQ5ED-i zvf2~YQpRtith|ThVg5rcL+`npdu+Q^K2kB|P?{a$pr~||CyVATS`0XTM11Daedp+m z;)CfXW9+Ro;$0P;BL`x!xxXu)+RktiZ2VCRgzCP?@J6^+BHZ*lI4tdrhulX{h^Yhq zum|@j^H;dS%LmI9r@6lNT*tG_|l z?8^crVWp6@c`p)M{MsR?_Aj8U00BzbTJfr%&5cmT+v=M_Au;h>TzWtBHVedND+nQL z@`3%A*%^xJk!Tx_{)>cpZeGs0)nkqv<)6n-J=VP@hjo8(*GV66Cqh3K{{`gadA$l; zO*dqq)*Li@WKQP_paBdWJ+TOcUIzPBGX|9K+Hxv<)nj)Q`+sX<E>B#r4T#g+zbDLaAhq$* zVN}Z~!mOkTxWxjWH<12n@EaaI9XP|B|Mn$V>=oUiT>78lCdQtk8vf zWTml+KbGc}@l@}0rH&+~O|<_Aym0(#($QS<$Ef2d4I8L(jz`$k`qqF`Lu#z8*dG;4 zqC}(S(V^%N9tcDc2Fh%@Ai1H@X$(O>4Q&pY9@X*(0CJgfPd*SW*?ork>K4<@T|%}q zK$)~|?%-?L9ku-EAPw5G?njT$unt~%`j)DvGE&$w7f*b_-3;0#vgJ=qo8f)Fwb=2N zg8+-8!}^BJ(M~d%{2;@c!T2{m{4off-VPB)y2n{`<%|r_ z>=Su5)&l*$_XqUGl03HMxMf}1U%y@-vM&4UDO~K3O+u~CUv-FiuwUe^h=q28Jhk+j zWbcL->L(u^^>p#ji?m4wW!{u2n)ac05}^={M~N#+mcXtzYnV0o^L46Rp^CbJz~~S zpw1{k1b2j8EwzfCb5ft)|MA;9nR-vNBFM`A$wFgO>QeT zAFQ_-QgNH+kTchXe$r3>;Z_cXp3YR~o~N*w*DVH=efsy9rP+%9&oeO`TmAn0+VVaC zaQ}($=+4yz=RMjARzDkf@#FGFO4Y~pYMb?|vtKjVyM+PgA>ST?Vz)Lf6NqKeyFapu zYySo(1eE^|xTc$bLR|JLv>8C+gZl4oKz(N@UX*6Wm|gLN8erPOOe0_Z9Pp1eG2ua+ zL%+upr_g`YgheYJ0w}2eBj5CNCjSc(XS~6mY9C;4A4vQ{>*mV|(b-OLm5a!FSb}wF zvg%tN?ta4Y!*Liib&czSiYp`IhuBk*adwyyHj!WwAHW{v@6?w&Vv0WVQQAS8%GyWt zDup#JdarhDe(*y+KC5*Fm4$lvmvQwUnWw*2`XuwVIrmAGe|2dqneT{&lzO>2WkXa; zRiJH&%O~u-uWw@NH(s~s3Ev{VyS7OVcBsV50pcny-J@}PIfgc!fVSl@op;{zEiEOYufzR(A3yt-}ZPT2F@|p zO4f2eB|j@pqaC9#$YhhfOOvmWfFaWtgm^$Qf?Z6jtiV#ymL{B6CHStN;bfxG93O*- zcHCpje6K^ftSZM5+c@eeV?6_9p3ef@gVuVwTQ>$?%>C2$<9=ecgJj9Ak7_|&_=UUB zuqgvcw$3HPh`a2pLQmdi+38xmB?A=z>hFhDQlYRyu8c#or=cCNVZItW#rCH^I|p9D z1fN=gryl3pw>0}iN|^@`@Vj-m#>g=q1Lyd~JD=`T2ubmlSy7XCK*){keYS*^U`jvy|AgF4QWslmvf%{L!u2 zYm%t1WXZ&eTwviYb&JXoaxcgJ0`4r02`hhK8XG*y(MdsL=ygAcn9duh4=*Iuh8}oo z5zK=#-_f{nM?$iJTd)XDG1Rk!XiuJ6N`YM%^N(rpWz|m0!+E;xTA>P^HajKHh-%F7`Yk`^vEhSz(Lc>5fb;W_=IJhWQJvr+|Lc_wa_GaS|A zpbB^X?ZQRn{GE`e*Cqs;&yCraSHMp;^tfp@?>J8$@vus#@8WvarsnhJpR%a)O=e4V z(#a`}IS!VM$UbcR#+`w)F-+SqYE zszw?+I~02834v)I-`hws8A}~)$+lA$v?(E+BQBn=E%7*(2)fw%NUVF9NIDWwNtFh; zU8zRDbq){B_f-*`-`Br(O=S&MgF4Ji`7N-8U&SZ1`l4>os)INb-cTpH$ufI0RW?%Q z++Yz@j-W15iyH^RSk&+*v^M5%#vYh6ds#<9A2_Oa$<4dfIGs3ZTK~{CGeIiZv1-~& zieXdMsC<4~*VY@)Osr2e^c;&d360p)hqCL?{u$j%X&7>2F?-758qAIG*ano92a-{gc}zc(k-Mw~>KKdynU~ zjhk0TOJEqI*sA^ls;m_`XHDJZ-Z~iuY&FSCrv|HeR^iPumL76ck`4ph049Lx*v|zE zmDQY#OX-jiweZz16U}vMqz(NVqAfo>go5H*eEr%-JbaFR$eakXFG7l#v;8PEORTv# z`{Q{S9C95hQ`Z)no3|29{sQV}w636Ix9J`=L_2I7;aF9|iCg>?ACj6-xcXx71r{CL zr#R<}4Ly7Pt9y8zeA#?D4Ep%+-hzfibg*7oM|H7s0A_#m)ujLC4?O48te;^4FPQ{2 z1_g^Z7%#f6>+eSgpak&_>*H8laW`(|-P-4aq9m@>TuEv@1w$a|y?Nujm(uyckzj}y zS^CfI94_|VgT$8-1wA;2>Vo`Gv)sxtBi;6j`)iYM^J;9icq*fmq%7PmNE9!<=B+O( zZGOS=+$wQ;Ic<6a=1cPhfe(=}A=t_%m`PepJnZl{t%D{xWQF(Y$Jh9&V5|%r3@Xi2 zGjjM_U|HH0Dw5#7bfL2SEjDqSlNoku3L*m4piUv_kB3`^@8GvKlap!Y&iGA3N{af4 z&RL(d2QdVBk_(X?tC%OvU=tHuRC>}o#%b0jW=hf>(+D+CiMNftIA3x~UL<4^u5pHb zTM9A{U>Ice#JTZ_0gIlM!^;vM4QyzH|Ec<&Sy}Dcy-(WJto6k)TYY*u`=xMmw&ExB znm$d&^DV3IaBD-W&axp51R69~_AJdvb9%EF)uC=5E%kG_coy-{%UbigxcJ#Mw$9{> z?dU^w;wj65!9a;}fU-w7mA_~XaPI=Oxb+D?9mQ&!Q>i5sKCk96cI79?Aa9VJ#FO&$ z)G6p|*j@}uWixSB#*K(%|FD18zP>9VbS9Huped91+=3>ufDl1Z;3gPt`4}yn=BOaa z`h@JtAUxCc1nAUEXxlkufu2VT(C#!Eb3PL6JcsMkN zrc^kKQ|~dx?ekl)uQ&2sPLS3BE_)mTUh79qv&`%Yn)Q{ah%_Z;{e<|(x*eJAoD-}u44 zE0roy5-nN}k35o@GdxO+K3}66T^u_cjNQ9gR>@wcS!#)|&#emP8o*5r};Ucz@p^~3ylQMWrtySs1B2PcINv22>e z6S)fGDLxiHW)r*K3&U6$mt1UfaetzVLN!+G=ruPAYVE=({8W`$@cXn47@_*wi)ORyw(3!oQxFTeIH!c zrKyN^S-QW=$eh9&MP@5|Vq&+3UscsW^B$`oi+ObS1XFR@M%^l6D~P~m@|gMliOScG zfOLmzr80kxCOH?eW;e1xrfex*Pe5@B;V(-#)^UdH&^}Jtjchx;j9!uNH`PG0=M>qd z@ca&-wSX0FA1#zTK#Pdw{l&@MLliOD_n?1~!gYA)Z0AGnoDZvVpr>0tMTx-D*Y{lq&R>5l#Ie~ndz~Cq9Wfh zRO?Ima0iXJa*hN|VU^}eyuqt3r+G zHm>2Zo43pPBQrN4z0wJ9xbX2T%WeJ@*+!Ce_q`rW`0u)@xDxJx)SdzTV%cI_zQz(M zVL6_wYp#wvjTBZ!OU<8aE~HGOpG!<7PBe(rjjgd-n@p$1RLB0VqJAw8n4>tjOmN%q zv%fIkski;94teE>FT9KEL@@O`+x7as{A)cyN$$TytPgIKmGjUqE|GSPU-c$e848?`9XFw|~$p{nLRZ#of5 z0bQFQ2ELyKkVRzRo#<}gFHmvzqSPh?TeKf*=LW{Zb|2%fg?;82+!ZaQ<0&1Pyhm}S zT}L?bxSK9G$S+6IGR~$nb)2Ibr6c+xH-T{1BJm_z1+-? z;l|q?d|_wp-9F@dEPnbQdGDE;Ps>&FR5V4}r36~X+r{;@s`l2B+c{(33>TL7+M+1v zdAKrXpjvO?Do7KSdpnsGQozZ-jgP0=ks7WT=bBac zHjjV-`VV_n4=1=K#0G=G0Mlrqt&mZy(7%8q(=-3lK3=Nswn(E&v#_`6YHr5Qr}#}A zFQ*$vp)r@9Ji6sGvgW>f@tS2|eqN>=hQ)k6ex2@shRS|F6*eT}PYbAU3>M6cVG<^) zV^lU8PF`)jKFa1BkrMv+Wx>`x_Vp8p^ViOwr5e4f6^A1W&Z4t4ZaUk-JItxC&KSvQ zmCwv}T@@RvUOa4R4j)@@yx$=H+Kfc99yZgQB*5!3yIiU!xMU-Jb}%3vjE^Gc{SU>8 zThb#^lU+xRbtNX)+N}rD!fA$5$@3f<8FP)45qdyJwVM7@Vm;93V9a+XVSIja8a4n^{Gi^C z7XQIDbS1h{A2PQ1X%DC-52aX7TTH57^kA%Q=J@p5>&62Tf;!i$std(W4!t!i=T2q? z3?EH$HxFFj%Tzlz21)X|h_+C6#yY(Vd^4p_~-~o1OQQg(Lb$)kHB6Rxca2DC2=gHW?_gJeY zexG!5<+84dPK+|{sal1uz>BEvo)&OxwgcZF%2Uj}gP!IAQd3&jex%s&;Yjgt3jMNO zCez7^4XMbyH(EoZbxp9fPVdHBo$=J62yl6b;wDmpG$Yn1>yfk(MHkNrO*gK0$+5E( zs+`7WeA9#3VnF^MeEWlsyfP&uLMZY?Eje11_KaT!k;2M1$+!w~s^W&_to6h+o_SlU z-~Q!=l94IvEUD`K$$VRLq;{mw*OwtfB#8C9*RSc-n%Adm&2$-g+|(1Bm0jJHl*K7= zURftbgvuO(cdbR-9^GF+Zc9b)Y>5;?KjsQJ{Af-OlW5SOZqV?kKVHJcRrctCaGN7f zU#V~AdQtPz%+728pF;+6OO${e(Js@kNk+Vqr1}FJI>}X*_OK=nsvKjDo=Bbk1+cyt zKP$0t9eG6oM&GE_Zg%l6^c*&`S*XK(|6D3Rjxgwm@qrz`(%oj*;FN&3nc|+6s3cy> zvi<(ldrvh%#%kS-f8iH1?hF4^G%G2_AQHjv180qO(W~$*9Z#Iwr56f3xvYQRnmwXH zlW-9;JQN+THfzQEt}j|CQeXbY!@U7fH7+n5!K!^X8p<>?I0ve~yZ3Zs$s^g3&E~?g z%b|LQ*~0b?@=vI&e9&VZIeM*!nI5K431wH>TI}-3uD{Hug$>b|ZrbEC6(GjZoczL{ z*f;w6?w368=?y4`+CES|9LRq2lIf_^z2n7g9pRCwi#ppKpf4PWHfPb2;I{yN)Co7kySN;@!RtAvj3usrm&%PwOUkZp#EMf!8 z*zy(tpi=d}cH4{p$zbsRCMljd{{_tcAR&5T%LX6)D{U40&y;8OFM0$`{V(jBdE!F!8ZQ?xU=R+vic? zdMY&pGslUajZc$SNfjG-=V6J6`+dicd)_|?`BNq(APSD%(De;w5%c?{4WZLiqr;9T@7!b@9gAq}`-Xc*Z8)5vkNPJyw4EAa@a#KWKBH;$ zgZ4}aOYJacQ-Anc3N^TM3@L)oa)tghhYrFnYQyyu zm0q=v|odH5D?bKR%Klg(`BV+E;JM|_?JyX4Bi{gh-c?y3Es~L)xzEqC*{vU& z>-0;sMgm} zqR@+6WdS`*`LDj7PihPD&QRgz_}J~EO(k4c`INj{ z%CG3Z06GsY?l^;zJHP${81n}82{@fA#LJ6_h*6B+CMA5_Eb(w)__$ zahSCRSpIfG1D@;tvEEi6x;M6v1Tqz(P|z*I;HNnGtw&T+1ROmnt%gQDf^HDFxJGS& z0;S3joJ)#cKvxCW+@ZVhYW!RGdEsIM+e-}Bp+Qn?O-xcMQXZok|3VG15ZsyK3Ewn) z`bnAvWyGA_KfN#lbiz3OG(rxFP&?F27U&pvXSLn=?NyI#jwq@Eo2G*ik4xl9Y}+lu zw5q3=eJHZL&qR`{^~$E~OTQ3A9(IM8N5k(=8tX6N{tz+BiIay>x#J{lP>*^5LtD1% zvzu0ggaRSgkiC}!jsX%mtH8 z77*vL*_YlktinVquLs`xD-hag9x+h zv1M^QJA`8zCu+x|vXv!Q;|XJPVdkzc5Pc@v7}{-Kl}g-wc`ig5rw0zS_`0Rbba1>W z#i-W2EU8a>C|&gF@k~Q%Z?6hOL~3yC;|-qh=*_P_8%M7@$7gc|<(GCa3ra;=TdwUo zosQfm{@ZgNjdGdvAt-sdK#fJ~5@zl#c!TTlQ=q?#W+{ky=le8oyH@xDt*v@QAm7Zr zTniWB80QS@6sr=OVNkg%yh_@T@t|#FquFW6za`4ukZx=!CsOizJ(Aec%hSIbVt6l} zImw;nfF+Ud*9M1J+ImKh?+QJl3A}1vVc|z&cuXjrDxZ=zME1Zm!p+8!^uTe;6pnRn z40CS6CKSd3gYwNSi!azGB=cP*eX1K)%MEaa9c##5xA-%xvkgY)-TSmENEPbGn8*=} zkIG=PWN^H(E*Q(*e7kKfKe_$4cY{Yug4k|V{7XI*EjuMuI5|Z6WxiqbWbcj#Y)@um zd}_q{ag0=&MD2#tM>9&jjymV*wrVN2<|Gdny~IVmJz&OGX1oOTH%C>cwE(t2$#b&| z#n?NEj_+{8Ev~cXoH_&3Vps+< z*{@f)N(5rSmf1|H%5%>pRLR~7$Y{NDd`U(eGCsTcP8GHFYVyw$e_?xxSc)5+pG?e7 z8VA@O5fk^SPBrL&C~9D?O2d#hvb!TSrcz&23{1Rg2+p5##EZzHLY-*TOIX?{=-krB zO)rFfY-=hrJi=$*9{PHdX@+LY`3`B9-iKYk*MOF#_CT?G(x^0}oR=0hR&gi0Y+96s zrf#*7hQ5u7(IjtG&J0<~O4q~6f970O3hCqK`%3>HOQ7LM#XJ}~&ym}x6kS;`-gSxS zXBfG!RBUs=-WeVm4?}Aeb-Ri80&VywkzDqK7x~PZt(^;6kpN5Fc#@0pL9ug^w4(I7aQFe;k&BMz+euH<4|r=gVC?H zlkw!y&P#eyfpNa7U(UV;{y(gpbx>Pd*soJ>(V|5Plprk@N^q^cpRzT-JPL&Ju-lN|oH-Wrjmm z!<4x|AaKahn2M_7`RiSL5-ea|qj0q)LHtwYZrK;xThDYe?gVA-Q!3y3fHX%FISQWv~RRchOLAx z>nhV(QePCvPQOZtrs%S?s*3M(nYgc?m+874UhD=d`L5Y0lZ1e4pa?X`{7W?DmycU0 zgO*j|!3?_<}g@7LFACOf6S4Og=WyHdTweKTZJYnuLJzUz+j$tnu7I?gO9Le0K|* z5464vfkkGNca@RsT{z%STHW-N@CCnE@iMQN3h_}`xl`IJE++V^$h2Ig&Nfmmmv=4& zxtS(^R#`?Qc~lJ|`lk>R(VQx}`Eow%V6`4bOMfU!St>&wCjN8}d^9R?xnZ0KA6+r; zE-op3e@-e4xlq%4?BHvd?&lIEK|8UdX*)dN_6(~>ZrCs{M~~4ojLFSiD=J1gh8|w@R)fIm1R4xqy2*p&shLrab~K-Jk$&jf`JqP-WWp4s7;E^?lx9E!KRkY6&=;RMc0*J1+n$z*_s#9tgsx##NT$ zchCM$tX(Aw3r-sN@6#ZwU{GgZ7PFf02k#FR^6pJ%e9V+y%Gprz$E6wv-0jqt90hvz zlHVV6UAZ4GzDRBf*{U>{cF0pnG-w9l_JIoxTVum@LnYIt9uFr6VPc%wP(v`neB%@KY~_-Oj6bxTG3- zsyf|0mEDq;dla-4AL>o}NVP9Nkr@*W~`f&-p&t0^;(n4TQuKGE0W=voM;fnRjDT*t8$a3B%k} zlT#{GwYOKH5^o9(t0|HjxPmCERS2@JOKtheOTa7FiqV?NQDzsPrzpT)Q_~`nM{h4! zKaESPoJ&2-!)I53C7R@$C5Mm&_3UEA)MzTPNG48K2u$_(|J3oGM9eR;jU9y; z%&<)E+)8wk0=H2sGpb-RXZe(E0PIP8pOZ~1VLW@sLF<9i+XPEJ3v`0g8@gl}E4XrJ zyc$x?lKzQ=yKJnce|9V<$cip4n>f)N1!?tU^utd&wAuJSpb^xiIAl85AJ4+iH_$C6J0AlJqq`~U28J7#l2XnZ0E8BTitsMaD*8%0 zWaOLmk`|Bbd-{G5+0-z<*f+oWZ>jg!44jQzKgpFTz@wVP#n9M< zB%}_i4mD*tRa$RRunAv~IO&fTnJ0<{Gq0JI8U}$(IMhEGOFE^9eU?W|WBCWgRAtLk zZ`kFLE?~ZuEeftD{3(y7^NU`1#-fOEvENJ@9h345UKaD=TyV+FrDwN87ePE=Rv)O9 zBHW>!oQub+ZDKz~m_-5lJ&)#&(YeMPO#;kPCXPF}a1a&t?{D zP->F8FBfix{c|T4Q!e@VLJY|c%pW(bm82^9h0W5Mksm0 z;yhFEa#yG=<+aOHuIe{;t%yNMDK15apyy<- z$n&%V2; zK+puLb+A_9loUOdwgr0@38i<%ehtdmh@@lRn*Tyg`kcU7J6^8ArjE`%>YQaowqs9j zb9%G;<55Y2!;MQbI!?1QmcX!Zd(9rQb$Wq{Bo-Kyc!=pbc_R^H*Os1BSN)Pq&@OF; zrr=)wM3)+=o`xui=xbuUMFOAoTOPz;5SUWM5MD$B8R+VmY_j7t05cJfTWb+zb^Ab*W!Jd(c%7ytl{oGHhkb z!xw~X(-gV%LcDrPC%`vOVd$$xe`~MIvixrunjFX*Crq%a5Z&l zh_|S-xZ-$WZ+RPmSgwlx+RD0q+U8KZ$MjPh>x=1@cy#67B0~^4#lE~*0bbZJ#2qX3pgnZ_>8A}En1eu1rG2e3Yl=rjOv1qK6=sCT z=GTur^Lcgpk8JKv12k4%IR_Edax>!jj!Dns$>-@VX?3LEL`6^7xAL00tHWN@Jzg1a z;0VF%b}R|$U2FJ^xIQudet5U6_6COB<>EezsntLxGNmHP7>|d)9)^<WBQMQ z^N1!`EpRS-6748~39ugXs(!8(z^|9L$hX%xOBkB85Ve~Y8;wyZnA~wMnp~mMsC{|l zlD8mCM;@9q4%1vjzYt`n9vZV7g-3)xCt}@`*y|qCA+<28NS@O71hrd3=~KLy8dtTV z9Zl=xiLkCl(H1@FQ}xFqjhPB$yMvAFb@dhts{slDWlx#NE6g_;j3ghsN$+y8M>vkuZ|BR_S4Qa{F}w^iVTl{ms4)oKoxSDdE;SfUi! z+y!ESbg=_w?l=BwJbYd6RKlblmNhCWvH)57qg&;IO1XdgtNgmy&~u`{>w{#XV7X4a z_P|}^wDJ&1)8)arg`Z}XrK_Cp5ISvED)r3WAI_cQ1Eo(A2zU%FS)sBb7`_lbh?hWEv-nk2Wbl_T6EZ)9lCdsA6o?r5z z>p&CKKcu9cBm^_~Xyumw-yaSjExZfE`6j%}OLXA#X9 z?_XWdZ62%iW(QWUnpgu~#Jq#ZMbzPc`+el|pTrP_0&2Yt@s!W+ z8hCewio$6&ZO2@c2@lfXHdM9_eKO&CpV;XKCSM4qvlbTc=_n2ORtSY5uH}*&Cq~M9 zc06N;q4_ggl*Q*5B$e0RZd|RklpE0B_ia`^r@8@g(|x-5S7A#7=+!|rYp7y?A_Q(x zjm@wgKM{N~aN)9|G*aj?b(HpI0Kb}}6zX3S|HC?Js}H-_Fj+R==MK-W3MlS92i70$ zo%4#A19wU|iiV)!TCxJp7+P+SOO)r!w&4d{tdSjGAL$yeUmjyflAacX<&g!CPd@lg zmzK3v6uam48ZHX3kMZWQOP4-)(Rex=JH$SvwBQ(QL--tgD&X{>uWrLQVSv6R+*@rYWVQSGKsK9SJ^*4j$w z>0dj>=)h}o+5=s+*1nK?qpu2Yl>+*1F zzS@+OZK$BBqpc6|p1>QvQr=zgX>Rx0%~Ph8lT4b%^>VPl1ilSNlYcQ~eK&Le31h_p z@3}3a>MQ+%QInHX_+d8oQ2FAIu%wlopNR&DBl<@&-}DcWz5MhTt2=QD+XZ1?-vW{- zI@b_sQbAWKli23MckD&!O4+*VeWRCssNk&kutcP@L_5;*cF48Me*~%B2S8OR9$Mx3 z0Jw`!Ec@?xgD;3BGBGFI)$MP5GW!wu!^AY zxN2HQmWW5BuB;MawME6>o<#?K&o;Fc?-|Yc7+L+@>yF)_oM2AJd_3blCqP`Y_Z3r> zT~U0_H9?%iuk&94UZ5m~_YYvWf z|9;~MfyO`O55tEj4U52_5qAI4KE8?kXRU!PBAcl*R*d49QNAf^y~H44{4jh%rpozj zLoB=UvD?QbXC-A9?#-&~SwmP(D!Q0$m9EI!l-iG1k6{DwYn8eo2aX;N3mH8+*(mEZ z`0Lqk&%Flc&sYxtgm6UwKy^l#s-oyiKHN4#NJwzR#rZB^>|vwOqDw0re86hJ=j5bP zq+T)mqKvJ`@{LaOl!V z_wn;IJ2!fFEouKSU3Ht6I`)-P>3MRpKK0~!S1RE>R0>T5G})3~pkI1s0nMlnGJt38 zg`uhze}_fog`L?tcnvJ3v?Xg>ex$y~uM*3<z#Gnx~lBWR{z`3Y8Gb1HWl34wkycedfkB`G81qzJ3>)l^0>v@{W<5L{apItH8 z*;1?py*5{dLbDC&e7o@ziFi?$qm`h5`?OLAgQ#fYAQjMx|p&UQFDp%)lW{63^j)d zbsK2uVh!|}cm&uc^)^xaQ6;RJT!}9bJteI=y#|YN!(?7WFzAo@pP3r;RJQfxhH2w^ zU#jHXa(kQ;ng~@&%9=DDYdrk({5;-f|4rwv0j0b4_yk$L`URYIKHb{JR3VX}H14Rp z&JI>i?MzaGP1u$z5Ik{qA=!_*f{pgM~IwN#3`RO)@!;h!WG@r)%l8xt?jl^c0SiEHCp2G zTFTKYlUU_2Wcu$X_Y=r&Al9Gzglfqm9s|2L;^ZM?yW$JjgYs&G^q56|Mu3){-+Fq% z7>E7ulqN@Mwg%Na=;PHx;NAPwE7S8P3^VHk0l%0sA(=oexgu~51POM}=7ykDJ7642 zU_Hb{|4>|~#4igUGTLn9q1cPlumK)zjnz(&>9bp_-AN_qZqhZuR{C9@ z*UzvXOei@U?%E&5EbjMpkGot}N++QndxN`i^YfmePKzB`QwDM=pAa zyJV=^#Vng?{KIw)CK|+s-%pPbZLdC&Yp%OOKQuF%Fss+Nc$N8X`vl54*+ds#fygsN z7pQC+=m=02s=!}R;S4XLpuGhz{UCulP#bMOuoT;V<6po@<9S>LJHb;nHtXl)K8&k# z2-#`_tdCRw`2nUc$#h;;f=mqVDXk;@Y=DQ#!lAe@F%G!z?iw=h89ROVuzoOn@ zkXB1#UgFeWl7)uZ_p#?mnjznqS>-0q^aJm_tE4L8#Ud$NawGY*?%Jjm(5|1%&AZYg zHwN}4e$k=vp`U?^54EGsI92L35KDJq*>nD`8#3lp8hajgnF1Hw2Pr?o1uwpGv5AAm z9u@>osl|O@n4vU!Ln{YaT)V2yBr@kt>CF8aPi|@HL2jnYz@w_7YD4?ReIG#^v3RI@ zCw9K#=EgE7cJ?xwSJP(Z?95FPzxq?xu|-VOH%;9xAAuzA2_FnDY`d2Js>7K_4kkfb zOFVEXeBnm1_szMRw|QGpu{nrX;yrFST;dm8Q5La}w6uUB5sMiQ`)oTyG$J{sUSVZq zvlc&P{~lyn`i&FMeYHKrgS5pv-Hy6@b~ttjf%yeRxdrjUTB^zvrlC(nB#+z50AFnk zr3CGSk>Vf3UoQdThLMaucI~iS|kKiQw)ZGELlH z-5|*L)+8jf*uF*e{(mMf{*%9W%T(8ZfFCR|+HplP+@xs})!OPwy)q<-@C!s*HH1kw zhdV5g{Sokj)}5$TI{<%5{911u;$^|;eHk1~tJRJ9v2f7Px|G>yhiep9Vqz!Lqu_rs zM3MGz#(Q)A40|2XxM7nwlA8Wh>r`#rccYsDwj@slN&?w9>eD0F+Tvy-9W_C=b=!AU*=6R1#`9&srnLpyEa_SLe|T3M zUz#}zPNwL#bEOQy0}D$9{l0HB@!ei!MaiefRr^ep!k05pQ_l?wGDTB~5|W&jnbEi{ z%^?W4K>jcjRToc*w$FjoHnoi+nU`0V0Y3{r!*tI*;{5g&Fw12kEHw z=w)Da@nGJkjW664sokyO1-l*mR89mE*RvD%7F#;dj^ySZG@vPI6^v1ev(~$T>31vM zFsrH+fv!cMu+r=zv5a|j?dxl!MPrpilGWArqBJhT)hKo;cpgVq2>OnZibWGIf@p*^ zLTN){py4D8zW-`PLxX1Ny;v+l~15pp~+j7ej4U!tdG+e9t=2P`9PD zk32~Au2g@+l0wMpB$e_7r8lLoEWt;Gm<0l5$Nv4v{DkB$(L9hL%%9EFg#D{~49)tF zc+jdvlA*@pDveosR?Df8WZrRG{qa6eX1({_>t@2TVnaCTL_!6|zaR2YvmN7enmd(Q zYNg~4Kz`8?cV`2{#}5W%YtpC$neENoo~ou)%P|MXL^henWdWbk($gP=-6r{=h*6Fs zmy?kR8qR&op3BldI@V<*5kNZYI+JNgJVW1LD^3}zvnXYxAUM%Cb`z?Z3kI{CNnIjvpx;_>vllo6Tp$w(k!LD zQWEjd4+(GRK6+4&N1F4XuN_Z~#mmNN(^3jHA_inEEpkU$fI#k;c*{}BeQwMs&*rN4 z*g*? z=#7C@7##0gCc)-oHFY!9P&4HcB2_%%6)?t{qPSXF)p4i!y5g+zX#IpAJ4aXaVbtIJ{d#bcy69chE(uG$-e8In1DjD6AvN@pPB0#y9xk)qcLNz zYrO>X+`K?p-Fp&#;yP>|S~6!-uHCa&gJJSFU$Dx}RnyT=7A%|Uaf=E|&44?-**~*K z#@gyaQvL}Vd-7kGsC~Uv#}aM{fbR!Iv)*!j{Z#D-zArQD|0~&c3*jfScO5~M*cxni zh_4kLVsBDcS_LEj0tDQFhc?Ev zQb(s*^W!dUs1Kw|#M)OWm|Zhyhh|3M^&$L<6nJI1K|ohz(Cqqw6)$KK`` z&xKfVsbi-L-XsbMaQs}We)sVxUs%0TV;u@ol2&hZ_pPHPDN*t-Xq08dnkLs7xog&+ zLPSsDBYlc@e@==ar`)kGMa!dft|ioqP%h4&mN9-NcPDyyyI&Q5jW6{Kr;L6)Vrt=N z?^I%8=3`Aa!xxrQ*JjW1_|wl@cTW?C)cIpvhA0+($^;eKw>~SI-~e+9Q~CvlYQz?B zHt9C;Tm^u`5aeOw93;YQ5su93R_R%W9{I!UmIb9wsEeGUKfyE+Of=uxg&_=#5z zI(TfiLoA{COtMB(qw{;khd8Qck@tk5`63SD>di!lA z5K?oHC()24184KLYJ?j^+aL}(@;ZeKtblI!b}gL;W!_AV6F#;#W<^wJi(yD3CS?^_ z^qgQs{xM$7Lc%$F#&y~6zim}nrFLi2Wu z^W@)pGU?^(TgQZQC<rlRfSHgYmZIL48Do2sQL>idTgg>c}UzSba(dNd=&>z4PMDT>8BDC z(cggYxfJ(2ln6IgwownSs>3QuMAYz-s{Cnp30}pQ&nte3WQ54wh&!|d8_(x;aX4Ru zI``hPM!QO`zL)B97NTZi1>9!g@BifYc>f{bhUbr03FXa z0AYeK$rOB4GUHgH)t|I@Z@y47t!j#s*-kOKuE8Qn@Huxa3lGu>zd73_G1MxrQY@!D zTnc7k%f~Les6YLhtlfjAcvf$U-~*M#1C7XtDjITI%0b%=S1o?Ggu(CA*uA57^!Xr-i&vsGG4je zrv5%Fvpa5|1=ZE47ADF{aV#fmZ_%7Oi5&^o?T%GDdw2p;soCx2Pwzzj63p?iHq*{5Cjs~P~2s)pKUCt!asLN6Yu@i&iKHoucN(?ny z%2?F>1WGm`{FFQV_&?FPnf;;bZ`c;eyS3n1xBtW(G=iFT6zf67c-uzIvDJ3A+I}h5 z@u*YHPq!%%>|ET16%e82ZA8jF9#u0$vMS2HTBGReOu}~LawnEMB z*(^@(trAQ3UqE;x!d*oITNAQS-#XV|(|j7zwGU)P!`}$(XKU71Q&;qT)6*UMtWi~2 z?QP<|b&Vg?O8VOeC3jmw?#?}SEE8+bQAG2WGUhuqMtuTnHEAnTwYcV{(g`#}SO(2E z=smdmHK=O>U{Xv_Whfh)mZTAtjC25-1OIjj@#hW8$T*j{Lg3col&T_+45W^hZUvKn z#ZTGAXHVRBmC1k#uI1wtZZ0MD1{i)dE{8)Jp9ogQp*gJtdof^A?^B$LQmm9fvsT~R zf?O>%J^y;nb!S{;i9vh!#7c2{r&oK=hF+FDa$o9K-hu!(CmPgh-tCFn*A-EgMwz_u z1IanDkZFj$}IbFP1S-MllU ze1FTqqAP7ThWdmQYuwumnRH0rqx+`cvgJ8YrWCPHK~Zg)NHy;%X^X4g5iBt3ayC>e z@uhthmz$oe*W3(cy<4XxVoaOaR#Y5Z=6?qMToy&$G~yYo)loHpPRsX}V-}pGyVkafrX~pIFzOVEJa2&{Jvnd(QLu!pm zjVCvk%#G`tyL6b=^{7Rm`Oa5qHk (P4Z`;l&eIBfj6r#L8J4>{-A+ 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 JaQyH2{{!Ha_|pIY literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/loading_dialog_bg.xml b/app/src/main/res/drawable/loading_dialog_bg.xml new file mode 100644 index 0000000..68502be --- /dev/null +++ b/app/src/main/res/drawable/loading_dialog_bg.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/permission_dialog_cancel_bg.xml b/app/src/main/res/drawable/permission_dialog_cancel_bg.xml new file mode 100644 index 0000000..b0cfe93 --- /dev/null +++ b/app/src/main/res/drawable/permission_dialog_cancel_bg.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/permission_dialog_confirm_bg.xml b/app/src/main/res/drawable/permission_dialog_confirm_bg.xml new file mode 100644 index 0000000..030cb23 --- /dev/null +++ b/app/src/main/res/drawable/permission_dialog_confirm_bg.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/recycler_item_bg.xml b/app/src/main/res/drawable/recycler_item_bg.xml new file mode 100644 index 0000000..45668ac --- /dev/null +++ b/app/src/main/res/drawable/recycler_item_bg.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/src/main/res/layout/activity_constraint_layout_demo.xml b/app/src/main/res/layout/activity_constraint_layout_demo.xml new file mode 100644 index 0000000..fcad020 --- /dev/null +++ b/app/src/main/res/layout/activity_constraint_layout_demo.xml @@ -0,0 +1,357 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..5f88e20 --- /dev/null +++ b/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..bfe34c9 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_mine_center.xml b/app/src/main/res/layout/activity_mine_center.xml new file mode 100644 index 0000000..97845bf --- /dev/null +++ b/app/src/main/res/layout/activity_mine_center.xml @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_recycler_view_demo.xml b/app/src/main/res/layout/activity_recycler_view_demo.xml new file mode 100644 index 0000000..4414d8a --- /dev/null +++ b/app/src/main/res/layout/activity_recycler_view_demo.xml @@ -0,0 +1,8 @@ + + diff --git a/app/src/main/res/layout/dialog_input_text.xml b/app/src/main/res/layout/dialog_input_text.xml new file mode 100644 index 0000000..8670dca --- /dev/null +++ b/app/src/main/res/layout/dialog_input_text.xml @@ -0,0 +1,60 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/dialog_loading.xml b/app/src/main/res/layout/dialog_loading.xml new file mode 100644 index 0000000..97784e1 --- /dev/null +++ b/app/src/main/res/layout/dialog_loading.xml @@ -0,0 +1,29 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_history.xml b/app/src/main/res/layout/fragment_history.xml new file mode 100644 index 0000000..6a1655a --- /dev/null +++ b/app/src/main/res/layout/fragment_history.xml @@ -0,0 +1,20 @@ + + + + + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..7450be1 --- /dev/null +++ b/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml new file mode 100644 index 0000000..61aab2f --- /dev/null +++ b/app/src/main/res/layout/fragment_mine.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_plan.xml b/app/src/main/res/layout/fragment_plan.xml new file mode 100644 index 0000000..65f4afb --- /dev/null +++ b/app/src/main/res/layout/fragment_plan.xml @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/include_activity_back_whitebg_layout.xml b/app/src/main/res/layout/include_activity_back_whitebg_layout.xml new file mode 100644 index 0000000..1e945ac --- /dev/null +++ b/app/src/main/res/layout/include_activity_back_whitebg_layout.xml @@ -0,0 +1,62 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/include_title_history_layout.xml b/app/src/main/res/layout/include_title_history_layout.xml new file mode 100644 index 0000000..372da75 --- /dev/null +++ b/app/src/main/res/layout/include_title_history_layout.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/app/src/main/res/layout/include_title_home_layout.xml b/app/src/main/res/layout/include_title_home_layout.xml new file mode 100644 index 0000000..fca8037 --- /dev/null +++ b/app/src/main/res/layout/include_title_home_layout.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/app/src/main/res/layout/include_title_mine_layout.xml b/app/src/main/res/layout/include_title_mine_layout.xml new file mode 100644 index 0000000..0093511 --- /dev/null +++ b/app/src/main/res/layout/include_title_mine_layout.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/app/src/main/res/layout/include_title_plan_layout.xml b/app/src/main/res/layout/include_title_plan_layout.xml new file mode 100644 index 0000000..b248a2f --- /dev/null +++ b/app/src/main/res/layout/include_title_plan_layout.xml @@ -0,0 +1,26 @@ + + + + + + + diff --git a/app/src/main/res/layout/item_recycler_demo.xml b/app/src/main/res/layout/item_recycler_demo.xml new file mode 100644 index 0000000..db1696f --- /dev/null +++ b/app/src/main/res/layout/item_recycler_demo.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + diff --git a/app/src/main/res/layout/permission_confirm_dialog.xml b/app/src/main/res/layout/permission_confirm_dialog.xml new file mode 100644 index 0000000..20a04bb --- /dev/null +++ b/app/src/main/res/layout/permission_confirm_dialog.xml @@ -0,0 +1,56 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/permission_top_dialog.xml b/app/src/main/res/layout/permission_top_dialog.xml new file mode 100644 index 0000000..3ab556c --- /dev/null +++ b/app/src/main/res/layout/permission_top_dialog.xml @@ -0,0 +1,36 @@ + + + + + + + + diff --git a/app/src/main/res/menu/bottom_navigation_menu.xml b/app/src/main/res/menu/bottom_navigation_menu.xml new file mode 100644 index 0000000..2ebdc84 --- /dev/null +++ b/app/src/main/res/menu/bottom_navigation_menu.xml @@ -0,0 +1,19 @@ + +