From 0e7dd8919ae2811063057f18a4db4156c771448a Mon Sep 17 00:00:00 2001
From: 陈奇 <1650699704@qq.com>
Date: Fri, 07 Dec 2018 16:54:04 +0800
Subject: [PATCH] [*]添加了微信登陆

---
 .idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml                             |    4 
 .idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml                      |    4 
 app/src/main/res/values/styles.xml                                                          |   35 +
 .gradle/4.1/taskHistory/taskHistory.bin                                                     |    0 
 app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java                          |   93 ----
 .gradle/4.1/javaCompile/classAnalysis.bin                                                   |    0 
 .idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml                        |    4 
 andbrickslib/andbrickslib.iml                                                               |  101 +---
 app/src/main/res/values/colors.xml                                                          |    9 
 app/src/main/java/com/moral/yunfushao/model/User.java                                       |    9 
 app/src/main/res/layout/ac_login_layout.xml                                                 |  276 +++++++------
 app/src/main/res/drawable/btn_style_one_disabled.9.png                                      |    0 
 .gradle/4.1/taskHistory/fileSnapshots.bin                                                   |    0 
 app/src/main/res/drawable/btn_style_one_normal.9.png                                        |    0 
 app/src/main/java/com/moral/yunfushao/base/BaseActivity.java                                |   16 
 .idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml                     |    4 
 FastBleLib/FastBleLib.iml                                                                   |   72 +--
 .gradle/4.1/fileHashes/resourceHashesCache.bin                                              |    0 
 app/build.gradle                                                                            |   11 
 app/app.iml                                                                                 |  135 ++----
 app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java                            |  102 ++++
 .idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_without_mta_5_1_6_jar.xml |   11 
 FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java                        |    1 
 .gradle/4.1/javaCompile/jarAnalysis.bin                                                     |    0 
 .gradle/4.1/fileHashes/fileHashes.lock                                                      |    0 
 app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java                      |   36 -
 app/src/main/res/values/strings.xml                                                         |    9 
 app/src/main/java/com/moral/yunfushao/wxapi/data/AccessTokenBean.java                       |   29 +
 .idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml                    |    4 
 app/src/main/res/layout/entry.xml                                                           |   42 ++
 app/src/main/AndroidManifest.xml                                                            |    3 
 app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java                           |   34 -
 app/src/main/res/drawable/btn_style_one_focused.9.png                                       |    0 
 .gradle/4.1/javaCompile/taskJars.bin                                                        |    0 
 /dev/null                                                                                   |   11 
 app/src/main/res/drawable/btn_style_one.xml                                                 |   10 
 app/src/main/res/drawable/btn_style_one_pressed.9.png                                       |    0 
 app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java                         |   40 -
 .gradle/4.1/fileHashes/fileHashes.bin                                                       |    0 
 app/src/main/java/com/moral/yunfushao/common/WXConstants.java                               |    3 
 .gradle/4.1/javaCompile/javaCompile.lock                                                    |    0 
 .idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_6_0.xml                       |   12 
 .gradle/4.1/taskHistory/taskHistory.lock                                                    |    0 
 .idea/libraries/Gradle__com_google_code_gson_gson_2_8_5_jar.xml                             |   11 
 .gradle/4.1/javaCompile/taskHistory.bin                                                     |    0 
 45 files changed, 608 insertions(+), 523 deletions(-)

diff --git a/.gradle/4.1/fileHashes/fileHashes.bin b/.gradle/4.1/fileHashes/fileHashes.bin
index c627738..6a84e85 100644
--- a/.gradle/4.1/fileHashes/fileHashes.bin
+++ b/.gradle/4.1/fileHashes/fileHashes.bin
Binary files differ
diff --git a/.gradle/4.1/fileHashes/fileHashes.lock b/.gradle/4.1/fileHashes/fileHashes.lock
index be3f86a..7cd40a1 100644
--- a/.gradle/4.1/fileHashes/fileHashes.lock
+++ b/.gradle/4.1/fileHashes/fileHashes.lock
Binary files differ
diff --git a/.gradle/4.1/fileHashes/resourceHashesCache.bin b/.gradle/4.1/fileHashes/resourceHashesCache.bin
index 4d85397..114533d 100644
--- a/.gradle/4.1/fileHashes/resourceHashesCache.bin
+++ b/.gradle/4.1/fileHashes/resourceHashesCache.bin
Binary files differ
diff --git a/.gradle/4.1/javaCompile/classAnalysis.bin b/.gradle/4.1/javaCompile/classAnalysis.bin
index 36304f3..cd9505c 100644
--- a/.gradle/4.1/javaCompile/classAnalysis.bin
+++ b/.gradle/4.1/javaCompile/classAnalysis.bin
Binary files differ
diff --git a/.gradle/4.1/javaCompile/jarAnalysis.bin b/.gradle/4.1/javaCompile/jarAnalysis.bin
index 445c844..5e9a1fd 100644
--- a/.gradle/4.1/javaCompile/jarAnalysis.bin
+++ b/.gradle/4.1/javaCompile/jarAnalysis.bin
Binary files differ
diff --git a/.gradle/4.1/javaCompile/javaCompile.lock b/.gradle/4.1/javaCompile/javaCompile.lock
index a0db289..d73d552 100644
--- a/.gradle/4.1/javaCompile/javaCompile.lock
+++ b/.gradle/4.1/javaCompile/javaCompile.lock
Binary files differ
diff --git a/.gradle/4.1/javaCompile/taskHistory.bin b/.gradle/4.1/javaCompile/taskHistory.bin
index fc64acb..1ee5d9c 100644
--- a/.gradle/4.1/javaCompile/taskHistory.bin
+++ b/.gradle/4.1/javaCompile/taskHistory.bin
Binary files differ
diff --git a/.gradle/4.1/javaCompile/taskJars.bin b/.gradle/4.1/javaCompile/taskJars.bin
index c0227e3..9544e52 100644
--- a/.gradle/4.1/javaCompile/taskJars.bin
+++ b/.gradle/4.1/javaCompile/taskJars.bin
Binary files differ
diff --git a/.gradle/4.1/taskHistory/fileSnapshots.bin b/.gradle/4.1/taskHistory/fileSnapshots.bin
index df33856..e489310 100644
--- a/.gradle/4.1/taskHistory/fileSnapshots.bin
+++ b/.gradle/4.1/taskHistory/fileSnapshots.bin
Binary files differ
diff --git a/.gradle/4.1/taskHistory/taskHistory.bin b/.gradle/4.1/taskHistory/taskHistory.bin
index 8807666..387e56b 100644
--- a/.gradle/4.1/taskHistory/taskHistory.bin
+++ b/.gradle/4.1/taskHistory/taskHistory.bin
Binary files differ
diff --git a/.gradle/4.1/taskHistory/taskHistory.lock b/.gradle/4.1/taskHistory/taskHistory.lock
index 164cd75..5f6e921 100644
--- a/.gradle/4.1/taskHistory/taskHistory.lock
+++ b/.gradle/4.1/taskHistory/taskHistory.lock
Binary files differ
diff --git a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2.xml b/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2.xml
deleted file mode 100644
index 5f2eca1..0000000
--- a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support.test.espresso:espresso-core-2.2.2">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-2.2.2.aar/da50d0aa65b608a9b719306c6ca1f757/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-2.2.2.aar/da50d0aa65b608a9b719306c6ca1f757/res" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/espresso/espresso-core/2.2.2/espresso-core-2.2.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/espresso/espresso-core/2.2.2/espresso-core-2.2.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2.xml b/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2.xml
deleted file mode 100644
index 0f99680..0000000
--- a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support.test.espresso:espresso-idling-resource-2.2.2">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-2.2.2.aar/a67b5485c53251f992ac4a7d224cc803/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-2.2.2.aar/a67b5485c53251f992ac4a7d224cc803/res" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/espresso/espresso-idling-resource/2.2.2/espresso-idling-resource-2.2.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/espresso/espresso-idling-resource/2.2.2/espresso-idling-resource-2.2.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5.xml b/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5.xml
deleted file mode 100644
index 7d6b6c8..0000000
--- a/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support.test:exposed-instrumentation-api-publish-0.5">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/exposed-instrumentation-api-publish-0.5.aar/8a1ad9fb1c07707bfde90a30ad053f0e/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/exposed-instrumentation-api-publish-0.5.aar/8a1ad9fb1c07707bfde90a30ad053f0e/res" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/exposed-instrumentation-api-publish/0.5/exposed-instrumentation-api-publish-0.5-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/exposed-instrumentation-api-publish/0.5/exposed-instrumentation-api-publish-0.5-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_rules_0_5.xml b/.idea/libraries/Gradle__com_android_support_test_rules_0_5.xml
deleted file mode 100644
index dc4ba91..0000000
--- a/.idea/libraries/Gradle__com_android_support_test_rules_0_5.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support.test:rules-0.5">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rules-0.5.aar/cacee9ded483161b5c0a3080ea4f6c2e/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rules-0.5.aar/cacee9ded483161b5c0a3080ea4f6c2e/res" />
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rules-0.5.aar/cacee9ded483161b5c0a3080ea4f6c2e/jars/classes.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/rules/0.5/rules-0.5-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/rules/0.5/rules-0.5-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_runner_0_5.xml b/.idea/libraries/Gradle__com_android_support_test_runner_0_5.xml
deleted file mode 100644
index bc33297..0000000
--- a/.idea/libraries/Gradle__com_android_support_test_runner_0_5.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.android.support.test:runner-0.5">
-    <ANNOTATIONS>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-0.5.aar/3b8264a20ab629d6d8e2c4861a6f4af0/annotations.zip!/" />
-    </ANNOTATIONS>
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-0.5.aar/3b8264a20ab629d6d8e2c4861a6f4af0/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-0.5.aar/3b8264a20ab629d6d8e2c4861a6f4af0/res" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/runner/0.5/runner-0.5-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/runner/0.5/runner-0.5-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_jar.xml b/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml
deleted file mode 100644
index 947e251..0000000
--- a/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar">
-    <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_google_code_gson_gson_2_8_0_jar.xml b/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml
index 1b5f1e6..8c57dce 100644
--- a/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml
+++ b/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml
@@ -4,8 +4,6 @@
       <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.0/c4ba5371a29ac9b2ad6129b1d39ea38750043eff/gson-2.8.0.jar!/" />
     </CLASSES>
     <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.0/baf95d8519fc1a11d388f8543cb40cd2bb9d66dc/gson-2.8.0-sources.jar!/" />
-    </SOURCES>
+    <SOURCES />
   </library>
 </component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_5_jar.xml b/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_5_jar.xml
new file mode 100644
index 0000000..bc71380
--- /dev/null
+++ b/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_5_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: com.google.code.gson:gson:2.8.5@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.5/f645ed69d595b24d4cf8b3fbb64cc505bede8829/gson-2.8.5.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.5/c5b4c491aecb72e7c32a78da0b5c6b9cda8dee0f/gson-2.8.5-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml b/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml
deleted file mode 100644
index 5c4dd4e..0000000
--- a/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.squareup:javawriter:2.1.1@jar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/67ff45d9ae02e583d0f9b3432a5ebbe05c30c966/javawriter-2.1.1.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <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__com_tencent_bugly_nativecrashreport_3_3_1.xml b/.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_3_1.xml
deleted file mode 100644
index b5fcbca..0000000
--- a/.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_3_1.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.tencent.bugly:nativecrashreport-3.3.1">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/nativecrashreport-3.3.1.aar/8c1147deab124761102cb679027a8bd2/jars/classes.jar!/" />
-      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/nativecrashreport-3.3.1.aar/8c1147deab124761102cb679027a8bd2/res" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.bugly/nativecrashreport/3.3.1/485c1911d7eb2f37492639c39c32e4a0e5a5c11f/nativecrashreport-3.3.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_6_0.xml b/.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_6_0.xml
new file mode 100644
index 0000000..c3cf8c1
--- /dev/null
+++ b/.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_6_0.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+  <library name="Gradle: com.tencent.bugly:nativecrashreport-3.6.0">
+    <CLASSES>
+      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/nativecrashreport-3.6.0.aar/2a7ae2b54619c9e0b8571235428ecc77/res" />
+      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/nativecrashreport-3.6.0.aar/2a7ae2b54619c9e0b8571235428ecc77/jars/classes.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.bugly/nativecrashreport/3.6.0/78484aa6b1351c766c69c49b87e24608f5bb540f/nativecrashreport-3.6.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_with_mta_5_1_6_jar.xml b/.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_with_mta_5_1_6_jar.xml
deleted file mode 100644
index 060b6a9..0000000
--- a/.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_with_mta_5_1_6_jar.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.1.6@jar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.mm.opensdk/wechat-sdk-android-with-mta/5.1.6/2a867edf0fb47c112e512e8d6440554b1cf67ac6/wechat-sdk-android-with-mta-5.1.6.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.mm.opensdk/wechat-sdk-android-with-mta/5.1.6/8bda2617c1006822721047d4c6f7441a186b2af1/wechat-sdk-android-with-mta-5.1.6-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_without_mta_5_1_6_jar.xml b/.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_without_mta_5_1_6_jar.xml
new file mode 100644
index 0000000..89a9ba6
--- /dev/null
+++ b/.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_without_mta_5_1_6_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="Gradle: com.tencent.mm.opensdk:wechat-sdk-android-without-mta:5.1.6@jar">
+    <CLASSES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.mm.opensdk/wechat-sdk-android-without-mta/5.1.6/d78e9ebd52545fa9b23133f871744db008e7a715/wechat-sdk-android-without-mta-5.1.6.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES>
+      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.mm.opensdk/wechat-sdk-android-without-mta/5.1.6/e06ae0e2fbb3fcbf92bccdfd7e63f47ca042fbae/wechat-sdk-android-without-mta-5.1.6-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml b/.idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml
index 28870ee..a412382 100644
--- a/.idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml
+++ b/.idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml
@@ -4,8 +4,6 @@
       <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/aosp-dexutils/1.9.9/a63b69047bc0041cfb9b8f120eb81b7630eb224b/aosp-dexutils-1.9.9.jar!/" />
     </CLASSES>
     <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/aosp-dexutils/1.9.9/4859f992d8669838de1983236a0e066f3d24cdf8/aosp-dexutils-1.9.9-sources.jar!/" />
-    </SOURCES>
+    <SOURCES />
   </library>
 </component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml b/.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml
index 400572e..b5d7ac3 100644
--- a/.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml
+++ b/.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml
@@ -4,8 +4,6 @@
       <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/bsdiff-util/1.9.9/9ae926031682ef387ec5afdef12229b4f03270f5/bsdiff-util-1.9.9.jar!/" />
     </CLASSES>
     <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/bsdiff-util/1.9.9/3192409d81a578fa916a591acd261e3f51bf42ed/bsdiff-util-1.9.9-sources.jar!/" />
-    </SOURCES>
+    <SOURCES />
   </library>
 </component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml b/.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml
index 369bf16..f218fbe 100644
--- a/.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml
+++ b/.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml
@@ -4,8 +4,6 @@
       <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/tinker-commons/1.9.9/4af248b2b39ac366d6ca8b1f10a0630e092d92cf/tinker-commons-1.9.9.jar!/" />
     </CLASSES>
     <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/tinker-commons/1.9.9/af31ccf85a6c6379b73c3fe3e44cf4af8d8348cc/tinker-commons-1.9.9-sources.jar!/" />
-    </SOURCES>
+    <SOURCES />
   </library>
 </component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml b/.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml
index debcb0c..7be0dc9 100644
--- a/.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml
+++ b/.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml
@@ -4,8 +4,6 @@
       <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/tinker-ziputils/1.9.9/57894244db33610ceb85ed1f8751a8a6c814e385/tinker-ziputils-1.9.9.jar!/" />
     </CLASSES>
     <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/tinker-ziputils/1.9.9/734638e3c29eddb470a1659d6c121b6faff048f5/tinker-ziputils-1.9.9-sources.jar!/" />
-    </SOURCES>
+    <SOURCES />
   </library>
 </component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml b/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml
deleted file mode 100644
index 568ea48..0000000
--- a/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: javax.annotation:javax.annotation-api:1.2@jar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/479c1e06db31c432330183f5cae684163f186146/javax.annotation-api-1.2.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/ad18a02db08eaee697f812e333f692fc51129e4a/javax.annotation-api-1.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml b/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml
deleted file mode 100644
index f9c9a30..0000000
--- a/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: javax.inject:javax.inject:1@jar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <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__org_hamcrest_hamcrest_integration_1_3_jar.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml
deleted file mode 100644
index a5eaca5..0000000
--- a/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/5de0c73fef18917cd85d0ab70bb23818685e4dfd/hamcrest-integration-1.3.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <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_jar.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml
deleted file mode 100644
index b4dabdc..0000000
--- a/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="Gradle: org.hamcrest:hamcrest-library:1.3@jar">
-    <CLASSES>
-      <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES>
-      <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/FastBleLib/FastBleLib.iml b/FastBleLib/FastBleLib.iml
index 9a2ba05..fe4a4f8 100644
--- a/FastBleLib/FastBleLib.iml
+++ b/FastBleLib/FastBleLib.iml
@@ -8,11 +8,11 @@
     </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" />
+        <option name="SELECTED_BUILD_VARIANT" value="release" />
+        <option name="ASSEMBLE_TASK_NAME" value="assembleRelease" />
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileReleaseSources" />
         <afterSyncTasks>
-          <task>generateDebugSources</task>
+          <task>generateReleaseSources</task>
         </afterSyncTasks>
         <option name="ALLOW_USER_CONFIGURATION" value="false" />
         <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
@@ -24,46 +24,32 @@
     </facet>
   </component>
   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
-    <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
-    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
+    <output url="file://$MODULE_DIR$/build/intermediates/classes/release" />
+    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/release" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/release" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/release" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/release" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
@@ -85,7 +71,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/attr" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
@@ -99,7 +84,6 @@
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/typedefs.txt" />
       <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
       <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
     </content>
diff --git a/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java b/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
index 3e62bef..467470d 100644
--- a/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
+++ b/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
@@ -484,7 +484,6 @@
         @Override
         public void onDescriptorRead(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {
             BleLog.i("BleGattCallback���onDescriptorRead ");
-
             Iterator iterator = callbackHashMap.entrySet().iterator();
             while (iterator.hasNext()) {
                 Map.Entry entry = (Map.Entry) iterator.next();
diff --git a/andbrickslib/andbrickslib.iml b/andbrickslib/andbrickslib.iml
index 1cfb37d..714aa3a 100644
--- a/andbrickslib/andbrickslib.iml
+++ b/andbrickslib/andbrickslib.iml
@@ -8,11 +8,11 @@
     </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" />
+        <option name="SELECTED_BUILD_VARIANT" value="release" />
+        <option name="ASSEMBLE_TASK_NAME" value="assembleRelease" />
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileReleaseSources" />
         <afterSyncTasks>
-          <task>generateDebugSources</task>
+          <task>generateReleaseSources</task>
         </afterSyncTasks>
         <option name="ALLOW_USER_CONFIGURATION" value="false" />
         <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
@@ -24,46 +24,32 @@
     </facet>
   </component>
   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
-    <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
-    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
+    <output url="file://$MODULE_DIR$/build/intermediates/classes/release" />
+    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/release" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/release" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/release" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/release" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
@@ -85,7 +71,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/attr" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
@@ -99,7 +84,6 @@
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/typedefs.txt" />
       <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
       <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
     </content>
@@ -107,38 +91,27 @@
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-25.3.1" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-fragment-25.3.1" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-annotations:25.3.1@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource-2.2.2" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-25.3.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: javax.annotation:javax.annotation-api:1.2@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.pnikosis:materialish-progress-1.0" level="project" />
-    <orderEntry type="library" name="Gradle: com.lzy.net:okserver-1.1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core-2.2.2" level="project" />
-    <orderEntry type="library" name="Gradle: me.zhanghai.android.materialprogressbar:library-1.4.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-25.3.1" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-compat-25.3.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:rules-0.5" level="project" />
-    <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.0@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:commons-0.9.4.4" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-v13-25.3.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-annotations:25.3.1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:core-0.9.4.4" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-v4-25.3.1" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
     <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-core-ui-25.3.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner-0.5" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-25.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.pnikosis:materialish-progress-1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.alibaba:fastjson:1.1.56.android@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:exposed-instrumentation-api-publish-0.5" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.lzy.net:okserver-1.1.3" level="project" />
+    <orderEntry type="library" name="Gradle: me.zhanghai.android.materialprogressbar:library-1.4.0" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-25.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-compat-25.3.1" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:recyclerview-v7-25.3.1" level="project" />
     <orderEntry type="library" name="Gradle: com.lzy.net:okgo-2.1.4" level="project" />
     <orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp:3.4.1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable-25.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.0@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-core-utils-25.3.1" level="project" />
     <orderEntry type="library" name="Gradle: com.squareup.okio:okio:1.9.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:commons-0.9.4.4" level="project" />
   </component>
 </module>
\ No newline at end of file
diff --git a/app/app.iml b/app/app.iml
index 125691a..c751663 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -8,11 +8,11 @@
     </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" />
+        <option name="SELECTED_BUILD_VARIANT" value="release" />
+        <option name="ASSEMBLE_TASK_NAME" value="assembleRelease" />
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileReleaseSources" />
         <afterSyncTasks>
-          <task>generateDebugSources</task>
+          <task>generateReleaseSources</task>
         </afterSyncTasks>
         <option name="ALLOW_USER_CONFIGURATION" value="false" />
         <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
@@ -25,11 +25,11 @@
       <configuration version="3" platform="JVM 1.6" useProjectSettings="false">
         <compilerSettings />
         <compilerArguments>
-          <option name="destination" value="$MODULE_DIR$/build/tmp/kotlin-classes/debug" />
-          <option name="classpath" value="$MODULE_DIR$/libs/BaiduLBS_Android.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.10/4d147bf43060dc43d61b096e24da1e67dfe0c032/kotlin-stdlib-jdk7-1.3.10.jar:/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/andbrickslib/build/intermediates/intermediate-jars/debug/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/easypermissions-0.4.0.aar/7ec5bffcdf49e15b0906e5e3ab0fe5b2/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/commons-0.9.4.4.aar/ed195ff1215287f8764097a9f77b74fa/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/materialish-progress-1.0.aar/47318a0846dad2620b6a6f088a40762b/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/core-0.9.4.4.aar/5ba88eb32d0546b9e23d9f51bc86dc37/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/library-1.4.0.aar/741c5a4f444d2335c11c39c0fa4f8733/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/appcompat-v7-25.3.1.aar/004797fc059d6c2b644fc0d2d344825e/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.0.2.aar/5d314d3a87f8bde335969af5a4547056/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/cardview-v7-25.3.1.aar/2ccf5973c93a4ec53b8f3815d1977e8c/jars/classes.jar:/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/FastBleLib/build/intermediates/intermediate-jars/debug/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/ultra-ptr-1.0.11.aar/237107df99156e18cd87665c8a1b29c0/jars/classes.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.github.bumptech.glide/glide/3.7.0/9e9eeaf9948ee4d6c3ab354e8dc14368f16994a4/glide-3.7.0.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/okgo-2.1.4.aar/ca2d2e10b7b0b56a4a4b520b61d8aaef/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/library-1.4.aar/99d315fe676bfcc05353d691f1801bc3/jars/classes.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/org.greenrobot/eventbus/3.0.0/ddd99896e9569eaababbe81b35d80e1b91c4ad85/eventbus-3.0.0.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/hellocharts-library-1.5.8.aar/a8803351f14a433311a733a488f1eb17/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/Android-PickerView-3.1.2.aar/e85ecab0a533f649d05f98f8b850f5d3/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/multidex-1.0.1.aar/4dc9467b0770c79acc4ceccc7a61c55b/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/crashreport_upgrade-1.3.6.aar/1d6811a9c8233f4f3b961871a67d0e09/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/tinker-android-lib-1.9.9.aar/b5d911d2f76c2d84e8171c34add0c40f/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/nativecrashreport-3.3.1.aar/8c1147deab124761102cb679027a8bd2/jars/classes.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.mm.opensdk/wechat-sdk-android-with-mta/5.1.6/2a867edf0fb47c112e512e8d6440554b1cf67ac6/wechat-sdk-android-with-mta-5.1.6.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.10/b178c1501609c6e4ee8be635513cb023a466457d/kotlin-stdlib-1.3.10.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-25.3.1.aar/76f9f0853f745b43cd24835fca799002/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/tinker-android-loader-1.9.9.aar/d69fb323e6ad62f1c0c917078115c614/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-v13-25.3.1.aar/3f5e41ecffaf6897d5a4315a5e2baaff/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-v4-25.3.1.aar/9803afb728b3e086b4f7a547b2ffb612/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-fragment-25.3.1.aar/11331fad33afd3888cbf7e2af9cc224f/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-core-ui-25.3.1.aar/d5b698634a26f4108f509f2d5c552ca9/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-media-compat-25.3.1.aar/373b78f6b6e858945cfbdcd19599a654/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-core-utils-25.3.1.aar/6b892c7815a11e7e749b06b041d942f8/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-25.3.1.aar/c4011cba5a71933834a45253eb9d00b6/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-25.3.1.aar/e02e421bd05304dbd65c310ccad4a24d/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-compat-25.3.1.aar/ac0b9c2a12df9075292b07110ae937ba/jars/classes.jar:/Users/chenqi/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/25.3.1/support-annotations-25.3.1.jar:/Users/chenqi/Library/Android/sdk/extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.2/constraint-layout-solver-1.0.2.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.alibaba/fastjson/1.1.56.android/4eef0ac3ef5e18db7af5d44ca0228ca5c29dd2f6/fastjson-1.1.56.android.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.4.1/c7c4f9e35c2fd5900da24f9872e3971801f08ce0/okhttp-3.4.1.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/tinker-commons/1.9.9/4af248b2b39ac366d6ca8b1f10a0630e092d92cf/tinker-commons-1.9.9.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.10/1b19d99229dcedad7caf50534dce38fe82845269/kotlin-stdlib-common-1.3.10.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/1.9.0/f824591a0016efbaeddb8300bee54832a1398cfa/okio-1.9.0.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/aosp-dexutils/1.9.9/a63b69047bc0041cfb9b8f120eb81b7630eb224b/aosp-dexutils-1.9.9.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/bsdiff-util/1.9.9/9ae926031682ef387ec5afdef12229b4f03270f5/bsdiff-util-1.9.9.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/tinker-ziputils/1.9.9/57894244db33610ceb85ed1f8751a8a6c814e385/tinker-ziputils-1.9.9.jar:/Users/chenqi/Library/Android/sdk/platforms/android-25/android.jar" />
+          <option name="destination" value="$MODULE_DIR$/build/tmp/kotlin-classes/release" />
+          <option name="classpath" value="$MODULE_DIR$/libs/BaiduLBS_Android.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.10/4d147bf43060dc43d61b096e24da1e67dfe0c032/kotlin-stdlib-jdk7-1.3.10.jar:/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/andbrickslib/build/intermediates/intermediate-jars/release/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/easypermissions-0.4.0.aar/7ec5bffcdf49e15b0906e5e3ab0fe5b2/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/commons-0.9.4.4.aar/ed195ff1215287f8764097a9f77b74fa/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/materialish-progress-1.0.aar/47318a0846dad2620b6a6f088a40762b/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/core-0.9.4.4.aar/5ba88eb32d0546b9e23d9f51bc86dc37/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/library-1.4.0.aar/741c5a4f444d2335c11c39c0fa4f8733/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/appcompat-v7-25.3.1.aar/004797fc059d6c2b644fc0d2d344825e/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.0.2.aar/5d314d3a87f8bde335969af5a4547056/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/cardview-v7-25.3.1.aar/2ccf5973c93a4ec53b8f3815d1977e8c/jars/classes.jar:/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/FastBleLib/build/intermediates/intermediate-jars/release/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/ultra-ptr-1.0.11.aar/237107df99156e18cd87665c8a1b29c0/jars/classes.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.github.bumptech.glide/glide/3.7.0/9e9eeaf9948ee4d6c3ab354e8dc14368f16994a4/glide-3.7.0.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/okgo-2.1.4.aar/ca2d2e10b7b0b56a4a4b520b61d8aaef/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/library-1.4.aar/99d315fe676bfcc05353d691f1801bc3/jars/classes.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/org.greenrobot/eventbus/3.0.0/ddd99896e9569eaababbe81b35d80e1b91c4ad85/eventbus-3.0.0.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/hellocharts-library-1.5.8.aar/a8803351f14a433311a733a488f1eb17/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/Android-PickerView-3.1.2.aar/e85ecab0a533f649d05f98f8b850f5d3/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/multidex-1.0.1.aar/4dc9467b0770c79acc4ceccc7a61c55b/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/crashreport_upgrade-1.3.6.aar/1d6811a9c8233f4f3b961871a67d0e09/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/tinker-android-lib-1.9.9.aar/b5d911d2f76c2d84e8171c34add0c40f/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/nativecrashreport-3.6.0.aar/2a7ae2b54619c9e0b8571235428ecc77/jars/classes.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.mm.opensdk/wechat-sdk-android-without-mta/5.1.6/d78e9ebd52545fa9b23133f871744db008e7a715/wechat-sdk-android-without-mta-5.1.6.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.5/f645ed69d595b24d4cf8b3fbb64cc505bede8829/gson-2.8.5.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.10/b178c1501609c6e4ee8be635513cb023a466457d/kotlin-stdlib-1.3.10.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-25.3.1.aar/76f9f0853f745b43cd24835fca799002/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/tinker-android-loader-1.9.9.aar/d69fb323e6ad62f1c0c917078115c614/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-v13-25.3.1.aar/3f5e41ecffaf6897d5a4315a5e2baaff/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-v4-25.3.1.aar/9803afb728b3e086b4f7a547b2ffb612/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-fragment-25.3.1.aar/11331fad33afd3888cbf7e2af9cc224f/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-core-ui-25.3.1.aar/d5b698634a26f4108f509f2d5c552ca9/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-media-compat-25.3.1.aar/373b78f6b6e858945cfbdcd19599a654/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-core-utils-25.3.1.aar/6b892c7815a11e7e749b06b041d942f8/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-25.3.1.aar/c4011cba5a71933834a45253eb9d00b6/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-25.3.1.aar/e02e421bd05304dbd65c310ccad4a24d/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-compat-25.3.1.aar/ac0b9c2a12df9075292b07110ae937ba/jars/classes.jar:/Users/chenqi/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/25.3.1/support-annotations-25.3.1.jar:/Users/chenqi/Library/Android/sdk/extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.2/constraint-layout-solver-1.0.2.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.alibaba/fastjson/1.1.56.android/4eef0ac3ef5e18db7af5d44ca0228ca5c29dd2f6/fastjson-1.1.56.android.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.4.1/c7c4f9e35c2fd5900da24f9872e3971801f08ce0/okhttp-3.4.1.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/tinker-commons/1.9.9/4af248b2b39ac366d6ca8b1f10a0630e092d92cf/tinker-commons-1.9.9.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.10/1b19d99229dcedad7caf50534dce38fe82845269/kotlin-stdlib-common-1.3.10.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/1.9.0/f824591a0016efbaeddb8300bee54832a1398cfa/okio-1.9.0.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/aosp-dexutils/1.9.9/a63b69047bc0041cfb9b8f120eb81b7630eb224b/aosp-dexutils-1.9.9.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/bsdiff-util/1.9.9/9ae926031682ef387ec5afdef12229b4f03270f5/bsdiff-util-1.9.9.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/tinker-ziputils/1.9.9/57894244db33610ceb85ed1f8751a8a6c814e385/tinker-ziputils-1.9.9.jar:/Users/chenqi/Library/Android/sdk/platforms/android-25/android.jar" />
           <option name="noStdlib" value="true" />
           <option name="noReflect" value="true" />
-          <option name="moduleName" value="app_debug" />
+          <option name="moduleName" value="app_release" />
           <option name="addCompilerBuiltIns" value="true" />
           <option name="loadBuiltInsFromDependencies" value="true" />
           <option name="languageVersion" value="1.3" />
@@ -45,46 +45,32 @@
     </facet>
   </component>
   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
-    <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
-    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
+    <output url="file://$MODULE_DIR$/build/intermediates/classes/release" />
+    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/release" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/release" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/release" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/release" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/release/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelease/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
@@ -125,36 +111,52 @@
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/tinker_intermediates" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
       <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/reports" />
       <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
     </content>
     <orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-solver:1.0.2@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-25.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.tencent.tinker:tinker-android-lib-1.9.9" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-fragment-25.3.1" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-annotations:25.3.1@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource-2.2.2" level="project" />
     <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.3.10@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.5@jar" level="project" />
     <orderEntry type="library" name="Gradle: pub.devrel:easypermissions-0.4.0" level="project" />
+    <orderEntry type="library" name="Gradle: com.tencent.bugly:crashreport_upgrade-1.3.6" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-25.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.tencent.mm.opensdk:wechat-sdk-android-without-mta:5.1.6@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.pnikosis:materialish-progress-1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.tencent.tinker:bsdiff-util:1.9.9@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core-2.2.2" level="project" />
+    <orderEntry type="library" name="Gradle: me.zhanghai.android.materialprogressbar:library-1.4.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:multidex-1.0.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.1.6@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:rules-0.5" level="project" />
-    <orderEntry type="library" name="Gradle: com.tencent.bugly:nativecrashreport-3.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-25.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-compat-25.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.tencent.bugly:nativecrashreport-3.6.0" level="project" />
     <orderEntry type="library" name="Gradle: org.jetbrains:annotations:13.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:commons-0.9.4.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-v13-25.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.10@jar" level="project" />
     <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.10@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.contrarywind:Android-PickerView-3.1.2" level="project" />
+    <orderEntry type="library" name="Gradle: com.tencent.tinker:tinker-ziputils:1.9.9@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-v4-25.3.1" level="project" />
     <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:core-0.9.4.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-1.0.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
+    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-core-ui-25.3.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner-0.5" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:cardview-v7-25.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: in.srain.cube:ultra-ptr-1.0.11" level="project" />
     <orderEntry type="library" name="Gradle: org.greenrobot:eventbus:3.0.0@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:exposed-instrumentation-api-publish-0.5" level="project" />
+    <orderEntry type="library" name="Gradle: com.alibaba:fastjson:1.1.56.android@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.tencent.tinker:tinker-android-loader-1.9.9" level="project" />
+    <orderEntry type="library" name="Gradle: com.github.lecho:hellocharts-library-1.5.8" level="project" />
+    <orderEntry type="library" name="Gradle: com.tencent.tinker:tinker-commons:1.9.9@jar" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/app/libs/BaiduLBS_Android.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:recyclerview-v7-25.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.daimajia.numberprogressbar:library-1.4" level="project" />
     <orderEntry type="library" name="Gradle: com.lzy.net:okgo-2.1.4" level="project" />
     <orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp:3.4.1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.tencent.tinker:aosp-dexutils:1.9.9@jar" level="project" />
@@ -162,31 +164,6 @@
     <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable-25.3.1" level="project" />
     <orderEntry type="library" name="Gradle: com.squareup.okio:okio:1.9.0@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-core-utils-25.3.1" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-25.3.1" level="project" />
-    <orderEntry type="library" name="Gradle: com.tencent.tinker:tinker-android-lib-1.9.9" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-fragment-25.3.1" level="project" />
-    <orderEntry type="library" name="Gradle: com.tencent.bugly:crashreport_upgrade-1.3.6" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: javax.annotation:javax.annotation-api:1.2@jar" level="project" />
-    <orderEntry type="library" name="Gradle: me.zhanghai.android.materialprogressbar:library-1.4.0" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-25.3.1" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-compat-25.3.1" level="project" />
-    <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:commons-0.9.4.4" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support:support-v13-25.3.1" level="project" />
-    <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.10@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.tencent.tinker:tinker-ziputils:1.9.9@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-1.0.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
-    <orderEntry type="library" name="Gradle: in.srain.cube:ultra-ptr-1.0.11" level="project" />
-    <orderEntry type="library" name="Gradle: com.alibaba:fastjson:1.1.56.android@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.tencent.tinker:tinker-android-loader-1.9.9" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />
-    <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.github.lecho:hellocharts-library-1.5.8" level="project" />
-    <orderEntry type="library" name="Gradle: com.tencent.tinker:tinker-commons:1.9.9@jar" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/app/libs/BaiduLBS_Android.jar:unspecified@jar" level="project" />
-    <orderEntry type="library" name="Gradle: com.daimajia.numberprogressbar:library-1.4" level="project" />
     <orderEntry type="module" module-name="andbrickslib" />
     <orderEntry type="module" module-name="FastBleLib" />
   </component>
diff --git a/app/build.gradle b/app/build.gradle
index 9a92f5d..7481beb 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,7 +20,9 @@
         key {
             keyAlias 'moral'
             keyPassword 'moral123456'
-            storeFile file('../pregnancy_guard_android/key.jks')
+            storeFile file('/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/key.jks')
+            //md5 6B:AD:23:76:61:03:1D:9A:B8:E2:05:90:3E:4D:9F:00
+            //md5 6B:AD:23:76:61:03:1D:9A:B8:E2:05:90:3E:4D:9F:00
             storePassword 'moral123456'
         }
     }
@@ -51,10 +53,12 @@
             zipAlignEnabled true
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
             manifestPlaceholders = [app_name: "@string/app_name"]//������������
+            signingConfig signingConfigs.key
         }
         debug {
             minifyEnabled false
             manifestPlaceholders = [app_name: "@string/app_name_text"]
+            signingConfig signingConfigs.key
         }
     }
 }
@@ -82,7 +86,6 @@
     implementation 'org.greenrobot:eventbus:3.0.0'
     implementation 'com.github.lecho:hellocharts-library:1.5.8@aar'
     implementation 'com.contrarywind:Android-PickerView:3.1.2'
-
     //bugly
     implementation 'com.android.support:multidex:1.0.1'
     // ���dex������
@@ -93,7 +96,9 @@
     implementation 'com.tencent.tinker:tinker-android-lib:1.9.9'
     implementation 'com.tencent.bugly:nativecrashreport:latest.release'
     compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-    implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
+    implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
+    //    implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
+    implementation 'com.google.code.gson:gson:2.8.5'
 }
 repositories {
     mavenCentral()
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 631a044..4143ff9 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -123,7 +123,8 @@
         <activity
             android:name=".wxapi.WXEntryActivity"
             android:exported="true"
-            android:launchMode="singleTop"
+            android:taskAffinity="com.moral.yunfushao"
+            android:launchMode="singleTask"
             android:theme="@android:style/Theme.Translucent.NoTitleBar"></activity>
         <!-- Bugly������SDK������������-->
     </application>
diff --git a/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java b/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java
index bd3d80a..9a51198 100644
--- a/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java
@@ -1,6 +1,5 @@
 package com.moral.yunfushao.activity;
 
-import android.animation.ObjectAnimator;
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
@@ -8,6 +7,7 @@
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.lzy.okgo.cache.CacheMode;
@@ -21,9 +21,6 @@
 import com.moral.yunfushao.httputils.HttpCallBack;
 import com.moral.yunfushao.httputils.HttpUtils;
 import com.moral.yunfushao.model.User;
-import com.tencent.mm.opensdk.modelmsg.SendAuth;
-import com.tencent.mm.opensdk.openapi.IWXAPI;
-import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -33,11 +30,10 @@
  */
 
 public class LoginActivity extends BaseActivity {
-    private Button bt_sure, weixinlogin;
+    private Button bt_sure;
+    private ImageView weixinlogin;
     private TextView tv_forget, tv_register;
     private EditText et_phone, et_pwd;
-    private IWXAPI iwxapi;
-    private ObjectAnimator animator;
 
     @Override
     protected void getBundleExtras(Bundle extras) {
@@ -48,21 +44,6 @@
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         StatusBarUtil.translucentStatusBar(LoginActivity.this);
-        regToWx();
-    }
-
-    private void regToWx() {
-        iwxapi = WXAPIFactory.createWXAPI(this, "app_id", true);
-        iwxapi.registerApp("app_id");
-    }
-
-    private void sendReq() {
-        //������
-        SendAuth.Req req = new SendAuth.Req();
-        req.scope = "snsapi_userinfo";
-        req.state = "wechat_sdk_demo_test";
-        iwxapi.sendReq(req);
-        System.out.println("chenqi fasongcehngqo");
     }
 
 
@@ -147,8 +128,14 @@
 
     }
 
+    @Override
+    protected void onStop() {
+        super.onStop();
+        finish();
+    }
+
     private void login(String tel, final String pwd) {
-        String url = API.LOGIN;
+        final String url = API.LOGIN;
         Map<String, String> params = new HashMap<>();
         params.put("phone", tel);
         params.put("password", pwd);
@@ -162,6 +149,7 @@
                 User user = FastJsonTools.getJson(res, User.class);
                 if (user != null) {
                     MainApp.theApp.sharedPreferencesUtil.saveLoginInfo(user);
+                    user.setLogin_type(1);
                     MainApp.theApp.userId = user.get_id();
                     Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                     Bundle bundle = new Bundle();
diff --git a/app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java b/app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java
index eec648c..1c469d5 100644
--- a/app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java
@@ -5,20 +5,12 @@
 import android.text.TextUtils;
 import android.view.View;
 
-import com.lzy.okgo.cache.CacheMode;
-import com.moral.andbrickslib.utils.GsonUtil;
 import com.moral.andbrickslib.utils.NetworkUtil;
 import com.moral.andbrickslib.utils.StatusBarUtil;
-import com.moral.yunfushao.wxapi.WXEntryActivity;
-import com.moral.yunfushao.wxapi.data.AccessTokenBean;
-import com.moral.yunfushao.wxapi.data.TokenEffectivenessBean;
 import com.moral.yunfushao.MainActivity;
 import com.moral.yunfushao.MainApp;
 import com.moral.yunfushao.R;
 import com.moral.yunfushao.base.BaseActivity;
-import com.moral.yunfushao.common.WXConstants;
-import com.moral.yunfushao.httputils.HttpCallBack;
-import com.moral.yunfushao.httputils.WXHttpUtil;
 import com.moral.yunfushao.utils.SharedPreferencesUtil;
 
 
@@ -27,7 +19,6 @@
  */
 
 public class SplashActivity extends BaseActivity implements Runnable {
-    private AccessTokenBean bean = null;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -83,75 +74,26 @@
         } catch (InterruptedException e) {
             e.printStackTrace();
         }
-        bean = SharedPreferencesUtil.getUtil(this).getWXToken();
+        int type = SharedPreferencesUtil.getUtil(this).getLoginInfo().getLogin_type();
 
-        if (NetworkUtil.isAvailable(this)) {
-            //������������������������
-            if (bean == null) {
-                goHome();
-                //���������������
-            } else {
-                //������������
-//                checkWXLogin();
-                checkTokenEffective();
-            }
+        if (!NetworkUtil.isAvailable(this)) {
+            return;
         }
-    }
-
-    /**
-     * ������������token������
-     */
-    private void checkTokenEffective() {
-        String url = "https:api.weixin.qq.com/sns/auth?access_token=" + bean.getAccess_token() + "&openid=" + WXConstants.APP_ID;
-        WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() {
-            @Override
-            public void onSuccess(String res, String msg) {
-                TokenEffectivenessBean bean = GsonUtil.toObj(msg, TokenEffectivenessBean.class);
-                if (bean.getErrcode() == 0) {
-                    //������������
-                    checkWXLogin();
-                }
-            }
-
-            @Override
-            public void showLoadingDialog() {
-
-            }
-
-            @Override
-            public void onFail(int errno, String s) {
-                //������������
+        switch (type) {
+            case 1:
+                //������������
                 goHome();
-            }
-        });
-    }
-
-    /**
-     * ������������������������
-     */
-    private void checkWXLogin() {
-        String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid= " +
-                WXConstants.APP_ID +
-                "&secret=" + "������������" + "&code="+
-                WXEntryActivity.code +
-                "&grant_type=authorization_code";
-//        String url = "https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID";
-        WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() {
-            @Override
-            public void onSuccess(String res, String msg) {
-                AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class);
-
-            }
-
-            @Override
-            public void showLoadingDialog() {
-            }
-
-            @Override
-            public void onFail(int errno, String s) {
-                goHome();
-            }
-        });
+                break;
+            case 2:
+                //������������
+                sendReq();
+                break;
+            case -1:
+                Intent intent = new Intent(this, LoginActivity.class);
+                startActivity(intent);
+            default:
+        }
+        finish();
     }
 
     private void goHome() {
@@ -162,6 +104,5 @@
             Intent intent = new Intent(this, LoginActivity.class);
             startActivity(intent);
         }
-        finish();
     }
 }
diff --git a/app/src/main/java/com/moral/yunfushao/base/BaseActivity.java b/app/src/main/java/com/moral/yunfushao/base/BaseActivity.java
index 492cf0e..612e7e1 100644
--- a/app/src/main/java/com/moral/yunfushao/base/BaseActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/base/BaseActivity.java
@@ -17,6 +17,10 @@
 import com.moral.andbrickslib.views.EmptyLayout;
 import com.moral.andbrickslib.views.SweetAlert.SweetAlertDialog;
 import com.moral.yunfushao.R;
+import com.moral.yunfushao.common.WXConstants;
+import com.tencent.mm.opensdk.modelmsg.SendAuth;
+import com.tencent.mm.opensdk.openapi.IWXAPI;
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 
 
 /**
@@ -42,6 +46,8 @@
      * ���������������
      */
     protected ToastUtils mToatUtils;
+    public IWXAPI iwxapi;
+
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -61,6 +67,16 @@
         initListener();
         initData();
         StatusBarUtil.setStatusBarDrawable(BaseActivity.this, R.mipmap.bg_head);
+
+        iwxapi = WXAPIFactory.createWXAPI(this, WXConstants.APP_ID, true);
+        iwxapi.registerApp(WXConstants.APP_ID);
+    }
+
+    public void sendReq() {
+        final SendAuth.Req req = new SendAuth.Req();
+        req.scope = "snsapi_userinfo";
+        req.state = "wechat_sdk_demo_text";
+        iwxapi.sendReq(req);
     }
 
     /**
diff --git a/app/src/main/java/com/moral/yunfushao/common/WXConstants.java b/app/src/main/java/com/moral/yunfushao/common/WXConstants.java
index f32c9a4..802a470 100644
--- a/app/src/main/java/com/moral/yunfushao/common/WXConstants.java
+++ b/app/src/main/java/com/moral/yunfushao/common/WXConstants.java
@@ -8,7 +8,8 @@
  */
 public class WXConstants {
     // APP_ID ������������������������������������������������������appId
-    public static final String APP_ID = "wxd930ea5d5a258f4f";
+    public static final String APP_ID = "wxe360f38ffb488292";
+    public static final String SECRET = "efb946f585727a0d4a049c405b75e1e1";
 
     public static class ShowMsgActivity {
         public static final String STitle = "showmsg_title";
diff --git a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
index a2d2ef6..32ddba2 100644
--- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
+++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
@@ -64,8 +64,6 @@
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.HashMap;
-import java.util.Timer;
-import java.util.TimerTask;
 
 /**
  * ������������
@@ -270,10 +268,7 @@
             isVirating = false;
             AudioUtils.virateCancle(getActivity());
         } else if (msg.getType() == AppConfig.CHANGE_SETTING) {
-            if (timer != null) {
-                timer.cancel();
-                timer = null;
-            }
+            handler.removeCallbacks(taskRunnable);
             submitTime = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getRefresh_frequency();
             isupLoad = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getIs_open_upload();
             doTask();
@@ -363,10 +358,6 @@
         super.onDestroy();
         System.out.println("chenqi onDestroy");
         EventBus.getDefault().unregister(this);
-        if (timer != null) {
-            timer.cancel();
-            timer = null;
-        }
         handler.removeCallbacksAndMessages(null);
         stop();
         isVirating = false;
@@ -424,7 +415,7 @@
         iv_search.setOnClickListener(this);
     }
 
-    int submitTime;
+    int submitTime = 0;
     int isupLoad;
 
     @Override
@@ -493,19 +484,22 @@
 
     }
 
-    Timer timer;
+    Runnable taskRunnable = new Runnable() {
+        @Override
+        public void run() {
+            if (isupLoad == 1) {
+                //������������
+                submitData();
+            }
+            doTask();
+        }
+    };
 
     private void doTask() {
-        timer = new Timer();
-        timer.schedule(new TimerTask() {
-            @Override
-            public void run() {
-                if (isupLoad == 1) {
-                    //������������
-                    submitData();
-                }
-            }
-        }, 0, submitTime * 1000);
+        if (submitTime == 0) {
+            submitTime = 20;
+        }
+        handler.postDelayed(taskRunnable, submitTime * 1000);
     }
 
     private void heart() {
@@ -771,9 +765,11 @@
      * ������������������
      */
     private void parseHoutData(String nowResult) {
+        System.out.println("chenqi parseHoutData first" + nowResult);
         if (TextUtils.isEmpty(nowResult)) {
             return;
         }
+        System.out.println("chenqi parseHoutData begin" + nowResult);
         type = 2;
         String[] strings = StringUtils.splitString(nowResult, 2);
         if (strings[0].startsWith("7A") && strings[35].endsWith("7B")) {
diff --git a/app/src/main/java/com/moral/yunfushao/model/User.java b/app/src/main/java/com/moral/yunfushao/model/User.java
index 8e45eea..5cf3248 100644
--- a/app/src/main/java/com/moral/yunfushao/model/User.java
+++ b/app/src/main/java/com/moral/yunfushao/model/User.java
@@ -17,6 +17,15 @@
     private int is_open_upload;    //������������������
     private int is_lock;    //������������������0������������������1������������
     private int video;    //
+    private int login_type;//������������
+
+    public int getLogin_type() {
+        return login_type;
+    }
+
+    public void setLogin_type(int login_type) {
+        this.login_type = login_type;
+    }
 
     public String get_id() {
         return _id;
diff --git a/app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java b/app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java
index cb44f12..dab86ad 100644
--- a/app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java
+++ b/app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java
@@ -46,18 +46,6 @@
     /**
      * ������������������Token
      */
-    public AccessTokenBean getWXToken() {
-        SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE);
-        String s = preferences.getString("token_wx", null);
-        if (s == null) {
-            return null;
-        } else
-            return GsonUtil.toObj(s, AccessTokenBean.class);
-    }
-
-    /**
-     * ������������������Token
-     */
     public void removeWXToken() {
         SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE);
         Editor edit = preferences.edit();
@@ -102,6 +90,7 @@
         editor.putInt("is_open_upload", loginUser.getIs_open_upload());
         editor.putInt("is_lock", loginUser.getIs_lock());
         editor.putInt("video", loginUser.getVideo());
+        editor.putInt("login_type", loginUser.getLogin_type());
         editor.commit();
     }
 
@@ -117,6 +106,7 @@
         loginUserInfo.setIs_open_upload(sp.getInt("is_open_upload", 1));
         loginUserInfo.setIs_lock(sp.getInt("is_lock", 0));
         loginUserInfo.setVideo(sp.getInt("video", 0));
+        loginUserInfo.setLogin_type(sp.getInt("login_type", -1));
         return loginUserInfo;
     }
 
@@ -159,31 +149,11 @@
         editor.putInt("is_open_upload", 0);
         editor.putInt("is_lock", 0);
         editor.putInt("video", 0);
+        editor.putInt("login_type", -1);
         editor.commit();
         MainApp.theApp.userId = "";
         saveShowAd("");
     }
-
-    /**
-     * ���������������������������
-     *
-     * @param flag
-     */
-    public void saveFirstUse(int flag) {
-        SharedPreferences preferences = mContext.getSharedPreferences("firstInfo",
-                Context.MODE_PRIVATE);
-        Editor editor = preferences.edit();
-        editor.putInt("firstUse", flag);
-        editor.commit();
-    }
-
-    public int getFirstUse() {
-        SharedPreferences preferences = mContext.getSharedPreferences("firstInfo",
-                Context.MODE_PRIVATE);
-        int firstUse = preferences.getInt("firstUse", 0);
-        return firstUse;
-    }
-
 
     public void saveShowAd(String time) {
         SharedPreferences preferences = mContext.getSharedPreferences("firstInfo",
diff --git a/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java b/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java
index f29b7c7..9a863cb 100644
--- a/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java
@@ -4,15 +4,16 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
-import android.widget.Toast;
 
 import com.lzy.okgo.cache.CacheMode;
 import com.moral.andbrickslib.utils.GsonUtil;
 import com.moral.yunfushao.MainActivity;
+import com.moral.yunfushao.MainApp;
 import com.moral.yunfushao.common.WXConstants;
 import com.moral.yunfushao.httputils.HttpCallBack;
 import com.moral.yunfushao.httputils.WXHttpUtil;
 import com.moral.yunfushao.model.User;
+import com.moral.yunfushao.utils.T;
 import com.moral.yunfushao.wxapi.data.AccessTokenBean;
 import com.moral.yunfushao.wxapi.data.WXUserBean;
 import com.tencent.mm.opensdk.constants.ConstantsAPI;
@@ -41,11 +42,13 @@
         super.onCreate(savedInstanceState);
         api = WXAPIFactory.createWXAPI(this, WXConstants.APP_ID, false);
         api.registerApp(WXConstants.APP_ID);
+        onNewIntent(getIntent());
     }
 
     @Override
     protected void onNewIntent(Intent intent) {
         super.onNewIntent(intent);
+        System.out.println("chenqi onNewIntent");
         setIntent(intent);
         api.handleIntent(intent, this);
     }
@@ -57,6 +60,7 @@
                 goToGetMsg();
                 break;
             case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
+                System.out.println("chenqi create WXEntryActivity COMMAND_SHOWMESSAGE_FROM_WX");
                 goToShowMsg((ShowMessageFromWX.Req) baseReq);
                 break;
             default:
@@ -67,9 +71,7 @@
     @Override
     public void onResp(BaseResp baseResp) {
         String result;
-
-        Toast.makeText(this, "baseresp.getType = " + baseResp.getType(), Toast.LENGTH_SHORT).show();
-
+        System.out.println("chenqi create WXEntryActivity  " + baseResp.errCode);
         switch (baseResp.errCode) {
             case BaseResp.ErrCode.ERR_OK:
                 code = ((SendAuth.Resp) baseResp).code;
@@ -87,28 +89,94 @@
                 result = "���������������";
                 break;
             default:
-                result = "������������";
+                result = "";
                 break;
         }
+        if (result.equals("")) {
+            return;
+        }
+        T.show(result);
+    }
 
-        Toast.makeText(this, result, Toast.LENGTH_LONG).show();
+    /**
+     * ������������������������
+     */
+    private void checkEffective(final String access_token, String openid) {
+        String url = "https://api.weixin.qq.com/sns/auth?access_token=" + access_token + "&openid=" + openid;
+        WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() {
+            @Override
+            public void onSuccess(String res, String msg) {
+                AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class);
+                if (accessTokenBean.getErrcode() == 0) {
+                    loginSuccess(accessTokenBean.getAccess_token(), accessTokenBean.getOpenid());
+                } else {
+                    refreshToken(accessTokenBean.getRefresh_token());
+                }
+            }
+
+            @Override
+            public void showLoadingDialog() {
+
+            }
+
+            @Override
+            public void onFail(int errno, String s) {
+                T.show("������������");
+            }
+        });
+    }
+
+    /**
+     * ���������������������������
+     *
+     * @param refresh_tocken
+     */
+    private void refreshToken(String refresh_tocken) {
+        String url = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=" + WXConstants.APP_ID + "&grant_type=refresh_token&refresh_token=" + refresh_tocken;
+        WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() {
+            @Override
+            public void onSuccess(String res, String msg) {
+                AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class);
+                if (accessTokenBean.getErrcode() == 40030) {
+                    T.show("������������");
+                } else {
+                    loginSuccess(accessTokenBean.getAccess_token(), accessTokenBean.getOpenid());
+                }
+            }
+
+            @Override
+            public void showLoadingDialog() {
+
+            }
+
+            @Override
+            public void onFail(int errno, String s) {
+                T.show("������������");
+            }
+        });
     }
 
     /**
      * ������������������������
      */
     private void checkWXLogin() {
-        String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid= " +
+        String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" +
                 WXConstants.APP_ID +
-                "&secret=" + "������������" + "&code=" +
+                "&secret=" + WXConstants.SECRET + "&code=" +
                 WXEntryActivity.code +
                 "&grant_type=authorization_code";
         WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() {
             @Override
             public void onSuccess(String res, String msg) {
                 AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class);
-                if (accessTokenBean.getAccess_token() == null && accessTokenBean.getOpenid() == null)
-                    getUserInfor(accessTokenBean.getAccess_token(), accessTokenBean.getOpenid());
+                if (accessTokenBean.getErrcode() == 40029) {
+                    //������������
+                    T.show("������������");
+                    return;
+                }
+                if (accessTokenBean.getAccess_token() != null && accessTokenBean.getOpenid() != null) {
+                    checkEffective(accessTokenBean.getAccess_token(), accessTokenBean.getOpenid());
+                }
             }
 
             @Override
@@ -118,6 +186,7 @@
 
             @Override
             public void onFail(int errno, String s) {
+                T.show("������������");
             }
         });
     }
@@ -137,9 +206,12 @@
             @Override
             public void onSuccess(String res, String msg) {
                 WXUserBean bean = new WXUserBean();
+                MainApp.theApp.userId = bean.getNickname();
                 User user = new User();
                 user.set_id(bean.getOpenid());
                 user.setNickname(bean.getNickname());
+                user.setLogin_type(2);
+                MainApp.theApp.sharedPreferencesUtil.saveLoginInfo(user);
             }
 
             @Override
@@ -149,11 +221,19 @@
 
             @Override
             public void onFail(int errno, String s) {
-
+                T.show("������������");
             }
         });
     }
 
+    private void loginSuccess(String... strings) {
+        //���������������������
+        Intent intent = new Intent(WXEntryActivity.this, MainActivity.class);
+        WXEntryActivity.this.startActivity(intent);
+        finish();
+        getUserInfor(strings[0], strings[1]);
+    }
+
     private void goToGetMsg() {
         Intent intent = new Intent(this, MainActivity.class);
         intent.putExtras(getIntent());
diff --git a/app/src/main/java/com/moral/yunfushao/wxapi/data/AccessTokenBean.java b/app/src/main/java/com/moral/yunfushao/wxapi/data/AccessTokenBean.java
index 8cacdaf..f04ba2f 100644
--- a/app/src/main/java/com/moral/yunfushao/wxapi/data/AccessTokenBean.java
+++ b/app/src/main/java/com/moral/yunfushao/wxapi/data/AccessTokenBean.java
@@ -13,17 +13,16 @@
  * openid	������������������������
  * scope	������������������������������������������,���������
  * unionid	������������������������������������������������userinfo���������������������������������
- *
  */
 public class AccessTokenBean {
 
     /**
-     * access_token : ACCESS_TOKEN
+     * access_token : 16_g05bQObzwWQOWfkVv93BczTZp6lQ-maNP0y_KFLxNFHqIxyNKP_CsMCD70tQS5p9j6u06Ku9v1a8mXPNwioZ4951gLFTexs5BiD3GyOA5Vc
      * expires_in : 7200
-     * refresh_token : REFRESH_TOKEN
-     * openid : OPENID
-     * scope : SCOPE
-     * unionid : o6_bmasdasdsad6_2sgVt7hMZOPfL
+     * refresh_token : 16_64xaHzGViLYDNWms7huGPc5-ITuDtyKR6dOSUf6hePA0x9VAh9Y19i2vRV-dCscSpZqGBijckqqylkH42dmwC2aITUdNCGVtRiZprZ2JTQc
+     * openid : om70t07fhewP5taNp6FxGnyZW4Ps
+     * scope : snsapi_userinfo
+     * unionid : oKO9q1LmPyXjXq7pLo0HZ5cA87Q8
      */
 
     private String access_token;
@@ -32,6 +31,24 @@
     private String openid;
     private String scope;
     private String unionid;
+    private String errmsg;
+    private int errcode;
+
+    public String getErrmsg() {
+        return errmsg;
+    }
+
+    public void setErrmsg(String errmsg) {
+        this.errmsg = errmsg;
+    }
+
+    public int getErrcode() {
+        return errcode;
+    }
+
+    public void setErrcode(int errcode) {
+        this.errcode = errcode;
+    }
 
     public String getAccess_token() {
         return access_token;
diff --git a/app/src/main/res/drawable/btn_style_one.xml b/app/src/main/res/drawable/btn_style_one.xml
new file mode 100755
index 0000000..175355f
--- /dev/null
+++ b/app/src/main/res/drawable/btn_style_one.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/btn_style_one_disabled" android:state_enabled="false"/>
+    <item android:drawable="@drawable/btn_style_one_pressed" android:state_focused="true" android:state_pressed="true"/>
+    <item android:drawable="@drawable/btn_style_one_pressed" android:state_focused="false" android:state_pressed="true"/>
+    <item android:drawable="@drawable/btn_style_one_focused" android:state_focused="true"/>
+    <item android:drawable="@drawable/btn_style_one_normal" android:state_focused="false"/>
+
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/btn_style_one_disabled.9.png b/app/src/main/res/drawable/btn_style_one_disabled.9.png
new file mode 100755
index 0000000..0ba154c
--- /dev/null
+++ b/app/src/main/res/drawable/btn_style_one_disabled.9.png
Binary files differ
diff --git a/app/src/main/res/drawable/btn_style_one_focused.9.png b/app/src/main/res/drawable/btn_style_one_focused.9.png
new file mode 100755
index 0000000..d231534
--- /dev/null
+++ b/app/src/main/res/drawable/btn_style_one_focused.9.png
Binary files differ
diff --git a/app/src/main/res/drawable/btn_style_one_normal.9.png b/app/src/main/res/drawable/btn_style_one_normal.9.png
new file mode 100755
index 0000000..19ae9d8
--- /dev/null
+++ b/app/src/main/res/drawable/btn_style_one_normal.9.png
Binary files differ
diff --git a/app/src/main/res/drawable/btn_style_one_pressed.9.png b/app/src/main/res/drawable/btn_style_one_pressed.9.png
new file mode 100755
index 0000000..4e3dbe9
--- /dev/null
+++ b/app/src/main/res/drawable/btn_style_one_pressed.9.png
Binary files differ
diff --git a/app/src/main/res/layout/ac_login_layout.xml b/app/src/main/res/layout/ac_login_layout.xml
index 0393c1d..ecc736d 100644
--- a/app/src/main/res/layout/ac_login_layout.xml
+++ b/app/src/main/res/layout/ac_login_layout.xml
@@ -1,146 +1,158 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@mipmap/bg_login"
-    android:fitsSystemWindows="true"
-    android:orientation="vertical">
+    android:fillViewport="true"
+    android:fitsSystemWindows="true">
 
-    <TextView
-        android:id="@+id/tv_register"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="right"
-        android:layout_marginTop="@dimen/x10"
-        android:layout_marginRight="@dimen/x10"
-        android:layout_marginBottom="@dimen/x30"
-        android:gravity="center|center_horizontal"
-        android:text="������"
-        android:textColor="@color/white"
-        android:textSize="16sp" />
-
-    <ImageView
-        android:layout_width="100dp"
-        android:layout_height="100dp"
-        android:layout_gravity="center_horizontal"
-        android:layout_marginTop="@dimen/y40"
-        android:src="@mipmap/logo_login" />
-
-    <RelativeLayout
+    <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/x40"
-        android:layout_marginTop="@dimen/x24"
-        android:layout_marginRight="@dimen/x40"
-        android:layout_marginBottom="@dimen/x20"
-        android:background="@mipmap/bg_edit"
-        android:padding="@dimen/x14">
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <TextView
+            android:id="@+id/tv_register"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="right"
+            android:layout_marginTop="@dimen/x10"
+            android:layout_marginRight="@dimen/x10"
+            android:layout_marginBottom="@dimen/x30"
+            android:gravity="center|center_horizontal"
+            android:text="������"
+            android:textColor="@color/white"
+            android:textSize="16sp" />
 
         <ImageView
-            android:id="@+id/iv1"
-            android:layout_width="@dimen/x16"
-            android:layout_height="@dimen/x16"
-            android:layout_centerVertical="true"
-            android:src="@mipmap/icon_account" />
+            android:layout_width="100dp"
+            android:layout_height="100dp"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="@dimen/y40"
+            android:src="@mipmap/logo_login" />
 
-        <View
-            android:id="@+id/line1"
-            android:layout_width="1dp"
-            android:layout_height="@dimen/x16"
-            android:layout_centerVertical="true"
-            android:layout_marginLeft="@dimen/x8"
-            android:layout_toRightOf="@+id/iv1"
-            android:background="@color/blue_txt" />
-
-        <EditText
-            android:id="@+id/et_phone"
+        <RelativeLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_centerVertical="true"
-            android:layout_toRightOf="@+id/line1"
-            android:background="@null"
-            android:hint="���������������������"
-            android:inputType="number"
-            android:paddingLeft="@dimen/x10"
-            android:paddingRight="@dimen/x10"
-            android:textColor="@color/blue_txt"
-            android:textColorHint="@color/blue_txt"
-            android:textSize="16sp" />
-    </RelativeLayout>
+            android:layout_marginLeft="@dimen/x40"
+            android:layout_marginTop="@dimen/x24"
+            android:layout_marginRight="@dimen/x40"
+            android:layout_marginBottom="@dimen/x20"
+            android:background="@mipmap/bg_edit"
+            android:padding="@dimen/x14">
 
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/x40"
-        android:layout_marginRight="@dimen/x40"
-        android:background="@mipmap/bg_edit"
-        android:padding="@dimen/x14">
+            <ImageView
+                android:id="@+id/iv1"
+                android:layout_width="@dimen/x16"
+                android:layout_height="@dimen/x16"
+                android:layout_centerVertical="true"
+                android:src="@mipmap/icon_account" />
+
+            <View
+                android:id="@+id/line1"
+                android:layout_width="1dp"
+                android:layout_height="@dimen/x16"
+                android:layout_centerVertical="true"
+                android:layout_marginLeft="@dimen/x8"
+                android:layout_toRightOf="@+id/iv1"
+                android:background="@color/blue_txt" />
+
+            <EditText
+                android:id="@+id/et_phone"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:layout_toRightOf="@+id/line1"
+                android:background="@null"
+                android:hint="���������������������"
+                android:inputType="number"
+                android:paddingLeft="@dimen/x10"
+                android:paddingRight="@dimen/x10"
+                android:textColor="@color/blue_txt"
+                android:textColorHint="@color/blue_txt"
+                android:textSize="16sp" />
+        </RelativeLayout>
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/x40"
+            android:layout_marginRight="@dimen/x40"
+            android:background="@mipmap/bg_edit"
+            android:padding="@dimen/x14">
+
+            <ImageView
+                android:id="@+id/iv2"
+                android:layout_width="@dimen/x16"
+                android:layout_height="@dimen/x16"
+                android:layout_centerVertical="true"
+                android:src="@mipmap/icon_password" />
+
+            <View
+                android:id="@+id/line2"
+                android:layout_width="1dp"
+                android:layout_height="@dimen/x16"
+                android:layout_centerVertical="true"
+                android:layout_marginLeft="@dimen/x8"
+                android:layout_toRightOf="@+id/iv2"
+                android:background="@color/blue_txt" />
+
+            <EditText
+                android:id="@+id/et_pwd"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:layout_toRightOf="@+id/line2"
+                android:background="@null"
+                android:hint="���������������"
+                android:inputType="textPassword"
+                android:paddingLeft="@dimen/x10"
+                android:paddingRight="@dimen/x10"
+                android:textColor="@color/blue_txt"
+                android:textColorHint="@color/blue_txt"
+                android:textSize="16sp" />
+        </RelativeLayout>
+
+        <TextView
+            android:id="@+id/tv_forget"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
+            android:layout_marginTop="@dimen/x24"
+            android:layout_marginRight="@dimen/x40"
+            android:gravity="right"
+            android:text="���������������"
+            android:textColor="@color/dark_gray_txt"
+            android:textSize="15sp" />
+
+        <Button
+            android:id="@+id/bt_sure"
+            style="@style/button_style"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/x40"
+            android:layout_marginLeft="@dimen/x40"
+            android:layout_marginTop="@dimen/x12"
+            android:layout_marginRight="@dimen/x40"
+            android:background="@mipmap/bt_blue"
+            android:paddingBottom="@dimen/x10"
+            android:text="������"
+            android:textColor="@color/white"
+            android:textSize="16sp" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:text="------------- ��������������������� -------------"
+            android:textColor="@color/dark_gray_txt" />
 
         <ImageView
-            android:id="@+id/iv2"
-            android:layout_width="@dimen/x16"
-            android:layout_height="@dimen/x16"
-            android:layout_centerVertical="true"
-            android:src="@mipmap/icon_password" />
-
-        <View
-            android:id="@+id/line2"
-            android:layout_width="1dp"
-            android:layout_height="@dimen/x16"
-            android:layout_centerVertical="true"
-            android:layout_marginLeft="@dimen/x8"
-            android:layout_toRightOf="@+id/iv2"
-            android:background="@color/blue_txt" />
-
-        <EditText
-            android:id="@+id/et_pwd"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_centerVertical="true"
-            android:layout_toRightOf="@+id/line2"
-            android:background="@null"
-            android:hint="���������������"
-            android:inputType="textPassword"
-            android:paddingLeft="@dimen/x10"
-            android:paddingRight="@dimen/x10"
-            android:textColor="@color/blue_txt"
-            android:textColorHint="@color/blue_txt"
-            android:textSize="16sp" />
-    </RelativeLayout>
-
-    <TextView
-        android:id="@+id/tv_forget"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_alignParentRight="true"
-        android:layout_marginTop="@dimen/x24"
-        android:layout_marginRight="@dimen/x40"
-        android:gravity="right"
-        android:text="���������������"
-        android:textColor="@color/dark_gray_txt"
-        android:textSize="15sp" />
-
-    <Button
-        android:id="@+id/bt_sure"
-        style="@style/button_style"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/x40"
-        android:layout_marginLeft="@dimen/x40"
-        android:layout_marginTop="@dimen/x12"
-        android:layout_marginRight="@dimen/x40"
-        android:background="@mipmap/bt_blue"
-        android:paddingBottom="@dimen/x10"
-        android:text="������"
-        android:textColor="@color/white"
-        android:textSize="16sp" />
-
-    <Button
-        android:id="@+id/weixinlogin"
-        style="@style/button_style"
-        android:layout_width="@dimen/x44"
-        android:layout_height="@dimen/x44"
-        android:layout_gravity="bottom|center"
-        android:layout_marginTop="@dimen/x2"
-        android:background="@mipmap/weixin2" />
-</LinearLayout>
\ No newline at end of file
+            android:id="@+id/weixinlogin"
+            style="@style/button_style"
+            android:layout_width="@dimen/x44"
+            android:layout_height="@dimen/x44"
+            android:layout_gravity="bottom|center"
+            android:layout_marginTop="@dimen/x2"
+            android:background="@mipmap/weixin2" />
+    </LinearLayout>
+</ScrollView>
\ No newline at end of file
diff --git a/app/src/main/res/layout/entry.xml b/app/src/main/res/layout/entry.xml
new file mode 100755
index 0000000..64f4387
--- /dev/null
+++ b/app/src/main/res/layout/entry.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    style="@style/NavPage">
+
+    <TextView
+        android:id="@+id/result_tv"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+	 	android:textSize="20dp"
+        android:text="@string/enter"/>
+    <Button
+        android:id="@+id/reg_btn"
+        style="@style/MMLineActionButton"
+	    android:layout_margin="10dp"
+        android:text="@string/reg"/>
+    
+    <Button
+        android:id="@+id/goto_send_btn"
+        style="@style/MMLineActionButton"
+	    android:layout_margin="10dp"
+        android:text="@string/goto_send"/>
+    
+    <Button
+        android:id="@+id/launch_wx_btn"
+        style="@style/MMLineActionButton"
+	    android:layout_margin="10dp"
+        android:text="@string/launch_wx"/>
+    
+    <Button
+        android:id="@+id/check_timeline_supported_btn"
+        style="@style/MMLineActionButton"
+        android:layout_margin="10dp"
+        android:text="@string/check_timeline_supported"/>
+    
+    <Button
+        android:id="@+id/scan_qrcode_login_btn"
+        style="@style/MMLineActionButton"
+        android:layout_margin="10dp"
+        android:text="@string/scan_qrcode_login"/>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 35b080e..9dad7d5 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -23,4 +23,13 @@
     <color name="blue">#FF375BF1</color>
     <color name="yellow">#FFF7D23E</color>
     <color name="green">#FF34A350</color>
+
+    <!--weixin-->
+    <color name="darkgrey">#ff404040</color>
+    <color name="toasterro">#9fd524</color>
+    <color name="lightgrey">#ff888888</color>
+    <color name="semitransparent">#80000000</color>
+    <color name="lightransparent">#a0000000</color>
+    <color name="transparent">#00000000</color>
+    <color name="navpage">#FFE1E8EB</color>
 </resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 11e3d96..ec1012c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -15,4 +15,13 @@
     <string name="caozuo2">������������������</string>
     <string name="caozuo3">������APP������������������������</string>
     <string name="caozuo4">���������������������������������������������������</string>
+
+    <!--weixin-->
+    <string name="enter">������SDK_Sample���������������</string>
+    <string name="reg">������app���������������</string>
+    <string name="goto_send">������������������������</string>
+    <string name="launch_wx">������������</string>
+    <string name="check_timeline_supported">������������������������������������</string>
+    <string name="scan_qrcode_login">������������</string>
+
 </resources>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 0b886de..1b5d8c3 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -10,7 +10,6 @@
         <item name="colorPrimary">@color/colorPrimary</item>
         <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
         <item name="colorAccent">@color/colorAccent</item>
-        <item name="android:windowContentTransitions">true</item>
     </style>
 
     <style name="AppWelcomeTheme" parent="Base.Theme.Design">
@@ -54,4 +53,38 @@
     <style name="button_style">
         <item name="android:stateListAnimator">@animator/button_pregress</item>
     </style>
+
+    <!-- Navigation Header winxin-->
+    <style name="NavPage">
+        <item name="android:layout_width">fill_parent</item>
+        <item name="android:layout_height">fill_parent</item>
+        <item name="android:orientation">vertical</item>
+        <item name="android:gravity">center_horizontal</item>
+        <!-- <item name="android:background">@drawable/nav_page</item> -->
+        <item name="android:background">@color/navpage</item>
+    </style>
+
+    <style name="MMButton">
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:textSize">16dp</item>
+        <item name="android:background">@null</item>
+        <item name="android:minHeight">40dp</item>
+        <item name="android:minWidth">40dp</item>
+    </style>
+
+
+    <style name="MMLineButton" parent="@style/MMButton">
+        <item name="android:layout_width">fill_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+    </style>
+
+    <style name="MMLineActionButton" parent="@style/MMLineButton">
+        <item name="android:background">@drawable/btn_style_one</item>
+        <item name="android:shadowColor">#000000</item>
+        <item name="android:shadowDy">1.2</item>
+        <item name="android:shadowDx">1.2</item>
+        <item name="android:shadowRadius">1</item>
+    </style>
+
 </resources>

--
Gitblit v1.8.0