From b8209d15d915f72d9abe3a68b76e1f4cfd21eac3 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期六, 23 九月 2023 14:37:00 +0800
Subject: [PATCH] 2023年09月23日14:36:51

---
 app/src/main/res/layout/activity_change_password.xml                           |  315 ++++++++
 app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java          |  494 +++++++++++++
 app/src/main/res/layout/text_underline.xml                                     |   27 
 app/src/main/res/layout/fragment_message.xml                                   |    9 
 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java    |   12 
 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java     |    6 
 app/src/main/res/drawable/message_select.png                                   |    0 
 app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java            |    2 
 app/src/main/res/layout/activity_my_power_station.xml                          |   34 
 .idea/misc.xml                                                                 |   23 
 app/src/main/res/layout/frgment_house_list_line.xml                            |    2 
 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationTipDialog.java       |   94 ++
 .idea/vcs.xml                                                                  |    2 
 app/src/main/res/layout/dialog_confirm_input.xml                               |    0 
 app/src/main/res/layout/dialog_confirmation_tip.xml                            |   55 +
 app/src/main/res/layout/activity_home_login.xml                                |   14 
 app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java               |   41 
 app/src/main/res/drawable/spinner.png                                          |    0 
 app/src/main/res/drawable/succeed.png                                          |    0 
 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationExceptionDialog.java |    6 
 app/build.gradle                                                               |    8 
 app/src/main/res/layout/dialog_exception_log.xml                               |    0 
 app/src/main/res/drawable/red_font.xml                                         |    5 
 app/src/main/res/values/strings.xml                                            |   24 
 app/src/main/AndroidManifest.xml                                               |   37 
 app/src/main/res/drawable/confirmation_bj.xml                                  |    5 
 app/src/main/res/layout/home_bottom_line.xml                                   |   19 
 app/src/main/res/layout/activity_register_account.xml                          |  347 +++++++++
 app/src/main/java/com/hdl/photovoltaic/HDLApp.java                             |   15 
 app/src/main/res/drawable/region.png                                           |    0 
 /dev/null                                                                      |  161 ----
 app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java                |   18 
 app/src/main/res/layout/fragment_house_list.xml                                |    5 
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java         |   37 +
 app/src/main/res/drawable/message_unselected.png                               |    0 
 app/src/main/res/layout/dialog_confirm_cancel.xml                              |    0 
 app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java               |    4 
 app/src/main/res/drawable/back.png                                             |    0 
 local.properties                                                               |    4 
 .idea/compiler.xml                                                             |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java          |   65 +
 app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java |  112 +++
 app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java              |   92 ++
 app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java               |   45 
 app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java               |    2 
 45 files changed, 1,832 insertions(+), 311 deletions(-)

diff --git a/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock b/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock
deleted file mode 100644
index 7961508..0000000
--- a/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock
+++ /dev/null
Binary files differ
diff --git a/.gradle/7.2/dependencies-accessors/gc.properties b/.gradle/7.2/dependencies-accessors/gc.properties
deleted file mode 100644
index e69de29..0000000
--- a/.gradle/7.2/dependencies-accessors/gc.properties
+++ /dev/null
diff --git a/.gradle/7.2/executionHistory/executionHistory.bin b/.gradle/7.2/executionHistory/executionHistory.bin
deleted file mode 100644
index dd93495..0000000
--- a/.gradle/7.2/executionHistory/executionHistory.bin
+++ /dev/null
Binary files differ
diff --git a/.gradle/7.2/executionHistory/executionHistory.lock b/.gradle/7.2/executionHistory/executionHistory.lock
deleted file mode 100644
index 485e5cc..0000000
--- a/.gradle/7.2/executionHistory/executionHistory.lock
+++ /dev/null
Binary files differ
diff --git a/.gradle/7.2/fileChanges/last-build.bin b/.gradle/7.2/fileChanges/last-build.bin
deleted file mode 100644
index f76dd23..0000000
--- a/.gradle/7.2/fileChanges/last-build.bin
+++ /dev/null
Binary files differ
diff --git a/.gradle/7.2/fileHashes/fileHashes.bin b/.gradle/7.2/fileHashes/fileHashes.bin
deleted file mode 100644
index 44367e9..0000000
--- a/.gradle/7.2/fileHashes/fileHashes.bin
+++ /dev/null
Binary files differ
diff --git a/.gradle/7.2/fileHashes/fileHashes.lock b/.gradle/7.2/fileHashes/fileHashes.lock
deleted file mode 100644
index 3fc59e4..0000000
--- a/.gradle/7.2/fileHashes/fileHashes.lock
+++ /dev/null
Binary files differ
diff --git a/.gradle/7.2/fileHashes/resourceHashesCache.bin b/.gradle/7.2/fileHashes/resourceHashesCache.bin
deleted file mode 100644
index f9d3a07..0000000
--- a/.gradle/7.2/fileHashes/resourceHashesCache.bin
+++ /dev/null
Binary files differ
diff --git a/.gradle/7.2/gc.properties b/.gradle/7.2/gc.properties
deleted file mode 100644
index e69de29..0000000
--- a/.gradle/7.2/gc.properties
+++ /dev/null
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
deleted file mode 100644
index c06cb4b..0000000
--- a/.gradle/buildOutputCleanup/buildOutputCleanup.lock
+++ /dev/null
Binary files differ
diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
deleted file mode 100644
index 52d6929..0000000
--- a/.gradle/buildOutputCleanup/cache.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-#Fri Jun 30 13:44:03 CST 2023
-gradle.version=6.7.1
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
deleted file mode 100644
index 197fcf4..0000000
--- a/.gradle/buildOutputCleanup/outputFiles.bin
+++ /dev/null
Binary files differ
diff --git a/.gradle/checksums/checksums.lock b/.gradle/checksums/checksums.lock
deleted file mode 100644
index 06e98ce..0000000
--- a/.gradle/checksums/checksums.lock
+++ /dev/null
Binary files differ
diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties
deleted file mode 100644
index e69de29..0000000
--- a/.gradle/vcs-1/gc.properties
+++ /dev/null
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index fb7f4a8..61a9130 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="CompilerConfiguration">
-    <bytecodeTargetLevel target="11" />
+    <bytecodeTargetLevel target="1.8" />
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml b/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml
deleted file mode 100644
index 35348b6..0000000
--- a/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.activity:activity:1.2.3@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ee1d03f4d84cb751875323eb696cf182/activity-1.2.3/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/5704de195441da262a1d207a21eb2942/transformed/activity-1.2.3/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ee1d03f4d84cb751875323eb696cf182/activity-1.2.3/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ee1d03f4d84cb751875323eb696cf182/activity-1.2.3/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ee1d03f4d84cb751875323eb696cf182/activity-1.2.3/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.2.3/90a39fdeb6c8aa134518e9fc089fd2625a0329b0/activity-1.2.3-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml b/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml
deleted file mode 100644
index 74437d7..0000000
--- a/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.annotation:annotation:1.2.0">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.2.0/57136ff68ee784c6e19db34ed4a175338fadfde1/annotation-1.2.0.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.2.0/8945212022e5276658ab7864714ced3553ea724a/annotation-1.2.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml
deleted file mode 100644
index d11fd76..0000000
--- a/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.annotation:annotation-experimental:1.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/229856f282cf772d5a8ee491d8a5b8d0/transformed/annotation-experimental-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4939804f6be9e46f24a6ccaa16fa4288/jetified-annotation-experimental-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4939804f6be9e46f24a6ccaa16fa4288/jetified-annotation-experimental-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4939804f6be9e46f24a6ccaa16fa4288/jetified-annotation-experimental-1.0.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation-experimental/1.0.0/2408f6cb8f31ffabdd88e1365f82914c251e44dc/annotation-experimental-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml b/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml
deleted file mode 100644
index 7324c48..0000000
--- a/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.appcompat:appcompat:1.3.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/298b5d4311fba41c1e032cda28f5ed8e/appcompat-1.3.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/298b5d4311fba41c1e032cda28f5ed8e/appcompat-1.3.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/298b5d4311fba41c1e032cda28f5ed8e/appcompat-1.3.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/298b5d4311fba41c1e032cda28f5ed8e/appcompat-1.3.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.appcompat/appcompat/1.3.0/45a346a05e7ff27a01c59452379c5939cbb53c03/appcompat-1.3.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml b/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml
deleted file mode 100644
index 2893cc5..0000000
--- a/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.appcompat:appcompat-resources:1.3.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9f18e8d8b91f057cef24442913add79a/appcompat-resources-1.3.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9f18e8d8b91f057cef24442913add79a/appcompat-resources-1.3.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9f18e8d8b91f057cef24442913add79a/appcompat-resources-1.3.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.appcompat/appcompat-resources/1.3.0/fa1169a9b404f7e905756330af6d13e27dcee50e/appcompat-resources-1.3.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml b/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml
deleted file mode 100644
index 2208415..0000000
--- a/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.arch.core:core-common:2.1.0">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/b3152fc64428c9354344bd89848ecddc09b6f07e/core-common-2.1.0.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/80ac2d7c8e6400ce2fbc663cd1a7e1cbef38c4b8/core-common-2.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml b/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml
deleted file mode 100644
index d4a5ef2..0000000
--- a/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.arch.core:core-runtime:2.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/ee0f266e48729b9951a5b318575e5eaf/transformed/core-runtime-2.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/336f3088b96051a4eb402160554e8f0e/core-runtime-2.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/336f3088b96051a4eb402160554e8f0e/core-runtime-2.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/336f3088b96051a4eb402160554e8f0e/core-runtime-2.0.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-runtime/2.0.0/bc41b287c95bc50a3cd27cb1b7cfb301805ba7f1/core-runtime-2.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml b/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml
deleted file mode 100644
index 42eb74d..0000000
--- a/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.arch.core:core-runtime:2.1.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/aa032f33b1d34c08ed370a72f750a373/transformed/core-runtime-2.1.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1bf6be4e02240609e5974d2c9c89b619/core-runtime-2.1.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1bf6be4e02240609e5974d2c9c89b619/core-runtime-2.1.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1bf6be4e02240609e5974d2c9c89b619/core-runtime-2.1.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-runtime/2.1.0/f19886651c9946b39f83d8c184fd0e2ce9f43c16/core-runtime-2.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml
deleted file mode 100644
index 74117c6..0000000
--- a/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.asynclayoutinflater:asynclayoutinflater:1.0.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/dddae96cfa5564f52996739cb78817ca/transformed/asynclayoutinflater-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/dddae96cfa5564f52996739cb78817ca/transformed/asynclayoutinflater-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/dddae96cfa5564f52996739cb78817ca/transformed/asynclayoutinflater-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/54cf4d35f1edaba048791108a93cc88c/asynclayoutinflater-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/54cf4d35f1edaba048791108a93cc88c/asynclayoutinflater-1.0.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/54cf4d35f1edaba048791108a93cc88c/asynclayoutinflater-1.0.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.asynclayoutinflater/asynclayoutinflater/1.0.0/ac4d50701fce5c88dcc514f58e695cd32f05134c/asynclayoutinflater-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_aar.xml
deleted file mode 100644
index bacb5cd..0000000
--- a/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.cardview:cardview:1.0.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ab96ea52733fdbb8061ce79e2a9b86ce/cardview-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ab96ea52733fdbb8061ce79e2a9b86ce/cardview-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ab96ea52733fdbb8061ce79e2a9b86ce/cardview-1.0.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.cardview/cardview/1.0.0/c9f3ce7ca74ad2c978230f4094ba6804c5166f9c/cardview-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml b/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml
deleted file mode 100644
index eafc05e..0000000
--- a/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.collection:collection:1.1.0">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.1.0/1f27220b47669781457de0d600849a5de0e89909/collection-1.1.0.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.1.0/bae67b0019fbb38498198fcc2d0282a340b71c5b/collection-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_0_4_aar.xml b/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_0_4_aar.xml
deleted file mode 100644
index 12fc804..0000000
--- a/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_0_4_aar.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.constraintlayout:constraintlayout:2.0.4@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/86106ff90022ae6b4f77cc1f640732f2/constraintlayout-2.0.4/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/86106ff90022ae6b4f77cc1f640732f2/constraintlayout-2.0.4/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/86106ff90022ae6b4f77cc1f640732f2/constraintlayout-2.0.4/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_2_0_4.xml b/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_2_0_4.xml
deleted file mode 100644
index cba1dae..0000000
--- a/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_2_0_4.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.constraintlayout:constraintlayout-solver:2.0.4">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout-solver/2.0.4/1f001d7db280a89a6c26b26a66eb064bb6d5efeb/constraintlayout-solver-2.0.4.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml b/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml
deleted file mode 100644
index f855b86..0000000
--- a/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.coordinatorlayout:coordinatorlayout:1.1.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8f21ac2caece07776f3df5f762d36184/coordinatorlayout-1.1.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8f21ac2caece07776f3df5f762d36184/coordinatorlayout-1.1.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8f21ac2caece07776f3df5f762d36184/coordinatorlayout-1.1.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8f21ac2caece07776f3df5f762d36184/coordinatorlayout-1.1.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.coordinatorlayout/coordinatorlayout/1.1.0/a15529ac349d76a872ae5ef42b84c320c456cd7f/coordinatorlayout-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml b/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml
deleted file mode 100644
index 11cf615..0000000
--- a/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.core:core:1.5.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ac221f5259ac1cb92077957df5f3ed6d/core-1.5.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ac221f5259ac1cb92077957df5f3ed6d/core-1.5.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ac221f5259ac1cb92077957df5f3ed6d/core-1.5.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ac221f5259ac1cb92077957df5f3ed6d/core-1.5.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.core/core/1.5.0/b59df19e06f42e39b6d6ee97b2a1e42fd7c88204/core-1.5.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml
deleted file mode 100644
index d5b8314..0000000
--- a/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.cursoradapter:cursoradapter:1.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/ba5c646dbbc9b110b0bbc2352c403cb8/transformed/cursoradapter-1.0.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4cceea6f4d93c84cbc0ebcb21647d02e/cursoradapter-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4cceea6f4d93c84cbc0ebcb21647d02e/cursoradapter-1.0.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4cceea6f4d93c84cbc0ebcb21647d02e/cursoradapter-1.0.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.cursoradapter/cursoradapter/1.0.0/1e323083b41c31fd4d45510dfce50614963c3c6c/cursoradapter-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_customview_customview_1_1_0_aar.xml b/.idea/libraries/Gradle__androidx_customview_customview_1_1_0_aar.xml
deleted file mode 100644
index 5dbe96d..0000000
--- a/.idea/libraries/Gradle__androidx_customview_customview_1_1_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.customview:customview:1.1.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/05004be9d5f40db3a3f43ef3ca30f636/transformed/customview-1.1.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/05004be9d5f40db3a3f43ef3ca30f636/transformed/customview-1.1.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/05004be9d5f40db3a3f43ef3ca30f636/transformed/customview-1.1.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7140e95b95fa22a5e371696a2f971537/customview-1.1.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7140e95b95fa22a5e371696a2f971537/customview-1.1.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7140e95b95fa22a5e371696a2f971537/customview-1.1.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.customview/customview/1.1.0/be631aafb1eb3f64c9cc57083a21a3321cf2e2e1/customview-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml
deleted file mode 100644
index cfb10fa..0000000
--- a/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.documentfile:documentfile:1.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/ee01feab513af078bd998cbe0bb6086b/transformed/documentfile-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f767aa895dfc7ff8d239931b99ee5c8d/documentfile-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f767aa895dfc7ff8d239931b99ee5c8d/documentfile-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f767aa895dfc7ff8d239931b99ee5c8d/documentfile-1.0.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.documentfile/documentfile/1.0.0/a1bed5cf96db96bd06a2feade98fe55653811dc8/documentfile-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_1_1_aar.xml b/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_1_1_aar.xml
deleted file mode 100644
index 01d827d..0000000
--- a/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_1_1_aar.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.drawerlayout:drawerlayout:1.1.1@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/f9f13cb9407dc9161caf4cf532aae1a0/transformed/drawerlayout-1.1.1/annotations.zip!/" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a4aa4d25efb800a4be2f233b6bf754cf/drawerlayout-1.1.1/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/f9f13cb9407dc9161caf4cf532aae1a0/transformed/drawerlayout-1.1.1/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/f9f13cb9407dc9161caf4cf532aae1a0/transformed/drawerlayout-1.1.1/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/f9f13cb9407dc9161caf4cf532aae1a0/transformed/drawerlayout-1.1.1/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a4aa4d25efb800a4be2f233b6bf754cf/drawerlayout-1.1.1/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a4aa4d25efb800a4be2f233b6bf754cf/drawerlayout-1.1.1/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a4aa4d25efb800a4be2f233b6bf754cf/drawerlayout-1.1.1/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.drawerlayout/drawerlayout/1.1.1/d95f7d9cd7d95cc0c038bbcf9c65f521b56fee55/drawerlayout-1.1.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml
deleted file mode 100644
index 01015f8..0000000
--- a/.idea/libraries/Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.dynamicanimation:dynamicanimation:1.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/2732231502652d49f6471d738fea92f2/transformed/dynamicanimation-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9efd78ca0ae5926981f91d72f1ac6bba/dynamicanimation-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9efd78ca0ae5926981f91d72f1ac6bba/dynamicanimation-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9efd78ca0ae5926981f91d72f1ac6bba/dynamicanimation-1.0.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.dynamicanimation/dynamicanimation/1.0.0/5c050e29af5033ff5e2d58ccf657ae92fdfbda4a/dynamicanimation-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml b/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml
deleted file mode 100644
index 7cf2c03..0000000
--- a/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.fragment:fragment:1.3.4@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1661923751ff5bba9215c6486b5baa4e/fragment-1.3.4/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1661923751ff5bba9215c6486b5baa4e/fragment-1.3.4/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1661923751ff5bba9215c6486b5baa4e/fragment-1.3.4/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1661923751ff5bba9215c6486b5baa4e/fragment-1.3.4/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.fragment/fragment/1.3.4/7d1a4c5b4083d27dd3ec8cbc2cfff6187995e642/fragment-1.3.4-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml
deleted file mode 100644
index a8c8a74..0000000
--- a/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.interpolator:interpolator:1.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/9e495b0e9f7cb70c1ccd9a8c2fa3dac5/transformed/interpolator-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/bb45526baa6e7377e49188f4d97dea78/interpolator-1.0.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/bb45526baa6e7377e49188f4d97dea78/interpolator-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/bb45526baa6e7377e49188f4d97dea78/interpolator-1.0.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.interpolator/interpolator/1.0.0/fefd5e3cbc479b6b4a9532d05688a1e659e8d3d2/interpolator-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml
deleted file mode 100644
index 2342d08..0000000
--- a/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.legacy:legacy-support-core-ui:1.0.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/010e175a01a56214c9e0513773f6cc6d/transformed/legacy-support-core-ui-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/010e175a01a56214c9e0513773f6cc6d/transformed/legacy-support-core-ui-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/010e175a01a56214c9e0513773f6cc6d/transformed/legacy-support-core-ui-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/2da7474c7cfebbb1451e29b53e12550d/legacy-support-core-ui-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/2da7474c7cfebbb1451e29b53e12550d/legacy-support-core-ui-1.0.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/2da7474c7cfebbb1451e29b53e12550d/legacy-support-core-ui-1.0.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.legacy/legacy-support-core-ui/1.0.0/f6044eaebe354c778f1f147ddb9e92a3f1e22fc7/legacy-support-core-ui-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml
deleted file mode 100644
index c7890fd..0000000
--- a/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.legacy:legacy-support-core-utils:1.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/ea99aa67336d4d62f7f663b262956f65/transformed/legacy-support-core-utils-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0e0777bf7ce75d1a724422efc47fdfc5/legacy-support-core-utils-1.0.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0e0777bf7ce75d1a724422efc47fdfc5/legacy-support-core-utils-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0e0777bf7ce75d1a724422efc47fdfc5/legacy-support-core-utils-1.0.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.legacy/legacy-support-core-utils/1.0.0/46c37f178088153618cfb0afef08ec96c48f93cb/legacy-support-core-utils-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml
deleted file mode 100644
index b720be1..0000000
--- a/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.legacy:legacy-support-v4:1.0.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/fbd8dda460e62af0bcea3ac84c47eb75/transformed/legacy-support-v4-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/fbd8dda460e62af0bcea3ac84c47eb75/transformed/legacy-support-v4-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/fbd8dda460e62af0bcea3ac84c47eb75/transformed/legacy-support-v4-1.0.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/260a4e89827a51e4419a1a63648f9e32/legacy-support-v4-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/260a4e89827a51e4419a1a63648f9e32/legacy-support-v4-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/260a4e89827a51e4419a1a63648f9e32/legacy-support-v4-1.0.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.legacy/legacy-support-v4/1.0.0/5b8f86fea035328fc9e8c660773037a3401ce25f/legacy-support-v4-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml b/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml
deleted file mode 100644
index a1e1912..0000000
--- a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.lifecycle:lifecycle-common:2.3.1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.3.1/fc466261d52f4433863642fb40d12441ae274a98/lifecycle-common-2.3.1.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.3.1/36a4f870521a07778cf045be0274793c6298ec6/lifecycle-common-2.3.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml b/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml
deleted file mode 100644
index 6d8aae6..0000000
--- a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.lifecycle:lifecycle-livedata:2.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/cd9cd29673892a0e2248638b2c2d4621/transformed/lifecycle-livedata-2.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1fdf61e51bd8473e4c598b0b10b0fbab/lifecycle-livedata-2.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1fdf61e51bd8473e4c598b0b10b0fbab/lifecycle-livedata-2.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1fdf61e51bd8473e4c598b0b10b0fbab/lifecycle-livedata-2.0.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-livedata/2.0.0/740ce61935bd789380c01178bd8ce402402ebd2f/lifecycle-livedata-2.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml b/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml
deleted file mode 100644
index 60f6dfd..0000000
--- a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.3.1@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/4d096289f706d6915eed658ad09fa4f8/transformed/lifecycle-livedata-core-2.3.1/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f36705907f40125e3d33bdad0a62fa93/lifecycle-livedata-core-2.3.1/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f36705907f40125e3d33bdad0a62fa93/lifecycle-livedata-core-2.3.1/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f36705907f40125e3d33bdad0a62fa93/lifecycle-livedata-core-2.3.1/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-livedata-core/2.3.1/38ecd5651d87b6db994df01f93fc72d6e59b846a/lifecycle-livedata-core-2.3.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml b/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml
deleted file mode 100644
index eb75944..0000000
--- a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.lifecycle:lifecycle-runtime:2.3.1@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/18924a897e40351f538a00c3961cf5db/lifecycle-runtime-2.3.1/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/18924a897e40351f538a00c3961cf5db/lifecycle-runtime-2.3.1/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/18924a897e40351f538a00c3961cf5db/lifecycle-runtime-2.3.1/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-runtime/2.3.1/ae7040cf314de81d20ac69f28f5ab6c9a2c0d1ab/lifecycle-runtime-2.3.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml b/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml
deleted file mode 100644
index fa3649a..0000000
--- a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.3.1@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a748ad3c620badb1e5f1e2b819c15950/lifecycle-viewmodel-2.3.1/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a748ad3c620badb1e5f1e2b819c15950/lifecycle-viewmodel-2.3.1/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a748ad3c620badb1e5f1e2b819c15950/lifecycle-viewmodel-2.3.1/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-viewmodel/2.3.1/55d6fa3541ca02167b0bd62a16fbdaec2a71622/lifecycle-viewmodel-2.3.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml b/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml
deleted file mode 100644
index de96b5e..0000000
--- a/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.1@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/a269e192bb0a313f57b4ad5fd6c4e2c9/transformed/lifecycle-viewmodel-savedstate-2.3.1/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ddb3e15340c15d1c81bff06f8781ce2e/jetified-lifecycle-viewmodel-savedstate-2.3.1/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ddb3e15340c15d1c81bff06f8781ce2e/jetified-lifecycle-viewmodel-savedstate-2.3.1/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ddb3e15340c15d1c81bff06f8781ce2e/jetified-lifecycle-viewmodel-savedstate-2.3.1/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-viewmodel-savedstate/2.3.1/411f92301435123d502de27b6f3262c062f3bd7a/lifecycle-viewmodel-savedstate-2.3.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml
deleted file mode 100644
index af8160e..0000000
--- a/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.loader:loader:1.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/e68bd84e89a1199c0e0bb7915ca54e8d/transformed/loader-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1c3f44df64360fcb0f8070cb79c76506/loader-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1c3f44df64360fcb0f8070cb79c76506/loader-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1c3f44df64360fcb0f8070cb79c76506/loader-1.0.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.loader/loader/1.0.0/b9ef587f3e46c7fe5b00264989764e43ff45cada/loader-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml
deleted file mode 100644
index 3bced45..0000000
--- a/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/23bc2eaa3d335b525ba2ecfef837b657/transformed/localbroadcastmanager-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b14ad07335356c18bd362f3e356078b4/localbroadcastmanager-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b14ad07335356c18bd362f3e356078b4/localbroadcastmanager-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b14ad07335356c18bd362f3e356078b4/localbroadcastmanager-1.0.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.localbroadcastmanager/localbroadcastmanager/1.0.0/3930e99159fd6b7f1d2e7d5fe9af0924ca1faf9/localbroadcastmanager-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml
deleted file mode 100644
index 1e3dab8..0000000
--- a/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.media:media:1.0.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/e815605bb395830277d015e0e19ca4b8/transformed/media-1.0.0/annotations.zip!/" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ca3d70fc5c91531ed074412e03fa15c5/media-1.0.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/e815605bb395830277d015e0e19ca4b8/transformed/media-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/e815605bb395830277d015e0e19ca4b8/transformed/media-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/e815605bb395830277d015e0e19ca4b8/transformed/media-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ca3d70fc5c91531ed074412e03fa15c5/media-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ca3d70fc5c91531ed074412e03fa15c5/media-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ca3d70fc5c91531ed074412e03fa15c5/media-1.0.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.media/media/1.0.0/5faf25be15e16e27275f5c7e04e15e944ebccea0/media-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_navigation_navigation_common_2_3_5_aar.xml b/.idea/libraries/Gradle__androidx_navigation_navigation_common_2_3_5_aar.xml
deleted file mode 100644
index b1e8d65..0000000
--- a/.idea/libraries/Gradle__androidx_navigation_navigation_common_2_3_5_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.navigation:navigation-common:2.3.5@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/0f8235bcdb9d8ea4b579d5454d88f9d4/transformed/navigation-common-2.3.5/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/0f8235bcdb9d8ea4b579d5454d88f9d4/transformed/navigation-common-2.3.5/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/0f8235bcdb9d8ea4b579d5454d88f9d4/transformed/navigation-common-2.3.5/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8687ac5c03d915df92f8d9f71b8e0256/navigation-common-2.3.5/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8687ac5c03d915df92f8d9f71b8e0256/navigation-common-2.3.5/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8687ac5c03d915df92f8d9f71b8e0256/navigation-common-2.3.5/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.navigation/navigation-common/2.3.5/8ac119554c336ee331c12b667b4e3f5f725616da/navigation-common-2.3.5-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_navigation_navigation_fragment_2_3_5_aar.xml b/.idea/libraries/Gradle__androidx_navigation_navigation_fragment_2_3_5_aar.xml
deleted file mode 100644
index c90d54a..0000000
--- a/.idea/libraries/Gradle__androidx_navigation_navigation_fragment_2_3_5_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.navigation:navigation-fragment:2.3.5@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/18dc2fe972c73df400fb96b0b058fe15/transformed/navigation-fragment-2.3.5/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/18dc2fe972c73df400fb96b0b058fe15/transformed/navigation-fragment-2.3.5/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/18dc2fe972c73df400fb96b0b058fe15/transformed/navigation-fragment-2.3.5/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9c14ad9a4dcfb6c4b16e3ccccfb87f1b/navigation-fragment-2.3.5/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9c14ad9a4dcfb6c4b16e3ccccfb87f1b/navigation-fragment-2.3.5/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9c14ad9a4dcfb6c4b16e3ccccfb87f1b/navigation-fragment-2.3.5/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.navigation/navigation-fragment/2.3.5/3622ca880ed637740e391a55d7cd5d0869285d29/navigation-fragment-2.3.5-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_navigation_navigation_runtime_2_3_5_aar.xml b/.idea/libraries/Gradle__androidx_navigation_navigation_runtime_2_3_5_aar.xml
deleted file mode 100644
index c949dc9..0000000
--- a/.idea/libraries/Gradle__androidx_navigation_navigation_runtime_2_3_5_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.navigation:navigation-runtime:2.3.5@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/8742cedd6e53d6c8bde8758fbfec522e/transformed/navigation-runtime-2.3.5/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/8742cedd6e53d6c8bde8758fbfec522e/transformed/navigation-runtime-2.3.5/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/8742cedd6e53d6c8bde8758fbfec522e/transformed/navigation-runtime-2.3.5/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/28ec7a663bb91fc84f55cb948297ad4b/navigation-runtime-2.3.5/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/28ec7a663bb91fc84f55cb948297ad4b/navigation-runtime-2.3.5/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/28ec7a663bb91fc84f55cb948297ad4b/navigation-runtime-2.3.5/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.navigation/navigation-runtime/2.3.5/4f74ea56cca52bece088c25ea260082a3b264d38/navigation-runtime-2.3.5-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_navigation_navigation_ui_2_3_5_aar.xml b/.idea/libraries/Gradle__androidx_navigation_navigation_ui_2_3_5_aar.xml
deleted file mode 100644
index 6510b77..0000000
--- a/.idea/libraries/Gradle__androidx_navigation_navigation_ui_2_3_5_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.navigation:navigation-ui:2.3.5@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/7a070e2920813a3f14f19eb583120b0a/transformed/navigation-ui-2.3.5/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/7a070e2920813a3f14f19eb583120b0a/transformed/navigation-ui-2.3.5/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/7a070e2920813a3f14f19eb583120b0a/transformed/navigation-ui-2.3.5/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e35e7189d27f046735e50c8a7cf328c6/navigation-ui-2.3.5/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e35e7189d27f046735e50c8a7cf328c6/navigation-ui-2.3.5/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e35e7189d27f046735e50c8a7cf328c6/navigation-ui-2.3.5/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.navigation/navigation-ui/2.3.5/c3b1c72fb42a6c6ea70970fa444614a2aaa64742/navigation-ui-2.3.5-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml
deleted file mode 100644
index fda8632..0000000
--- a/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.print:print:1.0.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0e9f34bf78d2c6b6892dac5a0ba8ad95/print-1.0.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/58d3fb1b78397bc15eea1568e0b97297/transformed/print-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0e9f34bf78d2c6b6892dac5a0ba8ad95/print-1.0.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0e9f34bf78d2c6b6892dac5a0ba8ad95/print-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0e9f34bf78d2c6b6892dac5a0ba8ad95/print-1.0.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.print/print/1.0.0/71fc2d9acf7cce6b96230c5af263268b1664914a/print-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_1_0_aar.xml b/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_1_0_aar.xml
deleted file mode 100644
index 21bf988..0000000
--- a/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_1_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.recyclerview:recyclerview:1.1.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4ffe561296da193e82e09683dcaa2e5c/recyclerview-1.1.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4ffe561296da193e82e09683dcaa2e5c/recyclerview-1.1.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4ffe561296da193e82e09683dcaa2e5c/recyclerview-1.1.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4ffe561296da193e82e09683dcaa2e5c/recyclerview-1.1.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.recyclerview/recyclerview/1.1.0/f2bdf79e1977939817f54a9d3e2f6bc52b63bdd0/recyclerview-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml b/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml
deleted file mode 100644
index 4d7b816..0000000
--- a/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.savedstate:savedstate:1.1.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/855946e19a7f6b7de447ef4316e7996b/jetified-savedstate-1.1.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/855946e19a7f6b7de447ef4316e7996b/jetified-savedstate-1.1.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/855946e19a7f6b7de447ef4316e7996b/jetified-savedstate-1.1.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.savedstate/savedstate/1.1.0/73464c2c55129727354a95ffa91dc9c2cf0c78b/savedstate-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml
deleted file mode 100644
index 22b538e..0000000
--- a/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.slidingpanelayout:slidingpanelayout:1.0.0@aar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/f474efe882155c7880e3c4cdb9a252a3/transformed/slidingpanelayout-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/f474efe882155c7880e3c4cdb9a252a3/transformed/slidingpanelayout-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/f474efe882155c7880e3c4cdb9a252a3/transformed/slidingpanelayout-1.0.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/aebcbf7333c8833b9aa11e542780a552/slidingpanelayout-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/aebcbf7333c8833b9aa11e542780a552/slidingpanelayout-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/aebcbf7333c8833b9aa11e542780a552/slidingpanelayout-1.0.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.slidingpanelayout/slidingpanelayout/1.0.0/f3f2e4fded24d5969a86e1974ad7e96975d970a0/slidingpanelayout-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml
deleted file mode 100644
index 72414cd..0000000
--- a/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.swiperefreshlayout:swiperefreshlayout:1.0.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/451d5deef0055514db33ca16d3954957/transformed/swiperefreshlayout-1.0.0/annotations.zip!/" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/def4f5b597453e3213e5e08fa94174a5/swiperefreshlayout-1.0.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/451d5deef0055514db33ca16d3954957/transformed/swiperefreshlayout-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/451d5deef0055514db33ca16d3954957/transformed/swiperefreshlayout-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/451d5deef0055514db33ca16d3954957/transformed/swiperefreshlayout-1.0.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/def4f5b597453e3213e5e08fa94174a5/swiperefreshlayout-1.0.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/def4f5b597453e3213e5e08fa94174a5/swiperefreshlayout-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/def4f5b597453e3213e5e08fa94174a5/swiperefreshlayout-1.0.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.swiperefreshlayout/swiperefreshlayout/1.0.0/ab92d86c004eb1d48e45f311b02ca53d6c86b607/swiperefreshlayout-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_test_core_1_4_0_aar.xml b/.idea/libraries/Gradle__androidx_test_core_1_4_0_aar.xml
deleted file mode 100644
index 1ca6064..0000000
--- a/.idea/libraries/Gradle__androidx_test_core_1_4_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.test:core:1.4.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/97e1f5ed92cd5c90371666a75e28e3aa/transformed/core-1.4.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/dc0c1d0eccd0aba11f9b9ffda7968eb7/core-1.4.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/dc0c1d0eccd0aba11f9b9ffda7968eb7/core-1.4.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/dc0c1d0eccd0aba11f9b9ffda7968eb7/core-1.4.0/res" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test/core/1.4.0/96b4d161def059d92989a352500d05d215c33d5e/core-1.4.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test/core/1.4.0/2ba6b5cb5392cc99bdc6fb1f188c95497358fb62/core-1.4.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_test_espresso_espresso_core_3_4_0_aar.xml b/.idea/libraries/Gradle__androidx_test_espresso_espresso_core_3_4_0_aar.xml
deleted file mode 100644
index 9884e0f..0000000
--- a/.idea/libraries/Gradle__androidx_test_espresso_espresso_core_3_4_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.test.espresso:espresso-core:3.4.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/770598ca73e96b6445f8b212cc941837/transformed/espresso-core-3.4.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/75af96a8809fd85df8bc50809b0b5aa5/espresso-core-3.4.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/75af96a8809fd85df8bc50809b0b5aa5/espresso-core-3.4.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/75af96a8809fd85df8bc50809b0b5aa5/espresso-core-3.4.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test.espresso/espresso-core/3.4.0/527848e2722cd3ada150b991c0e620ec4f0a8b/espresso-core-3.4.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test.espresso/espresso-core/3.4.0/8c2dc35c200b749281e0fbdc1262359e19a99cc3/espresso-core-3.4.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_test_espresso_espresso_idling_resource_3_4_0_aar.xml b/.idea/libraries/Gradle__androidx_test_espresso_espresso_idling_resource_3_4_0_aar.xml
deleted file mode 100644
index 7b56883..0000000
--- a/.idea/libraries/Gradle__androidx_test_espresso_espresso_idling_resource_3_4_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.test.espresso:espresso-idling-resource:3.4.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/00994a269981a9d98fd2f9eba5fdf465/transformed/espresso-idling-resource-3.4.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/759bf26069ad6da8da47eb2c32a56e3b/espresso-idling-resource-3.4.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/759bf26069ad6da8da47eb2c32a56e3b/espresso-idling-resource-3.4.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/759bf26069ad6da8da47eb2c32a56e3b/espresso-idling-resource-3.4.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test.espresso/espresso-idling-resource/3.4.0/69a300fcf8de2c433672d07a6c436a19dfb9b8f9/espresso-idling-resource-3.4.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test.espresso/espresso-idling-resource/3.4.0/80fd2aa3695bf9e0383d53f2f39016960a0156a6/espresso-idling-resource-3.4.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_3_aar.xml b/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_3_aar.xml
deleted file mode 100644
index 9067c14..0000000
--- a/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_3_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.test.ext:junit:1.1.3@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/7ea475272779808ea7c0df363ad92612/transformed/junit-1.1.3/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ec13215cb07ad694bd77147b398393d1/junit-1.1.3/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ec13215cb07ad694bd77147b398393d1/junit-1.1.3/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ec13215cb07ad694bd77147b398393d1/junit-1.1.3/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test.ext/junit/1.1.3/f138cf897cc1e024dd714073df04f2425d845104/junit-1.1.3-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test.ext/junit/1.1.3/cdf059d469527681d62d3330131eb875b77911d5/junit-1.1.3-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_test_monitor_1_4_0_aar.xml b/.idea/libraries/Gradle__androidx_test_monitor_1_4_0_aar.xml
deleted file mode 100644
index a185ccd..0000000
--- a/.idea/libraries/Gradle__androidx_test_monitor_1_4_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.test:monitor:1.4.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/5390adb66ee7f93b736a761a6dbb754a/transformed/monitor-1.4.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/67d519fd9f6548ed8e6f07b2edc49f1c/monitor-1.4.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/67d519fd9f6548ed8e6f07b2edc49f1c/monitor-1.4.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/67d519fd9f6548ed8e6f07b2edc49f1c/monitor-1.4.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test/monitor/1.4.0/2770e38fa6d39242c2fa2e9d2ca3275b1d9debd8/monitor-1.4.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test/monitor/1.4.0/5d892d39aae695079e3ecc7a841336ff3aeaf40/monitor-1.4.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_test_runner_1_4_0_aar.xml b/.idea/libraries/Gradle__androidx_test_runner_1_4_0_aar.xml
deleted file mode 100644
index 366cd90..0000000
--- a/.idea/libraries/Gradle__androidx_test_runner_1_4_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.test:runner:1.4.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/5e7bf743e269e02b75809f42b1affe71/transformed/runner-1.4.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8b7710e8e9519d4af48237195de14d22/runner-1.4.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8b7710e8e9519d4af48237195de14d22/runner-1.4.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8b7710e8e9519d4af48237195de14d22/runner-1.4.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test/runner/1.4.0/aee6a62a26d9b413dadc1732e66cc4ef3bcf9d61/runner-1.4.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test/runner/1.4.0/11ef580a9f2ea2fba4d060a3121506197bd6b183/runner-1.4.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_test_services_storage_1_4_0_aar.xml b/.idea/libraries/Gradle__androidx_test_services_storage_1_4_0_aar.xml
deleted file mode 100644
index 7e24ac2..0000000
--- a/.idea/libraries/Gradle__androidx_test_services_storage_1_4_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.test.services:storage:1.4.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/7cbb720dc2c3d38934d1f903e7dd7409/transformed/storage-1.4.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/5b13e4fe0bba7910b3716f5671067498/storage-1.4.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/5b13e4fe0bba7910b3716f5671067498/storage-1.4.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/5b13e4fe0bba7910b3716f5671067498/storage-1.4.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.test.services/storage/1.4.0/27088f46bc0ab94523a20ccc56aa27e142662396/storage-1.4.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_transition_transition_1_2_0_aar.xml b/.idea/libraries/Gradle__androidx_transition_transition_1_2_0_aar.xml
deleted file mode 100644
index 10bea73..0000000
--- a/.idea/libraries/Gradle__androidx_transition_transition_1_2_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.transition:transition:1.2.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f8ad23a4e5ed9a7cb5546797bfac71cd/transition-1.2.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f8ad23a4e5ed9a7cb5546797bfac71cd/transition-1.2.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f8ad23a4e5ed9a7cb5546797bfac71cd/transition-1.2.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f8ad23a4e5ed9a7cb5546797bfac71cd/transition-1.2.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.transition/transition/1.2.0/65d2a5dab39f120d3f584fdead252ce81ec7dbee/transition-1.2.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_transition_transition_1_3_0_aar.xml b/.idea/libraries/Gradle__androidx_transition_transition_1_3_0_aar.xml
deleted file mode 100644
index 04e2899..0000000
--- a/.idea/libraries/Gradle__androidx_transition_transition_1_3_0_aar.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.transition:transition:1.3.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/3419646294ae57eaaa86275e0fb29547/transformed/transition-1.3.0/annotations.zip!/" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7ca02758d2432a84538fde7340629aea/transition-1.3.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/3419646294ae57eaaa86275e0fb29547/transformed/transition-1.3.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/3419646294ae57eaaa86275e0fb29547/transformed/transition-1.3.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/3419646294ae57eaaa86275e0fb29547/transformed/transition-1.3.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7ca02758d2432a84538fde7340629aea/transition-1.3.0/AndroidManifest.xml" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7ca02758d2432a84538fde7340629aea/transition-1.3.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7ca02758d2432a84538fde7340629aea/transition-1.3.0/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.transition/transition/1.3.0/1ab749fa90feb756d9cd154f76fce1d8e557cae/transition-1.3.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml b/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml
deleted file mode 100644
index 96a56e0..0000000
--- a/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.vectordrawable:vectordrawable:1.1.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/131fc640a9fa001c570148d810d62306/transformed/vectordrawable-1.1.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6fec5a7e9a5fb8fedbf5bc0504efb64e/vectordrawable-1.1.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6fec5a7e9a5fb8fedbf5bc0504efb64e/vectordrawable-1.1.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6fec5a7e9a5fb8fedbf5bc0504efb64e/vectordrawable-1.1.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.vectordrawable/vectordrawable/1.1.0/1e0694477eed874c50c54b547cc3e5a62a57a62b/vectordrawable-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml b/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml
deleted file mode 100644
index 741ffb0..0000000
--- a/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.vectordrawable:vectordrawable-animated:1.1.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/d7bfb4d57ba25c58c1ed4e8afb52dc48/transformed/vectordrawable-animated-1.1.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f5ade372dac21fd8efbf79efc06fa705/vectordrawable-animated-1.1.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f5ade372dac21fd8efbf79efc06fa705/vectordrawable-animated-1.1.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f5ade372dac21fd8efbf79efc06fa705/vectordrawable-animated-1.1.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.vectordrawable/vectordrawable-animated/1.1.0/871a7705cd03bc246947638c712cdd11378233ff/vectordrawable-animated-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml b/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml
deleted file mode 100644
index b910556..0000000
--- a/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.versionedparcelable:versionedparcelable:1.1.1@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/36325408cec9ed0dd0d5d908fc64e1b9/transformed/versionedparcelable-1.1.1/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1eabe08a2019351eea607c93bb7ecc7d/versionedparcelable-1.1.1/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1eabe08a2019351eea607c93bb7ecc7d/versionedparcelable-1.1.1/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1eabe08a2019351eea607c93bb7ecc7d/versionedparcelable-1.1.1/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.versionedparcelable/versionedparcelable/1.1.1/d9085927216387af679d18b6f472bc0fc5c7cc81/versionedparcelable-1.1.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml
deleted file mode 100644
index 924cf13..0000000
--- a/.idea/libraries/Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.viewpager2:viewpager2:1.0.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a8aba92343bb08eb76abb0d41236d114/jetified-viewpager2-1.0.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a8aba92343bb08eb76abb0d41236d114/jetified-viewpager2-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a8aba92343bb08eb76abb0d41236d114/jetified-viewpager2-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a8aba92343bb08eb76abb0d41236d114/jetified-viewpager2-1.0.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.viewpager2/viewpager2/1.0.0/3c3569044e6969f1ee5c3aa03b08e6717a2d782f/viewpager2-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml b/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml
deleted file mode 100644
index 4d13333..0000000
--- a/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: androidx.viewpager:viewpager:1.0.0@aar">
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-3/4dc2d7de2e36c1331823605ddccab851/transformed/viewpager-1.0.0/res" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/37ac98537db7903eb38dbdefcc71b50e/viewpager-1.0.0/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/37ac98537db7903eb38dbdefcc71b50e/viewpager-1.0.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/37ac98537db7903eb38dbdefcc71b50e/viewpager-1.0.0/AndroidManifest.xml" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.viewpager/viewpager/1.0.0/db045f92188b9d247d5f556866f8861ab68528f0/viewpager-1.0.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_android_material_material_1_4_0_aar.xml b/.idea/libraries/Gradle__com_google_android_material_material_1_4_0_aar.xml
deleted file mode 100644
index 8863aba..0000000
--- a/.idea/libraries/Gradle__com_google_android_material_material_1_4_0_aar.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.google.android.material:material:1.4.0@aar">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8ad991b29ecc5c3699d9447a53501fa7/material-1.4.0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8ad991b29ecc5c3699d9447a53501fa7/material-1.4.0/AndroidManifest.xml" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8ad991b29ecc5c3699d9447a53501fa7/material-1.4.0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8ad991b29ecc5c3699d9447a53501fa7/material-1.4.0/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.android.material/material/1.4.0/51035a8f6342c20d4d8f242d100e6f25e0c271ac/material-1.4.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml b/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml
deleted file mode 100644
index 2b834ea..0000000
--- a/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.google.code.findbugs:jsr305:2.0.1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/2.0.1/516c03b21d50a644d538de0f0369c620989cd8f0/jsr305-2.0.1.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml b/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml
deleted file mode 100644
index 662b001..0000000
--- a/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.squareup:javawriter:2.1.1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/67ff45d9ae02e583d0f9b3432a5ebbe05c30c966/javawriter-2.1.1.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/f591a105db78771d0a1e7a277b3747556c528c22/javawriter-2.1.1-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/5b31387d839a5cdaf5b6de3990da01f7f2b963c5/javawriter-2.1.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml b/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml
deleted file mode 100644
index 62012ea..0000000
--- a/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: javax.inject:javax.inject:1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/70ec961c25111ed9015d1af77772d96383c2d238/javax.inject-1-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/a00123f261762a7c5e0ec916a2c7c8298d29c400/javax.inject-1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__junit_junit_4_12.xml b/.idea/libraries/Gradle__junit_junit_4_12.xml
deleted file mode 100644
index 6c078d6..0000000
--- a/.idea/libraries/Gradle__junit_junit_4_12.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: junit:junit:4.12">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/941a8be4506c65f0a9001c08812fb7da1e505e21/junit-4.12-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa/junit-4.12-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__junit_junit_4_13_2.xml b/.idea/libraries/Gradle__junit_junit_4_13_2.xml
deleted file mode 100644
index c2cb45d..0000000
--- a/.idea/libraries/Gradle__junit_junit_4_13_2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: junit:junit:4.13.2">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.13.2/8ac9e16d933b6fb43bc7f576336b8f4d7eb5ba12/junit-4.13.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.13.2/f2f3f384dacd2ade2ddf7aa7e0f4360dfee38672/junit-4.13.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.13.2/33987872a811fe4d4001ed494b07854822257f42/junit-4.13.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml
deleted file mode 100644
index 09cf23d..0000000
--- a/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: org.hamcrest:hamcrest-core:1.3">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/ad09811315f1d4f5756986575b0ea16b99cd686f/hamcrest-core-1.3-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b/hamcrest-core-1.3-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml
deleted file mode 100644
index 1a77dd8..0000000
--- a/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: org.hamcrest:hamcrest-integration:1.3">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/5de0c73fef18917cd85d0ab70bb23818685e4dfd/hamcrest-integration-1.3.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/cc5884d4138d3376f574f6a3992acceedfc37bea/hamcrest-integration-1.3-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/ae7787a563e6a1b1f17fd4ac43be3a3c8830cfda/hamcrest-integration-1.3-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml
deleted file mode 100644
index 3d45e8e..0000000
--- a/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: org.hamcrest:hamcrest-library:1.3">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4324046c5f99f3dc91b5370899fa3ae65fd137d2/hamcrest-library-1.3-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/47a7ee46628ab7133129cd7cef1e92657bc275e/hamcrest-library-1.3-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 316fc8d..03e5a1a 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,24 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="DesignSurface">
-    <option name="filePathToZoomLevelMap">
-      <map>
-        <entry key="../../../../../layout/custom_preview.xml" value="0.22314814814814815" />
-        <entry key="app/src/main/res/drawable/progress_small.xml" value="0.1275" />
-        <entry key="app/src/main/res/layout/activity_home_login.xml" value="0.10030395136778116" />
-        <entry key="app/src/main/res/layout/activity_my_power_station.xml" value="0.10030395136778116" />
-        <entry key="app/src/main/res/layout/fragment_house_list.xml" value="0.10030395136778116" />
-        <entry key="app/src/main/res/layout/fragment_me.xml" value="0.10030395136778116" />
-        <entry key="app/src/main/res/layout/frgment_house_list_line.xml" value="0.1921875" />
-        <entry key="app/src/main/res/layout/loading_alert.xml" value="0.1" />
-        <entry key="app/src/main/res/layout/loading_confirm.xml" value="0.1" />
-        <entry key="app/src/main/res/layout/loading_confirm_input.xml" value="0.1" />
-        <entry key="app/src/main/res/layout/loading_exception_log.xml" value="0.1921875" />
-        <entry key="app/src/main/res/layout/toolbar_top_view_44.xml" value="0.1921875" />
-        <entry key="app/src/main/res/layout/toolbar_top_view_52.xml" value="0.10030395136778116" />
-      </map>
-    </option>
-  </component>
-  <component name="ExternalStorageConfigurationManager" enabled="true" />
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK" />
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="corretto-1.8" project-jdk-type="JavaSDK" />
 </project>
\ No newline at end of file
diff --git a/.idea/modules/PhotovoltaicDebug.iml b/.idea/modules/PhotovoltaicDebug.iml
deleted file mode 100644
index 3c111a9..0000000
--- a/.idea/modules/PhotovoltaicDebug.iml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.id="PhotovoltaicDebug" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
-  <component name="FacetManager">
-    <facet type="java-gradle" name="Java-Gradle">
-      <configuration>
-        <option name="BUILDABLE" value="false" />
-      </configuration>
-    </facet>
-  </component>
-  <component name="NewModuleRootManager">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$/../..">
-      <excludeFolder url="file://$MODULE_DIR$/../../.gradle" />
-      <excludeFolder url="file://$MODULE_DIR$/../../build" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/.idea/modules/app/PhotovoltaicDebug.app.iml b/.idea/modules/app/PhotovoltaicDebug.app.iml
deleted file mode 100644
index bf0f54b..0000000
--- a/.idea/modules/app/PhotovoltaicDebug.app.iml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$/../../../app" external.root.project.path="$MODULE_DIR$/../../.." external.system.id="GRADLE" external.system.module.group="PhotovoltaicDebug" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
-  <component name="FacetManager">
-    <facet type="android-gradle" name="Android-Gradle">
-      <configuration>
-        <option name="GRADLE_PROJECT_PATH" value=":app" />
-        <option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" />
-        <option name="LAST_KNOWN_AGP_VERSION" value="7.1.3" />
-      </configuration>
-    </facet>
-    <facet type="android" name="Android">
-      <configuration>
-        <option name="SELECTED_BUILD_VARIANT" value="debug" />
-        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
-        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
-        <afterSyncTasks>
-          <task>generateDebugSources</task>
-        </afterSyncTasks>
-        <option name="ALLOW_USER_CONFIGURATION" value="false" />
-        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
-        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
-        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../../app/src/main/res;file://$MODULE_DIR$/../../../app/src/debug/res;file://$MODULE_DIR$/../../../app/build/generated/res/rs/debug;file://$MODULE_DIR$/../../../app/build/generated/res/resValues/debug" />
-        <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../../app/src/androidTest/res;file://$MODULE_DIR$/../../../app/src/androidTestDebug/res;file://$MODULE_DIR$/../../../app/build/generated/res/rs/androidTest/debug;file://$MODULE_DIR$/../../../app/build/generated/res/resValues/androidTest/debug" />
-        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
-      </configuration>
-    </facet>
-  </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/../../../app/build/intermediates/javac/debug/classes" />
-    <output-test url="file://$MODULE_DIR$/../../../app/build/intermediates/javac/debugUnitTest/classes" />
-    <exclude-output />
-    <content url="file://$MODULE_DIR$/../../../app">
-      <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/res/resValues/debug" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/../../../app/src/androidTest/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/../../../app/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../../../app/src/main/res" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/../../../app/src/test/java" isTestSource="true" />
-      <excludeFolder url="file://$MODULE_DIR$/../../../app/.gradle" />
-      <excludeFolder url="file://$MODULE_DIR$/../../../app/build" />
-    </content>
-    <orderEntry type="jdk" jdkName="Android API 32 Platform" jdkType="Android SDK" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.13.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: androidx.test.ext:junit:1.1.3@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-core:3.4.0@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: androidx.test:runner:1.4.0@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: androidx.test:core:1.4.0@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: androidx.test.services:storage:1.4.0@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: androidx.test:monitor:1.4.0@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: androidx.transition:transition:1.2.0@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: androidx.arch.core:core-runtime:2.0.0@aar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-idling-resource:3.4.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.collection:collection:1.1.0" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.3.1" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.arch.core:core-common:2.1.0" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.annotation:annotation:1.2.0" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.constraintlayout:constraintlayout-solver:2.0.4" level="project" />
-    <orderEntry type="library" name="Gradle: org.greenrobot:eventbus:3.0.0" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.databinding:viewbinding:7.1.3@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.navigation:navigation-ui:2.3.5@aar" level="project" />
-    <orderEntry type="library" name="Gradle: com.google.android.material:material:1.4.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.constraintlayout:constraintlayout:2.0.4@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.appcompat:appcompat:1.3.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.legacy:legacy-support-v4:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.navigation:navigation-fragment:2.3.5@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.viewpager2:viewpager2:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.fragment:fragment:1.3.4@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.navigation:navigation-runtime:2.3.5@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.activity:activity:1.2.3@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.appcompat:appcompat-resources:1.3.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.legacy:legacy-support-core-ui:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.drawerlayout:drawerlayout:1.1.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.coordinatorlayout:coordinatorlayout:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.dynamicanimation:dynamicanimation:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.recyclerview:recyclerview:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.transition:transition:1.3.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable-animated:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.viewpager:viewpager:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.slidingpanelayout:slidingpanelayout:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.customview:customview:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.media:media:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.legacy:legacy-support-core-utils:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.loader:loader:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.swiperefreshlayout:swiperefreshlayout:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.asynclayoutinflater:asynclayoutinflater:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.core:core:1.5.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.cursoradapter:cursoradapter:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.savedstate:savedstate:1.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.cardview:cardview:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-runtime:2.3.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.versionedparcelable:versionedparcelable:1.1.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.3.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata:2.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.3.1@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.arch.core:core-runtime:2.1.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.navigation:navigation-common:2.3.5@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.documentfile:documentfile:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.print:print:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.interpolator:interpolator:1.0.0@aar" level="project" />
-    <orderEntry type="library" name="Gradle: androidx.annotation:annotation-experimental:1.0.0@aar" level="project" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 94a25f7..35eb1dd 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="VcsDirectoryMappings">
-    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+    <mapping directory="" vcs="Git" />
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
deleted file mode 100644
index a739de6..0000000
--- a/.idea/workspace.xml
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="AndroidLayouts">
-    <shared>
-      <config />
-    </shared>
-  </component>
-  <component name="AndroidLogFilters">
-    <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
-  </component>
-  <component name="AutoImportSettings">
-    <option name="autoReloadType" value="NONE" />
-  </component>
-  <component name="ChangeListManager">
-    <list default="true" id="263c1e85-a8b8-438a-bde2-e35109721369" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java" afterDir="false" />
-    </list>
-    <option name="SHOW_DIALOG" value="false" />
-    <option name="HIGHLIGHT_CONFLICTS" value="true" />
-    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
-    <option name="LAST_RESOLUTION" value="IGNORE" />
-  </component>
-  <component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[/Users/wenjucheng/.android/avd/Pixel_2_API_29.avd]" />
-  <component name="ExternalProjectsData">
-    <projectState path="$PROJECT_DIR$">
-      <ProjectState />
-    </projectState>
-  </component>
-  <component name="FileTemplateManagerImpl">
-    <option name="RECENT_TEMPLATES">
-      <list>
-        <option value="Interface" />
-      </list>
-    </option>
-  </component>
-  <component name="Git.Settings">
-    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
-  </component>
-  <component name="GitSEFilterConfiguration">
-    <file-type-list>
-      <filtered-out-file-type name="LOCAL_BRANCH" />
-      <filtered-out-file-type name="REMOTE_BRANCH" />
-      <filtered-out-file-type name="TAG" />
-      <filtered-out-file-type name="COMMIT_BY_MESSAGE" />
-    </file-type-list>
-  </component>
-  <component name="ProjectId" id="2QdVvHWuWC7D9Nb2twRQh4SEisC" />
-  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
-  <component name="ProjectViewState">
-    <option name="autoscrollFromSource" value="true" />
-    <option name="autoscrollToSource" value="true" />
-    <option name="hideEmptyMiddlePackages" value="true" />
-    <option name="showLibraryContents" value="true" />
-  </component>
-  <component name="PropertiesComponent">
-    <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
-    <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
-    <property name="RunOnceActivity.cidr.known.project.marker" value="true" />
-    <property name="android-custom-view/Users/wenjucheng/Library/Android/sdk/sources/android-32/android/view/View.java_SELECTED" value="View" />
-    <property name="android-custom-view/Users/wenjucheng/Library/Android/sdk/sources/android-32/android/view/View.java_View_DIMENSIONS" value="1080&#10;1920" />
-    <property name="android-custom-view/Users/wenjucheng/Library/Android/sdk/sources/android-32/android/widget/TextView.java_SELECTED" value="TextView" />
-    <property name="android-custom-view/Users/wenjucheng/Library/Android/sdk/sources/android-32/android/widget/TextView.java_TextView_DIMENSIONS" value="1080&#10;1920" />
-    <property name="cidr.known.project.marker" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/utils" />
-    <property name="memory.settings.postsync.last.time.stamp" value="1685683717307" />
-    <property name="project.structure.last.edited" value="Modules" />
-    <property name="project.structure.proportion" value="0.17" />
-    <property name="project.structure.side.proportion" value="0.2" />
-  </component>
-  <component name="RecentsManager">
-    <key name="CopyFile.RECENT_KEYS">
-      <recent name="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/utils" />
-    </key>
-  </component>
-  <component name="RunManager">
-    <configuration name="app" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
-      <module name="PhotovoltaicDebug.app" />
-      <option name="DEPLOY" value="true" />
-      <option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
-      <option name="DEPLOY_AS_INSTANT" value="false" />
-      <option name="ARTIFACT_NAME" value="" />
-      <option name="PM_INSTALL_OPTIONS" value="" />
-      <option name="ALL_USERS" value="false" />
-      <option name="ALWAYS_INSTALL_WITH_PM" value="false" />
-      <option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
-      <option name="ACTIVITY_EXTRA_FLAGS" value="" />
-      <option name="MODE" value="default_activity" />
-      <option name="CLEAR_LOGCAT" value="false" />
-      <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
-      <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
-      <option name="FORCE_STOP_RUNNING_APP" value="true" />
-      <option name="INSPECTION_WITHOUT_ACTIVITY_RESTART" value="false" />
-      <option name="TARGET_SELECTION_MODE" value="DEVICE_AND_SNAPSHOT_COMBO_BOX" />
-      <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
-      <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
-      <option name="DEBUGGER_TYPE" value="Auto" />
-      <Auto>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Auto>
-      <Hybrid>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Hybrid>
-      <Java />
-      <Native>
-        <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
-        <option name="SHOW_STATIC_VARS" value="true" />
-        <option name="WORKING_DIR" value="" />
-        <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
-        <option name="SHOW_OPTIMIZED_WARNING" value="true" />
-      </Native>
-      <Profilers>
-        <option name="ADVANCED_PROFILING_ENABLED" value="false" />
-        <option name="STARTUP_PROFILING_ENABLED" value="false" />
-        <option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
-        <option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Java/Kotlin Method Sample (legacy)" />
-        <option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
-        <option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
-      </Profilers>
-      <option name="DEEP_LINK" value="" />
-      <option name="ACTIVITY_CLASS" value="" />
-      <option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
-      <option name="SKIP_ACTIVITY_VALIDATION" value="false" />
-      <method v="2">
-        <option name="Android.Gradle.BeforeRunTask" enabled="true" />
-      </method>
-    </configuration>
-  </component>
-  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
-  <component name="TaskManager">
-    <task active="true" id="Default" summary="Default task">
-      <changelist id="263c1e85-a8b8-438a-bde2-e35109721369" name="Default Changelist" comment="" />
-      <created>1685683677042</created>
-      <option name="number" value="Default" />
-      <option name="presentableId" value="Default" />
-      <updated>1685683677042</updated>
-    </task>
-    <servers />
-  </component>
-  <component name="XDebuggerManager">
-    <breakpoint-manager>
-      <breakpoints>
-        <line-breakpoint enabled="true" suspend="THREAD" type="java-line">
-          <url>file://$PROJECT_DIR$/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/api/HDLCloudUserApi.java</url>
-          <line>48</line>
-          <option name="timeStamp" value="40" />
-        </line-breakpoint>
-      </breakpoints>
-    </breakpoint-manager>
-  </component>
-</project>
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 3819430..91dfa0e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,12 +8,12 @@
 ]
 
 android {
-    compileSdk 32
+    compileSdk 30
 
     defaultConfig {
         applicationId "com.hdl.photovoltaic"
         minSdk 23
-        targetSdk 32
+        targetSdk 30
         versionCode 1
         versionName "1.0"
 
@@ -72,9 +72,13 @@
     androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
 //    implementation 'org.greenrobot:eventbus:3.0.0'
     implementation 'com.hdl.hdlhttp:hxhttp:1.0.4'
+    //okhttp 鎵撳嵃
+    implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1'
 
     //Eventbus浜嬩欢鍙戝竷涓庢帴鏀�
     implementation 'org.greenrobot:eventbus:3.3.1'
+    //灞忓箷閫傞厤
+    implementation 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1'
 
 
     //********UniSDK蹇呴』娣诲姞鐨勪緷璧� start********
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c346c9e..fe8187c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,26 +3,20 @@
     xmlns:tools="http://schemas.android.com/tools"
     package="com.hdl.photovoltaic">
 
-
     <uses-permission
         android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
-        tools:ignore="ProtectedPermissions" />
-<!--    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
-<!--    <uses-permission android:name="android.permission.CAMERA" />-->
-    <uses-permission android:name="android.permission.VIBRATE" />
-<!--    <uses-permission android:name="android.permission.INTERNET" />-->
-<!--    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
-<!--    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
-<!--    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />-->
-<!--    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
-<!--    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
-<!--    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />-->
+        tools:ignore="ProtectedPermissions" /> <!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> -->
+    <!-- <uses-permission android:name="android.permission.CAMERA" /> -->
+    <uses-permission android:name="android.permission.VIBRATE" /> <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
+    <!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> -->
+    <!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> -->
+    <!-- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> -->
+    <!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> -->
+    <!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> -->
+    <!-- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> -->
     <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
-    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
-<!--    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />-->
-
-    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
-    <!-- wifi鐘舵�佹潈闄� -->
+    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" /> <!-- <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> -->
+    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <!-- wifi鐘舵�佹潈闄� -->
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
     <uses-permission android:name="android.permission.INTERNET" /> <!-- 浣嶇疆淇℃伅 -->
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 濡傛灉鏄畨鍗�10.0锛岄渶瑕佸悗鍙拌幏鍙栬繛鎺ョ殑wifi鍚嶇О鍒欐坊鍔犺繘绋嬭幏鍙栦綅缃俊鎭潈闄� -->
@@ -72,8 +66,7 @@
     <uses-permission android:name="com.hdl.debugtreasure.permission.JPUSH_MESSAGE" />
     <uses-permission android:name="android.permission.CALL_PHONE" />
     <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
-    <uses-permission android:name="android.permission.BLUETOOTH" /> <!-- 鍩哄骇鍒犻櫎鐨勯儴鍒嗘潈闄� -->
-
+    <uses-permission android:name="android.permission.BLUETOOTH" />
 
     <application
         android:name=".HDLApp"
@@ -84,6 +77,12 @@
         android:supportsRtl="true"
         android:theme="@style/Theme.PhotovoltaicDebug">
         <activity
+            android:name=".ui.account.ChangePassword"
+            android:exported="false" />
+        <activity
+            android:name=".ui.account.RegisterAccountActivity"
+            android:exported="false" />
+        <activity
             android:name=".ui.device.FastScanActivity"
             android:exported="false" />
         <activity
diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index 925f080..021bd5a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -10,6 +10,7 @@
 
 import com.google.gson.Gson;
 import com.google.gson.JsonObject;
+import com.hdl.hdlhttp.HxHttpConfig;
 import com.hdl.linkpm.sdk.HDLLinkPMSdk;
 import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
 import com.hdl.linkpm.sdk.user.callback.IOnReloginListener;
@@ -36,6 +37,7 @@
 import io.dcloud.feature.sdk.DCSDKInitConfig;
 import io.dcloud.feature.sdk.DCUniMPSDK;
 import io.dcloud.feature.sdk.Interface.IDCUniMPPreInitCallback;
+import okhttp3.logging.HttpLoggingInterceptor;
 
 public class HDLApp extends Application {
     //鎺у埗鎵撳嵃 Debug妯″紡鎵撳嵃
@@ -111,6 +113,9 @@
         initHDLLinkPMSdk();
         HDLLinkLocalSdk.getInstance().init(getInstance());
         initSocket();
+        //4.鍒濆鍖朞KHttpLog 鏄惁寮�鍚�
+//        setOKHttpLogOpen(isLogEnabled);
+
     }
 
     /**
@@ -169,6 +174,16 @@
         HDLUdpConnect.getInstance().initUdp();
     }
 
+    /**
+     * 鍒濆鍖朞KHttpLog
+     */
+    private void setOKHttpLogOpen(Boolean isOpen) {
+        if (isOpen) {
+            HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
+            httpLoggingInterceptor.level(HttpLoggingInterceptor.Level.BODY);
+            HxHttpConfig.getInstance().addInterceptor(httpLoggingInterceptor);
+        }
+    }
 //    /**
 //     * 鍒濆鍖杣ni app mqtt
 //     */
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
index 69222d3..fe8fa9b 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
@@ -9,6 +9,7 @@
 import com.google.gson.JsonObject;
 import com.google.gson.reflect.TypeToken;
 import com.hdl.hdlhttp.HxHttp;
+import com.hdl.hdlhttp.HxHttpBuilder;
 import com.hdl.hdlhttp.utils.GsonConvert;
 import com.hdl.linkpm.sdk.core.api.HDLCloudUserApi;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
@@ -35,6 +36,7 @@
 import okhttp3.Call;
 import okhttp3.Callback;
 import okhttp3.FormBody;
+import okhttp3.Headers;
 import okhttp3.MediaType;
 import okhttp3.OkHttpClient;
 import okhttp3.Request;
@@ -62,12 +64,16 @@
      * 搴曞眰鏂规硶,寮曠敤搴撶殑鏂规硶
      *
      * @param api      璇锋眰鎺ュ彛
-     * @param body     璇锋眰鍙傛暟
+     * @param body     璇锋眰鍙傛暟(appKey,timestamp,sign杩欎笁涓弬鏁板唴閮ㄤ細鑷姩娣诲姞))
      * @param callBack 鍥炶皟
      * @return -
      */
     private Disposable request(String api, String body, CloudCallBeak<String> callBack) {
+
+
         String requestUrl = HDLCloudUserApi.getRequestUrl(api);
+        Gson gson = new Gson();
+        System.out.println("鍙戦��->" + requestUrl + "\r\n" + body);
         return HxHttp.builder()
                 .url(requestUrl)
                 .raw(body)
@@ -78,6 +84,8 @@
                     public void onResponse(String str) {
                         if (callBack != null) {
                             callBack.onSuccess(str);
+//                          System.out.println("鍥炲->" + requestUrl + "\r\n" + gson.fromJson(str, JsonObject.class).toString());
+                            System.out.println("鍥炲->" + requestUrl + "\r\n" + str);
                         }
                     }
 
@@ -86,11 +94,13 @@
                         HDLExceptionSubmitUtils.submit(requestUrl, body, e);
                         if (callBack != null) {
                             callBack.onFailure(e);
+                            System.out.println("鍥炲->" + requestUrl + "\r\n" + "{code=" + e.getCode() + ",message=" + e.getMessage() + "}");
                         }
                     }
                 });
 
     }
+
 
     /**
      * 璇锋眰鏈嶅姟鍣�
@@ -114,7 +124,7 @@
     @Deprecated
     private void requestHttp(String requestUrl, String json, boolean isBasicService, boolean isExecute, BaseSuccessFailureCallBeak baseSuccessCallBeak) {
         String fullUrl = AppConfigManage.getUserRegionUrl() + requestUrl;
-        this.requestHttps(fullUrl, json, isBasicService, isExecute, baseSuccessCallBeak);
+        this.requestHttpServer(fullUrl, json, isBasicService, isExecute, baseSuccessCallBeak);
     }
 
     /**
@@ -128,7 +138,7 @@
      */
     @Deprecated
     private void requestFullHttp(String fullUrl, String json, boolean isBasicService, boolean isExecute, BaseSuccessFailureCallBeak baseSuccessCallBeak) {
-        this.requestHttps(fullUrl, json, isBasicService, isExecute, baseSuccessCallBeak);
+        this.requestHttpServer(fullUrl, json, isBasicService, isExecute, baseSuccessCallBeak);
     }
 
     /**
@@ -139,7 +149,7 @@
      * @param isBasicService 鏄惁鏄熀纭�鏈嶅姟鐨勬帴鍙�(鍩虹鏈嶅姟鐨勬帴鍙i渶瑕� appKey,timestamp,sign杩欎笁涓弬鏁�,褰撲负true鏃�,鍐呴儴浼氳嚜鍔ㄦ坊鍔�)
      * @param isExecute      鏄惁鏄悓姝�(true=鍚屾,false=寮傛)
      */
-    private void requestHttps(String fullUrl, String json, boolean isBasicService, boolean isExecute, BaseSuccessFailureCallBeak baseSuccessCallBeak) {
+    private void requestHttpServer(String fullUrl, String json, boolean isBasicService, boolean isExecute, BaseSuccessFailureCallBeak baseSuccessCallBeak) {
         new Thread(new Runnable() {
             @Override
             public void run() {
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
index 7c01dbc..2d416d2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
@@ -6,10 +6,10 @@
     public static final String POST_RegionByUserAccount = "/smart-footstone/region/regionByUserAccount";
     //鐧诲綍鎺ュ彛
     public static final String POST_Login = "/smart-footstone/user/oauth/login";
-    //鍙戦�佹秷鎭獙璇佺爜
-    public static final String POST_VERIFICATION_CODE_SEND = "/smart-footstone/verification/message/send";
     //鐢ㄦ埛鎵惧洖瀵嗙爜 蹇樿瀵嗙爜,閫氳繃閭鍜屾墜鏈哄彿鎵惧洖
     public static final String POST_FORGET_PROGRAM_PWD = "/smart-footstone/user/oauth/forgetProgramPwd";
+    //鍙戦�佹秷鎭獙璇佺爜
+    public static final String POST_SEND_VERIFICATION = "/smart-footstone/verification/message/send";
     //鏇存敼涓汉瀵嗙爜
     public static final String POST_UPDATE_PROGRAM_PASSWORD = "/smart-footstone/user/userInfo/updateProgramPassword";
     //鑾峰彇鍛樺伐鍒楄〃
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
index 136372c..aee3bf3 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -18,7 +18,7 @@
 import java.util.regex.Pattern;
 
 /**
- * 鐧诲綍鐣岄潰鐨勯�昏緫
+ * 璐﹀彿閫昏緫
  */
 public class HdlAccountLogic {
 
@@ -41,6 +41,7 @@
         return sHdlAccountLogic;
     }
 
+    // region --------銆怋绔处鍙枫��---------
 
     /**
      * 鍒濆鍖栬处鍙风殑Url鍖哄煙鍦板潃
@@ -101,6 +102,89 @@
     }
 
     /**
+     * 淇敼瀵嗙爜(B绔处鍙�)
+     *
+     * @param isPhone       true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
+     * @param account       璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
+     * @param loginPwd      鏂板瘑鐮�
+     * @param verifyCode    楠岃瘉鐮�
+     * @param cloudCallBeak -
+     */
+    public void changePassword(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) {
+        String requestUrl = HttpApi.POST_FORGET_PROGRAM_PWD;
+        JsonObject json = new JsonObject();
+        if (isPhone) {
+            json.addProperty("userPhone", account);//鐢ㄦ埛鎵嬫満鍙� 鎵嬫満鍙峰拰閭蹇呭~鍏朵竴
+        } else {
+            json.addProperty("userEmail", account);
+        }
+        json.addProperty("loginPwd", loginPwd);//鏂板瘑鐮�
+        json.addProperty("verifyCode", verifyCode);//楠岃瘉鐮�
+//       json.addProperty("platform", "APP");
+        json.addProperty("grantType", "password");
+
+        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+            @Override
+            public void onSuccess(String str) {
+                if (cloudCallBeak != null) {
+                    cloudCallBeak.onSuccess(true);
+                }
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                if (cloudCallBeak != null) {
+                    cloudCallBeak.onFailure(e);
+                }
+            }
+        });
+
+
+    }
+
+    /**
+     * 淇敼瀵嗙爜(B绔处鍙�)
+     *
+     * @param isPhone       true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
+     * @param account       璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
+     * @param phonePrefix   鎵嬫満鍙峰墠缂�
+     * @param verifyType    1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱粦瀹�4:楠岃瘉鐮佺櫥闄� 5:鏁忔劅鏁版嵁
+     * @param cloudCallBeak -
+     */
+    public void sendVerifyCode(boolean isPhone, String account, String phonePrefix, int verifyType, CloudCallBeak<Boolean> cloudCallBeak) {
+        String requestUrl = HttpApi.POST_SEND_VERIFICATION;
+        JsonObject json = new JsonObject();
+        if (isPhone) {
+            json.addProperty("phone", account);//鐢ㄦ埛鎵嬫満鍙�
+            json.addProperty("phonePrefix", phonePrefix);//鎵嬫満鍙峰墠缂�
+        } else {
+            json.addProperty("mail", account);//閭
+        }
+        json.addProperty("verifyType", verifyType);//1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱粦瀹�4:楠岃瘉鐮佺櫥闄� 5:鏁忔劅鏁版嵁
+//        json.addProperty("languageType", loginPwd);//璇█
+//        json.addProperty("expireSecond", expireSecond);//楠岃瘉鐮佽繃鏈熸椂闂达紙绉掞級,榛樿5鍒嗛挓
+//       json.addProperty("platform", "APP");
+
+        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+            @Override
+            public void onSuccess(String str) {
+                if (cloudCallBeak != null) {
+                    cloudCallBeak.onSuccess(true);
+                }
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                if (cloudCallBeak != null) {
+                    cloudCallBeak.onFailure(e);
+                }
+            }
+        });
+
+
+    }
+
+    /**
      * 鍒锋柊Token(B绔处鍙�)
      *
      * @param account       鎵嬫満鎴栬�呴偖绠�
@@ -133,6 +217,12 @@
     }
 
 
+    // endregion
+
+    // region --------銆怌绔处鍙枫��---------
+
+    // endregion
+
     /**
      * 閫�鍑虹櫥褰曟椂璋冪敤锛屾竻闄ゆ帹閫佹暟鎹�
      */
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
index 40df325..49d7dce 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -38,7 +38,7 @@
 import io.reactivex.rxjava3.disposables.Disposable;
 
 /**
- * 璁惧閫昏緫鐨勭晫闈�
+ * 璁惧閫昏緫
  */
 public class HdlDeviceLogic {
     private static volatile HdlDeviceLogic sHdlDeviceLogic;
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
index 73e33cb..30feb59 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -28,7 +28,7 @@
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**
- * 浣忓畢閫昏緫鐣岄潰
+ * 浣忓畢閫昏緫
  */
 public class HdlResidenceLogic {
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
index a50ae9f..ec25ae5 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
@@ -1,16 +1,13 @@
 package com.hdl.photovoltaic.other;
 
-import android.app.Dialog;
 import android.content.Context;
 import android.os.Handler;
 import android.os.Looper;
 import android.util.Log;
 import android.widget.Toast;
 
-import androidx.appcompat.app.AlertDialog;
-
 import com.hdl.photovoltaic.enums.ShowErrorMode;
-import com.hdl.photovoltaic.widget.ConfirmationDialog;
+import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
 import com.hdl.photovoltaic.widget.ConfirmationExceptionDialog;
 
 /**
@@ -23,16 +20,16 @@
     /**
      * 鍒囨崲鍥炰富绾跨▼鎵ц
      *
-     * @param run           鍥炶皟
+     * @param runnable           鍥炶皟
      * @param context       涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
      * @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佹樉绀洪敊璇~null)
      */
-    public static void runMainThread(Runnable run, Context context, ShowErrorMode showErrorMode) {
+    public static void runMainThread(Runnable runnable, Context context, ShowErrorMode showErrorMode) {
         try {
             if (Looper.myLooper() == Looper.getMainLooper()) {
-                run.run();
+                runnable.run();
             } else {
-                handler.post(run);
+                handler.post(runnable);
             }
         } catch (Exception e) {
 
@@ -41,20 +38,22 @@
     }
 
 
+
+
     /**
      * 瀛愮嚎绋嬫墽琛�
      *
-     * @param run           鍥炶皟
+     * @param runnable           鍥炶皟
      * @param context       涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
      * @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佸~null)
      */
-    public static void runThread(Runnable run, Context context, ShowErrorMode showErrorMode) {
+    public static void runThread(Runnable runnable, Context context, ShowErrorMode showErrorMode) {
 
         new Thread(new Runnable() {
             @Override
             public void run() {
                 try {
-                    run.run();
+                    runnable.run();
                 } catch (Exception e) {
                     exception(e, showErrorMode, context);
                 }
@@ -106,22 +105,22 @@
             @Override
             public void run() {
 
-                ConfirmationDialog confirmationDialog = new ConfirmationDialog(context);
-                confirmationDialog.setTitle("鎻愮ず");
-                confirmationDialog.setContent("寰堟姳姝�,绋嬪簭鍑虹幇閿欒浜�,鐐瑰嚮\"纭\"鑾峰彇鏇村璇︾粏閿欒淇℃伅.");
-                confirmationDialog.setConfirmation("纭");
-                confirmationDialog.setCancel("鍙栨秷");
-                confirmationDialog.show();
-                confirmationDialog.setNoOnclickListener(new ConfirmationDialog.onNoOnclickListener() {
+                ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(context);
+                confirmationCancelDialog.setTitle("鎻愮ず");
+                confirmationCancelDialog.setContent("寰堟姳姝�,绋嬪簭鍑虹幇閿欒浜�,鐐瑰嚮\"纭\"鑾峰彇鏇村璇︾粏閿欒淇℃伅.");
+                confirmationCancelDialog.setConfirmation("纭");
+                confirmationCancelDialog.setCancel("鍙栨秷");
+                confirmationCancelDialog.show();
+                confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
                     @Override
                     public void Cancel() {
-                        confirmationDialog.dismiss();
+                        confirmationCancelDialog.dismiss();
                     }
                 });
-                confirmationDialog.setYesOnclickListener(new ConfirmationDialog.onYesOnclickListener() {
+                confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
                     @Override
                     public void Confirm() {
-                        confirmationDialog.dismiss();
+                        confirmationCancelDialog.dismiss();
                         ConfirmationExceptionDialog confirmationExceptionDialog = new ConfirmationExceptionDialog(context);
 //                        String s = getStackTrace(ex);
                         String s = Log.getStackTraceString(ex);
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
index 5292e09..bbe33e5 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -1,8 +1,7 @@
 package com.hdl.photovoltaic.ui;
 
 
-import android.Manifest;
-import android.content.pm.PackageManager;
+import android.content.Intent;
 import android.os.Bundle;
 import android.text.Editable;
 import android.text.Spannable;
@@ -17,42 +16,31 @@
 import android.widget.TextView;
 
 
-import androidx.annotation.NonNull;
 import androidx.appcompat.content.res.AppCompatResources;
 
-import com.google.gson.Gson;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
 import com.hdl.linkpm.sdk.user.bean.HDLLoginBean;
 import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean;
 import com.hdl.linkpm.sdk.user.callback.ILoginCallBack;
-import com.hdl.photovoltaic.HDLApp;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
-import com.hdl.photovoltaic.enums.ShowErrorMode;
 import com.hdl.photovoltaic.other.HdlFileLogic;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
+import com.hdl.photovoltaic.ui.account.ChangePassword;
+import com.hdl.photovoltaic.ui.account.RegisterAccountActivity;
 import com.hdl.photovoltaic.ui.bean.HouseIdBean;
-import com.hdl.photovoltaic.ui.bean.LoginUserBean;
-import com.hdl.photovoltaic.ui.bean.LoginUserRegionBean;
 import com.hdl.photovoltaic.config.AppConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityHomeLoginBinding;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlAccountLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
-import com.hdl.photovoltaic.ui.device.FastScanActivity;
-import com.hdl.photovoltaic.uni.HDLUniMP;
-import com.hdl.photovoltaic.utils.PermissionUtils;
-import com.hdl.photovoltaic.utils.WifiUtils;
-
-import org.json.JSONException;
-import org.json.JSONObject;
 
 import java.util.List;
 
-
+/**
+ * 鐧诲綍鐨勭晫闈�
+ */
 public class HomeLoginActivity extends CustomBaseActivity {
 
     private ActivityHomeLoginBinding viewBinding;
@@ -206,7 +194,6 @@
 //                    //闅愮鍗忚鎻愮ず
 //                    return;
 //                }
-                Log.d("娴嬭瘯涓�", "123456789");
                 showLoading(getString(R.string.home_login_鐧诲綍涓�));
                 HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
                     @Override
@@ -259,6 +246,24 @@
                 HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath());
             }
         });
+        //娉ㄥ唽
+        viewBinding.homeLoginRegisterTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent();
+                intent.setClass(HomeLoginActivity.this, RegisterAccountActivity.class);
+                startActivity(intent);
+            }
+        });
+        //蹇樿瀵嗙爜
+        viewBinding.homeLoginForgetPasswordTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent();
+                intent.setClass(HomeLoginActivity.this, ChangePassword.class);
+                startActivity(intent);
+            }
+        });
 
     }
 
@@ -295,7 +300,7 @@
 
         if (password.length() < 6 || password.length() > 16) {
             viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545));
-            viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_鏈�灏�6_16涓瓧绗�);
+            viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_6_16_str);
             return false;
         }
         return true;
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
index 86c279e..a149678 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -25,12 +25,14 @@
 
 import java.nio.charset.StandardCharsets;
 
-
+/**
+ * 鎴戠殑鐢电珯鐣岄潰
+ */
 public class MyPowerStationActivity extends CustomBaseActivity {
 
 
     private ActivityMyPowerStationBinding viewBinding;
-    private int currentFragmentIndex = 0;
+    private int currentFragmentIndex = 1;
     private EventListener allTopicsListener;
 
 
@@ -55,17 +57,25 @@
         viewBinding.myPowerStationBottomIl1.clickTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                currentFragmentIndex = 0;
-                bottomViewChangeOfStyle();
-            }
-        });
-        viewBinding.myPowerStationBottomIl2.clickTv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
                 currentFragmentIndex = 1;
                 bottomViewChangeOfStyle();
             }
         });
+        viewBinding.myMessageBottomIl2.clickTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                currentFragmentIndex = 2;
+                bottomViewChangeOfStyle();
+            }
+        });
+        viewBinding.myMeBottomIl3.clickTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                currentFragmentIndex = 3;
+                bottomViewChangeOfStyle();
+            }
+        });
+
 
     }
 
@@ -80,28 +90,43 @@
 
     private void initView() {
         viewBinding.myPowerStationBottomIl1.titleTv.setText(R.string.my_power_station_鐢电珯);
-        viewBinding.myPowerStationBottomIl2.titleTv.setText(R.string.my_power_station_鎴戠殑);
+        viewBinding.myMessageBottomIl2.titleTv.setText(R.string.message_娑堟伅);
+        viewBinding.myMeBottomIl3.titleTv.setText(R.string.my_power_station_鎴戠殑);
         this.bottomViewChangeOfStyle();
 
     }
 
     private void bottomViewChangeOfStyle() {
-        if (this.currentFragmentIndex == 0) {
+        if (this.currentFragmentIndex == 1) {
             viewBinding.myPowerStationFcv1.setVisibility(View.VISIBLE);
-            viewBinding.myPowerStationFcv2.setVisibility(View.GONE);
+            viewBinding.myMessageFcv2.setVisibility(View.GONE);
+            viewBinding.myMeFcv3.setVisibility(View.GONE);
             viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.selectedpowerstation));
             viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_90000000));
-            viewBinding.myPowerStationBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.unselectedme));
-            viewBinding.myPowerStationBottomIl2.titleTv.setTextColor(getColor(R.color.text_65000000));
-        } else {
+            viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_unselected));
+            viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_65000000));
+            viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.unselectedme));
+            viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_65000000));
+        } else if (this.currentFragmentIndex == 2) {
             viewBinding.myPowerStationFcv1.setVisibility(View.GONE);
-            viewBinding.myPowerStationFcv2.setVisibility(View.VISIBLE);
+            viewBinding.myMessageFcv2.setVisibility(View.VISIBLE);
+            viewBinding.myMeFcv3.setVisibility(View.GONE);
             viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.unselectedpowerstation));
             viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_65000000));
-            viewBinding.myPowerStationBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.selectedme));
-            viewBinding.myPowerStationBottomIl2.titleTv.setTextColor(getColor(R.color.text_90000000));
-
-
+            viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_select));
+            viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_90000000));
+            viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.unselectedme));
+            viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_65000000));
+        } else if (this.currentFragmentIndex == 3) {
+            viewBinding.myPowerStationFcv1.setVisibility(View.GONE);
+            viewBinding.myMessageFcv2.setVisibility(View.GONE);
+            viewBinding.myMeFcv3.setVisibility(View.VISIBLE);
+            viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.unselectedpowerstation));
+            viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_65000000));
+            viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_unselected));
+            viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_65000000));
+            viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.selectedme));
+            viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_90000000));
         }
     }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java b/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java
new file mode 100644
index 0000000..b60bbd8
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java
@@ -0,0 +1,494 @@
+package com.hdl.photovoltaic.ui.account;
+
+import android.app.AppComponentFactory;
+import android.os.Bundle;
+import android.os.CountDownTimer;
+import android.text.Editable;
+import android.text.InputType;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.text.method.HideReturnsTransformationMethod;
+import android.text.method.PasswordTransformationMethod;
+import android.view.View;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.content.res.AppCompatResources;
+
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
+import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean;
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.config.AppConfigManage;
+import com.hdl.photovoltaic.databinding.ActivityChangePasswordBinding;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlAccountLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
+import com.hdl.photovoltaic.widget.ConfirmationTipDialog;
+
+/**
+ * 淇敼璐﹀彿鐣岄潰
+ */
+public class ChangePassword extends CustomBaseActivity {
+    ActivityChangePasswordBinding viewBinding;
+
+    private boolean isPhoneType = true;
+
+    private String mPhoneAccount;
+    private String mPhonePsw;
+    private String mPhoneConfirmPsw;
+    private String mPhoneVerificationCode;
+
+    private String mMailAccount;
+    private String mMailPsw;
+    private String mMailConfirmPsw;
+    private String mMailVerificationCode;
+
+    @Override
+    public Object getContentView() {
+        viewBinding = ActivityChangePasswordBinding.inflate(getLayoutInflater());
+        return viewBinding.getRoot();
+    }
+
+    @Override
+    public void onBindView(Bundle savedInstanceState) {
+        //鍒濆鍖�
+        initView();
+        //鍒濆鍖栫晫闈㈢洃鍚櫒
+        initEvent();
+    }
+
+    /**
+     * 鍒濆鍖栫晫闈�
+     */
+    private void initView() {
+        switchPhoneOrMailView();
+    }
+
+    /**
+     * 璁剧疆鐩戝惉浜嬩欢
+     */
+    private void initEvent() {
+
+        //杩斿洖
+        viewBinding.changeBackTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                finish();
+            }
+        });
+        //鍒囨崲鎵嬫満鍙�
+        viewBinding.changePhoneIc.underlineCl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                isPhoneType = true;
+                switchPhoneOrMailView();
+
+            }
+        });
+        //鍒囨崲閭鍙�
+        viewBinding.changeMailRl.underlineCl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                isPhoneType = false;
+                switchPhoneOrMailView();
+
+            }
+        });
+        //杈撳叆鎵嬫満鍙锋垨鑰呴偖绠�
+        viewBinding.changeAccountEt.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                isCompleteEnabled();
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+
+            }
+        });
+        //鎵嬫満鍙疯幏鍙栭獙璇佺爜
+        viewBinding.changePhoneVerificationTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                sendVerification();
+
+            }
+        });
+        //杈撳叆鎵嬫満楠岃瘉鐮�
+        viewBinding.changePhoneVerificationEt.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                isCompleteEnabled();
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+
+            }
+        });
+        //閭鑾峰彇楠岃瘉鐮�
+        viewBinding.changeMailVerificationTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                sendVerification();
+
+            }
+        });
+        //杈撳叆閭楠岃瘉鐮�
+        viewBinding.changeMailVerificationEt.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                isCompleteEnabled();
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+
+            }
+        });
+        //杈撳叆瀵嗙爜
+        viewBinding.changePswEt.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                isCompleteEnabled();
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+
+            }
+        });
+        //瀵嗙爜鏄剧ず鎴栬�呴殣钘�
+        viewBinding.changePswHideIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (v.isSelected()) {
+                    v.setSelected(false);
+                    viewBinding.changePswHideIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.hide));
+                    viewBinding.changePswEt.setTransformationMethod(PasswordTransformationMethod.getInstance());
+
+                } else {
+                    v.setSelected(true);
+                    viewBinding.changePswHideIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.show));
+                    viewBinding.changePswEt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
+                }
+                //璁剧疆鍏夋爣浣嶇疆
+                if (!TextUtils.isEmpty(viewBinding.changePswEt.getText())) {
+                    viewBinding.changePswEt.setSelection(viewBinding.changePswEt.length());
+                }
+            }
+        });
+        //杈撳叆纭瀵嗙爜
+        viewBinding.changeConfirmPswEt.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                isCompleteEnabled();
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+
+            }
+        });
+        //纭瀵嗙爜鏄剧ず鎴栬�呴殣钘�
+        viewBinding.changeConfirmPswHideIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (v.isSelected()) {
+                    v.setSelected(false);
+                    viewBinding.changeConfirmPswHideIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.hide));
+                    viewBinding.changeConfirmPswEt.setTransformationMethod(PasswordTransformationMethod.getInstance());
+                } else {
+                    v.setSelected(true);
+                    viewBinding.changeConfirmPswHideIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.show));
+                    viewBinding.changeConfirmPswEt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
+                }
+                //璁剧疆鍏夋爣浣嶇疆
+                if (!TextUtils.isEmpty(viewBinding.changeConfirmPswEt.getText())) {
+                    viewBinding.changeConfirmPswEt.setSelection(viewBinding.changeConfirmPswEt.length());
+                }
+            }
+        });
+        //閲嶇疆瀵嗙爜
+        viewBinding.confirmTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (!isLocalCheckAccountAndPassword()) {
+                    return;
+                }
+                String account = viewBinding.changeAccountEt.getText().toString();
+                String psw = viewBinding.changeConfirmPswEt.getText().toString();
+                String verification_code;
+                if (isPhoneType) {
+                    verification_code = viewBinding.changePhoneVerificationEt.getText().toString();
+                } else {
+                    verification_code = viewBinding.changeMailVerificationEt.getText().toString();
+                }
+                HdlAccountLogic.getInstance().changePassword(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() {
+                    @Override
+                    public void onSuccess(Boolean obj) {
+                        HdlThreadLogic.runMainThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity);
+                                dialog.show();
+                                dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+                                    @Override
+                                    public void Confirm() {
+                                        finish();
+                                    }
+                                });
+                            }
+                        }, null, null);
+
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+
+                    }
+                });
+            }
+        });
+
+    }
+
+    /**
+     * 鍙戦�侀獙璇佺爜鎸囦护
+     */
+    private void sendVerification() {
+
+        String account = viewBinding.changeAccountEt.getText().toString();
+        if (TextUtils.isEmpty(account)) {
+            if (isPhoneType) {
+                viewBinding.textErrorTv.setText(R.string.home_login_phone_null);
+            } else {
+                viewBinding.textErrorTv.setText(R.string.home_login_mail_null);
+            }
+            return;
+        }
+        HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
+            @Override
+            public void onSuccess(HDLUserRegionBean obj) {
+                AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
+                HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl());
+                HdlAccountLogic.getInstance().sendVerifyCode(isPhoneType, account, "86", 2, new CloudCallBeak<Boolean>() {
+                    @Override
+                    public void onSuccess(Boolean obj) {
+                        if (isPhoneType) {
+                            phoneCountDownTimer.start();
+                        } else {
+                            mailCountDownTimer.start();
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+
+                    }
+                });
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                hideLoading();
+            }
+        });
+    }
+
+    /**
+     * 鍒濆鍖栨墜鏈哄彿璁℃椂鍣�
+     */
+    CountDownTimer phoneCountDownTimer = new CountDownTimer(60 * 1000, 1000) {
+        @Override
+        public void onTick(long millisUntilFinished) {
+            long time = (millisUntilFinished / 1000);
+            String str = time + "s" + getString(R.string.home_login_psw_verification_repeater);
+            viewBinding.changePhoneVerificationTv.setText(str);
+            viewBinding.changePhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000));
+            viewBinding.changePhoneVerificationTv.setEnabled(false);
+
+        }
+
+        @Override
+        public void onFinish() {
+            viewBinding.changePhoneVerificationTv.setText(getString(R.string.home_login_verification_regain));
+            viewBinding.changePhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3));
+            viewBinding.changePhoneVerificationTv.setEnabled(true);
+
+
+        }
+    };
+    /**
+     * 鍒濆鍖栭偖绠辫鏃跺櫒
+     */
+    CountDownTimer mailCountDownTimer = new CountDownTimer(60 * 1000, 1000) {
+        @Override
+        public void onTick(long millisUntilFinished) {
+            long time = (millisUntilFinished / 1000);
+            String str = time + "s" + getString(R.string.home_login_psw_verification_repeater);
+
+            viewBinding.changeMailVerificationTv.setText(str);
+            viewBinding.changeMailVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000));
+            viewBinding.changeMailVerificationTv.setEnabled(false);
+
+        }
+
+        @Override
+        public void onFinish() {
+            viewBinding.changeMailVerificationTv.setText(getString(R.string.home_login_verification_regain));
+            viewBinding.changeMailVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3));
+            viewBinding.changeMailVerificationTv.setEnabled(true);
+
+        }
+    };
+
+    /**
+     * 鍒囨崲鎵嬫満鍙锋垨鑰呴偖绠辩殑鏍峰紡
+     */
+    private void switchPhoneOrMailView() {
+        if (isPhoneType) {
+            //鎵嬫満鍙�
+            viewBinding.changePhoneIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
+            viewBinding.changePhoneIc.accountTitleTv.setTextSize(20);
+            viewBinding.changePhoneIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+            viewBinding.changePhoneIc.lineV.setVisibility(View.VISIBLE);
+
+            viewBinding.changeMailRl.accountTitleTv.setText(R.string.home_login_閭);
+            viewBinding.changeMailRl.accountTitleTv.setTextSize(16);
+            viewBinding.changeMailRl.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+            viewBinding.changeMailRl.lineV.setVisibility(View.GONE);
+
+            //杈撳叆鎵嬫満鍙�
+            viewBinding.changeAccountEt.setInputType(InputType.TYPE_CLASS_NUMBER);
+            viewBinding.changeAccountEt.setHint(R.string.home_login_璇疯緭鍏ユ墜鏈哄彿);
+            //鏄剧ず鎵嬫満鍙烽獙璇佺爜锛岄殣钘忛偖绠遍獙璇佺爜,
+            viewBinding.changePhoneVerificationCodeRl.setVisibility(View.VISIBLE);
+            viewBinding.changeMailVerificationCodeRl.setVisibility(View.GONE);
+            //璁板綍閭璐﹀彿鍜屽瘑鐮�
+            mMailAccount = viewBinding.changeAccountEt.getText().toString();
+            mMailVerificationCode = viewBinding.changePhoneVerificationEt.getText().toString();
+            mMailPsw = viewBinding.changePswEt.getText().toString();
+            mMailConfirmPsw = viewBinding.changeConfirmPswEt.getText().toString();
+            //鏄剧ず鏃ф暟鎹�
+            viewBinding.changeAccountEt.setText(mPhoneAccount);
+            viewBinding.changePhoneVerificationEt.setText(mPhoneVerificationCode);
+            viewBinding.changePswEt.setText(mPhonePsw);
+            viewBinding.changeConfirmPswEt.setText(mPhoneConfirmPsw);
+
+
+        } else {
+            //閭
+            viewBinding.changePhoneIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
+            viewBinding.changePhoneIc.accountTitleTv.setTextSize(16);
+            viewBinding.changePhoneIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+            viewBinding.changePhoneIc.lineV.setVisibility(View.GONE);
+
+            viewBinding.changeMailRl.accountTitleTv.setText(R.string.home_login_閭);
+            viewBinding.changeMailRl.accountTitleTv.setTextSize(20);
+            viewBinding.changeMailRl.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+            viewBinding.changeMailRl.lineV.setVisibility(View.VISIBLE);
+            //杈撳叆閭
+            viewBinding.changeAccountEt.setInputType(InputType.TYPE_CLASS_TEXT);
+            viewBinding.changeAccountEt.setHint(R.string.home_login_input_mail);
+
+            //鏄剧ず绠遍偖楠岃瘉鐮侊紝闅愯棌鎵嬫満鍙烽獙璇佺爜,
+            viewBinding.changePhoneVerificationCodeRl.setVisibility(View.GONE);
+            viewBinding.changeMailVerificationCodeRl.setVisibility(View.VISIBLE);
+
+            //璁板綍鎵嬫満鍙峰拰瀵嗙爜
+            mPhoneAccount = viewBinding.changeAccountEt.getText().toString();
+            mPhoneVerificationCode = viewBinding.changePhoneVerificationEt.getText().toString();
+            mPhonePsw = viewBinding.changePswEt.getText().toString();
+            mPhoneConfirmPsw = viewBinding.changeConfirmPswEt.getText().toString();
+            //鏄剧ず鏃ф暟鎹�
+            viewBinding.changeAccountEt.setText(mMailAccount);
+            viewBinding.changeMailVerificationEt.setText(mMailVerificationCode);
+            viewBinding.changePswEt.setText(mMailPsw);
+            viewBinding.changeConfirmPswEt.setText(mMailConfirmPsw);
+
+        }
+        isCompleteEnabled();
+
+    }
+
+    /**
+     * 鏍¢獙鎸夐挳鏄惁鍚敤
+     */
+    private void isCompleteEnabled() {
+        String account = viewBinding.changeAccountEt.getText().toString();
+        String psw1 = viewBinding.changePswEt.getText().toString();
+        String psw2 = viewBinding.changeConfirmPswEt.getText().toString();
+        String verification_code;
+        if (isPhoneType) {
+            verification_code = viewBinding.changePhoneVerificationEt.getText().toString();
+        } else {
+            verification_code = viewBinding.changeMailVerificationEt.getText().toString();
+        }
+        boolean isEnabled = account.length() > 0 && psw1.length() > 0 && psw2.length() > 0 && verification_code.length() > 0;
+        viewBinding.confirmTv.setEnabled(isEnabled);
+    }
+
+    /**
+     * 鏈湴鏍¢獙杈撳叆璐﹀彿鎴栬�呭瘑鐮佹槸鍚︽纭�
+     */
+    private boolean isLocalCheckAccountAndPassword() {
+        String psw1 = viewBinding.changePswEt.getText().toString();
+        String psw2 = viewBinding.changeConfirmPswEt.getText().toString();
+        if (!psw1.equals(psw2)) {
+            viewBinding.textErrorTv.setText(R.string.home_login_psw_unlikeliness);
+            return false;
+        }
+        if (psw1.length() < 6 || psw1.length() > 16) {
+            viewBinding.textErrorTv.setText(R.string.home_login_error_6_16_str);
+            return false;
+        }
+//        if (psw2.length() < 6 || psw2.length() > 16) {
+//            viewBinding.textErrorTv.setText(R.string.home_login_error_6_16_str);
+//            return false;
+//        }
+        return true;
+
+    }
+
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        if (phoneCountDownTimer != null) {
+            phoneCountDownTimer.cancel();
+            phoneCountDownTimer = null;
+        }
+        if (mailCountDownTimer != null) {
+            mailCountDownTimer.cancel();
+            mailCountDownTimer = null;
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java
new file mode 100644
index 0000000..da72b98
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java
@@ -0,0 +1,112 @@
+package com.hdl.photovoltaic.ui.account;
+
+
+import android.os.Bundle;
+import android.view.View;
+
+import androidx.constraintlayout.widget.ConstraintSet;
+
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.databinding.ActivityRegisterAccountBinding;
+import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
+
+/**
+ * 娉ㄥ唽璐﹀彿鐣岄潰
+ */
+public class RegisterAccountActivity extends CustomBaseActivity {
+
+    private ActivityRegisterAccountBinding viewBinding;
+
+    @Override
+    public Object getContentView() {
+        viewBinding = ActivityRegisterAccountBinding.inflate(getLayoutInflater());
+        return viewBinding.getRoot();
+    }
+
+    @Override
+    public void onBindView(Bundle savedInstanceState) {
+        //鍒濆鍖�
+        initView();
+        //鍒濆鍖栫晫闈㈢洃鍚櫒
+        initEvent();
+        KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
+            @Override
+            public void onKeyboardShow(int h) {
+                ConstraintSet cs = new ConstraintSet();
+                cs.clone(viewBinding.parentCl);
+                cs.connect(viewBinding.registerConfirmPswEt.getId(), ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h))
+                ;//
+                //搴旂敤绾︽潫
+                cs.applyTo(viewBinding.parentCl);
+            }
+
+            @Override
+
+            public void onKeyboardHide(int h) {
+                ConstraintSet cs = new ConstraintSet();
+                cs.clone(viewBinding.parentCl);
+                cs.connect(viewBinding.registerConfirmPswEt.getId(), ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h));//
+                //搴旂敤绾︽潫
+                cs.applyTo(viewBinding.parentCl);
+            }
+
+        });
+    }
+
+
+    private void initView() {
+
+        viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
+        viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(20);
+        viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+        viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.VISIBLE);
+
+        viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_閭);
+        viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(16);
+        viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+        viewBinding.registerMailTitleIc.lineV.setVisibility(View.GONE);
+
+    }
+
+    private void initEvent() {
+
+        viewBinding.registerBackTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                finish();
+            }
+        });
+        viewBinding.registerPhoneTitleIc.underlineCl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
+                viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(20);
+                viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+                viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.VISIBLE);
+
+                viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_閭);
+                viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(16);
+                viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+                viewBinding.registerMailTitleIc.lineV.setVisibility(View.GONE);
+            }
+        });
+
+        viewBinding.registerMailTitleIc.underlineCl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
+                viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(16);
+                viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+                viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.GONE);
+
+                viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_閭);
+                viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(20);
+                viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+                viewBinding.registerMailTitleIc.lineV.setVisibility(View.VISIBLE);
+            }
+        });
+
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
new file mode 100644
index 0000000..cdcd59c
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -0,0 +1,37 @@
+package com.hdl.photovoltaic.ui.message;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+
+import com.hdl.photovoltaic.base.CustomBaseFragment;
+import com.hdl.photovoltaic.databinding.FragmentMessageBinding;
+
+public class MessageFragment extends CustomBaseFragment {
+
+    private FragmentMessageBinding viewBinding;
+
+    @Override
+    public Object getContentView() {
+        viewBinding = FragmentMessageBinding.inflate(getLayoutInflater());
+        return viewBinding.getRoot();
+    }
+
+    @Override
+    public void onBindView(Bundle savedInstanceState) {
+        //鍒濆鍖栨暟鎹�
+        initData();
+        //鍒濆鍖栫晫闈�
+        initView();
+        //鍒濆鍖栫洃鍚櫒
+        initEvent();
+    }
+
+    private void initEvent() {
+    }
+
+    private void initView() {
+    }
+
+    private void initData() {
+    }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java
similarity index 92%
rename from app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java
rename to app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java
index b12b44a..1e285a7 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationCancelDialog.java
@@ -9,13 +9,13 @@
 import androidx.annotation.NonNull;
 
 import com.hdl.photovoltaic.R;
-import com.hdl.photovoltaic.databinding.LoadingConfirmBinding;
+import com.hdl.photovoltaic.databinding.DialogConfirmCancelBinding;
 
 /**
- * 纭妗�
+ * 纭鍙栨秷妗�
  */
-public class ConfirmationDialog extends Dialog {
-    public ConfirmationDialog(@NonNull Context context) {
+public class ConfirmationCancelDialog extends Dialog {
+    public ConfirmationCancelDialog(@NonNull Context context) {
         super(context, R.style.Custom_Dialog);
         this.mContext = context;
     }
@@ -23,14 +23,14 @@
     private final Context mContext;
     private onNoOnclickListener noOnclickListener;//鍙栨秷鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒
     private onYesOnclickListener yesOnclickListener;//纭畾鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒
-    private LoadingConfirmBinding viewBinding;
+    private DialogConfirmCancelBinding viewBinding;
     private String titleStr, contentStr, yesStr, noStr;
 
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        viewBinding = LoadingConfirmBinding.inflate(getLayoutInflater());
+        viewBinding = DialogConfirmCancelBinding.inflate(getLayoutInflater());
         setContentView(viewBinding.getRoot());
 //        setCancelable(true);//绯荤粺鍚庨��鍙互鍙栨秷
         //绌虹櫧澶勪笉鑳藉彇娑堝姩鐢�
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationExceptionDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationExceptionDialog.java
index e3737a2..d6e813d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationExceptionDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationExceptionDialog.java
@@ -12,14 +12,14 @@
 import androidx.appcompat.content.res.AppCompatResources;
 
 import com.hdl.photovoltaic.R;
-import com.hdl.photovoltaic.databinding.LoadingExceptionLogBinding;
+import com.hdl.photovoltaic.databinding.DialogExceptionLogBinding;
 
 /**
  * 寮傚父寮圭獥
  */
 public class ConfirmationExceptionDialog extends Dialog {
 
-    private LoadingExceptionLogBinding viewBinding;
+    private DialogExceptionLogBinding viewBinding;
     private final Context mContext;
     private String contentStr;
 
@@ -31,7 +31,7 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        viewBinding = LoadingExceptionLogBinding.inflate(getLayoutInflater());
+        viewBinding = DialogExceptionLogBinding.inflate(getLayoutInflater());
         setContentView(viewBinding.getRoot());
 //        Window window = getWindow();
 //        window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
index d57aef4..ff1bcd3 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
@@ -14,7 +14,7 @@
 import androidx.constraintlayout.widget.ConstraintSet;
 
 import com.hdl.photovoltaic.R;
-import com.hdl.photovoltaic.databinding.LoadingConfirmInputBinding;
+import com.hdl.photovoltaic.databinding.DialogConfirmInputBinding;
 import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
 
 /**
@@ -30,13 +30,13 @@
     private final Context mContext;
     private onNoOnclickListener noOnclickListener;//鍙栨秷鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒
     private onYesOnclickListener yesOnclickListener;//纭畾鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒
-    private LoadingConfirmInputBinding viewBinding;
+    private DialogConfirmInputBinding viewBinding;
     private String titleStr, yesStr, noStr;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        viewBinding = LoadingConfirmInputBinding.inflate(getLayoutInflater());
+        viewBinding = DialogConfirmInputBinding.inflate(getLayoutInflater());
         setContentView(viewBinding.getRoot());
 //        setCancelable(true);//绯荤粺鍚庨��鍙互鍙栨秷
         //绌虹櫧澶勪笉鑳藉彇娑堝姩鐢�
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationTipDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationTipDialog.java
new file mode 100644
index 0000000..33ed2b6
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationTipDialog.java
@@ -0,0 +1,94 @@
+package com.hdl.photovoltaic.widget;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.databinding.DialogConfirmationTipBinding;
+
+/**
+ * 鎻愮ず纭妗�
+ */
+public class ConfirmationTipDialog extends Dialog {
+
+    private final Context mContext;
+
+    private ConfirmationCancelDialog.onYesOnclickListener yesOnclickListener;//纭畾鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒
+    private DialogConfirmationTipBinding viewBinding;
+    private String titleStr;
+
+    public ConfirmationTipDialog(@NonNull Context context) {
+        super(context, R.style.Custom_Dialog);
+        this.mContext = context;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        viewBinding = DialogConfirmationTipBinding.inflate(getLayoutInflater());
+        setContentView(viewBinding.getRoot());
+        //绌虹櫧澶勪笉鑳藉彇娑堝姩鐢�
+        setCanceledOnTouchOutside(false);
+        //鍒濆鍖栫晫闈㈡帶浠�
+        initView();
+        //鍒濆鍖栫晫闈㈡暟鎹�
+        initData();
+        //鍒濆鍖栫晫闈㈡帶浠剁殑浜嬩欢
+        initEvent();
+    }
+
+    private void initView() {
+    }
+
+    private void initEvent() {
+        viewBinding.comfirmTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (yesOnclickListener != null) {
+                    yesOnclickListener.Confirm();
+                }
+                dismiss();
+            }
+        });
+    }
+
+    /**
+     * 鑷畾涔�"鏍囬"鏂囨湰
+     *
+     * @param title 鍐呭
+     */
+    public void setTitle(String title) {
+        if (TextUtils.isEmpty(title)) {
+            return;
+        }
+        titleStr = title;
+        if (viewBinding != null) {
+            viewBinding.titleTv.setText(titleStr);
+        }
+
+    }
+
+
+    private void initData() {
+        if (!TextUtils.isEmpty(titleStr)) {
+            viewBinding.titleTv.setText(titleStr);
+        }
+    }
+
+    public void setYesOnclickListener(ConfirmationCancelDialog.onYesOnclickListener yesOnclickListener) {
+        if (yesOnclickListener != null) {
+            this.yesOnclickListener = yesOnclickListener;
+        }
+
+    }
+
+    public interface onYesOnclickListener {
+        void Confirm();
+    }
+
+}
diff --git a/app/src/main/res/drawable/back.png b/app/src/main/res/drawable/back.png
index 64507b9..7a86407 100644
--- a/app/src/main/res/drawable/back.png
+++ b/app/src/main/res/drawable/back.png
Binary files differ
diff --git a/app/src/main/res/drawable/confirmation_bj.xml b/app/src/main/res/drawable/confirmation_bj.xml
new file mode 100644
index 0000000..7a5233d
--- /dev/null
+++ b/app/src/main/res/drawable/confirmation_bj.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/text_FFFFFFFF" />
+    <corners android:radius="@dimen/dp_4" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/message_select.png b/app/src/main/res/drawable/message_select.png
new file mode 100644
index 0000000..a3d6cd4
--- /dev/null
+++ b/app/src/main/res/drawable/message_select.png
Binary files differ
diff --git a/app/src/main/res/drawable/message_unselected.png b/app/src/main/res/drawable/message_unselected.png
new file mode 100644
index 0000000..f79a0d2
--- /dev/null
+++ b/app/src/main/res/drawable/message_unselected.png
Binary files differ
diff --git a/app/src/main/res/drawable/red_font.xml b/app/src/main/res/drawable/red_font.xml
new file mode 100644
index 0000000..67e748f
--- /dev/null
+++ b/app/src/main/res/drawable/red_font.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#FF3030" />
+    <corners android:radius="@dimen/dp_8" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/region.png b/app/src/main/res/drawable/region.png
index 5f7d4a5..2c1c39b 100644
--- a/app/src/main/res/drawable/region.png
+++ b/app/src/main/res/drawable/region.png
Binary files differ
diff --git a/app/src/main/res/drawable/spinner.png b/app/src/main/res/drawable/spinner.png
new file mode 100644
index 0000000..eab2468
--- /dev/null
+++ b/app/src/main/res/drawable/spinner.png
Binary files differ
diff --git a/app/src/main/res/drawable/succeed.png b/app/src/main/res/drawable/succeed.png
new file mode 100644
index 0000000..cb57517
--- /dev/null
+++ b/app/src/main/res/drawable/succeed.png
Binary files differ
diff --git a/app/src/main/res/layout/activity_change_password.xml b/app/src/main/res/layout/activity_change_password.xml
new file mode 100644
index 0000000..80edf65
--- /dev/null
+++ b/app/src/main/res/layout/activity_change_password.xml
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".ui.account.ChangePassword">
+
+    <TextView
+        android:id="@+id/change_back_tv"
+        android:layout_width="@dimen/dp_24"
+        android:layout_height="@dimen/dp_24"
+        android:layout_marginStart="@dimen/dp_16"
+        android:layout_marginTop="@dimen/dp_12"
+        android:background="@drawable/back"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/change_title_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_39"
+        android:layout_marginStart="@dimen/dp_20"
+        android:layout_marginTop="@dimen/dp_42"
+        android:text="@string/home_login_淇敼瀵嗙爜"
+        android:textAlignment="center"
+        android:textColor="@color/text_90000000"
+        android:textSize="@dimen/text_28"
+        android:textStyle="bold"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/change_back_tv" />
+    <!--鎵嬫満鍙�-->
+    <include
+        android:id="@+id/change_phone_ic"
+        layout="@layout/text_underline"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_31"
+        android:layout_marginTop="@dimen/dp_52"
+        app:layout_constraintStart_toStartOf="@+id/change_title_tv"
+        app:layout_constraintTop_toBottomOf="@+id/change_title_tv" />
+    <!--閭-->
+    <include
+        android:id="@+id/change_mail_rl"
+        layout="@layout/text_underline"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_31"
+        android:layout_marginStart="@dimen/dp_28"
+        android:layout_marginTop="@dimen/dp_52"
+        app:layout_constraintStart_toEndOf="@+id/change_phone_ic"
+        app:layout_constraintTop_toBottomOf="@+id/change_title_tv" />
+
+
+    <RelativeLayout
+        android:id="@+id/change_account_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        android:layout_marginTop="102.5dp"
+        app:layout_constraintStart_toStartOf="@+id/change_title_tv"
+        app:layout_constraintTop_toBottomOf="@+id/change_title_tv">
+
+        <EditText
+            android:id="@+id/change_account_et"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_60"
+            android:background="@null"
+            android:hint="@string/home_login_璇疯緭鍏ユ墜鏈哄彿"
+            android:inputType="text"
+            android:lines="1"
+            android:maxLines="1"
+            android:textColor="@color/text_FF000000"
+            android:textColorHint="@color/text_25000000"
+            android:textSize="@dimen/text_16" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+    </RelativeLayout>
+    <!--鎵嬫満鑾峰彇楠岃瘉鐮�-->
+    <RelativeLayout
+        android:id="@+id/change_phone_verification_code_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/change_account_rl">
+
+
+        <TextView
+            android:id="@+id/change_phone_verification_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_alignParentEnd="true"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:gravity="center"
+            android:padding="@dimen/dp_16"
+            android:text="@string/home_login_楠岃瘉鐮�"
+            android:textColor="@color/text_245EC3"
+            android:textSize="@dimen/text_14" />
+
+        <View
+            android:id="@+id/change_phone_verification_v"
+            android:layout_width="0.5dp"
+            android:layout_height="20dp"
+            android:layout_alignStart="@+id/change_phone_verification_tv"
+            android:layout_centerInParent="true"
+            android:background="@color/text_E1E1E1" />
+
+        <EditText
+            android:id="@+id/change_phone_verification_et"
+            android:layout_width="@dimen/dp_150"
+            android:layout_height="match_parent"
+            android:layout_alignStart="@+id/change_phone_verification_v"
+            android:layout_alignParentStart="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:background="@null"
+            android:hint="@string/home_login_input_楠岃瘉鐮�"
+            android:inputType="text"
+            android:lines="1"
+            android:maxLines="1"
+            android:textColor="@color/text_FF000000"
+            android:textColorHint="@color/text_25000000"
+            android:textSize="@dimen/text_16"
+
+            />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+
+    </RelativeLayout>
+    <!--閭鑾峰彇楠岃瘉鐮�-->
+    <RelativeLayout
+        android:id="@+id/change_mail_verification_code_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        android:visibility="gone"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/change_account_rl">
+
+        <TextView
+            android:id="@+id/change_mail_verification_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_alignParentEnd="true"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:gravity="center"
+            android:padding="@dimen/dp_16"
+            android:text="@string/home_login_send_mail"
+            android:textColor="@color/text_245EC3"
+            android:textSize="@dimen/text_14" />
+
+        <View
+            android:id="@+id/change_mail_verification_v"
+            android:layout_width="0.5dp"
+            android:layout_height="20dp"
+            android:layout_alignStart="@+id/change_mail_verification_tv"
+            android:layout_centerInParent="true"
+            android:background="@color/text_E1E1E1" />
+
+        <EditText
+            android:id="@+id/change_mail_verification_et"
+            android:layout_width="@dimen/dp_150"
+            android:layout_height="match_parent"
+            android:layout_alignStart="@+id/change_mail_verification_v"
+            android:layout_alignParentStart="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:background="@null"
+            android:hint="@string/home_login_input_楠岃瘉鐮�"
+            android:inputType="text"
+            android:lines="1"
+            android:maxLines="1"
+            android:textColor="@color/text_FF000000"
+            android:textColorHint="@color/text_25000000"
+            android:textSize="@dimen/text_16"
+
+            />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/change_psw_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        android:layout_marginTop="@dimen/dp_60"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/change_account_rl">
+
+        <EditText
+            android:id="@+id/change_psw_et"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_60"
+            android:background="@null"
+            android:hint="@string/home_login_input_6_16"
+            android:inputType="textPassword"
+            android:lines="1"
+            android:maxLines="1"
+            android:textColor="@color/text_FF000000"
+            android:textColorHint="@color/text_25000000"
+            android:textSize="@dimen/text_16" />
+
+        <ImageView
+            android:id="@+id/change_psw_hide_iv"
+            android:layout_width="@dimen/dp_20"
+            android:layout_height="@dimen/dp_20"
+            android:layout_alignParentEnd="true"
+            android:layout_centerVertical="true"
+            android:layout_marginEnd="@dimen/dp_32"
+            android:src="@drawable/hide" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/change_confirm_psw_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/change_psw_rl">
+
+        <EditText
+            android:id="@+id/change_confirm_psw_et"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_60"
+            android:background="@null"
+            android:hint="@string/home_login_confirm_psw"
+            android:inputType="textPassword"
+            android:lines="1"
+            android:maxLines="1"
+            android:textColor="@color/text_FF000000"
+            android:textColorHint="@color/text_25000000"
+            android:textSize="@dimen/text_16" />
+
+        <ImageView
+            android:id="@+id/change_confirm_psw_hide_iv"
+            android:layout_width="@dimen/dp_20"
+            android:layout_height="@dimen/dp_20"
+            android:layout_alignParentEnd="true"
+            android:layout_centerVertical="true"
+            android:layout_marginEnd="@dimen/dp_32"
+            android:src="@drawable/hide" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+    </RelativeLayout>
+
+
+    <TextView
+        android:id="@+id/text_error_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/dp_20"
+        android:textColor="@color/text_D34545"
+        android:textSize="12sp"
+        app:layout_constraintStart_toStartOf="@+id/change_confirm_psw_rl"
+        app:layout_constraintTop_toBottomOf="@+id/change_confirm_psw_rl" />
+
+    <TextView
+        android:id="@+id/confirm_tv"
+        android:layout_width="0dp"
+        android:layout_height="52dp"
+        android:layout_marginStart="@dimen/dp_20"
+        android:layout_marginTop="@dimen/dp_42"
+        android:layout_marginEnd="@dimen/dp_20"
+        android:background="@drawable/yesandnocheck"
+        android:enabled="false"
+        android:gravity="center"
+        android:text="@string/home_login_纭閲嶇疆"
+        android:textColor="@color/text_FFFFFFFF"
+        android:textSize="18sp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/change_confirm_psw_rl" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_home_login.xml b/app/src/main/res/layout/activity_home_login.xml
index ca3341a..cedebad 100644
--- a/app/src/main/res/layout/activity_home_login.xml
+++ b/app/src/main/res/layout/activity_home_login.xml
@@ -116,7 +116,7 @@
     <View
         android:id="@+id/home_login_line1_v"
         android:layout_width="match_parent"
-        android:layout_height="1dp"
+        android:layout_height="0.5dp"
         android:layout_marginStart="@dimen/dp_20"
         android:layout_marginEnd="@dimen/dp_20"
         android:background="@color/text_E1E1E1"
@@ -126,8 +126,8 @@
 
     <TextView
         android:id="@+id/home_login_account_text_error_tv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+        android:layout_width="2dp"
+        android:layout_height="14dp"
         android:layout_marginTop="2dp"
         android:textColor="@color/text_D34545"
         android:textSize="12sp"
@@ -170,7 +170,7 @@
     <View
         android:id="@+id/home_login_line2_v"
         android:layout_width="0dp"
-        android:layout_height="1dp"
+        android:layout_height="0.5dp"
         android:background="@color/text_E1E1E1"
         app:layout_constraintEnd_toEndOf="@+id/home_login_line1_v"
         app:layout_constraintStart_toStartOf="@+id/home_login_line1_v"
@@ -208,11 +208,12 @@
         app:layout_constraintEnd_toEndOf="@+id/home_login_line2_v"
         app:layout_constraintTop_toBottomOf="@+id/home_login_line2_v" />
     <!--鐧诲綍-->
+
     <TextView
         android:id="@+id/home_login_tv"
         android:layout_width="0dp"
         android:layout_height="52dp"
-        android:layout_marginTop="@dimen/dp_45"
+        android:layout_marginTop="44dp"
         android:background="@drawable/yesandnocheck"
         android:enabled="false"
         android:gravity="center"
@@ -220,6 +221,7 @@
         android:textColor="@color/text_FFFFFFFF"
         android:textSize="18sp"
         app:layout_constraintEnd_toEndOf="@+id/home_login_line2_v"
+        app:layout_constraintHorizontal_bias="0.0"
         app:layout_constraintStart_toStartOf="@+id/home_login_line2_v"
         app:layout_constraintTop_toBottomOf="@+id/home_login_forget_password_tv" />
 
@@ -243,7 +245,7 @@
         android:layout_marginTop="@dimen/dp_208"
         android:background="@drawable/yesandnoselected"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/home_login_tv" />
+        app:layout_constraintTop_toBottomOf="@+id/home_login_register_tv" />
 
     <TextView
         android:id="@+id/home_login_privacy_tv"
diff --git a/app/src/main/res/layout/activity_my_power_station.xml b/app/src/main/res/layout/activity_my_power_station.xml
index 566b68c..a11ac27 100644
--- a/app/src/main/res/layout/activity_my_power_station.xml
+++ b/app/src/main/res/layout/activity_my_power_station.xml
@@ -7,7 +7,7 @@
     android:background="@color/text_F9FAFB"
     tools:context="com.hdl.photovoltaic.ui.MyPowerStationActivity">
 
-    <!--鎴戠殑鐢电珯-Fragment-->
+    <!--鐢电珯鍒楄〃-Fragment-->
     <androidx.fragment.app.FragmentContainerView
 
         android:id="@+id/my_power_station_fcv1"
@@ -19,9 +19,21 @@
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
+    <!--娑堟伅-Fragment-->
+    <androidx.fragment.app.FragmentContainerView
+
+        android:id="@+id/my_message_fcv2"
+        android:name="com.hdl.photovoltaic.ui.message.MessageFragment"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:visibility="gone"
+        app:layout_constraintBottom_toTopOf="@+id/my_power_station_bottom_ll"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
     <!--鎴戠殑-Fragment-->
     <androidx.fragment.app.FragmentContainerView
-        android:id="@+id/my_power_station_fcv2"
+        android:id="@+id/my_me_fcv3"
         android:name="com.hdl.photovoltaic.ui.me.MeFragment"
         android:layout_width="match_parent"
         android:layout_height="0dp"
@@ -36,7 +48,6 @@
         android:layout_width="match_parent"
         android:layout_height="@dimen/dp_49"
         android:background="@color/text_FFFFFFFF"
-        android:gravity="center"
         android:orientation="horizontal"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
@@ -44,16 +55,21 @@
         <!--鐢电珯-鏍囩-->
         <include
             android:id="@+id/my_power_station_bottom_il1"
+            layout="@layout/home_bottom_line"
+
+            />
+        <!--娑堟伅-->
+        <include
+            android:id="@+id/my_message_bottom_il2"
             layout="@layout/home_bottom_line" />
 
-
-        <View
-            android:layout_width="@dimen/dp_1"
-            android:layout_height="@dimen/dp_17"
-            android:background="@color/text_CBCDD1" />
+        <!--        <View-->
+        <!--            android:layout_width="@dimen/dp_1"-->
+        <!--            android:layout_height="@dimen/dp_17"-->
+        <!--            android:background="@color/text_CBCDD1" />-->
         <!--鎴戠殑-鏍囩-->
         <include
-            android:id="@+id/my_power_station_bottom_il2"
+            android:id="@+id/my_me_bottom_il3"
             layout="@layout/home_bottom_line" />
 
 
diff --git a/app/src/main/res/layout/activity_register_account.xml b/app/src/main/res/layout/activity_register_account.xml
new file mode 100644
index 0000000..4f9aae0
--- /dev/null
+++ b/app/src/main/res/layout/activity_register_account.xml
@@ -0,0 +1,347 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/parent_cl"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".ui.account.RegisterAccountActivity">
+
+    <TextView
+        android:id="@+id/register_back_tv"
+        android:layout_width="@dimen/dp_24"
+        android:layout_height="@dimen/dp_24"
+        android:layout_marginStart="@dimen/dp_16"
+        android:layout_marginTop="@dimen/dp_12"
+        android:background="@drawable/back"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/register_title_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_39"
+        android:layout_marginStart="@dimen/dp_20"
+        android:layout_marginTop="@dimen/dp_42"
+        android:text="@string/home_login_娉ㄥ唽"
+        android:textAlignment="center"
+        android:textColor="@color/text_90000000"
+        android:textSize="@dimen/text_28"
+        android:textStyle="bold"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/register_back_tv" />
+    <!--鎵嬫満鍙�-->
+    <include
+        android:id="@+id/register_phone_title_ic"
+        layout="@layout/text_underline"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_31"
+        android:layout_marginTop="@dimen/dp_52"
+        app:layout_constraintStart_toStartOf="@+id/register_title_tv"
+        app:layout_constraintTop_toBottomOf="@+id/register_title_tv" />
+    <!--閭-->
+    <include
+        android:id="@+id/register_mail_title_ic"
+        layout="@layout/text_underline"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_31"
+        android:layout_marginStart="@dimen/dp_28"
+        android:layout_marginTop="@dimen/dp_52"
+        app:layout_constraintStart_toEndOf="@+id/register_phone_title_ic"
+        app:layout_constraintTop_toBottomOf="@+id/register_title_tv" />
+
+
+    <RelativeLayout
+        android:id="@+id/register_region_server_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        android:layout_marginTop="102.5dp"
+        app:layout_constraintStart_toStartOf="@+id/register_title_tv"
+        app:layout_constraintTop_toBottomOf="@+id/register_title_tv">
+
+        <ImageView
+            android:id="@+id/region_iv"
+            android:layout_width="@dimen/dp_13"
+            android:layout_height="@dimen/dp_13"
+            android:layout_centerVertical="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:src="@drawable/region" />
+
+        <TextView
+            android:id="@+id/region_tv"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginStart="@dimen/dp_10"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:layout_toEndOf="@+id/region_iv"
+            android:gravity="center_vertical"
+            android:text="HDL China"
+            android:textColor="@color/text_90000000"
+            android:textSize="@dimen/text_16" />
+
+
+        <ImageView
+            android:id="@+id/region_next_iv"
+            android:layout_width="@dimen/dp_13"
+            android:layout_height="@dimen/dp_13"
+            android:layout_alignParentEnd="true"
+            android:layout_centerVertical="true"
+            android:layout_marginEnd="@dimen/dp_26"
+            android:src="@drawable/next" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/register_region_account_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/register_region_server_rl">
+
+        <TextView
+            android:id="@+id/region_account_tv"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_150"
+            android:gravity="center_vertical"
+            android:text="涓浗澶ч檰"
+            android:textColor="@color/text_90000000"
+            android:textSize="@dimen/text_16" />
+
+        <TextView
+            android:id="@+id/region_account_number_tv"
+            android:layout_width="@dimen/dp_90"
+            android:layout_height="match_parent"
+            android:layout_alignParentEnd="true"
+            android:layout_centerVertical="true"
+            android:layout_marginEnd="@dimen/dp_58"
+            android:gravity="center_vertical|end"
+            android:text="+86"
+            android:textColor="@color/text_030D1C"
+            android:textSize="@dimen/text_16"
+
+            />
+
+        <ImageView
+            android:id="@+id/region_account_next_iv"
+            android:layout_width="@dimen/dp_32"
+            android:layout_height="@dimen/dp_32"
+            android:layout_alignParentEnd="true"
+            android:layout_centerVertical="true"
+            android:layout_marginEnd="@dimen/dp_26"
+            android:src="@drawable/spinner" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/register_account_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/register_region_account_rl">
+
+        <EditText
+            android:id="@+id/register_account_et"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_60"
+            android:background="@null"
+            android:hint="@string/home_login_璇疯緭鍏ユ墜鏈哄彿"
+            android:inputType="text"
+            android:lines="1"
+            android:maxLines="1"
+            android:textColor="@color/text_FF000000"
+            android:textColorHint="@color/text_25000000"
+            android:textSize="@dimen/text_16" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/register_psw_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/register_account_rl">
+
+        <EditText
+            android:id="@+id/register_psw_et"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_60"
+            android:background="@null"
+            android:hint="@string/home_login_input_6_16"
+            android:inputType="textPassword"
+            android:lines="1"
+            android:maxLines="1"
+            android:textColor="@color/text_FF000000"
+            android:textColorHint="@color/text_25000000"
+            android:textSize="@dimen/text_16" />
+
+        <ImageView
+            android:id="@+id/register_psw_hide_iv"
+            android:layout_width="@dimen/dp_20"
+            android:layout_height="@dimen/dp_20"
+            android:layout_alignParentEnd="true"
+            android:layout_centerVertical="true"
+            android:layout_marginEnd="@dimen/dp_32"
+            android:src="@drawable/hide" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/register_confirm_psw_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/register_psw_rl">
+
+        <EditText
+            android:id="@+id/register_confirm_psw_et"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_60"
+            android:background="@null"
+            android:hint="@string/home_login_confirm_psw"
+            android:inputType="textPassword"
+            android:lines="1"
+            android:maxLines="1"
+            android:textColor="@color/text_FF000000"
+            android:textColorHint="@color/text_25000000"
+            android:textSize="@dimen/text_16" />
+
+        <ImageView
+            android:id="@+id/register_confirm_psw_hide_iv"
+            android:layout_width="@dimen/dp_20"
+            android:layout_height="@dimen/dp_20"
+            android:layout_alignParentEnd="true"
+            android:layout_centerVertical="true"
+            android:layout_marginEnd="@dimen/dp_32"
+            android:src="@drawable/hide" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/register_verification_code_rl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_60"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/register_confirm_psw_rl">
+
+
+        <TextView
+            android:id="@+id/register_verification_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_alignParentEnd="true"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:gravity="center"
+            android:padding="@dimen/dp_16"
+            android:text="@string/home_login_楠岃瘉鐮�"
+            android:textColor="@color/text_245EC3"
+            android:textSize="@dimen/text_14" />
+
+        <View
+            android:id="@+id/register_verification_v"
+            android:layout_width="0.5dp"
+            android:layout_height="20dp"
+            android:layout_alignStart="@+id/register_verification_tv"
+            android:layout_centerInParent="true"
+            android:background="@color/text_E1E1E1" />
+
+        <EditText
+            android:id="@+id/register_verification_et"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_alignStart="@+id/register_verification_v"
+            android:layout_alignParentStart="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:background="@null"
+            android:hint="@string/home_login_input_楠岃瘉鐮�"
+            android:inputType="text"
+            android:lines="1"
+            android:maxLines="1"
+            android:textColor="@color/text_FF000000"
+            android:textColorHint="@color/text_25000000"
+            android:textSize="@dimen/text_16"
+
+            />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginStart="@dimen/dp_20"
+            android:layout_marginEnd="@dimen/dp_20"
+            android:background="@color/text_E1E1E1" />
+
+
+    </RelativeLayout>
+
+    <TextView
+        android:id="@+id/account_title_tv"
+        android:layout_width="0dp"
+        android:layout_height="52dp"
+        android:layout_marginStart="@dimen/dp_20"
+        android:layout_marginTop="@dimen/dp_42"
+        android:layout_marginEnd="@dimen/dp_20"
+        android:background="@drawable/yesandnocheck"
+        android:enabled="false"
+        android:gravity="center"
+        android:text="@string/home_login_娉ㄥ唽"
+        android:textColor="@color/text_FFFFFFFF"
+        android:textSize="18sp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/register_verification_code_rl" />
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/loading_confirm.xml b/app/src/main/res/layout/dialog_confirm_cancel.xml
similarity index 100%
rename from app/src/main/res/layout/loading_confirm.xml
rename to app/src/main/res/layout/dialog_confirm_cancel.xml
diff --git a/app/src/main/res/layout/loading_confirm_input.xml b/app/src/main/res/layout/dialog_confirm_input.xml
similarity index 100%
rename from app/src/main/res/layout/loading_confirm_input.xml
rename to app/src/main/res/layout/dialog_confirm_input.xml
diff --git a/app/src/main/res/layout/dialog_confirmation_tip.xml b/app/src/main/res/layout/dialog_confirmation_tip.xml
new file mode 100644
index 0000000..466cf1b
--- /dev/null
+++ b/app/src/main/res/layout/dialog_confirmation_tip.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+
+        android:layout_width="280dp"
+        android:layout_height="229dp"
+        android:background="@drawable/confirmation_bj"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
+
+        <TextView
+            android:id="@+id/title_tv"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_25"
+            android:layout_marginTop="@dimen/dp_24"
+            android:gravity="center"
+            android:text="@string/home_login_pws_reset_succeeded"
+            android:textColor="#222222"
+            android:textSize="@dimen/text_18"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/icon_tv"
+            android:layout_width="@dimen/dp_48"
+            android:layout_height="@dimen/dp_48"
+            android:layout_marginTop="@dimen/dp_28"
+            android:background="@drawable/succeed"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/title_tv" />
+
+        <TextView
+            android:id="@+id/comfirm_tv"
+            android:layout_width="199dp"
+            android:layout_height="@dimen/dp_52"
+            android:layout_marginTop="@dimen/dp_28"
+            android:background="@drawable/checked"
+            android:gravity="center"
+            android:text="@string/home_login_back_login"
+            android:textColor="@color/ffffff"
+            android:textSize="@dimen/text_18"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/icon_tv" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/loading_exception_log.xml b/app/src/main/res/layout/dialog_exception_log.xml
similarity index 100%
rename from app/src/main/res/layout/loading_exception_log.xml
rename to app/src/main/res/layout/dialog_exception_log.xml
diff --git a/app/src/main/res/layout/fragment_house_list.xml b/app/src/main/res/layout/fragment_house_list.xml
index f9e2a3e..60365ea 100644
--- a/app/src/main/res/layout/fragment_house_list.xml
+++ b/app/src/main/res/layout/fragment_house_list.xml
@@ -8,7 +8,6 @@
     <include
         android:id="@+id/toolbar_top_fragment_house_list_rl"
         layout="@layout/toolbar_top_view_52" />
-
     <RelativeLayout
         android:id="@+id/fragment_house_list_head_rl"
         android:layout_width="match_parent"
@@ -16,7 +15,9 @@
         android:background="@color/text_F9FAFB"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/toolbar_top_fragment_house_list_rl">
+        app:layout_constraintTop_toBottomOf="@+id/toolbar_top_fragment_house_list_rl"
+        android:visibility="gone"
+        >
 
         <LinearLayout
             android:id="@+id/fragment_house_list_content_ll"
diff --git a/app/src/main/res/layout/fragment_message.xml b/app/src/main/res/layout/fragment_message.xml
new file mode 100644
index 0000000..fc3fa41
--- /dev/null
+++ b/app/src/main/res/layout/fragment_message.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+<!--    <include-->
+<!--        android:id="@+id/toolbar_top_fragment_me_rl"-->
+<!--        layout="@layout/toolbar_top_view_52" />-->
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/frgment_house_list_line.xml b/app/src/main/res/layout/frgment_house_list_line.xml
index e554529..e82711b 100644
--- a/app/src/main/res/layout/frgment_house_list_line.xml
+++ b/app/src/main/res/layout/frgment_house_list_line.xml
@@ -6,10 +6,12 @@
 
     <RelativeLayout
         android:id="@+id/fragment_house_list_line_parent_rl"
+
         android:layout_width="0dp"
         android:layout_height="130dp"
         android:layout_alignParentStart="true"
         android:layout_alignParentEnd="true"
+        android:layout_marginTop="@dimen/dp_12"
         android:layout_marginStart="@dimen/dp_20"
         android:layout_marginEnd="@dimen/dp_20"
         android:background="@drawable/house_list_line_parent_bg">
diff --git a/app/src/main/res/layout/home_bottom_line.xml b/app/src/main/res/layout/home_bottom_line.xml
index b1ba497..9c1a7b1 100644
--- a/app/src/main/res/layout/home_bottom_line.xml
+++ b/app/src/main/res/layout/home_bottom_line.xml
@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="187dp"
-    android:layout_height="@dimen/dp_49">
+    android:layout_width="0dp"
+    android:layout_height="@dimen/dp_49"
+    android:layout_weight="1"
+    >
 
     <ImageView
         android:id="@+id/icon_iv"
@@ -20,6 +22,15 @@
         android:layout_marginTop="@dimen/dp_2"
         android:textColor="@color/text_90000000"
         android:textSize="@dimen/text_10" />
+    <TextView
+        android:id="@+id/red_tv"
+        android:layout_width="@dimen/dp_8"
+        android:layout_height="@dimen/dp_8"
+        android:background="@drawable/red_font"
+        android:layout_alignEnd="@+id/icon_iv"
+        android:layout_alignTop="@+id/icon_iv"
+        android:visibility="gone"
+         />
     <!--鍔犲ぇ鐐瑰嚮鐑尯-->
     <TextView
         android:id="@+id/click_tv"
@@ -28,7 +39,9 @@
         android:layout_alignParentStart="true"
         android:layout_alignParentEnd="true"
         android:layout_marginStart="@dimen/dp_30"
-        android:layout_marginEnd="@dimen/dp_30" />
+        android:layout_marginEnd="@dimen/dp_30"
+
+        />
 
 
 </RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/text_underline.xml b/app/src/main/res/layout/text_underline.xml
new file mode 100644
index 0000000..8fe495e
--- /dev/null
+++ b/app/src/main/res/layout/text_underline.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/underline_cl"
+    android:layout_width="wrap_content"
+    android:layout_height="@dimen/dp_31">
+
+    <TextView
+        android:id="@+id/account_title_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_28"
+        android:gravity="center"
+        android:text="@string/home_login_鎵嬫満鍙�"
+        android:textColor="@color/text_40000000"
+
+        android:textSize="@dimen/text_16" />
+
+    <View
+        android:id="@+id/line_v"
+        android:layout_width="@dimen/dp_20"
+        android:layout_height="3dp"
+        android:layout_below="@+id/account_title_tv"
+        android:layout_centerInParent="true"
+        android:background="@color/text_245EC3"
+        android:visibility="gone"
+        />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d81d43a..5589246 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -20,6 +20,7 @@
     <string name="home_login_璇疯緭鍏ュ瘑鐮�">璇疯緭鍏ュ瘑鐮�</string>
     <string name="home_login_娉ㄥ唽">娉ㄥ唽</string>
     <string name="home_login_蹇樿瀵嗙爜">蹇樿瀵嗙爜</string>
+    <string name="home_login_淇敼瀵嗙爜">淇敼瀵嗙爜</string>
     <string name="home_login_鐧诲綍">鐧诲綍</string>
     <string name="home_login_鐧诲綍涓�">鐧诲綍涓��</string>
     <string name="home_login_浣撻獙鐢电珯">浣撻獙鐢电珯</string>
@@ -27,9 +28,28 @@
     <string name="home_login_error_璐﹀彿涓嶈兘涓虹┖">璐﹀彿涓嶈兘涓虹┖.</string>
     <string name="home_login_error_瀵嗙爜涓嶈兘涓虹┖">瀵嗙爜涓嶈兘涓虹┖.</string>
     <string name="home_login_error_璐﹀彿鎴栬�呭瘑鐮佷笉瀵�">璐﹀彿鎴栬�呭瘑鐮佷笉瀵�,璇烽噸鏂拌緭鍏�.</string>
-    <string name="home_login_error_鏈�灏�6_16涓瓧绗�">瀵嗙爜涓嶇鍚堟渶浣庡畨鍏ㄨ姹�,鏈�灏�6鈥�16涓瓧绗�.</string>
+    <string name="home_login_error_6_16_str">瀵嗙爜涓嶇鍚堟渶浣庡畨鍏ㄨ姹�,鏈�灏�6鈥�16涓瓧绗�.</string>
     <string name="home_login_error_瀵嗙爜涓嶈兘灏忎簬6涓瓧绗�">瀵嗙爜涓嶈兘灏忎簬6涓瓧绗�.</string>
     <string name="home_login_error_瀵嗙爜涓嶈兘澶т簬16涓瓧绗�">瀵嗙爜涓嶈兘澶т簬16涓瓧绗�.</string>
+    <string name="home_login_input_6_16">璇疯緭鍏�6鈥�16浣嶇殑瀵嗙爜</string>
+    <string name="home_login_confirm_psw">璇峰啀娆$‘璁ゅ瘑鐮�</string>
+    <string name="home_login_鎵嬫満鍙�">鎵嬫満鍙�</string>
+    <string name="home_login_閭">閭</string>
+    <string name="home_login_input_mail">璇疯緭鍏ラ偖绠�</string>
+    <string name="home_login_鍥藉_鍖哄煙">璇烽�夋嫨鍥藉/鍖哄煙</string>
+    <string name="home_login_楠岃瘉鐮�">鑾峰彇楠岃瘉鐮�</string>
+    <string name="home_login_input_楠岃瘉鐮�">璇疯緭鍏ラ獙璇佺爜</string>
+    <string name="home_login_纭閲嶇疆">纭閲嶇疆</string>
+    <string name="home_login_null_楠岃瘉鐮�">楠岃瘉鐮佷笉鑳戒负绌�.</string>
+    <string name="home_login_phone_null">鎵嬫満鍙蜂笉鑳戒负绌�.</string>
+    <string name="home_login_mail_null">閭涓嶈兘涓虹┖.</string>
+    <string name="home_login_psw_unlikeliness">涓ゆ杈撳叆瀵嗙爜涓嶄竴鏍�.</string>
+    <string name="home_login_psw_verification_repeater">鍚庨噸鍙�</string>
+    <string name="home_login_verification_regain">閲嶆柊鑾峰彇</string>
+    <string name="home_login_pws_reset_succeeded">瀵嗙爜閲嶇疆鎴愬姛</string>
+    <string name="home_login_back_login">杩斿洖鐧诲綍</string>
+    <string name="home_login_send_mail">鍙戦�佽嚦閭</string>
+
 
     <!--鎴戠殑鐢电珯-->
     <string name="my_power_station_鐢电珯">鐢电珯</string>
@@ -48,6 +68,8 @@
     <string name="device_鎵嬪姩杩炴帴">鎵嬪姩杩炴帴</string>
     <string name="device_鍔犺浇涓�">鍔犺浇涓��</string>
 
+    <!--娑堟伅-->
+    <string name="message_娑堟伅">娑堟伅</string>
 
     <!--鎴戠殑-->
     <string name="me_鎴戠殑">鎴戠殑</string>
diff --git a/local.properties b/local.properties
index fbc2482..e7b3898 100644
--- a/local.properties
+++ b/local.properties
@@ -4,5 +4,5 @@
 # Location of the SDK. This is only used by Gradle.
 # For customization when using a Version Control System, please read the
 # header note.
-#Thu Jun 29 18:00:39 CST 2023
-sdk.dir=/Users/wenjucheng/Library/Android/sdk
+#Sun Aug 06 16:06:53 CST 2023
+sdk.dir=/Users/user/Library/Android/sdk

--
Gitblit v1.8.0