陈奇
2018-12-07 0e7dd8919ae2811063057f18a4db4156c771448a
[*]添加了微信登陆
13 files deleted
9 files added
35 files modified
1283 ■■■■ changed files
.gradle/4.1/fileHashes/fileHashes.bin patch | view | raw | blame | history
.gradle/4.1/fileHashes/fileHashes.lock patch | view | raw | blame | history
.gradle/4.1/fileHashes/resourceHashesCache.bin patch | view | raw | blame | history
.gradle/4.1/javaCompile/classAnalysis.bin patch | view | raw | blame | history
.gradle/4.1/javaCompile/jarAnalysis.bin patch | view | raw | blame | history
.gradle/4.1/javaCompile/javaCompile.lock patch | view | raw | blame | history
.gradle/4.1/javaCompile/taskHistory.bin patch | view | raw | blame | history
.gradle/4.1/javaCompile/taskJars.bin patch | view | raw | blame | history
.gradle/4.1/taskHistory/fileSnapshots.bin patch | view | raw | blame | history
.gradle/4.1/taskHistory/taskHistory.bin patch | view | raw | blame | history
.gradle/4.1/taskHistory/taskHistory.lock patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2.xml 14 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2.xml 14 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5.xml 14 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_test_rules_0_5.xml 17 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_test_runner_0_5.xml 17 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml 9 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml 4 ●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_google_code_gson_gson_2_8_5_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_3_1.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_6_0.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_with_mta_5_1_6_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_without_mta_5_1_6_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml 4 ●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml 4 ●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml 4 ●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml 4 ●●● patch | view | raw | blame | history
.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml 11 ●●●●● patch | view | raw | blame | history
FastBleLib/FastBleLib.iml 72 ●●●●● patch | view | raw | blame | history
FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java 1 ●●●● patch | view | raw | blame | history
andbrickslib/andbrickslib.iml 101 ●●●●● patch | view | raw | blame | history
app/app.iml 135 ●●●●● patch | view | raw | blame | history
app/build.gradle 11 ●●●● patch | view | raw | blame | history
app/src/main/AndroidManifest.xml 3 ●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java 34 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java 93 ●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/base/BaseActivity.java 16 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/common/WXConstants.java 3 ●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java 40 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/model/User.java 9 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/utils/SharedPreferencesUtil.java 36 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java 102 ●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/wxapi/data/AccessTokenBean.java 29 ●●●● patch | view | raw | blame | history
app/src/main/res/drawable/btn_style_one.xml 10 ●●●●● patch | view | raw | blame | history
app/src/main/res/drawable/btn_style_one_disabled.9.png patch | view | raw | blame | history
app/src/main/res/drawable/btn_style_one_focused.9.png patch | view | raw | blame | history
app/src/main/res/drawable/btn_style_one_normal.9.png patch | view | raw | blame | history
app/src/main/res/drawable/btn_style_one_pressed.9.png patch | view | raw | blame | history
app/src/main/res/layout/ac_login_layout.xml 276 ●●●● patch | view | raw | blame | history
app/src/main/res/layout/entry.xml 42 ●●●●● patch | view | raw | blame | history
app/src/main/res/values/colors.xml 9 ●●●●● patch | view | raw | blame | history
app/src/main/res/values/strings.xml 9 ●●●●● patch | view | raw | blame | history
app/src/main/res/values/styles.xml 35 ●●●●● patch | view | raw | blame | history
.gradle/4.1/fileHashes/fileHashes.bin
Binary files differ
.gradle/4.1/fileHashes/fileHashes.lock
Binary files differ
.gradle/4.1/fileHashes/resourceHashesCache.bin
Binary files differ
.gradle/4.1/javaCompile/classAnalysis.bin
Binary files differ
.gradle/4.1/javaCompile/jarAnalysis.bin
Binary files differ
.gradle/4.1/javaCompile/javaCompile.lock
Binary files differ
.gradle/4.1/javaCompile/taskHistory.bin
Binary files differ
.gradle/4.1/javaCompile/taskJars.bin
Binary files differ
.gradle/4.1/taskHistory/fileSnapshots.bin
Binary files differ
.gradle/4.1/taskHistory/taskHistory.bin
Binary files differ
.gradle/4.1/taskHistory/taskHistory.lock
Binary files differ
.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2.xml
File was deleted
.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2.xml
File was deleted
.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5.xml
File was deleted
.idea/libraries/Gradle__com_android_support_test_rules_0_5.xml
File was deleted
.idea/libraries/Gradle__com_android_support_test_runner_0_5.xml
File was deleted
.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml
File was deleted
.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>
.idea/libraries/Gradle__com_google_code_gson_gson_2_8_5_jar.xml
New file
@@ -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>
.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml
File was deleted
.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_3_1.xml
File was deleted
.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_6_0.xml
New file
@@ -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>
.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_with_mta_5_1_6_jar.xml
File was deleted
.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_without_mta_5_1_6_jar.xml
New file
@@ -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>
.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>
.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>
.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>
.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>
.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml
File was deleted
.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml
File was deleted
.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml
File was deleted
.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml
File was deleted
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>
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();
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>
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>
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()
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>
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();
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();
    }
}
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);
    }
    /**
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";
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")) {
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;
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",
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());
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;
app/src/main/res/drawable/btn_style_one.xml
New file
@@ -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>
app/src/main/res/drawable/btn_style_one_disabled.9.png
app/src/main/res/drawable/btn_style_one_focused.9.png
app/src/main/res/drawable/btn_style_one_normal.9.png
app/src/main/res/drawable/btn_style_one_pressed.9.png
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>
            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>
app/src/main/res/layout/entry.xml
New file
@@ -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>
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>
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>
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>