陈奇
2019-05-29 c5bf501d8b507d1e3e79541e7ac9b45910860b4d
添加新功能
50 files deleted
2 files added
34 files modified
1172 ■■■■ changed files
.gitignore 3 ●●●●● patch | view | raw | blame | history
.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____local_aars____Users_chenqi_AndroidStudioProjects_pregnancy_guard_android_app_libs_BaiduLBS_Android_jar_unspecified_jar.xml 9 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_afollestad_material_dialogs_commons_0_9_4_4.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_afollestad_material_dialogs_core_0_9_4_4.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_alibaba_fastjson_1_1_56_android_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_animated_vector_drawable_25_3_1.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_appcompat_v7_25_3_1.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_cardview_v7_25_3_1.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_0_2.xml 10 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_0_2_jar.xml 9 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_multidex_1_0_1.xml 10 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_recyclerview_v7_25_3_1.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_support_annotations_25_3_1_jar.xml 16 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_support_compat_25_3_1.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_support_core_ui_25_3_1.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_support_core_utils_25_3_1.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_support_fragment_25_3_1.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_support_media_compat_25_3_1.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_support_v13_25_3_1.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_support_v4_25_3_1.xml 10 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_android_support_support_vector_drawable_25_3_1.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_contrarywind_Android_PickerView_3_1_2.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_daimajia_numberprogressbar_library_1_4.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_github_bumptech_glide_glide_3_7_0_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_github_lecho_hellocharts_library_1_5_8.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml 9 ●●●●● 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_lzy_net_okgo_2_1_4.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_lzy_net_okserver_1_1_3.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_pnikosis_materialish_progress_1_0.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_4_1_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_squareup_okio_okio_1_9_0_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_bugly_crashreport_upgrade_1_3_6.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_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 9 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml 9 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_tinker_tinker_android_lib_1_9_9.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_tinker_tinker_android_loader_1_9_9.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml 9 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml 9 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__in_srain_cube_ultra_ptr_1_0_11.xml 12 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__junit_junit_4_12_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__me_zhanghai_android_materialprogressbar_library_1_4_0.xml 15 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__org_jetbrains_annotations_13_0_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_10_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_10_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_10_jar.xml 11 ●●●●● patch | view | raw | blame | history
.idea/libraries/Gradle__pub_devrel_easypermissions_0_4_0.xml 12 ●●●●● patch | view | raw | blame | history
FastBleLib/FastBleLib.iml 7 ●●●● patch | view | raw | blame | history
andbrickslib/andbrickslib.iml 41 ●●●● patch | view | raw | blame | history
andbrickslib/src/main/java/com/moral/andbrickslib/utils/ActivityManager.java 3 ●●●● patch | view | raw | blame | history
app/app.iml 71 ●●●● patch | view | raw | blame | history
app/build.gradle 3 ●●●● patch | view | raw | blame | history
app/proguard-rules.pro 6 ●●●●● patch | view | raw | blame | history
app/src/main/AndroidManifest.xml 5 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/SampleApplicationLike.java 23 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/activity/BLESearchActivity.java 26 ●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java 67 ●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java 47 ●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/base/BaseActivity.java 1 ●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/base/BaseFragment.java 7 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java 32 ●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/fragment/FragmentShoppongMall.java 14 ●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/httputils/HttpUtils.java 46 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/ui/PanelView.java 16 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/utils/AppUtil.java 92 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java 38 ●●●●● patch | view | raw | blame | history
app/src/main/res/layout/ac_ble_search_layout.xml 1 ●●●● patch | view | raw | blame | history
app/src/main/res/layout/fragment_monitor_layout.xml 4 ●●● patch | view | raw | blame | history
app/tinker-support.gradle 15 ●●●●● patch | view | raw | blame | history
conf.gradle 4 ●●●● patch | view | raw | blame | history
local.properties 3 ●●●● patch | view | raw | blame | history
.gitignore
New file
@@ -0,0 +1,3 @@
# Created by .ignore support plugin (hsz.mobi)
.idea/
build/
.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____local_aars____Users_chenqi_AndroidStudioProjects_pregnancy_guard_android_app_libs_BaiduLBS_Android_jar_unspecified_jar.xml
File was deleted
.idea/libraries/Gradle__com_afollestad_material_dialogs_commons_0_9_4_4.xml
File was deleted
.idea/libraries/Gradle__com_afollestad_material_dialogs_core_0_9_4_4.xml
File was deleted
.idea/libraries/Gradle__com_alibaba_fastjson_1_1_56_android_jar.xml
File was deleted
.idea/libraries/Gradle__com_android_support_animated_vector_drawable_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_appcompat_v7_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_cardview_v7_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_0_2.xml
File was deleted
.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_0_2_jar.xml
File was deleted
.idea/libraries/Gradle__com_android_support_multidex_1_0_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_recyclerview_v7_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_support_annotations_25_3_1_jar.xml
File was deleted
.idea/libraries/Gradle__com_android_support_support_compat_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_support_core_ui_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_support_core_utils_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_support_fragment_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_support_media_compat_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_support_v13_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_support_v4_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_android_support_support_vector_drawable_25_3_1.xml
File was deleted
.idea/libraries/Gradle__com_contrarywind_Android_PickerView_3_1_2.xml
File was deleted
.idea/libraries/Gradle__com_daimajia_numberprogressbar_library_1_4.xml
File was deleted
.idea/libraries/Gradle__com_github_bumptech_glide_glide_3_7_0_jar.xml
File was deleted
.idea/libraries/Gradle__com_github_lecho_hellocharts_library_1_5_8.xml
File was deleted
.idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml
File was deleted
.idea/libraries/Gradle__com_google_code_gson_gson_2_8_5_jar.xml
File was deleted
.idea/libraries/Gradle__com_lzy_net_okgo_2_1_4.xml
File was deleted
.idea/libraries/Gradle__com_lzy_net_okserver_1_1_3.xml
File was deleted
.idea/libraries/Gradle__com_pnikosis_materialish_progress_1_0.xml
File was deleted
.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_4_1_jar.xml
File was deleted
.idea/libraries/Gradle__com_squareup_okio_okio_1_9_0_jar.xml
File was deleted
.idea/libraries/Gradle__com_tencent_bugly_crashreport_upgrade_1_3_6.xml
File was deleted
.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_6_0.xml
File was deleted
.idea/libraries/Gradle__com_tencent_mm_opensdk_wechat_sdk_android_without_mta_5_1_6_jar.xml
File was deleted
.idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml
File was deleted
.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml
File was deleted
.idea/libraries/Gradle__com_tencent_tinker_tinker_android_lib_1_9_9.xml
File was deleted
.idea/libraries/Gradle__com_tencent_tinker_tinker_android_loader_1_9_9.xml
File was deleted
.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml
File was deleted
.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml
File was deleted
.idea/libraries/Gradle__in_srain_cube_ultra_ptr_1_0_11.xml
File was deleted
.idea/libraries/Gradle__junit_junit_4_12_jar.xml
File was deleted
.idea/libraries/Gradle__me_zhanghai_android_materialprogressbar_library_1_4_0.xml
File was deleted
.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0_jar.xml
File was deleted
.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml
File was deleted
.idea/libraries/Gradle__org_jetbrains_annotations_13_0_jar.xml
File was deleted
.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_3_10_jar.xml
File was deleted
.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_3_10_jar.xml
File was deleted
.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_10_jar.xml
File was deleted
.idea/libraries/Gradle__pub_devrel_easypermissions_0_4_0.xml
File was deleted
FastBleLib/FastBleLib.iml
@@ -17,7 +17,8 @@
        <option name="ALLOW_USER_CONFIGURATION" value="false" />
        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/rs/release;file://$MODULE_DIR$/build/generated/res/resValues/release" />
        <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />
        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
        <option name="PROJECT_TYPE" value="1" />
      </configuration>
@@ -29,7 +30,6 @@
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <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" />
@@ -71,6 +71,8 @@
      <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/generated/not_namespaced_r_class_sources" />
      <excludeFolder url="file://$MODULE_DIR$/build/generated/source/r" />
      <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" />
@@ -79,6 +81,7 @@
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/intermediate-jars" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaPrecompile" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
andbrickslib/andbrickslib.iml
@@ -17,7 +17,8 @@
        <option name="ALLOW_USER_CONFIGURATION" value="false" />
        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/rs/release;file://$MODULE_DIR$/build/generated/res/resValues/release" />
        <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />
        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
        <option name="PROJECT_TYPE" value="1" />
      </configuration>
@@ -29,7 +30,6 @@
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <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" />
@@ -71,6 +71,8 @@
      <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/generated/not_namespaced_r_class_sources" />
      <excludeFolder url="file://$MODULE_DIR$/build/generated/source/r" />
      <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" />
@@ -79,6 +81,7 @@
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/intermediate-jars" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaPrecompile" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
@@ -89,29 +92,29 @@
    </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: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-v13-25.3.1" level="project" />
    <orderEntry type="library" name="Gradle: me.zhanghai.android.materialprogressbar:library:1.4.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-media-compat:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:commons:0.9.4.4@aar" 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" name="Gradle: com.android.support:recyclerview-v7:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-core-utils:25.3.1@aar" 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" 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.android.support:appcompat-v7:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.lzy.net:okserver:1.1.3@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-v4:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-compat:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.alibaba:fastjson:1.1.56.android@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.afollestad.material-dialogs:core:0.9.4.4@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-core-ui:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.lzy.net:okgo:2.1.4@aar" 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.pnikosis:materialish-progress:1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-v13:25.3.1@aar" 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" />
    <orderEntry type="library" name="Gradle: com.android.support:support-fragment:25.3.1@aar" level="project" />
  </component>
</module>
andbrickslib/src/main/java/com/moral/andbrickslib/utils/ActivityManager.java
@@ -12,7 +12,7 @@
 * Created by hjzhang on 2016/3/15.
 */
public class ActivityManager {
    private static Stack<Activity> activityStack;
    public static Stack<Activity> activityStack;
    private static ActivityManager instance;
    private ActivityManager() {
@@ -67,7 +67,6 @@
            if(activity != null) {
                activityStack.remove(activity);
                activity.finish();
                activity = null;
            }
        }
app/app.iml
@@ -17,7 +17,8 @@
        <option name="ALLOW_USER_CONFIGURATION" value="false" />
        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/rs/release;file://$MODULE_DIR$/build/generated/res/resValues/release" />
        <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />
        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
      </configuration>
    </facet>
@@ -26,7 +27,7 @@
        <compilerSettings />
        <compilerArguments>
          <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="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/8c21cf2f61467d1d3315df4984444386/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/commons-0.9.4.4.aar/006ef74e55e564b58edf687cdcd4e816/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/materialish-progress-1.0.aar/e5b4330c5fd18093c0ff01dbc043063b/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/core-0.9.4.4.aar/aac3d19e1680fbb34613d14fa14c97a7/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/library-1.4.0.aar/1f2521319747ae3a826fc67f39fb9591/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/appcompat-v7-25.3.1.aar/48c66c591bb96422c1d70f800e9fcaf1/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.0.2.aar/87c4e37a46de1f694dc1b9892f9421cb/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/cardview-v7-25.3.1.aar/5484fb963322683cd0fed0a530fb26af/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/549024020ea69c77fe772cbc809db019/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/4c425b51131d111779fb69c0c87982a9/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/library-1.4.aar/07deb51cb210cbde6c154c5891933828/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/c7c90f7636d1dba0e5b04d2a0a395ecd/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/Android-PickerView-3.1.2.aar/7254a0950d4712d0725112f78ca401fb/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/multidex-1.0.1.aar/97c80688378f483c2f0603a41303f46b/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/crashreport_upgrade-1.3.6.aar/bb3d38eda27e82602b514c5e3c11ea7e/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/tinker-android-lib-1.9.9.aar/b829a737b5e044d8693538b015653a3b/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/nativecrashreport-3.7.1.aar/81903bea769f96c8585dea0ad2396ddf/jars/classes.jar:/Users/chenqi/.gradle/caches/modules-2/files-2.1/com.tencent.mm.opensdk/wechat-sdk-android-without-mta/5.3.1/52e2b516ca6bf4708abf2c8592b7e3fe0729c5a6/wechat-sdk-android-without-mta-5.3.1.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/transforms-1/files-1.1/support-v13-25.3.1.aar/3c25e97a5f3467af8db8a933d340b29d/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-v4-25.3.1.aar/199667acbbab001df14a1a1c8cb5b703/jars/classes.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/e86eafe07b88f94743217c078544b938/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/tinker-android-loader-1.9.9.aar/b7f5c415df6ebdfd886c97d5bb2de4b6/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-fragment-25.3.1.aar/8fb09f0090bab34ad10dfc99290780b4/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-media-compat-25.3.1.aar/af9ee0a98d7b410b0929b801dc103289/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-core-utils-25.3.1.aar/65991a1e04689d1ecdbc17a81aa86d80/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-core-ui-25.3.1.aar/1d27d677c1b7ca35242a7f543dea765c/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-25.3.1.aar/87c894ea500a6e76a0f73ea6e4a90fe1/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-25.3.1.aar/4093468a914ca7130e2fc469c59e55cb/jars/classes.jar:/Users/chenqi/.gradle/caches/transforms-1/files-1.1/support-compat-25.3.1.aar/d474f3a8dee5a5820ff035401a58134e/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_release" />
@@ -40,6 +41,9 @@
          <option name="pluginClasspaths">
            <array />
          </option>
          <option name="errors">
            <ArgumentParseErrors />
          </option>
        </compilerArguments>
      </configuration>
    </facet>
@@ -50,7 +54,6 @@
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <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" />
@@ -92,7 +95,10 @@
      <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/.DS_Store" />
      <excludeFolder url="file://$MODULE_DIR$/build/bakApk" />
      <excludeFolder url="file://$MODULE_DIR$/build/generated/not_namespaced_r_class_sources" />
      <excludeFolder url="file://$MODULE_DIR$/build/generated/source/r" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bugly_intermediates" />
@@ -101,6 +107,7 @@
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaPrecompile" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
@@ -117,53 +124,53 @@
    <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" name="Gradle: com.android.support:recyclerview-v7:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.3.10@jar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.github.lecho:hellocharts-library:1.5.8@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-core-utils:25.3.1@aar" 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.android.support:appcompat-v7:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-v4:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.tencent.tinker:bsdiff-util:1.9.9@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:multidex-1.0.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: com.daimajia.numberprogressbar:library:1.4@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.tencent.mm.opensdk:wechat-sdk-android-without-mta:5.3.1@jar" level="project" />
    <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:core:0.9.4.4@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:cardview-v7:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-core-ui:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.lzy.net:okgo:2.1.4@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.tencent.bugly:crashreport_upgrade:1.3.6@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.pnikosis:materialish-progress:1.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: in.srain.cube:ultra-ptr:1.0.11@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:multidex:1.0.1@aar" 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: me.zhanghai.android.materialprogressbar:library:1.4.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.tencent.bugly:nativecrashreport:3.7.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:commons:0.9.4.4@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-media-compat:25.3.1@aar" 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.android.support.constraint:constraint-layout:1.0.2@aar" level="project" />
    <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.10@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-android-loader:1.9.9@aar" 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" name="Gradle: com.contrarywind:Android-PickerView:3.1.2@aar" 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" 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: pub.devrel:easypermissions:0.4.0@aar" level="project" />
    <orderEntry type="library" name="Gradle: com.android.support:support-compat:25.3.1@aar" level="project" />
    <orderEntry type="library" name="Gradle: org.greenrobot:eventbus:3.0.0@jar" 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.tencent.tinker:tinker-android-lib:1.9.9@aar" 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" />
    <orderEntry type="library" name="Gradle: com.github.bumptech.glide:glide:3.7.0@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.android.support:support-v13:25.3.1@aar" 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:support-fragment:25.3.1@aar" level="project" />
    <orderEntry type="module" module-name="andbrickslib" />
    <orderEntry type="module" module-name="FastBleLib" />
  </component>
app/build.gradle
@@ -20,7 +20,7 @@
        key {
            keyAlias 'moral'
            keyPassword 'moral123456'
            storeFile file('/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/key.jks')
            storeFile file('../key.jks')
            //md5 6B:AD:23:76:61:03:1D:9A:B8:E2:05:90:3E:4D:9F:00
            storePassword 'moral123456'
        }
@@ -98,6 +98,7 @@
    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'
    implementation 'com.android.support:support-v4:25.3.1'
}
repositories {
    mavenCentral()
app/proguard-rules.pro
@@ -23,3 +23,9 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
# tinker混淆规则
-dontwarn com.tencent.tinker.**
-keep class com.tencent.tinker.** { *; }
app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
        tools:replace="android:icon,android:label">
        <activity
            android:name=".activity.SplashActivity"
            android:launchMode="singleInstance"
            android:theme="@style/AppWelcomeTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
@@ -66,7 +67,8 @@
        </activity>
        <activity
            android:name="com.moral.yunfushao.MainActivity"
            android:screenOrientation="portrait" />
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name="com.moral.yunfushao.activity.ForgetPasswordActivity"
            android:screenOrientation="portrait" />
@@ -79,7 +81,6 @@
            android:screenOrientation="portrait" />
        <activity
            android:name="com.moral.yunfushao.activity.BLESearchActivity"
            android:launchMode="singleInstance"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.moral.yunfushao.activity.VoiceSetActivity"
app/src/main/java/com/moral/yunfushao/SampleApplicationLike.java
@@ -58,6 +58,29 @@
        //设置自定义升级对话框UI布局
//        Beta.upgradeDialogLayoutId = R.layout.upgrade_dialog;
//        /* 设置更新状态回调接口 */
//        Beta.upgradeStateListener = new UpgradeStateListener() {
//            @Override
//            public void onUpgradeSuccess(boolean isManual) {
//                Toast.makeText(t,"UPGRADE_SUCCESS",Toast.LENGTH_SHORT).show();
//            }
//
//            @Override
//            public void onUpgradeFailed(boolean isManual) {
//                Toast.makeText(getApplicationContext(),"UPGRADE_FAILED",Toast.LENGTH_SHORT).show();
//            }
//
//            @Override
//            public void onUpgrading(boolean isManual) {
//                Toast.makeText(getApplicationContext(),"UPGRADE_CHECKING",Toast.LENGTH_SHORT).show();
//            }
//
//            @Override
//            public void onUpgradeNoVersion(boolean isManual) {
//                Toast.makeText(getApplicationContext(),"UPGRADE_NO_VERSION",Toast.LENGTH_SHORT).show();
//            }
//        };
        // 补丁回调接口
        Beta.betaPatchListener = new BetaPatchListener() {
            @Override
app/src/main/java/com/moral/yunfushao/activity/BLESearchActivity.java
@@ -13,13 +13,11 @@
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v13.app.ActivityCompat;
import android.support.v4.app.ActivityOptionsCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -28,7 +26,6 @@
import com.moral.andbrickslib.baseadapter.headandfooter.DividerItemDecoration;
import com.moral.andbrickslib.baseadapter.recyclerview.MultiItemTypeAdapter;
import com.moral.andbrickslib.utils.ActivityManager;
import com.moral.yunfushao.MainActivity;
import com.moral.yunfushao.MainApp;
import com.moral.yunfushao.R;
import com.moral.yunfushao.adapter.BleDeviceAdapter;
@@ -71,8 +68,11 @@
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (mBluetoothService != null)
        if (mBluetoothService != null) {
            mBluetoothService.cancelScan();
            unbindService();
        }
        EventMessage msg = new EventMessage();
        msg.setType(AppConfig.SET_MAIN_CALL);
        EventBus.getDefault().postSticky(msg);
@@ -153,7 +153,7 @@
                isScan = !isScan;
                break;
            case R.id.tv_left:
                finishA();
                finish();
                break;
        }
@@ -329,21 +329,5 @@
        } else {
            mBluetoothService.scanDevice();
        }
    }
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            finishA();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
    public void finishA(){
        Intent i = new Intent(this, MainActivity.class);
        ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(this, iv_searchpic, "dddd");
        startActivity(i, optionsCompat.toBundle());
        finish();
    }
}
app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java
@@ -12,6 +12,7 @@
import com.lzy.okgo.cache.CacheMode;
import com.moral.andbrickslib.utils.FastJsonTools;
import com.moral.andbrickslib.utils.NetworkUtil;
import com.moral.andbrickslib.utils.StatusBarUtil;
import com.moral.yunfushao.MainActivity;
import com.moral.yunfushao.MainApp;
@@ -21,6 +22,7 @@
import com.moral.yunfushao.httputils.HttpCallBack;
import com.moral.yunfushao.httputils.HttpUtils;
import com.moral.yunfushao.model.User;
import com.moral.yunfushao.utils.SharedPreferencesUtil;
import java.util.HashMap;
import java.util.Map;
@@ -44,7 +46,35 @@
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        StatusBarUtil.translucentStatusBar(LoginActivity.this);
        int type = SharedPreferencesUtil.getUtil(this).getLoginInfo().getLogin_type();
        if (!NetworkUtil.isAvailable(this)) {
            return;
        }
        switch (type) {
            case 1:
                //手机登陆
                goHome();
                break;
            case 2:
                //微信登陆
                sendReq();
                break;
        }
    }
    private void goHome() {
        if (!TextUtils.isEmpty(MainApp.userId)) {
            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
        } else {
            Intent intent = new Intent(this, LoginActivity.class);
            startActivity(intent);
        }
        finish();
    }
    @Override
@@ -60,20 +90,6 @@
        et_phone = findView(R.id.et_phone);
        et_pwd = findView(R.id.et_pwd);
        weixinlogin = findView(R.id.weixinlogin);
        initAnimator();
    }
    private void initAnimator() {
//        ObjectAnimator an = ObjectAnimator.ofFloat(bt_sure, "translationX", 500f, 0f);
//        an.start();
////        ObjectAnimator translationY = ObjectAnimator.ofFloat(bt_sure, "rotation", 360f, 0f);
//        ObjectAnimator scaleY = ObjectAnimator.ofFloat(bt_sure, "scaleY", 0f, 1f);
//        ObjectAnimator scaleX = ObjectAnimator.ofFloat(bt_sure, "scaleX", 0f, 1f);
//
//        AnimatorSet oo = new AnimatorSet();
//        oo.playTogether(scaleY, scaleX);
//        oo.setDuration(500);
//        oo.start();
    }
    @Override
@@ -127,6 +143,7 @@
    protected void onErrorPageClick() {
    }
    private void login(String tel, final String pwd) {
        final String url = API.LOGIN;
        Map<String, String> params = new HashMap<>();
@@ -144,12 +161,7 @@
                    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();
                    bundle.putBoolean("islogin", true);
                    intent.putExtras(bundle);
                    startActivity(intent);
                    finish();
                    jumpMain();
                }
            }
@@ -168,4 +180,19 @@
            }
        });
    }
    @Override
    protected void onStop() {
        super.onStop();
        finish();
    }
    private void jumpMain() {
        Intent intent = new Intent(getApplicationContext(), MainActivity.class);
        Bundle bundle = new Bundle();
        bundle.putBoolean("islogin", true);
        intent.putExtras(bundle);
        startActivity(intent);
        finish();
    }
}
app/src/main/java/com/moral/yunfushao/activity/SplashActivity.java
@@ -2,16 +2,11 @@
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import com.moral.andbrickslib.utils.NetworkUtil;
import com.moral.andbrickslib.utils.StatusBarUtil;
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.utils.SharedPreferencesUtil;
/**
@@ -68,41 +63,19 @@
    }
    @Override
    public void run() {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        int type = SharedPreferencesUtil.getUtil(this).getLoginInfo().getLogin_type();
        if (!NetworkUtil.isAvailable(this)) {
            return;
        }
        switch (type) {
            case 1:
                //手机登陆
                goHome();
                break;
            case 2:
                //微信登陆
                sendReq();
                break;
            case -1:
                Intent intent = new Intent(this, LoginActivity.class);
                startActivity(intent);
            default:
        }
    protected void onStop() {
        super.onStop();
        finish();
    }
    private void goHome() {
        if (!TextUtils.isEmpty(MainApp.userId)) {
            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
        } else {
            Intent intent = new Intent(this, LoginActivity.class);
            startActivity(intent);
    @Override
    public void run() {
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        Intent intent = new Intent(this, LoginActivity.class);
        startActivity(intent);
    }
}
app/src/main/java/com/moral/yunfushao/base/BaseActivity.java
@@ -77,6 +77,7 @@
        req.scope = "snsapi_userinfo";
        req.state = "wechat_sdk_demo_text";
        iwxapi.sendReq(req);
        finish();
    }
    /**
app/src/main/java/com/moral/yunfushao/base/BaseFragment.java
@@ -54,15 +54,16 @@
            mToatUtils = new ToastUtils(getActivity());
            mViews = new SparseArray<>();
            convertView = inflater.inflate(getLayoutId(), null);
            initViews();
            initListener();
            initData();
        } else {
            ViewGroup parent = (ViewGroup) convertView.getParent();
            if (parent != null) {
                parent.removeView(convertView);
            }
        }
        System.out.println("chenqi -- onCreateView");
        initViews();
        initListener();
        initData();
        return convertView;
    }
app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
@@ -137,11 +137,9 @@
            if (mBluetoothService == null) {
                return;
            }
            String mac = MainApp.theApp.sharedPreferencesUtil.getBLE();
            if (!TextUtils.isEmpty(mac) && MainApp.theApp.bleManager.isBlueEnable()) {
                if (MainApp.theApp.bleManager.isConnectingOrConnected()) {
                    return;
                }
                mBluetoothService.scanAndConnect5(mac);
            }
        }
@@ -234,15 +232,16 @@
                        new BleCharacterCallback() {
                            @Override
                            public void onSuccess(final BluetoothGattCharacteristic characteristic) {
                                final String result = StringUtils.byteArrayToHexStr(characteristic.getValue());
                                stringResult.append(result);
                                getActivity().runOnUiThread(new Runnable() {
                                    @Override
                                    public void run() {
                                        String result = StringUtils.byteArrayToHexStr(characteristic.getValue());
                                        stringResult.append(result);
                                        doHandleData(result);
                                        stringResult = new StringBuilder();
                                    }
                                });
                                stringResult = new StringBuilder();
                                HEARTTIMES = 30;
                            }
@@ -329,7 +328,6 @@
            voiceBean.setName("严重铃声");
            voiceList.add(voiceBean);
        }
    }
    @Override
@@ -348,7 +346,6 @@
    @Override
    public void onPause() {
        super.onPause();
        System.out.println("chenqi onPause");
        isMySelfPage = false;
        stopReconnect();
    }
@@ -356,7 +353,6 @@
    @Override
    public void onDestroy() {
        super.onDestroy();
        System.out.println("chenqi onDestroy");
        EventBus.getDefault().unregister(this);
        handler.removeCallbacksAndMessages(null);
        stop();
@@ -568,6 +564,7 @@
     * @param level
     */
    private void showStatus(int level) {
        System.out.println("chenqi level " + level + " 类型 " + type);
        int yanzhang = R.mipmap.icon_yanzhong;
        int danger = R.mipmap.icon_danger;
        iv_dianliang.setVisibility(View.VISIBLE);
@@ -588,6 +585,7 @@
        }
        if (level == 0) {
            System.out.println("chenqi 辐射安全");
            tv_tishi.setText("当前辐射安全");
            tv_tishi.setBackgroundResource(R.mipmap.bt_green);
            iv_bottom_status.setImageResource(R.mipmap.icon_good);
@@ -687,7 +685,7 @@
     */
    //todo 解析实时数据
    private void parseCurrentData(String nowResult) {
        System.out.println("chenqi nowResult parseCurrentData");
        System.out.println("chenqi nowResult parseCurrentData" + nowResult);
        type = 1;
        if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 40 && nowResult.startsWith("5A") && nowResult.endsWith("5B")) {
            int real = Integer.parseInt(nowResult.substring(24, 26), 16) * 256 + Integer.parseInt(nowResult.substring(26, 28), 16);
@@ -762,14 +760,13 @@
    /**
     * 7A开头的是电离
     * 7A0024010002D8B04CE90E6300000003000003EE0000000000000EC6000000000017347B0D0A
     * <p>
     * 电磁辐射显示
     */
    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")) {
@@ -800,8 +797,6 @@
            data.setTime(TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss"));
            data.setType(0);
            showStatus(Integer.parseInt(strings[21], 16));
            if (baojing == 0) {
                pv.setPercent((float) (0.125));
                showStatus(0);
@@ -822,8 +817,8 @@
                }
            } else if (baojing == 2) {
                data.setIs_warn(1);
                showStatus(2);
                pv.setPercent((float) (0.625));
                showStatus(2);
                play(1);
                if (!isVirating) {
                    isVirating = true;
@@ -831,8 +826,10 @@
                }
            } else if (baojing == 3 || baojing == 4) {
                data.setIs_warn(1);
                if (baojing == 4) {
                    pv.setPercent((float) (1));
                } else pv.setPercent((float) (0.875));
                showStatus(3);
                pv.setPercent((float) (0.875));
                play(2);
                if (!isVirating) {
                    isVirating = true;
@@ -887,10 +884,11 @@
     */
    private void showPower(int b1, int b2) {
        if (b1 == 1) {
            iv_dianliang.setVisibility(View.VISIBLE);
            ImageLoader.setGIFByUrl(getActivity(), R.mipmap.icon_chong, iv_dianliang);
            showStatus(-2);
        } else if (b1 == 2) {
            ImageLoader.setImageViewById(getActivity(), R.mipmap.icon_full, iv_dianliang);
            iv_dianliang.setVisibility(View.GONE);
        } else {
            if (b2 == 0) {
                ImageLoader.setImageViewById(getActivity(), R.mipmap.icon_b00, iv_dianliang);
app/src/main/java/com/moral/yunfushao/fragment/FragmentShoppongMall.java
@@ -16,6 +16,7 @@
public class FragmentShoppongMall extends BaseFragment {
    private WebView mWebView;
    private boolean isPause = false;
    @Override
    protected int getLayoutId() {
@@ -31,6 +32,7 @@
    @Override
    public void onResume() {
        super.onResume();
        isPause = false;
        String url = "https://qixingboshi.tmall.com/shop/view_shop.htm?spm=a220m.1000862.1000730.3.4e577fdaFH6RLh&user_number_id=4065460231&rn=e4ad4c4924aa673e9a82566d92483890";
        mWebView.loadUrl(url);
    }
@@ -38,6 +40,7 @@
    @Override
    public void onPause() {
        super.onPause();
        isPause = true;
        progressDialog.dismiss();
    }
@@ -47,7 +50,8 @@
    }
    @Override
    protected void initData() {}
    protected void initData() {
    }
    @Override
    protected void processClick(View v) {
@@ -75,7 +79,11 @@
        mWebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                progressDialog.show();
                if (!isPause)
                    progressDialog.show();
                else {
                    progressDialog.dismiss();
                }
                return false;
            }
@@ -95,7 +103,7 @@
            public void onProgressChanged(WebView view, int newProgress) {
                super.onProgressChanged(view, newProgress);
//                if (newProgress >= 64) {
                    progressDialog.dismiss();
                progressDialog.dismiss();
//                }
            }
        });
app/src/main/java/com/moral/yunfushao/httputils/HttpUtils.java
@@ -26,6 +26,7 @@
public class HttpUtils {
    /**
     * Get请求
     *
     * @param url
     * @param params
     * @param cacheMode
@@ -53,14 +54,14 @@
                    public void onSuccess(String s, Call call, Response response) {
                        XLog.e("result:" + s);
                        try {
                            JSONObject resJosn= new JSONObject(s);
                            JSONObject resJosn = new JSONObject(s);
                            JSONObject jsonObject = resJosn.getJSONObject("data");
                            int errno = jsonObject.optInt("code");
                            String message = jsonObject.optString("msg");
                            if(errno == 0){
                                httpCallBack.onSuccess(jsonObject.optString("info"),message);
                            }else{
                                httpCallBack.onFail(errno,message);
                            if (errno == 0) {
                                httpCallBack.onSuccess(jsonObject.optString("info"), message);
                            } else {
                                httpCallBack.onFail(errno, message);
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
@@ -109,6 +110,7 @@
    /**
     * Post请求
     *
     * @param url
     * @param params
     * @param cacheMode
@@ -136,18 +138,22 @@
                    public void onSuccess(String s, Call call, Response response) {
                        XLog.e("result:" + s);
                        try {
                            JSONObject resJosn= new JSONObject(s);
                            if(resJosn.has("data")) {
                            JSONObject resJosn = new JSONObject(s);
                            if (resJosn.has("data")) {
                                JSONObject jsonObject = resJosn.getJSONObject("data");
                                int errno = jsonObject.optInt("code");
                                String message = jsonObject.optString("msg");
                                if(errno == 0){
                                    httpCallBack.onSuccess(jsonObject.optString("info"),message);
                                }else{
                                    httpCallBack.onFail(errno,message);
                                if (jsonObject.length() == 0 || errno == 0) {
                                    httpCallBack.onSuccess(jsonObject.optString("info"), message);
                                } else {
                                    httpCallBack.onFail(errno, message);
                                }
                            } else {
                                XLog.e("result jsonObject:");
                            }
                        } catch (JSONException e) {
                            httpCallBack.onFail(503, e.getMessage());
                            XLog.e("result jsonObject:" + e);
                            e.printStackTrace();
                        }
@@ -190,6 +196,7 @@
    /**
     * 上传文件
     *
     * @param url
     * @param params
     * @param uploadCallBack
@@ -213,13 +220,13 @@
                    public void onSuccess(String s, Call call, Response response) {
                        XLog.e("result:" + s);
                        try {
                            JSONObject resJosn= new JSONObject(s);
                            JSONObject resJosn = new JSONObject(s);
                            JSONObject jsonObject = resJosn.getJSONObject("data");
                            int errno = jsonObject.optInt("code");
                            String message = jsonObject.optString("msg");
                            if(errno == 0){
                                uploadCallBack.onSuccess(jsonObject.optString("info"),message);
                            }else{
                            if (errno == 0) {
                                uploadCallBack.onSuccess(jsonObject.optString("info"), message);
                            } else {
                                uploadCallBack.onFail(message);
                            }
                        } catch (JSONException e) {
@@ -270,6 +277,7 @@
    /**
     * 上传文件
     *
     * @param url
     * @param params
     * @param uploadCallBack
@@ -295,13 +303,13 @@
                    public void onSuccess(String s, Call call, Response response) {
                        XLog.e("result:" + s);
                        try {
                            JSONObject resJosn= new JSONObject(s);
                            JSONObject resJosn = new JSONObject(s);
                            JSONObject jsonObject = resJosn.getJSONObject("data");
                            int errno = jsonObject.optInt("code");
                            String message = jsonObject.optString("msg");
                            if(errno == 0){
                                uploadCallBack.onSuccess(jsonObject.optString("info"),message);
                            }else{
                            if (errno == 0) {
                                uploadCallBack.onSuccess(jsonObject.optString("info"), message);
                            } else {
                                uploadCallBack.onFail(message);
                            }
                        } catch (JSONException e) {
app/src/main/java/com/moral/yunfushao/ui/PanelView.java
@@ -178,7 +178,7 @@
    }
    private void startAnimation() {
        anim = ValueAnimator.ofFloat((float) percent, percent2);
        anim = ValueAnimator.ofFloat(percent, percent2);
        anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
@@ -189,15 +189,6 @@
        anim.setDuration(500L);
        anim.start();
    }
//
//    private class CustomPointEvaluator implements TypeEvaluator<Float> {
//        @Override
//        public Float evaluate(float fraction, Float startValue, Float endValue) {
//            System.out.println("chenqi2 rotato " + fraction + " all -> " + endValue);
//            float y = fraction * endValue;
//            return y;
//        }
//    }
    @Override
@@ -219,11 +210,6 @@
        canvas.save();
        canvas.rotate(percent * 300 - 150, mWidth / 2, mWidth / 2);
        RectF btmRect = new RectF((float) (cirlcleRect.left + bitH - bitW * 0.535), (float) (cirlcleRect.top + mCircleWidth * 0.68), (float) (cirlcleRect.left + bitH + bitW * 0.465), (float) (cirlcleRect.top + bitH + mCircleWidth * 0.68));
//        Log.d("haijiang","left="+btmRect.left);
//        Log.d("haijiang","right="+btmRect.right);
//        Log.d("haijiang","top="+btmRect.top);
//        Log.d("haijiang","bottom="+btmRect.bottom);
//        Log.d("haijiang","宽高比例="+(btmRect.right-btmRect.left)/(btmRect.bottom-btmRect.top));
        canvas.drawBitmap(mBitmap, null, btmRect, mBitPaint);
        canvas.restore();
app/src/main/java/com/moral/yunfushao/utils/AppUtil.java
New file
@@ -0,0 +1,92 @@
package com.moral.yunfushao.utils;
import android.app.ActivityManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.util.Log;
import java.util.List;
/**
 * @author : chenqi.
 * @e_mail : 1650699704@163.com.
 * @create_time : 2018/12/29.
 * @Package_name: pregnancy_guard_android
 */
public class AppUtil {
    /**
     * 判断应用是否在后台
     *
     * @param context
     * @return
     */
    public static boolean isBackground(Context context) {
        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
        for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
            if (appProcess.processName.equals(context.getPackageName())) {
                if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
                    Log.i("后台", appProcess.processName);
                    return true;
                } else {
                    Log.i("前台", appProcess.processName);
                    return false;
                }
            }
        }
        return false;
    }
    /**
     * 判断应用是否在运行
     *
     * @param context
     * @return
     */
    public static boolean isApplicationRunning(Context context) {
        ActivityManager am = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> appProcesses = am.getRunningAppProcesses();
        for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
            if (appProcess.processName.equals(context.getPackageName())) {
                return false;
            }
        }
        return true;
    }
    /**
     * 打开应用
     *
     * @param context
     * @param packageName
     */
    public static void openApp(Context context, String packageName) {
        try {
            PackageManager pm = context.getPackageManager();
            PackageInfo pi = pm.getPackageInfo(packageName, 0);
            Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
            resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
            resolveIntent.setPackage(pi.packageName);
            List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);
            ResolveInfo ri = apps.iterator().next();
            if (ri != null) {
                String packagename = ri.activityInfo.packageName;
                String className = ri.activityInfo.name;
                Intent intent = new Intent(Intent.ACTION_MAIN);
                intent.addCategory(Intent.CATEGORY_LAUNCHER);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);//Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
                ComponentName cn = new ComponentName(packagename, className);
                intent.setComponent(cn);
                context.startActivity(intent);
            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
    }
}
app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java
@@ -16,7 +16,6 @@
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;
import com.tencent.mm.opensdk.modelbase.BaseReq;
import com.tencent.mm.opensdk.modelbase.BaseResp;
import com.tencent.mm.opensdk.modelmsg.SendAuth;
@@ -48,24 +47,23 @@
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        System.out.println("chenqi onNewIntent");
        setIntent(intent);
        api.handleIntent(intent, this);
    }
    @Override
    public void onReq(BaseReq baseReq) {
        switch (baseReq.getType()) {
            case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
                goToGetMsg();
                break;
            case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
                System.out.println("chenqi create WXEntryActivity COMMAND_SHOWMESSAGE_FROM_WX");
                goToShowMsg((ShowMessageFromWX.Req) baseReq);
                break;
            default:
                break;
        }
//        switch (baseReq.getType()) {
//            case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
//                goToGetMsg();
//                break;
//            case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
//                System.out.println("chenqi create WXEntryActivity COMMAND_SHOWMESSAGE_FROM_WX");
//                goToShowMsg((ShowMessageFromWX.Req) baseReq);
//                break;
//            default:
//                break;
//        }
    }
    @Override
@@ -75,7 +73,7 @@
        switch (baseResp.errCode) {
            case BaseResp.ErrCode.ERR_OK:
                code = ((SendAuth.Resp) baseResp).code;
                result = "授权成功";
                result = "";
                checkWXLogin();
                //用户同意
                break;
@@ -103,6 +101,7 @@
     */
    private void checkEffective(final String access_token, String openid) {
        String url = "https://api.weixin.qq.com/sns/auth?access_token=" + access_token + "&openid=" + openid;
        System.out.println("chenqi ---- checkEffective");
        WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() {
            @Override
            public void onSuccess(String res, String msg) {
@@ -165,14 +164,20 @@
                "&secret=" + WXConstants.SECRET + "&code=" +
                WXEntryActivity.code +
                "&grant_type=authorization_code";
        System.out.println("chenqi ---- checkWXLogin");
        WXHttpUtil.doGet(url, CacheMode.DEFAULT, new HttpCallBack() {
            @Override
            public void onSuccess(String res, String msg) {
                System.out.println("chenqi ---- onSuccess");
                AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class);
                System.out.println("chenqi ---- refreshToken" + accessTokenBean.getOpenid() + accessTokenBean.getAccess_token());
                if (accessTokenBean.getErrcode() == 40029) {
                    //登陆错误
                    loginFailed();
                    return;
                } else if (accessTokenBean.getErrcode() == 40163) {
                    //已经等过过的code 不能够重复登陆
                    loginSuccess();
                }
                if (accessTokenBean.getAccess_token() != null && accessTokenBean.getOpenid() != null) {
                    checkEffective(accessTokenBean.getAccess_token(), accessTokenBean.getOpenid());
@@ -245,9 +250,10 @@
     * @param strings
     */
    private void loginSuccess(String... strings) {
        System.out.println("chenqi ---- loginSuccess" + strings.length);
        //校验完毕之后跳
        Intent intent = new Intent(WXEntryActivity.this, MainActivity.class);
        WXEntryActivity.this.startActivity(intent);
        Intent intent = new Intent(getApplication(), MainActivity.class);
        getApplication().startActivity(intent);
        getUserInfor(strings[0], strings[1]);
        finish();
    }
app/src/main/res/layout/ac_ble_search_layout.xml
@@ -27,7 +27,6 @@
        <ImageView
            android:id="@+id/iv_searchpic"
            android:layout_width="@dimen/x70"
            android:transitionName="dddd"
            android:layout_height="@dimen/x70"
            android:scaleType="centerCrop"
            android:src="@mipmap/bg_start" />
app/src/main/res/layout/fragment_monitor_layout.xml
@@ -242,9 +242,7 @@
            android:layout_alignParentRight="true"
            android:layout_gravity="right"
            android:layout_marginTop="20dp"
            android:layout_marginRight="20dp"
            android:src="@mipmap/icon_full"
            android:transitionName="dddd" />
            android:layout_marginRight="20dp"/>
        <TextView
            android:id="@+id/tv_dianliang2"
app/tinker-support.gradle
@@ -5,14 +5,11 @@
/**
 * 此处填写每次构建生成的基准包目录
 */
def baseApkDir = "app-1109-16-53-16"
def baseApkDir = "app-1229-16-11-25"
def outputFile = "Dev_yfs_v.${rootProject.ext.android.versionName}.apk"
//def outputFile = "Dev_yfs_v.${rootProject.ext.android.versionName}.apk"
//def outputFile = "yfs_v.${rootProject.ext.android.versionName}.apk"
def outputFile = "yfs_v.${rootProject.ext.android.versionName}.apk"
/**
 * 对于插件各参数的详细解析请参考
@@ -32,8 +29,6 @@
    // 编译补丁包时,必需指定基线版本的apk,默认值为空
    // 如果为空,则表示不是进行补丁包的编译
    // @{link tinkerPatch.oldApk }
    baseApk = "${bakPath}/${baseApkDir}/${outputFile}"
@@ -43,8 +38,10 @@
    // 对应tinker插件applyResourceMapping
    baseApkResourceMapping = "${bakPath}/${baseApkDir}/${outputFile}-R.txt"
//    tinkerId = "dev_base-1.0.2"
    // 构建基准包和补丁包都要指定不同的tinkerId,并且必须保证唯一性
    tinkerId = "dev_patch-1.0.1"
    tinkerId = "base-1.0.3"
    // 构建多渠道补丁时使用
    // buildAllFlavorsDir = "${bakPath}/${baseApkDir}"
conf.gradle
@@ -2,8 +2,8 @@
    android = [
            compileSdkVersion: 25,
            buildToolsVersion: "26.0.2",
            versionCode      : 5,
            versionName      : "1.0.3.2",
            versionCode      : 7,
            versionName      : "1.0.3.4",
            minSdkVersion    : 21,
            targetSdkVersion : 25,
            debugVersion     : "_sp2",
local.properties
@@ -4,6 +4,5 @@
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Fri Oct 26 16:16:07 CST 2018
ndk.dir=/Users/chenqi/Library/Android/sdk/ndk-bundle
#Wed Mar 27 11:19:47 CST 2019
sdk.dir=/Users/chenqi/Library/Android/sdk