From 17d97f58265510ceda0b38959a90424ee07b6910 Mon Sep 17 00:00:00 2001
From: 陈奇 <1650699704@qq.com>
Date: Tue, 13 Nov 2018 11:42:07 +0800
Subject: [PATCH] 1.0.3-1测试版本 [*]修改重新连接的方式 [*]修改商城连接 [*]修改心跳机制 [*]主要针对oppo和vivo机型添加开启定位服务
---
.idea/libraries/Gradle__com_github_lecho_hellocharts_library_1_5_8.xml | 12
.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_4_1_jar.xml | 11
.idea/libraries/Gradle__com_lzy_net_okserver_1_1_3.xml | 12
app/src/main/java/com/moral/yunfushao/ui/PanelView.java | 2
.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml | 11
.idea/libraries/Gradle__com_squareup_okio_okio_1_9_0_jar.xml | 11
app/src/main/res/layout/ac_register_layout.xml | 52 +
FastBleLib/src/main/java/com/clj/fastble/BleManager.java | 17
.idea/misc.xml | 32
app/src/main/java/com/moral/yunfushao/fragment/FragmentSettings.java | 3
.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml | 11
app/src/main/java/com/moral/yunfushao/SampleApplication.java | 17
.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_3_1.xml | 12
.idea/libraries/Gradle__com_tencent_tinker_tinker_android_lib_1_9_9.xml | 15
.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml | 11
FastBleLib/FastBleLib.iml | 71 +
.gradle/4.1/fileHashes/resourceHashesCache.bin | 0
app/build.gradle | 29
app/app.iml | 128 ++-
.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5.xml | 14
FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java | 49 -
.idea/libraries/Gradle__com_tencent_tinker_tinker_android_loader_1_9_9.xml | 15
app/tinker-support.gradle | 100 +++
.idea/libraries/Gradle__com_daimajia_numberprogressbar_library_1_4.xml | 12
.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml | 11
.idea/libraries/Gradle__com_github_bumptech_glide_glide_3_7_0_jar.xml | 11
.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml | 11
.idea/libraries/Gradle__com_android_support_recyclerview_v7_25_3_1.xml | 15
.idea/libraries/Gradle__com_contrarywind_Android_PickerView_3_1_2.xml | 12
conf.gradle | 14
.idea/libraries/Gradle__com_android_support_animated_vector_drawable_25_3_1.xml | 12
.idea/libraries/Gradle__com_android_support_support_v13_25_3_1.xml | 12
.idea/libraries/Gradle__me_zhanghai_android_materialprogressbar_library_1_4_0.xml | 15
.idea/libraries/Gradle____local_aars____Users_chenqi_AndroidStudioProjects_pregnancy_guard_android_app_libs_BaiduLBS_Android_jar_unspecified_jar.xml | 9
.idea/libraries/Gradle__com_alibaba_fastjson_1_1_56_android_jar.xml | 11
.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0_jar.xml | 11
.gradle/4.1/fileHashes/fileHashes.bin | 0
.idea/libraries/Gradle__com_lzy_net_okgo_2_1_4.xml | 12
.idea/libraries/Gradle__com_tencent_bugly_crashreport_upgrade_1_3_6.xml | 12
.idea/libraries/Gradle__in_srain_cube_ultra_ptr_1_0_11.xml | 12
app/src/main/res/layout/fragment_monitor_layout.xml | 4
.idea/libraries/Gradle__com_afollestad_material_dialogs_core_0_9_4_4.xml | 12
.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml | 11
.gradle/4.1/taskHistory/taskHistory.lock | 0
.gradle/4.1/javaCompile/taskHistory.bin | 0
app/src/main/java/com/moral/yunfushao/activity/BLESearchActivity.java | 121 ++-
.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml | 11
.idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml | 11
.idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml | 11
.gradle/4.1/taskHistory/taskHistory.bin | 0
.gradle/4.1/javaCompile/classAnalysis.bin | 0
.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml | 11
andbrickslib/andbrickslib.iml | 100 ++-
.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_0_2.xml | 10
.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2.xml | 14
.idea/libraries/Gradle__junit_junit_4_12_jar.xml | 11
app/src/main/java/com/moral/yunfushao/SampleApplicationLike.java | 163 +++++
app/src/main/java/com/moral/yunfushao/fragment/FragmentShoppongMall.java | 21
.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_0_2_jar.xml | 9
.idea/libraries/Gradle__com_android_support_support_fragment_25_3_1.xml | 15
app/src/main/java/com/moral/yunfushao/MainApp.java | 8
.gradle/4.1/taskHistory/fileSnapshots.bin | 0
build.gradle | 2
.idea/libraries/Gradle__com_android_support_support_annotations_25_3_1_jar.xml | 16
.idea/libraries/Gradle__com_pnikosis_materialish_progress_1_0.xml | 12
app/src/main/res/drawable/choose_button.xml | 14
.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2.xml | 14
app/src/main/java/com/moral/yunfushao/base/BaseActivity.java | 17
.idea/libraries/Gradle__com_android_support_multidex_1_0_1.xml | 10
.gradle/4.1/javaCompile/jarAnalysis.bin | 0
.gradle/4.1/fileHashes/fileHashes.lock | 0
.idea/libraries/Gradle__com_android_support_appcompat_v7_25_3_1.xml | 15
app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java | 29
app/src/main/AndroidManifest.xml | 23
.idea/libraries/Gradle__com_android_support_test_rules_0_5.xml | 17
app/libs/bugly_crashreport_upgrade-1.3.5.aar | 0
.gradle/4.1/javaCompile/taskJars.bin | 0
.idea/libraries/Gradle__com_android_support_support_compat_25_3_1.xml | 15
.idea/libraries/Gradle__com_android_support_support_vector_drawable_25_3_1.xml | 12
.idea/libraries/Gradle__pub_devrel_easypermissions_0_4_0.xml | 12
.idea/libraries/Gradle__com_afollestad_material_dialogs_commons_0_9_4_4.xml | 15
.idea/libraries/Gradle__com_android_support_support_v4_25_3_1.xml | 10
.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml | 11
app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java | 71 +
app/src/main/res/layout/fragment_setting_layout.xml | 6
.gradle/4.1/javaCompile/javaCompile.lock | 0
.idea/libraries/Gradle__com_android_support_support_media_compat_25_3_1.xml | 15
.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml | 9
.idea/libraries/Gradle__com_android_support_support_core_ui_25_3_1.xml | 15
app/src/main/java/com/moral/yunfushao/common/API.java | 3
.idea/libraries/Gradle__com_android_support_support_core_utils_25_3_1.xml | 15
FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java | 35
app/src/main/java/com/moral/yunfushao/MainActivity.java | 26
.idea/libraries/Gradle__com_android_support_test_runner_0_5.xml | 17
94 files changed, 1,505 insertions(+), 321 deletions(-)
diff --git a/.gradle/4.1/fileHashes/fileHashes.bin b/.gradle/4.1/fileHashes/fileHashes.bin
index 37aa106..92d68df 100644
--- a/.gradle/4.1/fileHashes/fileHashes.bin
+++ b/.gradle/4.1/fileHashes/fileHashes.bin
Binary files differ
diff --git a/.gradle/4.1/fileHashes/fileHashes.lock b/.gradle/4.1/fileHashes/fileHashes.lock
index b42e628..92ef62a 100644
--- a/.gradle/4.1/fileHashes/fileHashes.lock
+++ b/.gradle/4.1/fileHashes/fileHashes.lock
Binary files differ
diff --git a/.gradle/4.1/fileHashes/resourceHashesCache.bin b/.gradle/4.1/fileHashes/resourceHashesCache.bin
index 7555000..f9b7cbf 100644
--- a/.gradle/4.1/fileHashes/resourceHashesCache.bin
+++ b/.gradle/4.1/fileHashes/resourceHashesCache.bin
Binary files differ
diff --git a/.gradle/4.1/javaCompile/classAnalysis.bin b/.gradle/4.1/javaCompile/classAnalysis.bin
index 9f709de..80286f3 100644
--- a/.gradle/4.1/javaCompile/classAnalysis.bin
+++ b/.gradle/4.1/javaCompile/classAnalysis.bin
Binary files differ
diff --git a/.gradle/4.1/javaCompile/jarAnalysis.bin b/.gradle/4.1/javaCompile/jarAnalysis.bin
index 8c09110..64afd1f 100644
--- a/.gradle/4.1/javaCompile/jarAnalysis.bin
+++ b/.gradle/4.1/javaCompile/jarAnalysis.bin
Binary files differ
diff --git a/.gradle/4.1/javaCompile/javaCompile.lock b/.gradle/4.1/javaCompile/javaCompile.lock
index aa1aed5..075ba56 100644
--- a/.gradle/4.1/javaCompile/javaCompile.lock
+++ b/.gradle/4.1/javaCompile/javaCompile.lock
Binary files differ
diff --git a/.gradle/4.1/javaCompile/taskHistory.bin b/.gradle/4.1/javaCompile/taskHistory.bin
index ba376eb..5ba0a1f 100644
--- a/.gradle/4.1/javaCompile/taskHistory.bin
+++ b/.gradle/4.1/javaCompile/taskHistory.bin
Binary files differ
diff --git a/.gradle/4.1/javaCompile/taskJars.bin b/.gradle/4.1/javaCompile/taskJars.bin
index 68a7e63..e24d6cf 100644
--- a/.gradle/4.1/javaCompile/taskJars.bin
+++ b/.gradle/4.1/javaCompile/taskJars.bin
Binary files differ
diff --git a/.gradle/4.1/taskHistory/fileSnapshots.bin b/.gradle/4.1/taskHistory/fileSnapshots.bin
index 0aae236..75e626b 100644
--- a/.gradle/4.1/taskHistory/fileSnapshots.bin
+++ b/.gradle/4.1/taskHistory/fileSnapshots.bin
Binary files differ
diff --git a/.gradle/4.1/taskHistory/taskHistory.bin b/.gradle/4.1/taskHistory/taskHistory.bin
index 7874806..76cb865 100644
--- a/.gradle/4.1/taskHistory/taskHistory.bin
+++ b/.gradle/4.1/taskHistory/taskHistory.bin
Binary files differ
diff --git a/.gradle/4.1/taskHistory/taskHistory.lock b/.gradle/4.1/taskHistory/taskHistory.lock
index c955dac..1eac5d6 100644
--- a/.gradle/4.1/taskHistory/taskHistory.lock
+++ b/.gradle/4.1/taskHistory/taskHistory.lock
Binary files differ
diff --git a/.idea/libraries/Gradle____local_aars____Users_chenqi_AndroidStudioProjects_pregnancy_guard_android_app_libs_BaiduLBS_Android_jar_unspecified_jar.xml b/.idea/libraries/Gradle____local_aars____Users_chenqi_AndroidStudioProjects_pregnancy_guard_android_app_libs_BaiduLBS_Android_jar_unspecified_jar.xml
new file mode 100644
index 0000000..131bf57
--- /dev/null
+++ b/.idea/libraries/Gradle____local_aars____Users_chenqi_AndroidStudioProjects_pregnancy_guard_android_app_libs_BaiduLBS_Android_jar_unspecified_jar.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: __local_aars__:/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/app/libs/BaiduLBS_Android.jar:unspecified@jar">
+ <CLASSES>
+ <root url="jar://$PROJECT_DIR$/app/libs/BaiduLBS_Android.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_afollestad_material_dialogs_commons_0_9_4_4.xml b/.idea/libraries/Gradle__com_afollestad_material_dialogs_commons_0_9_4_4.xml
new file mode 100644
index 0000000..3695aae
--- /dev/null
+++ b/.idea/libraries/Gradle__com_afollestad_material_dialogs_commons_0_9_4_4.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: com.afollestad.material-dialogs:commons-0.9.4.4">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/commons-0.9.4.4.aar/fddeae04668658ba55286c5959082dde/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/commons-0.9.4.4.aar/fddeae04668658ba55286c5959082dde/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/commons-0.9.4.4.aar/fddeae04668658ba55286c5959082dde/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.afollestad.material-dialogs/commons/0.9.4.4/6f6f75b476078511f13fb7d08efa33414477838d/commons-0.9.4.4-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_afollestad_material_dialogs_core_0_9_4_4.xml b/.idea/libraries/Gradle__com_afollestad_material_dialogs_core_0_9_4_4.xml
new file mode 100644
index 0000000..e5d95e9
--- /dev/null
+++ b/.idea/libraries/Gradle__com_afollestad_material_dialogs_core_0_9_4_4.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.afollestad.material-dialogs:core-0.9.4.4">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/core-0.9.4.4.aar/5808c912607c9c0fb6b286b9b73df3df/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/core-0.9.4.4.aar/5808c912607c9c0fb6b286b9b73df3df/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.afollestad.material-dialogs/core/0.9.4.4/23cbc9c17684233e5704844a176bbd4b75774eaa/core-0.9.4.4-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_alibaba_fastjson_1_1_56_android_jar.xml b/.idea/libraries/Gradle__com_alibaba_fastjson_1_1_56_android_jar.xml
new file mode 100644
index 0000000..5b2dafd
--- /dev/null
+++ b/.idea/libraries/Gradle__com_alibaba_fastjson_1_1_56_android_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: com.alibaba:fastjson:1.1.56.android@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.alibaba/fastjson/1.1.56.android/4eef0ac3ef5e18db7af5d44ca0228ca5c29dd2f6/fastjson-1.1.56.android.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.alibaba/fastjson/1.1.56.android/4b5bae918e858319857f429e397326f6b98793d4/fastjson-1.1.56.android-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_25_3_1.xml
new file mode 100644
index 0000000..3571e39
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_25_3_1.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:animated-vector-drawable-25.3.1">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-25.3.1.aar/c159abf01a50a246e9de7a0a9a9adf0a/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/animated-vector-drawable-25.3.1.aar/c159abf01a50a246e9de7a0a9a9adf0a/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/animated-vector-drawable/25.3.1/animated-vector-drawable-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_appcompat_v7_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_appcompat_v7_25_3_1.xml
new file mode 100644
index 0000000..2aad8cc
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_appcompat_v7_25_3_1.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:appcompat-v7-25.3.1">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-25.3.1.aar/03306f7c55bbcea5d1165fc1b466b7ee/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-25.3.1.aar/03306f7c55bbcea5d1165fc1b466b7ee/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-25.3.1.aar/03306f7c55bbcea5d1165fc1b466b7ee/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_0_2.xml b/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_0_2.xml
new file mode 100644
index 0000000..aacf634
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_0_2.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.constraint:constraint-layout-1.0.2">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.0.2.aar/df3a5952978da9d0f2bec9fe644dbf8d/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/constraint-layout-1.0.2.aar/df3a5952978da9d0f2bec9fe644dbf8d/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_0_2_jar.xml b/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_0_2_jar.xml
new file mode 100644
index 0000000..b5bafe9
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_0_2_jar.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.constraint:constraint-layout-solver:1.0.2@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.2/constraint-layout-solver-1.0.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_multidex_1_0_1.xml b/.idea/libraries/Gradle__com_android_support_multidex_1_0_1.xml
new file mode 100644
index 0000000..ad06ba8
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_multidex_1_0_1.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:multidex-1.0.1">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/multidex-1.0.1.aar/b1501bdfebb153757df2c15eb485907c/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/multidex-1.0.1.aar/b1501bdfebb153757df2c15eb485907c/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_recyclerview_v7_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_recyclerview_v7_25_3_1.xml
new file mode 100644
index 0000000..7191692
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_recyclerview_v7_25_3_1.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:recyclerview-v7-25.3.1">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-25.3.1.aar/0d2c5960817ddd389787732d61995687/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-25.3.1.aar/0d2c5960817ddd389787732d61995687/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/recyclerview-v7-25.3.1.aar/0d2c5960817ddd389787732d61995687/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_annotations_25_3_1_jar.xml b/.idea/libraries/Gradle__com_android_support_support_annotations_25_3_1_jar.xml
new file mode 100644
index 0000000..94df532
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_annotations_25_3_1_jar.xml
@@ -0,0 +1,16 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-annotations:25.3.1@jar">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/25.3.1/support-annotations-25.3.1-annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/25.3.1/support-annotations-25.3.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/25.3.1/support-annotations-25.3.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/25.3.1/support-annotations-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_compat_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_support_compat_25_3_1.xml
new file mode 100644
index 0000000..0dc4e04
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_compat_25_3_1.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-compat-25.3.1">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-25.3.1.aar/f6fe5b88e919f2f233f16662b09121f4/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-25.3.1.aar/f6fe5b88e919f2f233f16662b09121f4/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-25.3.1.aar/f6fe5b88e919f2f233f16662b09121f4/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-compat/25.3.1/support-compat-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_core_ui_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_support_core_ui_25_3_1.xml
new file mode 100644
index 0000000..4ce5f4b
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_core_ui_25_3_1.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-core-ui-25.3.1">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-25.3.1.aar/0fd5530f2437c763ebc33721eb44068c/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-25.3.1.aar/0fd5530f2437c763ebc33721eb44068c/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-25.3.1.aar/0fd5530f2437c763ebc33721eb44068c/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-core-ui/25.3.1/support-core-ui-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_core_utils_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_support_core_utils_25_3_1.xml
new file mode 100644
index 0000000..945edf4
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_core_utils_25_3_1.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-core-utils-25.3.1">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-25.3.1.aar/42ec7f868c6d56691752965ca1bcb191/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-25.3.1.aar/42ec7f868c6d56691752965ca1bcb191/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-25.3.1.aar/42ec7f868c6d56691752965ca1bcb191/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-core-utils/25.3.1/support-core-utils-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_fragment_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_support_fragment_25_3_1.xml
new file mode 100644
index 0000000..2124538
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_fragment_25_3_1.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-fragment-25.3.1">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-25.3.1.aar/4091358fd996a8cbe9b0f4d51e9fe0e9/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-25.3.1.aar/4091358fd996a8cbe9b0f4d51e9fe0e9/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-25.3.1.aar/4091358fd996a8cbe9b0f4d51e9fe0e9/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-fragment/25.3.1/support-fragment-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_media_compat_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_support_media_compat_25_3_1.xml
new file mode 100644
index 0000000..3bf3469
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_media_compat_25_3_1.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-media-compat-25.3.1">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-25.3.1.aar/6d249c224fb3674af1b8cba02689742b/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-25.3.1.aar/6d249c224fb3674af1b8cba02689742b/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-25.3.1.aar/6d249c224fb3674af1b8cba02689742b/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-media-compat/25.3.1/support-media-compat-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_v13_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_support_v13_25_3_1.xml
new file mode 100644
index 0000000..e891ff3
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_v13_25_3_1.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-v13-25.3.1">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v13-25.3.1.aar/ddcbb506878adf055b411c6b579eeb42/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v13-25.3.1.aar/ddcbb506878adf055b411c6b579eeb42/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-v13/25.3.1/support-v13-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_v4_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_support_v4_25_3_1.xml
new file mode 100644
index 0000000..05709bd
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_v4_25_3_1.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-v4-25.3.1">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-25.3.1.aar/c18892df0bf0298343eff658187baca5/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-25.3.1.aar/c18892df0bf0298343eff658187baca5/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_support_vector_drawable_25_3_1.xml b/.idea/libraries/Gradle__com_android_support_support_vector_drawable_25_3_1.xml
new file mode 100644
index 0000000..02ef29a
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_support_vector_drawable_25_3_1.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support:support-vector-drawable-25.3.1">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-25.3.1.aar/5873f37203123af57396d823c55cbcf4/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-vector-drawable-25.3.1.aar/5873f37203123af57396d823c55cbcf4/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-vector-drawable/25.3.1/support-vector-drawable-25.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2.xml b/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2.xml
new file mode 100644
index 0000000..c08112a
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_2_2_2.xml
@@ -0,0 +1,14 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test.espresso:espresso-core-2.2.2">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-2.2.2.aar/8582a660a4109e21b7e303682ea46a85/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-core-2.2.2.aar/8582a660a4109e21b7e303682ea46a85/res" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/espresso/espresso-core/2.2.2/espresso-core-2.2.2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/espresso/espresso-core/2.2.2/espresso-core-2.2.2-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2.xml b/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2.xml
new file mode 100644
index 0000000..e052d01
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_2_2_2.xml
@@ -0,0 +1,14 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test.espresso:espresso-idling-resource-2.2.2">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-2.2.2.aar/be02ce9692e456eb6c9d786503ac3f3c/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/espresso-idling-resource-2.2.2.aar/be02ce9692e456eb6c9d786503ac3f3c/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/espresso/espresso-idling-resource/2.2.2/espresso-idling-resource-2.2.2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/espresso/espresso-idling-resource/2.2.2/espresso-idling-resource-2.2.2-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5.xml b/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5.xml
new file mode 100644
index 0000000..734f100
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_test_exposed_instrumentation_api_publish_0_5.xml
@@ -0,0 +1,14 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test:exposed-instrumentation-api-publish-0.5">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/exposed-instrumentation-api-publish-0.5.aar/e5dcbe52691fe80af7f3f6e6774f08df/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/exposed-instrumentation-api-publish-0.5.aar/e5dcbe52691fe80af7f3f6e6774f08df/res" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/exposed-instrumentation-api-publish/0.5/exposed-instrumentation-api-publish-0.5-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/exposed-instrumentation-api-publish/0.5/exposed-instrumentation-api-publish-0.5-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_rules_0_5.xml b/.idea/libraries/Gradle__com_android_support_test_rules_0_5.xml
new file mode 100644
index 0000000..e6acff4
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_test_rules_0_5.xml
@@ -0,0 +1,17 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test:rules-0.5">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rules-0.5.aar/33c535b9bfeb0d0733d348f547617885/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rules-0.5.aar/33c535b9bfeb0d0733d348f547617885/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/rules-0.5.aar/33c535b9bfeb0d0733d348f547617885/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/rules/0.5/rules-0.5-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/rules/0.5/rules-0.5-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_android_support_test_runner_0_5.xml b/.idea/libraries/Gradle__com_android_support_test_runner_0_5.xml
new file mode 100644
index 0000000..eccae77
--- /dev/null
+++ b/.idea/libraries/Gradle__com_android_support_test_runner_0_5.xml
@@ -0,0 +1,17 @@
+<component name="libraryTable">
+ <library name="Gradle: com.android.support.test:runner-0.5">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-0.5.aar/51e2f325be732064d5a40958ceac211f/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-0.5.aar/51e2f325be732064d5a40958ceac211f/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runner-0.5.aar/51e2f325be732064d5a40958ceac211f/res" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/runner/0.5/runner-0.5-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/test/runner/0.5/runner-0.5-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_contrarywind_Android_PickerView_3_1_2.xml b/.idea/libraries/Gradle__com_contrarywind_Android_PickerView_3_1_2.xml
new file mode 100644
index 0000000..da7d64d
--- /dev/null
+++ b/.idea/libraries/Gradle__com_contrarywind_Android_PickerView_3_1_2.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.contrarywind:Android-PickerView-3.1.2">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/Android-PickerView-3.1.2.aar/1abad93f184fb2e61fd67e128b2da37f/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/Android-PickerView-3.1.2.aar/1abad93f184fb2e61fd67e128b2da37f/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.contrarywind/Android-PickerView/3.1.2/3010441a4ebae09df147611c6d7c71e90218e6c4/Android-PickerView-3.1.2-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_daimajia_numberprogressbar_library_1_4.xml b/.idea/libraries/Gradle__com_daimajia_numberprogressbar_library_1_4.xml
new file mode 100644
index 0000000..42e26d1
--- /dev/null
+++ b/.idea/libraries/Gradle__com_daimajia_numberprogressbar_library_1_4.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.daimajia.numberprogressbar:library-1.4">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/library-1.4.aar/e8a706eaa0bbee30b9abdbc71c78abaf/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/library-1.4.aar/e8a706eaa0bbee30b9abdbc71c78abaf/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.daimajia.numberprogressbar/library/1.4/fcc2dd900e02a61ee357ada5e620bd9f9344a064/library-1.4-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_github_bumptech_glide_glide_3_7_0_jar.xml b/.idea/libraries/Gradle__com_github_bumptech_glide_glide_3_7_0_jar.xml
new file mode 100644
index 0000000..180a068
--- /dev/null
+++ b/.idea/libraries/Gradle__com_github_bumptech_glide_glide_3_7_0_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: com.github.bumptech.glide:glide:3.7.0@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.bumptech.glide/glide/3.7.0/9e9eeaf9948ee4d6c3ab354e8dc14368f16994a4/glide-3.7.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.bumptech.glide/glide/3.7.0/24a0b0e63af9530bcedd06ed1983a4f2f02155a3/glide-3.7.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_github_lecho_hellocharts_library_1_5_8.xml b/.idea/libraries/Gradle__com_github_lecho_hellocharts_library_1_5_8.xml
new file mode 100644
index 0000000..4017f11
--- /dev/null
+++ b/.idea/libraries/Gradle__com_github_lecho_hellocharts_library_1_5_8.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.github.lecho:hellocharts-library-1.5.8">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/hellocharts-library-1.5.8.aar/3efe85d3c8193133205e59a9b0ab7704/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/hellocharts-library-1.5.8.aar/3efe85d3c8193133205e59a9b0ab7704/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.lecho/hellocharts-library/1.5.8/51798d4793c333553a68292ee3a47b4758c2ec47/hellocharts-library-1.5.8-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml b/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml
new file mode 100644
index 0000000..947e251
--- /dev/null
+++ b/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+ <library name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/2.0.1/516c03b21d50a644d538de0f0369c620989cd8f0/jsr305-2.0.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml b/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml
new file mode 100644
index 0000000..1b5f1e6
--- /dev/null
+++ b/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_0_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: com.google.code.gson:gson:2.8.0@jar">
+ <CLASSES>
+ <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>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_lzy_net_okgo_2_1_4.xml b/.idea/libraries/Gradle__com_lzy_net_okgo_2_1_4.xml
new file mode 100644
index 0000000..af49698
--- /dev/null
+++ b/.idea/libraries/Gradle__com_lzy_net_okgo_2_1_4.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.lzy.net:okgo-2.1.4">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/okgo-2.1.4.aar/96f97a5f3317096675d235a351d4b0ee/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/okgo-2.1.4.aar/96f97a5f3317096675d235a351d4b0ee/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.lzy.net/okgo/2.1.4/c592fc30b9a9be1b3315af76dd69cfce5b09fae8/okgo-2.1.4-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_lzy_net_okserver_1_1_3.xml b/.idea/libraries/Gradle__com_lzy_net_okserver_1_1_3.xml
new file mode 100644
index 0000000..869caae
--- /dev/null
+++ b/.idea/libraries/Gradle__com_lzy_net_okserver_1_1_3.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.lzy.net:okserver-1.1.3">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/okserver-1.1.3.aar/4756b58038e66fa48f6f5a183970ad3c/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/okserver-1.1.3.aar/4756b58038e66fa48f6f5a183970ad3c/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.lzy.net/okserver/1.1.3/bad9ac00bed49d0837c2072b3b3de62b0efcbbc4/okserver-1.1.3-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_pnikosis_materialish_progress_1_0.xml b/.idea/libraries/Gradle__com_pnikosis_materialish_progress_1_0.xml
new file mode 100644
index 0000000..5259262
--- /dev/null
+++ b/.idea/libraries/Gradle__com_pnikosis_materialish_progress_1_0.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.pnikosis:materialish-progress-1.0">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/materialish-progress-1.0.aar/b24cd27d4154b26e3d30f146b762e3a8/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/materialish-progress-1.0.aar/b24cd27d4154b26e3d30f146b762e3a8/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.pnikosis/materialish-progress/1.0/27fea1adaf2e3fca647208c0f5c65dff96eed495/materialish-progress-1.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml b/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml
new file mode 100644
index 0000000..5c4dd4e
--- /dev/null
+++ b/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: com.squareup:javawriter:2.1.1@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/67ff45d9ae02e583d0f9b3432a5ebbe05c30c966/javawriter-2.1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.1.1/5b31387d839a5cdaf5b6de3990da01f7f2b963c5/javawriter-2.1.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_4_1_jar.xml b/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_4_1_jar.xml
new file mode 100644
index 0000000..18b4c5f
--- /dev/null
+++ b/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_4_1_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: com.squareup.okhttp3:okhttp:3.4.1@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.4.1/c7c4f9e35c2fd5900da24f9872e3971801f08ce0/okhttp-3.4.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.4.1/70fca5cd856d0cc740e43affeb6f661204fdb2cc/okhttp-3.4.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_squareup_okio_okio_1_9_0_jar.xml b/.idea/libraries/Gradle__com_squareup_okio_okio_1_9_0_jar.xml
new file mode 100644
index 0000000..d3e4934
--- /dev/null
+++ b/.idea/libraries/Gradle__com_squareup_okio_okio_1_9_0_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: com.squareup.okio:okio:1.9.0@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/1.9.0/f824591a0016efbaeddb8300bee54832a1398cfa/okio-1.9.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/1.9.0/3aaaf83694e8c88e8c33c71b609f0ad506007a4a/okio-1.9.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_bugly_crashreport_upgrade_1_3_6.xml b/.idea/libraries/Gradle__com_tencent_bugly_crashreport_upgrade_1_3_6.xml
new file mode 100644
index 0000000..985b8f4
--- /dev/null
+++ b/.idea/libraries/Gradle__com_tencent_bugly_crashreport_upgrade_1_3_6.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.tencent.bugly:crashreport_upgrade-1.3.6">
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/crashreport_upgrade-1.3.6.aar/41c79bfd3fe1ad8eeaf4312a672eb42c/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/crashreport_upgrade-1.3.6.aar/41c79bfd3fe1ad8eeaf4312a672eb42c/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.bugly/crashreport_upgrade/1.3.6/58cea176a0409b4e6f1085ed618b35b023955e7/crashreport_upgrade-1.3.6-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_3_1.xml b/.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_3_1.xml
new file mode 100644
index 0000000..4cbced8
--- /dev/null
+++ b/.idea/libraries/Gradle__com_tencent_bugly_nativecrashreport_3_3_1.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: com.tencent.bugly:nativecrashreport-3.3.1">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/nativecrashreport-3.3.1.aar/dbf30888a466adc38f72b3667bf822c2/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/nativecrashreport-3.3.1.aar/dbf30888a466adc38f72b3667bf822c2/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.bugly/nativecrashreport/3.3.1/485c1911d7eb2f37492639c39c32e4a0e5a5c11f/nativecrashreport-3.3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml b/.idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml
new file mode 100644
index 0000000..28870ee
--- /dev/null
+++ b/.idea/libraries/Gradle__com_tencent_tinker_aosp_dexutils_1_9_9_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: com.tencent.tinker:aosp-dexutils:1.9.9@jar">
+ <CLASSES>
+ <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>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml b/.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml
new file mode 100644
index 0000000..400572e
--- /dev/null
+++ b/.idea/libraries/Gradle__com_tencent_tinker_bsdiff_util_1_9_9_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: com.tencent.tinker:bsdiff-util:1.9.9@jar">
+ <CLASSES>
+ <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>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_tinker_tinker_android_lib_1_9_9.xml b/.idea/libraries/Gradle__com_tencent_tinker_tinker_android_lib_1_9_9.xml
new file mode 100644
index 0000000..ccafd94
--- /dev/null
+++ b/.idea/libraries/Gradle__com_tencent_tinker_tinker_android_lib_1_9_9.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: com.tencent.tinker:tinker-android-lib-1.9.9">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/tinker-android-lib-1.9.9.aar/a0020a86c4c2280c3480403bedb56e08/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/tinker-android-lib-1.9.9.aar/a0020a86c4c2280c3480403bedb56e08/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/tinker-android-lib-1.9.9.aar/a0020a86c4c2280c3480403bedb56e08/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/tinker-android-lib/1.9.9/5322d7cc44efb589e6b0c25edde821884e8b8583/tinker-android-lib-1.9.9-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_tinker_tinker_android_loader_1_9_9.xml b/.idea/libraries/Gradle__com_tencent_tinker_tinker_android_loader_1_9_9.xml
new file mode 100644
index 0000000..72430d9
--- /dev/null
+++ b/.idea/libraries/Gradle__com_tencent_tinker_tinker_android_loader_1_9_9.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: com.tencent.tinker:tinker-android-loader-1.9.9">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/tinker-android-loader-1.9.9.aar/5132ed48694f724e8dac239d9f48c3a9/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/tinker-android-loader-1.9.9.aar/5132ed48694f724e8dac239d9f48c3a9/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/tinker-android-loader-1.9.9.aar/5132ed48694f724e8dac239d9f48c3a9/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.tencent.tinker/tinker-android-loader/1.9.9/f3fa9ccb5f7e75d94a8b6d307c450337edcadc38/tinker-android-loader-1.9.9-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml b/.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml
new file mode 100644
index 0000000..369bf16
--- /dev/null
+++ b/.idea/libraries/Gradle__com_tencent_tinker_tinker_commons_1_9_9_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: com.tencent.tinker:tinker-commons:1.9.9@jar">
+ <CLASSES>
+ <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>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml b/.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml
new file mode 100644
index 0000000..debcb0c
--- /dev/null
+++ b/.idea/libraries/Gradle__com_tencent_tinker_tinker_ziputils_1_9_9_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: com.tencent.tinker:tinker-ziputils:1.9.9@jar">
+ <CLASSES>
+ <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>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__in_srain_cube_ultra_ptr_1_0_11.xml b/.idea/libraries/Gradle__in_srain_cube_ultra_ptr_1_0_11.xml
new file mode 100644
index 0000000..af57517
--- /dev/null
+++ b/.idea/libraries/Gradle__in_srain_cube_ultra_ptr_1_0_11.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: in.srain.cube:ultra-ptr-1.0.11">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/ultra-ptr-1.0.11.aar/a1615e8c075418694cf92e560439e752/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/ultra-ptr-1.0.11.aar/a1615e8c075418694cf92e560439e752/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/in.srain.cube/ultra-ptr/1.0.11/48c7d061c113c372fb728c7e6702100faffd7d35/ultra-ptr-1.0.11-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml b/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml
new file mode 100644
index 0000000..568ea48
--- /dev/null
+++ b/.idea/libraries/Gradle__javax_annotation_javax_annotation_api_1_2_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: javax.annotation:javax.annotation-api:1.2@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/479c1e06db31c432330183f5cae684163f186146/javax.annotation-api-1.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.2/ad18a02db08eaee697f812e333f692fc51129e4a/javax.annotation-api-1.2-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml b/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml
new file mode 100644
index 0000000..f9c9a30
--- /dev/null
+++ b/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: javax.inject:javax.inject:1@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/a00123f261762a7c5e0ec916a2c7c8298d29c400/javax.inject-1-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__junit_junit_4_12_jar.xml b/.idea/libraries/Gradle__junit_junit_4_12_jar.xml
new file mode 100644
index 0000000..f4f25a8
--- /dev/null
+++ b/.idea/libraries/Gradle__junit_junit_4_12_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: junit:junit:4.12@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa/junit-4.12-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__me_zhanghai_android_materialprogressbar_library_1_4_0.xml b/.idea/libraries/Gradle__me_zhanghai_android_materialprogressbar_library_1_4_0.xml
new file mode 100644
index 0000000..3279b29
--- /dev/null
+++ b/.idea/libraries/Gradle__me_zhanghai_android_materialprogressbar_library_1_4_0.xml
@@ -0,0 +1,15 @@
+<component name="libraryTable">
+ <library name="Gradle: me.zhanghai.android.materialprogressbar:library-1.4.0">
+ <ANNOTATIONS>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/library-1.4.0.aar/874fd925032d2e919aec185d8ce5a313/annotations.zip!/" />
+ </ANNOTATIONS>
+ <CLASSES>
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/library-1.4.0.aar/874fd925032d2e919aec185d8ce5a313/res" />
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/library-1.4.0.aar/874fd925032d2e919aec185d8ce5a313/jars/classes.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/me.zhanghai.android.materialprogressbar/library/1.4.0/d518e296d1e67576916497bcecc2c7ca16db6467/library-1.4.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0_jar.xml b/.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0_jar.xml
new file mode 100644
index 0000000..5946796
--- /dev/null
+++ b/.idea/libraries/Gradle__org_greenrobot_eventbus_3_0_0_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: org.greenrobot:eventbus:3.0.0@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.greenrobot/eventbus/3.0.0/ddd99896e9569eaababbe81b35d80e1b91c4ad85/eventbus-3.0.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.greenrobot/eventbus/3.0.0/777f0a941d3dd0f9988d4f22b42b36ce2fe64ea4/eventbus-3.0.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml
new file mode 100644
index 0000000..50cf2b9
--- /dev/null
+++ b/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: org.hamcrest:hamcrest-core:1.3@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b/hamcrest-core-1.3-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml
new file mode 100644
index 0000000..a5eaca5
--- /dev/null
+++ b/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/5de0c73fef18917cd85d0ab70bb23818685e4dfd/hamcrest-integration-1.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-integration/1.3/ae7787a563e6a1b1f17fd4ac43be3a3c8830cfda/hamcrest-integration-1.3-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml
new file mode 100644
index 0000000..b4dabdc
--- /dev/null
+++ b/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+ <library name="Gradle: org.hamcrest:hamcrest-library:1.3@jar">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/47a7ee46628ab7133129cd7cef1e92657bc275e/hamcrest-library-1.3-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__pub_devrel_easypermissions_0_4_0.xml b/.idea/libraries/Gradle__pub_devrel_easypermissions_0_4_0.xml
new file mode 100644
index 0000000..5e89458
--- /dev/null
+++ b/.idea/libraries/Gradle__pub_devrel_easypermissions_0_4_0.xml
@@ -0,0 +1,12 @@
+<component name="libraryTable">
+ <library name="Gradle: pub.devrel:easypermissions-0.4.0">
+ <CLASSES>
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/easypermissions-0.4.0.aar/180f91394749c55f5209568adcee238b/jars/classes.jar!/" />
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/easypermissions-0.4.0.aar/180f91394749c55f5209568adcee238b/res" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/pub.devrel/easypermissions/0.4.0/bbc7c5db3a209a1b6419eb3c74db44329a44b25b/easypermissions-0.4.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 9f11ac0..a245da9 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
- <component name="MarkdownProjectSettings">
- <PreviewSettings splitEditorLayout="SPLIT" splitEditorPreview="PREVIEW" useGrayscaleRendering="false" zoomFactor="1.0" maxImageWidth="0" showGitHubPageIfSynced="false" allowBrowsingInPreview="false" synchronizePreviewPosition="true" highlightPreviewType="NONE" highlightFadeOut="5" highlightOnTyping="true" synchronizeSourcePosition="true" verticallyAlignSourceAndPreviewSyncPosition="true" showSearchHighlightsInPreview="false" showSelectionInPreview="true" openRemoteLinks="true">
+ <component name="MarkdownProjectSettings" wasCopied="true">
+ <PreviewSettings splitEditorLayout="SPLIT" splitEditorPreview="PREVIEW" useGrayscaleRendering="false" zoomFactor="1.0" maxImageWidth="0" showGitHubPageIfSynced="false" allowBrowsingInPreview="false" synchronizePreviewPosition="true" highlightPreviewType="NONE" highlightFadeOut="5" highlightOnTyping="true" synchronizeSourcePosition="true" verticallyAlignSourceAndPreviewSyncPosition="true" showSearchHighlightsInPreview="false" showSelectionInPreview="true" openRemoteLinks="true" replaceUnicodeEmoji="false" lastLayoutSetsDefault="false">
<PanelProvider>
<provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.panel" providerName="Default - Swing" />
</PanelProvider>
</PreviewSettings>
- <ParserSettings gitHubSyntaxChange="false">
+ <ParserSettings gitHubSyntaxChange="false" emojiShortcuts="0" emojiImages="0">
<PegdownExtensions>
<option name="ABBREVIATIONS" value="false" />
<option name="ANCHORLINKS" value="true" />
@@ -34,21 +34,30 @@
<option name="WIKILINKS" value="true" />
</PegdownExtensions>
<ParserOptions>
+ <option name="ADMONITION_EXT" value="false" />
+ <option name="ATTRIBUTES_EXT" value="false" />
<option name="COMMONMARK_LISTS" value="true" />
<option name="DUMMY" value="false" />
<option name="EMOJI_SHORTCUTS" value="true" />
+ <option name="ENUMERATED_REFERENCES_EXT" value="false" />
<option name="FLEXMARK_FRONT_MATTER" value="false" />
<option name="GFM_LOOSE_BLANK_LINE_AFTER_ITEM_PARA" value="false" />
<option name="GFM_TABLE_RENDERING" value="true" />
<option name="GITBOOK_URL_ENCODING" value="false" />
- <option name="GITHUB_EMOJI_URL" value="false" />
<option name="GITHUB_LISTS" value="false" />
<option name="GITHUB_WIKI_LINKS" value="true" />
+ <option name="GITLAB_EXT" value="false" />
+ <option name="GITLAB_MATH_EXT" value="false" />
+ <option name="GITLAB_MERMAID_EXT" value="false" />
+ <option name="HEADER_ID_NO_DUPED_DASHES" value="false" />
<option name="JEKYLL_FRONT_MATTER" value="false" />
+ <option name="MACROS_EXT" value="false" />
+ <option name="NO_TEXT_ATTRIBUTES" value="false" />
+ <option name="PARSE_HTML_ANCHOR_ID" value="false" />
<option name="SIM_TOC_BLANK_LINE_SPACER" value="true" />
</ParserOptions>
</ParserSettings>
- <HtmlSettings headerTopEnabled="false" headerBottomEnabled="false" bodyTopEnabled="false" bodyBottomEnabled="false" embedUrlContent="false" addPageHeader="true" embedImages="false" embedHttpImages="false">
+ <HtmlSettings headerTopEnabled="false" headerBottomEnabled="false" bodyTopEnabled="false" bodyBottomEnabled="false" embedUrlContent="false" addPageHeader="true" embedImages="false" embedHttpImages="false" imageUriSerials="false" addDocTypeHtml="true">
<GeneratorProvider>
<provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.generator" providerName="Default Swing HTML Generator" />
</GeneratorProvider>
@@ -57,14 +66,15 @@
<bodyTop />
<bodyBottom />
</HtmlSettings>
- <CssSettings previewScheme="UI_SCHEME" cssUri="" isCssUriEnabled="false" isCssTextEnabled="false" isDynamicPageWidth="true">
+ <CssSettings previewScheme="UI_SCHEME" cssUri="" isCssUriEnabled="false" isCssUriSerial="true" isCssTextEnabled="false" isDynamicPageWidth="true">
<StylesheetProvider>
<provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.css" providerName="Default Swing Stylesheet" />
</StylesheetProvider>
<ScriptProviders />
<cssText />
+ <cssUriHistory />
</CssSettings>
- <HtmlExportSettings updateOnSave="false" parentDir="$ProjectFileDir$" targetDir="$ProjectFileDir$" cssDir="" scriptDir="" plainHtml="false" imageDir="" copyLinkedImages="false" imageUniquifyType="0" targetExt="" useTargetExt="false" noCssNoScripts="false" linkToExportedHtml="true" exportOnSettingsChange="true" regenerateOnProjectOpen="false" linkFormatType="HTTP_ABSOLUTE" />
+ <HtmlExportSettings updateOnSave="false" parentDir="" targetDir="" cssDir="" scriptDir="" plainHtml="false" imageDir="" copyLinkedImages="false" imageUniquifyType="0" targetExt="" useTargetExt="false" noCssNoScripts="false" linkToExportedHtml="true" exportOnSettingsChange="true" regenerateOnProjectOpen="false" linkFormatType="HTTP_ABSOLUTE" />
<LinkMapSettings>
<textMaps />
</LinkMapSettings>
@@ -74,22 +84,26 @@
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables">
<value>
- <list size="5">
+ <list size="7">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
<item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
<item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
+ <item index="5" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
+ <item index="6" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
- <list size="4">
+ <list size="6">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
+ <item index="4" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
+ <item index="5" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
</list>
</value>
</option>
diff --git a/FastBleLib/FastBleLib.iml b/FastBleLib/FastBleLib.iml
index 71d5486..9a2ba05 100644
--- a/FastBleLib/FastBleLib.iml
+++ b/FastBleLib/FastBleLib.iml
@@ -8,11 +8,11 @@
</facet>
<facet type="android" name="Android">
<configuration>
- <option name="SELECTED_BUILD_VARIANT" value="release" />
- <option name="ASSEMBLE_TASK_NAME" value="assembleRelease" />
- <option name="COMPILE_JAVA_TASK_NAME" value="compileReleaseSources" />
+ <option name="SELECTED_BUILD_VARIANT" value="debug" />
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<afterSyncTasks>
- <task>generateReleaseSources</task>
+ <task>generateDebugSources</task>
</afterSyncTasks>
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
@@ -24,32 +24,46 @@
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
- <output url="file://$MODULE_DIR$/build/intermediates/classes/release" />
- <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/release" />
+ <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
+ <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
<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" />
- <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$/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$/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" />
@@ -73,7 +87,6 @@
<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/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
diff --git a/FastBleLib/src/main/java/com/clj/fastble/BleManager.java b/FastBleLib/src/main/java/com/clj/fastble/BleManager.java
index 9bd3b41..03c263e 100644
--- a/FastBleLib/src/main/java/com/clj/fastble/BleManager.java
+++ b/FastBleLib/src/main/java/com/clj/fastble/BleManager.java
@@ -22,6 +22,7 @@
public BleManager(Context context) {
this.mContext = context;
+
if (isSupportBle()) {
if (bleBluetooth == null) {
bleBluetooth = new BleBluetooth(context);
@@ -29,10 +30,6 @@
}
bleExceptionHandler = new DefaultBleExceptionHandler();
- }
-
- public void setMtu(int mtu) {
- bleBluetooth.setMtu(mtu);
}
/**
@@ -175,8 +172,8 @@
* cancel scan
*/
public void cancelScan() {
- if (bleBluetooth != null)
- bleBluetooth.cancelScan();
+ if(bleBluetooth!=null)
+ bleBluetooth.cancelScan();
}
/**
@@ -345,19 +342,19 @@
}
public boolean isInScanning() {
- return bleBluetooth != null && bleBluetooth.isInScanning();
+ return bleBluetooth != null &&bleBluetooth.isInScanning();
}
public boolean isConnectingOrConnected() {
- return bleBluetooth != null && bleBluetooth.isConnectingOrConnected();
+ return bleBluetooth != null &&bleBluetooth.isConnectingOrConnected();
}
public boolean isConnected() {
- return bleBluetooth != null && bleBluetooth.isConnected();
+ return bleBluetooth != null &&bleBluetooth.isConnected();
}
public boolean isServiceDiscovered() {
- return bleBluetooth != null && bleBluetooth.isServiceDiscovered();
+ return bleBluetooth != null &&bleBluetooth.isServiceDiscovered();
}
/**
diff --git a/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java b/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
index 003c7af..a0abb9a 100644
--- a/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
+++ b/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
@@ -10,7 +10,6 @@
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
-import android.util.Log;
import com.clj.fastble.conn.BleConnector;
import com.clj.fastble.conn.BleGattCallback;
@@ -45,7 +44,6 @@
private Context context;
private BluetoothAdapter bluetoothAdapter;
private BluetoothGatt bluetoothGatt;
- private int mtu = 20;
private Handler handler = new Handler(Looper.getMainLooper());
private HashMap<String, BluetoothGattCallback> callbackHashMap = new HashMap<>();
private PeriodScanCallback periodScanCallback;
@@ -58,14 +56,11 @@
bluetoothAdapter = bluetoothManager.getAdapter();
}
- public void setMtu(int mtu) {
- this.mtu = mtu;
- }
-
public BleConnector newBleConnector() {
return new BleConnector(this);
}
+
public boolean isInScanning() {
return connectionState == STATE_SCANNING;
@@ -144,8 +139,7 @@
+ "\nmac: " + scanResult.getDevice().getAddress()
+ "\nautoConnect: " + autoConnect);
addConnectGattCallback(callback);
- bluetoothGatt = scanResult.getDevice().connectGatt(context, autoConnect, coreGattCallback);
- return bluetoothGatt;
+ return scanResult.getDevice().connectGatt(context, autoConnect, coreGattCallback);
}
public void scanNameAndConnect(String name, long time_out, final boolean autoConnect, final BleGattCallback callback) {
@@ -344,21 +338,6 @@
return connectionState;
}
-
- public static String dumpHex(byte[] src) {
- String num = "0123456789ABCDEF";
- StringBuilder sb = new StringBuilder();
- sb.append("[ ");
- for (byte aSrc : src) {
- int high = aSrc >> 4 & 0x0f;
- int low = aSrc & 0x0f;
- sb.append(num.charAt(high)).append(num.charAt(low)).append(" ");
- }
- sb.append(" ]");
-
- return sb.toString();
- }
-
private BleGattCallback coreGattCallback = new BleGattCallback() {
@Override
@@ -368,9 +347,8 @@
@Override
public void onConnecting(BluetoothGatt gatt, int status) {
- BleLog.i("BleGattCallback���onConnecting ");
+ BleLog.i("BleGattCallback���onConnectSuccess ");
bluetoothGatt = gatt;
-
Iterator iterator = callbackHashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
@@ -384,6 +362,7 @@
@Override
public void onConnectSuccess(BluetoothGatt gatt, int status) {
BleLog.i("BleGattCallback���onConnectSuccess ");
+
bluetoothGatt = gatt;
Iterator iterator = callbackHashMap.entrySet().iterator();
while (iterator.hasNext()) {
@@ -399,6 +378,7 @@
@Override
public void onDisConnected(BluetoothGatt gatt, int status, BleException exception) {
BleLog.i("BleGattCallback���onConnectFailure ");
+
closeBluetoothGatt();
bluetoothGatt = null;
Iterator iterator = callbackHashMap.entrySet().iterator();
@@ -422,7 +402,6 @@
+ '\n' + "status: " + status
+ '\n' + "newState: " + newState
+ '\n' + "currentThread: " + Thread.currentThread().getId());
-
if (newState == BluetoothGatt.STATE_CONNECTED) {
connectionState = STATE_CONNECTED;
onConnectSuccess(gatt, status);
@@ -448,17 +427,18 @@
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
- BleLog.i("BleGattCallback���onServicesDiscovered " + mtu);
+ BleLog.i("BleGattCallback���onServicesDiscovered ");
+
connectionState = STATE_SERVICES_DISCOVERED;
Iterator iterator = callbackHashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
Object call = entry.getValue();
if (call instanceof BluetoothGattCallback) {
+ gatt.requestMtu(64);
((BluetoothGattCallback) call).onServicesDiscovered(gatt, status);
}
}
- bluetoothGatt.requestMtu(mtu);
}
@Override
@@ -490,7 +470,7 @@
@Override
public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
- BleLog.i("BleGattCallback���onCharacteristicChanged " + characteristic.getValue().length);
+ BleLog.i("BleGattCallback���onCharacteristicChanged ");
Iterator iterator = callbackHashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
@@ -554,17 +534,6 @@
if (call instanceof BluetoothGattCallback) {
((BluetoothGattCallback) call).onReadRemoteRssi(gatt, rssi, status);
}
- }
- }
-
- @Override
- public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
- super.onMtuChanged(gatt, mtu, status);
- Log.d("BLE", "onMtuChanged mtu=" + mtu + ",status=" + status);
-
- System.out.println("onMtuChanged-------------------->size:" + mtu);
- if (status == 0) {
- System.out.println("onMtuChanged-------------------->������������");
}
}
};
diff --git a/FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java b/FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java
index 0707b79..e97e782 100644
--- a/FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java
+++ b/FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java
@@ -102,7 +102,6 @@
descriptor = characteristic.getDescriptor(descriptorUUID);
}
-
return this;
}
@@ -118,7 +117,7 @@
- /*------------------------------- main operation ----------------------------------- */
+ /*------------------------------- main operation ----------------------------------- */
/**
@@ -129,8 +128,6 @@
if (getCharacteristic() != null
&& (getCharacteristic().getProperties() | BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) {
BleLog.w(TAG, "characteristic.getProperties():" + getCharacteristic().getProperties());
-
- System.out.println("chenqi enableCharacteristicNotify =>" + uuid_notify);
handleCharacteristicNotificationCallback(bleCallback, uuid_notify);
@@ -346,23 +343,34 @@
listenAndTimer(bleCallback, MSG_NOTIFY_CHA, uuid_notify, new BluetoothGattCallback() {
AtomicBoolean msgRemoved = new AtomicBoolean(false);
+
@Override
public void onCharacteristicChanged(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic) {
+
if (!msgRemoved.getAndSet(true)) {
handler.removeMessages(MSG_NOTIFY_CHA, this);
}
-
- System.out.println("chenqi Notify Hex ->" + BleBluetooth.dumpHex(characteristic.getValue()));
-
if (characteristic.getUuid().equals(UUID.fromString(uuid_notify))) {
+ System.out.println("chenqi Hex ->" + dumpHex(characteristic.getValue()));
bleCallback.onSuccess(characteristic);
}
}
});
-
-
}
+ }
+
+ public String dumpHex(byte[] src) {
+ String num = "0123456789ABCDEF";
+ StringBuilder sb = new StringBuilder();
+// sb.append("[ ");
+ for (byte aSrc : src) {
+ int high = aSrc >> 4 & 0x0f;
+ int low = aSrc & 0x0f;
+ sb.append(num.charAt(high)).append(num.charAt(low)).append(" ");
+ }
+// sb.append(" ]");
+ return sb.toString();
}
/**
@@ -378,7 +386,7 @@
@Override
public void onCharacteristicChanged(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic) {
- System.out.println("chenqi Notify Hex indicate->" + BleBluetooth.dumpHex(characteristic.getValue()));
+
if (!msgRemoved.getAndSet(true)) {
handler.removeMessages(MSG_INDICATE_DES, this);
}
@@ -402,8 +410,6 @@
public void onCharacteristicWrite(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic, int status) {
handler.removeMessages(MSG_WRITE_CHA, this);
- System.out.println("chenqi Notify Hex write->" + BleBluetooth.dumpHex(characteristic.getValue()));
-
if (status == BluetoothGatt.GATT_SUCCESS) {
if (characteristic.getUuid().equals(UUID.fromString(uuid_write))) {
@@ -429,8 +435,6 @@
@Override
public void onCharacteristicRead(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic, int status) {
- System.out.println("chenqi Notify Hex indicate read->" + BleBluetooth.dumpHex(characteristic.getValue()));
-
if (!msgRemoved.getAndSet(true)) {
handler.removeMessages(MSG_READ_CHA, this);
}
@@ -456,8 +460,6 @@
@Override
public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
handler.removeMessages(MSG_READ_RSSI, this);
- System.out.println("chenqi Notify Hex rssi->" + BleBluetooth.dumpHex(characteristic.getValue()));
-
if (status == BluetoothGatt.GATT_SUCCESS) {
bleCallback.onSuccess(rssi);
} else {
@@ -485,6 +487,7 @@
private void listenAndTimer(BleCallback bleCallback, int what, String uuid, BluetoothGattCallback callback) {
bleCallback.setBluetoothGattCallback(callback);
bleBluetooth.addGattCallback(uuid, callback);
+
Message msg = handler.obtainMessage(what, bleCallback);
handler.sendMessageDelayed(msg, timeOutMillis);
}
diff --git a/andbrickslib/andbrickslib.iml b/andbrickslib/andbrickslib.iml
index 4c2e7ee..1cfb37d 100644
--- a/andbrickslib/andbrickslib.iml
+++ b/andbrickslib/andbrickslib.iml
@@ -8,11 +8,11 @@
</facet>
<facet type="android" name="Android">
<configuration>
- <option name="SELECTED_BUILD_VARIANT" value="release" />
- <option name="ASSEMBLE_TASK_NAME" value="assembleRelease" />
- <option name="COMPILE_JAVA_TASK_NAME" value="compileReleaseSources" />
+ <option name="SELECTED_BUILD_VARIANT" value="debug" />
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<afterSyncTasks>
- <task>generateReleaseSources</task>
+ <task>generateDebugSources</task>
</afterSyncTasks>
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
@@ -24,32 +24,46 @@
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
- <output url="file://$MODULE_DIR$/build/intermediates/classes/release" />
- <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/release" />
+ <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
+ <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
<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" />
- <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$/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$/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" />
@@ -73,7 +87,6 @@
<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/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
@@ -94,27 +107,38 @@
<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: 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.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" 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" scope="TEST" name="Gradle: com.android.support.test:runner-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.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" 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.android.support:recyclerview-v7-25.3.1" level="project" />
<orderEntry type="library" name="Gradle: com.lzy.net:okgo-2.1.4" level="project" />
<orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp:3.4.1@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable-25.3.1" level="project" />
- <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-core-utils-25.3.1" level="project" />
<orderEntry type="library" name="Gradle: com.squareup.okio:okio:1.9.0@jar" level="project" />
- <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:commons-0.9.4.4" level="project" />
</component>
</module>
\ No newline at end of file
diff --git a/app/app.iml b/app/app.iml
index 9736502..8433497 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -8,11 +8,11 @@
</facet>
<facet type="android" name="Android">
<configuration>
- <option name="SELECTED_BUILD_VARIANT" value="release" />
- <option name="ASSEMBLE_TASK_NAME" value="assembleRelease" />
- <option name="COMPILE_JAVA_TASK_NAME" value="compileReleaseSources" />
+ <option name="SELECTED_BUILD_VARIANT" value="debug" />
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<afterSyncTasks>
- <task>generateReleaseSources</task>
+ <task>generateDebugSources</task>
</afterSyncTasks>
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
@@ -23,32 +23,46 @@
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
- <output url="file://$MODULE_DIR$/build/intermediates/classes/release" />
- <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/release" />
+ <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
+ <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
<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" />
- <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$/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$/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" />
@@ -70,22 +84,24 @@
<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/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bugly_intermediates" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<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/manifests" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged-not-compiled-resources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard-rules" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/splits-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
+ <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" />
@@ -94,38 +110,58 @@
<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.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: pub.devrel:easypermissions-0.4.0" 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: 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" name="Gradle: com.android.support:support-v13-25.3.1" 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: 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" 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" 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.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.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.afollestad.material-dialogs:core-0.9.4.4" 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" name="Gradle: com.alibaba:fastjson:1.1.56.android@jar" level="project" />
- <orderEntry type="library" name="Gradle: com.github.lecho:hellocharts-library-1.5.8" 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="library" scope="TEST" name="Gradle: com.android.support.test:exposed-instrumentation-api-publish-0.5" 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.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.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: com.tencent.tinker:tinker-ziputils:1.9.9@jar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-1.0.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
+ <orderEntry type="library" name="Gradle: in.srain.cube:ultra-ptr-1.0.11" level="project" />
+ <orderEntry type="library" name="Gradle: com.alibaba:fastjson:1.1.56.android@jar" level="project" />
+ <orderEntry type="library" name="Gradle: com.tencent.tinker:tinker-android-loader-1.9.9" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
+ <orderEntry type="library" name="Gradle: com.github.lecho:hellocharts-library-1.5.8" level="project" />
+ <orderEntry type="library" name="Gradle: com.tencent.tinker:tinker-commons:1.9.9@jar" level="project" />
+ <orderEntry type="library" name="Gradle: __local_aars__:/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/app/libs/BaiduLBS_Android.jar:unspecified@jar" level="project" />
+ <orderEntry type="library" name="Gradle: com.daimajia.numberprogressbar:library-1.4" level="project" />
<orderEntry type="module" module-name="andbrickslib" />
<orderEntry type="module" module-name="FastBleLib" />
</component>
diff --git a/app/build.gradle b/app/build.gradle
index 6afc232..7d96e13 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,14 +1,15 @@
apply plugin: 'com.android.application'
+apply from: 'tinker-support.gradle'
android {
- compileSdkVersion 25
- buildToolsVersion '26.0.2'
+ compileSdkVersion rootProject.ext.android.compileSdkVersion
+ buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
applicationId "com.moral.yunfushao"
- minSdkVersion 21
- targetSdkVersion 25
- versionCode 2
- versionName "1.0.2_sp10"
+ minSdkVersion rootProject.ext.android.minSdkVersion
+ targetSdkVersion rootProject.ext.android.targetSdkVersion
+ versionCode rootProject.ext.android.versionCode
+ versionName rootProject.ext.android.versionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
signingConfig signingConfigs.debug
}
@@ -25,6 +26,12 @@
sourceSets {
main {
jniLibs.srcDirs = ['libs']
+ }
+ }
+
+ repositories {
+ flatDir {
+ dirs 'libs'
}
}
//���������������
@@ -74,4 +81,14 @@
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������
+ //���������������bugly���������
+ //compile 'com.tencent.bugly:crashreport:latest.release'//������latest.release������������������������������������������������������������������1.3.4
+ implementation 'com.tencent.bugly:crashreport_upgrade:1.3.6'
+ // ������tinker���������������������������������1.3.5������������������������tinker���
+ implementation 'com.tencent.tinker:tinker-android-lib:1.9.9'
+ implementation 'com.tencent.bugly:nativecrashreport:latest.release'
}
diff --git a/app/libs/bugly_crashreport_upgrade-1.3.5.aar b/app/libs/bugly_crashreport_upgrade-1.3.5.aar
new file mode 100644
index 0000000..09262ed
--- /dev/null
+++ b/app/libs/bugly_crashreport_upgrade-1.3.5.aar
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cac457a..6c1f951 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -73,6 +73,7 @@
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"
@@ -95,6 +96,26 @@
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote"></service>
- </application>
+ <!-- Bugly������SDK������������ -->
+ <activity
+ android:name="com.tencent.bugly.beta.ui.BetaActivity"
+ android:configChanges="keyboardHidden|orientation|screenSize|locale"
+ android:theme="@android:style/Theme.Translucent" />
+
+
+ <!--API 24������������-->
+ <provider
+ android:name="android.support.v4.content.FileProvider"
+ android:authorities="com.moral.yunfushao.fileProvider"
+ android:exported="false"
+ android:grantUriPermissions="true"
+ tools:replace="name,authorities,exported,grantUriPermissions">
+ <meta-data
+ android:name="android.support.FILE_PROVIDER_PATHS"
+ android:resource="@xml/provider_paths"
+ tools:replace="name,resource" />
+ </provider>
+ <!-- Bugly������SDK������������-->
+ </application>
</manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/moral/yunfushao/MainActivity.java b/app/src/main/java/com/moral/yunfushao/MainActivity.java
index 3887a73..6ba2e11 100644
--- a/app/src/main/java/com/moral/yunfushao/MainActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/MainActivity.java
@@ -72,7 +72,7 @@
private int index = 0;
private boolean islogin = false;
- private BluetoothService mBluetoothService;
+ public static BluetoothService mBluetoothService;
@Override
protected void getBundleExtras(Bundle extras) {
@@ -85,10 +85,15 @@
}
@Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
+ protected void onStart() {
+ super.onStart();
bindService();
PermissionUtil.verifyStoragePermissions(this);
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
}
@Override
@@ -315,6 +320,7 @@
mBluetoothService = ((BluetoothService.BluetoothBinder) service).getService();
mBluetoothService.setScanCallback(callback);
String mac = MainApp.theApp.sharedPreferencesUtil.getBLE();
+ System.out.println("BleGattCallback init");
if (!TextUtils.isEmpty(mac)) {
mBluetoothService.scanAndConnect5(mac);
}
@@ -322,6 +328,7 @@
@Override
public void onServiceDisconnected(ComponentName name) {
+ System.out.println("BleGattCallback onServiceDisconnected");
mBluetoothService = null;
}
};
@@ -329,29 +336,32 @@
private BluetoothService.Callback callback = new BluetoothService.Callback() {
@Override
public void onStartScan() {
-
+ System.out.println("MainActivity onStartScan");
}
@Override
public void onScanning(ScanResult result) {
-
+ System.out.println("MainActivity onScanning");
}
@Override
public void onScanComplete() {
-
+ System.out.println("MainActivity onScanComplete");
}
@Override
public void onConnecting() {
+ System.out.println("MainActivity onConnecting");
+
progressDialog.setTitleText("������������...");
progressDialog.show();
}
@Override
public void onConnectFail() {
+ System.out.println("MainActivity onConnectFail");
progressDialog.dismiss();
- mToatUtils.showSingletonToast("������������");
+ mBluetoothService.closeConnect();
EventMessage msg = new EventMessage();
msg.setType(AppConfig.GET_BLE_DISCONNECT);
EventBus.getDefault().postSticky(msg);
@@ -359,6 +369,7 @@
@Override
public void onDisConnected() {
+ System.out.println("MainActivity onDisConnected");
progressDialog.dismiss();
mToatUtils.showSingletonToast("���������������������");
EventMessage msg = new EventMessage();
@@ -368,6 +379,7 @@
@Override
public void onServicesDiscovered() {
+ System.out.println("MainActivity onServicesDiscovered");
progressDialog.dismiss();
EventMessage msg = new EventMessage();
msg.setType(AppConfig.GET_BLE_SERVICE);
diff --git a/app/src/main/java/com/moral/yunfushao/MainApp.java b/app/src/main/java/com/moral/yunfushao/MainApp.java
index 403c979..2ea0394 100644
--- a/app/src/main/java/com/moral/yunfushao/MainApp.java
+++ b/app/src/main/java/com/moral/yunfushao/MainApp.java
@@ -1,6 +1,5 @@
package com.moral.yunfushao;
-import android.app.Application;
import android.bluetooth.BluetoothGattService;
import com.baidu.location.BDLocation;
@@ -19,7 +18,7 @@
* Created by haijiang on 2017/5/2.
*/
-public class MainApp extends Application {
+public class MainApp extends SampleApplication {
public static MainApp theApp;
//������id
public static String userId;
@@ -60,6 +59,10 @@
AppConfig.voideUrl1 = "http://yfsapi.7drlb.com/video/girl/music.mp3";
AppConfig.voideUrl2 = "http://yfsapi.7drlb.com/video/girl/music1.mp3";
AppConfig.voideUrl3 = "http://yfsapi.7drlb.com/video/girl/music2.mp3";
+ } else if (MainApp.theApp.sharedPreferencesUtil.getVoiceType() == 2) {
+ AppConfig.voideUrl1 = null;
+ AppConfig.voideUrl2 = null;
+ AppConfig.voideUrl3 = null;
}
bleManager = new BleManager(this);
@@ -76,6 +79,7 @@
mLocClient.start();
}
+
/**
* ������SDK������������
*/
diff --git a/app/src/main/java/com/moral/yunfushao/SampleApplication.java b/app/src/main/java/com/moral/yunfushao/SampleApplication.java
new file mode 100644
index 0000000..8749f47
--- /dev/null
+++ b/app/src/main/java/com/moral/yunfushao/SampleApplication.java
@@ -0,0 +1,17 @@
+package com.moral.yunfushao;
+
+import com.tencent.tinker.loader.app.TinkerApplication;
+import com.tencent.tinker.loader.shareutil.ShareConstants;
+
+/**
+ * @author : chenqi.
+ * @e_mail : 1650699704@163.com.
+ * @create_time : 2018/10/26.
+ * @Package_name: Bugly2
+ */
+public class SampleApplication extends TinkerApplication {
+ public SampleApplication() {
+ super(ShareConstants.TINKER_ENABLE_ALL, "com.moral.yunfushao.SampleApplicationLike",
+ "com.tencent.tinker.loader.TinkerLoader", false);
+ }
+}
diff --git a/app/src/main/java/com/moral/yunfushao/SampleApplicationLike.java b/app/src/main/java/com/moral/yunfushao/SampleApplicationLike.java
new file mode 100644
index 0000000..54a434e
--- /dev/null
+++ b/app/src/main/java/com/moral/yunfushao/SampleApplicationLike.java
@@ -0,0 +1,163 @@
+package com.moral.yunfushao;
+
+import android.annotation.TargetApi;
+import android.app.Application;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Build;
+import android.text.TextUtils;
+import android.widget.Toast;
+
+import com.tencent.bugly.Bugly;
+import com.tencent.bugly.beta.Beta;
+import com.tencent.bugly.beta.interfaces.BetaPatchListener;
+import com.tencent.bugly.crashreport.CrashReport;
+import com.tencent.tinker.entry.DefaultApplicationLike;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.Locale;
+
+/**
+ * @author : chenqi.
+ * @e_mail : 1650699704@163.com.
+ * @create_time : 2018/10/26.
+ * @Package_name: Bugly2
+ */
+public class SampleApplicationLike extends DefaultApplicationLike {
+
+ public static final String TAG = "Tinker.SampleApplicationLike";
+
+ public SampleApplicationLike(Application application, int tinkerFlags,
+ boolean tinkerLoadVerifyFlag, long applicationStartElapsedTime,
+ long applicationStartMillisTime, Intent tinkerResultIntent) {
+ super(application, tinkerFlags, tinkerLoadVerifyFlag, applicationStartElapsedTime, applicationStartMillisTime, tinkerResultIntent);
+ }
+
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ // ���������������������������������������������true
+ Beta.enableHotfix = true;
+ // ������������������������������������������true
+ Beta.canAutoDownloadPatch = true;
+ // ������������������������������������������true
+ Beta.canAutoPatch = true;
+ // ������������������������������������������false
+ Beta.canNotifyUserRestart = true;
+ // ���������������������������60s(���������������������0s)���60s���SDK������������������������������);
+ Beta.upgradeCheckPeriod = 60 * 1000;
+ // ���������������������1s���������������3s������APP������1s������������SDK���������������APP������������;
+ Beta.initDelay = 1 * 1000;
+
+ // ���������������������������������banner
+ Beta.defaultBannerId = R.mipmap.icon;
+
+ //������������������������������UI������
+// Beta.upgradeDialogLayoutId = R.layout.upgrade_dialog;
+
+ // ������������������
+ Beta.betaPatchListener = new BetaPatchListener() {
+ @Override
+ public void onPatchReceived(String patchFile) {
+// Toast.makeText(getApplication(), "������������������" + patchFile, Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onDownloadReceived(long savedLength, long totalLength) {
+ Toast.makeText(getApplication(),
+ String.format(Locale.getDefault(), "%s %d%%",
+ Beta.strNotificationDownloading,
+ (int) (totalLength == 0 ? 0 : savedLength * 100 / totalLength)),
+ Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onDownloadSuccess(String msg) {
+ Toast.makeText(getApplication(), "������������������", Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onDownloadFailure(String msg) {
+ Toast.makeText(getApplication(), "������������������", Toast.LENGTH_SHORT).show();
+
+ }
+
+ @Override
+ public void onApplySuccess(String msg) {
+ Toast.makeText(getApplication(), "������������������", Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onApplyFailure(String msg) {
+ Toast.makeText(getApplication(), "������������������", Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onPatchRollback() {
+
+ }
+ };
+
+ Context context = getApplication().getApplicationContext();
+ // ������������������
+ String packageName = context.getPackageName();
+ // ���������������������
+ String processName = getProcessName(android.os.Process.myPid());
+ // ���������������������������
+ CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(context);
+ strategy.setUploadProcess(processName == null || processName.equals(packageName));
+ // ������������������������������false���������������������������������������������������������������������������������������������������������
+ Bugly.setIsDevelopmentDevice(context, false);
+ // ���������Bugly ���������������������true
+ Bugly.init(getApplication(), "6c3f03f59c", false, strategy);
+ }
+
+ /**
+ * ���������������������������������
+ *
+ * @param pid ���������
+ * @return ���������
+ */
+ private static String getProcessName(int pid) {
+ BufferedReader reader = null;
+ try {
+ reader = new BufferedReader(new FileReader("/proc/" + pid + "/cmdline"));
+ String processName = reader.readLine();
+ if (!TextUtils.isEmpty(processName)) {
+ processName = processName.trim();
+ }
+ return processName;
+ } catch (Throwable throwable) {
+ throwable.printStackTrace();
+ } finally {
+ try {
+ if (reader != null) {
+ reader.close();
+ }
+ } catch (IOException exception) {
+ exception.printStackTrace();
+ }
+ }
+ return null;
+ }
+
+
+ @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
+ @Override
+ public void onBaseContextAttached(Context base) {
+ super.onBaseContextAttached(base);
+
+ // ������tinker
+ // TinkerManager.installTinker(this); ���������������Bugly���������������
+ Beta.installTinker(this);
+ }
+
+ @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
+ public void registerActivityLifecycleCallback(Application.ActivityLifecycleCallbacks callbacks) {
+ getApplication().registerActivityLifecycleCallbacks(callbacks);
+ }
+
+}
diff --git a/app/src/main/java/com/moral/yunfushao/activity/BLESearchActivity.java b/app/src/main/java/com/moral/yunfushao/activity/BLESearchActivity.java
index 913fd46..d534b49 100644
--- a/app/src/main/java/com/moral/yunfushao/activity/BLESearchActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/activity/BLESearchActivity.java
@@ -6,14 +6,17 @@
import android.content.Intent;
import android.content.ServiceConnection;
import android.content.pm.PackageManager;
+import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
+import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
-import android.support.v4.app.ActivityCompat;
+import android.support.v13.app.ActivityCompat;
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.View;
import android.widget.ImageView;
@@ -35,7 +38,6 @@
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
-import java.util.List;
/**
* ������������
@@ -61,6 +63,7 @@
super.onCreate(savedInstanceState);
bindService();
}
+
@Override
protected void onDestroy() {
@@ -105,10 +108,8 @@
if (MainApp.theApp.bleManager != null) {
MainApp.theApp.bleManager.closeBluetoothGatt();
}
+ sendEventMessage(AppConfig.BLUETOOCH_CHANGE_CONNECT);
mBluetoothService.connectDevice(scanResultList.get(position));
- EventMessage eventMessage = new EventMessage();
- eventMessage.setType(AppConfig.BLUETOOCH_CHANGE_CONNECT);
- EventBus.getDefault().post(eventMessage);
}
}
@@ -121,7 +122,7 @@
@Override
protected void initListener() {
-// iv_search.setOnClickListener(this);
+ iv_search.setOnClickListener(this);
iv_searchpic.setOnClickListener(this);
}
@@ -175,6 +176,7 @@
public void onServiceConnected(ComponentName name, IBinder service) {
mBluetoothService = ((BluetoothService.BluetoothBinder) service).getService();
mBluetoothService.setScanCallback(callback);
+ mBluetoothService.openBlueTooth();
// mBluetoothService.scanDevice();
}
@@ -199,12 +201,21 @@
@Override
public void onScanning(ScanResult result) {
- scanResultList.add(result);
- adapter.notifyDataSetChanged();
+ System.out.println("chenqi ScanResule " + result.getDevice().getName());
+ if (!TextUtils.isEmpty(result.getDevice().getName())) {
+ if (result.getDevice().getName().equals("���������") ||
+ result.getDevice().getName().equals("yunfushao") ||
+ result.getDevice().getName().equals("7drlb") ||
+ result.getDevice().getName().contains("FEI-D")) {
+ scanResultList.add(result);
+ adapter.notifyDataSetChanged();
+ }
+ }
}
@Override
public void onScanComplete() {
+ System.out.println("chenqi onScanComplete ");
iv_search.setImageResource(R.mipmap.bt_start);
iv_searchpic.setImageResource(R.mipmap.bg_end);
}
@@ -222,11 +233,8 @@
if (ActivityManager.getActivityManager().isActivityExist(BLESearchActivity.this.getClass().getName())) {
progressDialog.dismiss();
}
-// Log.d("chonglian","������������");
mToatUtils.showSingletonToast("������������");
- EventMessage msg = new EventMessage();
- msg.setType(AppConfig.GET_BLE_DISCONNECT);
- EventBus.getDefault().postSticky(msg);
+ sendEventMessage(AppConfig.GET_BLE_DISCONNECT);
}
@Override
@@ -236,23 +244,26 @@
}
Log.d("chonglian", "���������������������");
mToatUtils.showSingletonToast("���������������������");
- EventMessage msg = new EventMessage();
- msg.setType(AppConfig.GET_BLE_DISCONNECT);
- EventBus.getDefault().postSticky(msg);
+
}
@Override
public void onServicesDiscovered() {
Log.d("chonglian", "���������������������");
- EventMessage msg = new EventMessage();
- msg.setType(AppConfig.GET_BLE_SERVICE);
- EventBus.getDefault().postSticky(msg);
+ sendEventMessage(AppConfig.GET_BLE_SERVICE);
if (ActivityManager.getActivityManager().isActivityExist(BLESearchActivity.this.getClass().getName())) {
progressDialog.dismiss();
finish();
}
+
}
};
+
+ private void sendEventMessage(int type) {
+ EventMessage msg = new EventMessage();
+ msg.setType(type);
+ EventBus.getDefault().postSticky(msg);
+ }
@Override
public final void onRequestPermissionsResult(int requestCode,
@@ -260,44 +271,60 @@
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
- case 12:
- if (grantResults.length > 0) {
- for (int i = 0; i < grantResults.length; i++) {
- if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
- onPermissionGranted(permissions[i]);
- }
- }
- }
+ case 200:
+ onPermissionGranted();
break;
}
}
private void checkPermissions() {
- String[] permissions = {Manifest.permission.ACCESS_COARSE_LOCATION};
- List<String> permissionDeniedList = new ArrayList<>();
- for (String permission : permissions) {
- int permissionCheck = ContextCompat.checkSelfPermission(this, permission);
- if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
- onPermissionGranted(permission);
- } else {
- permissionDeniedList.add(permission);
+ if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
+ != PackageManager.PERMISSION_GRANTED) {//���������������������
+ //������������������,200������������
+ ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 200);
+ } else {
+ if (!isLocationEnable(this)){
+ Intent locationIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
+ this.startActivityForResult(locationIntent, 2);
}
- }
- if (!permissionDeniedList.isEmpty()) {
- String[] deniedPermissions = permissionDeniedList.toArray(new String[permissionDeniedList.size()]);
- ActivityCompat.requestPermissions(this, deniedPermissions, 12);
+ onPermissionGranted();
}
}
- private void onPermissionGranted(String permission) {
- switch (permission) {
- case Manifest.permission.ACCESS_COARSE_LOCATION:
- if (mBluetoothService == null) {
- bindService();
- } else {
- mBluetoothService.scanDevice();
- }
- break;
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode == 2) {
+ if (isLocationEnable(this)) {
+ //������������������������
+ return;
+ } else {
+ Intent locationIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
+ this.startActivityForResult(locationIntent, 2);
+ //���������������������������������
+ }
+ } else super.onActivityResult(requestCode, resultCode, data);
+ }
+
+ /**
+ * ������������������������������������������������
+ *
+ * @param context
+ * @return
+ */
+ public static final boolean isLocationEnable(Context context) {
+ LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
+ boolean networkProvider = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
+ boolean gpsProvider = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
+ if (networkProvider || gpsProvider) return true;
+ return false;
+ }
+
+
+ private void onPermissionGranted() {
+ if (mBluetoothService == null) {
+ bindService();
+ } else {
+ mBluetoothService.scanDevice();
}
}
}
diff --git a/app/src/main/java/com/moral/yunfushao/base/BaseActivity.java b/app/src/main/java/com/moral/yunfushao/base/BaseActivity.java
index 3e3d149..492cf0e 100644
--- a/app/src/main/java/com/moral/yunfushao/base/BaseActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/base/BaseActivity.java
@@ -24,7 +24,7 @@
* Created by haijiang on 2017/5/2.
*/
-public abstract class BaseActivity extends AppCompatActivity implements View.OnClickListener{
+public abstract class BaseActivity extends AppCompatActivity implements View.OnClickListener {
/**
* ���������������
*/
@@ -42,6 +42,7 @@
* ���������������
*/
protected ToastUtils mToatUtils;
+
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -50,7 +51,7 @@
if (null != extras) {
getBundleExtras(extras);
}
- progressDialog = SweetDialogUtils.showProgressDialog(this,"������������������...",R.color.colorAccent);
+ progressDialog = SweetDialogUtils.showProgressDialog(this, "������������������...", R.color.colorAccent);
mToatUtils = new ToastUtils(this);
@@ -134,7 +135,7 @@
* ���������
*/
public void setEmptyView() {
- if(mEmptyLayout == null){
+ if (mEmptyLayout == null) {
return;
}
mEmptyLayout.setErrorType(EmptyLayout.NODATA);
@@ -144,7 +145,7 @@
* ������������
*/
public void setErrorView() {
- if(mEmptyLayout == null){
+ if (mEmptyLayout == null) {
return;
}
mEmptyLayout.setErrorType(EmptyLayout.NETWORK_ERROR);
@@ -154,7 +155,7 @@
* ������������
*/
public void setNormalView() {
- if(mEmptyLayout == null){
+ if (mEmptyLayout == null) {
return;
}
mEmptyLayout.dismiss();
@@ -164,7 +165,7 @@
* ���������������
*/
public void setLoadingView() {
- if(mEmptyLayout == null){
+ if (mEmptyLayout == null) {
return;
}
mEmptyLayout.setErrorType(EmptyLayout.NETWORK_LOADING);
@@ -172,6 +173,7 @@
/**
* ������findViewById
+ *
* @param viewId
* @param <E>
* @return
@@ -201,12 +203,13 @@
/**
* ������getActivity���null
+ *
* @param outState
*/
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
- if(outState != null) {
+ if (outState != null) {
String FRAGMENTS_TAG = "android:support:fragments";
// remove������������Fragment
outState.remove(FRAGMENTS_TAG);
diff --git a/app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java b/app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java
index de3d4bc..58ce82d 100644
--- a/app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java
+++ b/app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java
@@ -6,6 +6,7 @@
import android.bluetooth.BluetoothGattCharacteristic;
import android.bluetooth.BluetoothGattService;
import android.content.Intent;
+import android.content.ServiceConnection;
import android.os.Binder;
import android.os.Handler;
import android.os.IBinder;
@@ -39,19 +40,21 @@
@Override
public void onCreate() {
+ System.out.println("chenqi onCreate service" + MainApp.theApp.bleManager);
if (MainApp.theApp.bleManager != null) {
bleManager = MainApp.theApp.bleManager;
} else {
bleManager = new BleManager(MainApp.theApp);
MainApp.theApp.bleManager = bleManager;
}
- bleManager.setMtu(128);//���������������������������������������
+// bleManager.setMtu(128);//���������������������������������������
bleManager.enableBluetooth();
}
@Override
public void onDestroy() {
super.onDestroy();
+ System.out.println("chenqi onDestroy service ");
bleManager = null;
mCallback = null;
mCallback2 = null;
@@ -62,11 +65,20 @@
return mBinder;
}
+
+ @Override
+ public void unbindService(ServiceConnection conn) {
+ System.out.println("chenqi unbindService service");
+ super.unbindService(conn);
+ }
+
@Override
public boolean onUnbind(Intent intent) {
- bleManager.closeBluetoothGatt();
+ System.out.println("chenqi unbinding service");
+ closeConnect();
return super.onUnbind(intent);
}
+
public class BluetoothBinder extends Binder {
public BluetoothService getService() {
@@ -154,9 +166,9 @@
mCallback.onConnecting();
}
- System.out.println("chenqi blename old = "+ MainApp.theApp.sharedPreferencesUtil.getBLE());
+ System.out.println("chenqi blename old = " + MainApp.theApp.sharedPreferencesUtil.getBLE());
- System.out.println("chenqi blename = "+ scanResult.getDevice().getAddress());
+ System.out.println("chenqi blename = " + scanResult.getDevice().getAddress());
openBlueTooth();
@@ -210,7 +222,7 @@
@Override
public void onDisConnected(BluetoothGatt gatt, int status, BleException exception) {
- System.out.println("chenqi blueTooth connect state -> onDisConnected");
+ System.out.println("chenqi blueTooth connect state -> onDisConnected" + exception);
runOnMainThread(new Runnable() {
@Override
public void run() {
@@ -563,6 +575,8 @@
public void scanAndConnect5(String mac) {
resetInfo();
+ System.out.println("chenqi mCallback" + mCallback);
+
if (mCallback != null) {
mCallback.onStartScan();
}
@@ -598,7 +612,6 @@
@Override
public void onConnectError(BleException exception) {
- System.out.println("chenqi chenqi" + exception.getDescription()) ;
runOnMainThread(new Runnable() {
@Override
public void run() {
@@ -615,6 +628,7 @@
@Override
public void onDisConnected(BluetoothGatt gatt, int status, BleException exception) {
+ System.out.println("chenqi onConnectError " + exception.getDescription());
runOnMainThread(new Runnable() {
@Override
public void run() {
@@ -673,7 +687,8 @@
}
public void closeConnect() {
- bleManager.closeBluetoothGatt();
+ if (bleManager != null)
+ bleManager.closeBluetoothGatt();
}
diff --git a/app/src/main/java/com/moral/yunfushao/common/API.java b/app/src/main/java/com/moral/yunfushao/common/API.java
index a72596a..4c50cb6 100644
--- a/app/src/main/java/com/moral/yunfushao/common/API.java
+++ b/app/src/main/java/com/moral/yunfushao/common/API.java
@@ -7,8 +7,9 @@
public class API {
public static final String URL_HTTP = "http://yfsapi.7drlb.com/yfs/?service=";
+ //http://yfsapi.7drlb.com/yfs/?service=Send.Sms
public final static String REQUEST_CODE = URL_HTTP + "Send.Sms";//���������������
-
+//http://yfsapi.7drlb.com/yfs/?service=User.Register
public final static String REGISTER = URL_HTTP + "User.Register";//������������
public final static String LOGIN = URL_HTTP + "User.Login";//������������
diff --git a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
index c4c4445..86ef576 100644
--- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
+++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
@@ -55,6 +55,7 @@
import com.moral.yunfushao.ui.PanelView;
import com.moral.yunfushao.utils.AudioUtils;
import com.moral.yunfushao.utils.DebugUtils;
+import com.moral.yunfushao.utils.T;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -98,11 +99,12 @@
//������������
private int HEARTTIMES = 2;
- //������������
- private int RECONNECTTIMES = 8000;
+
+ //������������������
+ private boolean isMySelfPage = false;
+
//handler������������
private Handler handler = new Handler();
-
private Runnable heartRunnable = new Runnable() {
@Override
@@ -126,15 +128,17 @@
FragmentMonitor.this.mBluetoothService.write(FragmentMonitor.this.mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(),
FragmentMonitor.this.mBluetoothService.getWirteCharacteristic().getUuid().toString(),
BLECommon.BLE_HEART, null);
- Log.d(TGA, "������������");
heart();
}
};
+
+
private Runnable reconnectRunnable = new Runnable() {
@Override
public void run() {
+ System.out.println("chenqi ������������");
//������
- if (FragmentMonitor.this.mBluetoothService == null) {
+ if (mBluetoothService == null) {
return;
}
String mac = MainApp.theApp.sharedPreferencesUtil.getBLE();
@@ -142,10 +146,8 @@
if (MainApp.theApp.bleManager.isConnectingOrConnected()) {
return;
}
- Log.d(TGA, "������������");
- FragmentMonitor.this.mBluetoothService.scanAndConnect5(mac);
+ mBluetoothService.scanAndConnect5(mac);
}
- reconnect();
}
};
@@ -196,11 +198,11 @@
*/
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
public void eventComing(EventMessage msg) {
+ mBluetoothService = ((MainActivity) getActivity()).getBluetoothService();
if (msg.getType() == AppConfig.GET_BLE_SERVICE) {
resetHandler();
pv.setStatusStr("���������");
//������������
- mBluetoothService = ((MainActivity) getActivity()).getBluetoothService();
((MainActivity) getActivity()).resetBLECallBack();
if (mBluetoothService != null) {
BluetoothGatt gatt = mBluetoothService.getGatt();
@@ -211,8 +213,8 @@
mBluetoothService.setService(service);
break;
}
- }
- //������������
+
+ }//������������
for (BluetoothGattCharacteristic characteristic : mBluetoothService.getService().getCharacteristics()) {
int charaProp = characteristic.getProperties();
if ((charaProp & BluetoothGattCharacteristic.PROPERTY_READ) > 0) {
@@ -249,26 +251,25 @@
@Override
public void onFailure(final BleException exception) {
+
}
@Override
public void onInitiatedResult(boolean result) {
}
});
- /**
- * ������������������
- */
-// handler.postDelayed(runnable, 5000);
+ //������handler
+ resetHandler();
+ //������������
heart();
}
} else if (msg.getType() == AppConfig.GET_BLE_DISCONNECT) {
preLevel = -1;
showStatus(-1);
- handler.postDelayed(reconnectRunnable, RECONNECTTIMES);
+ reconnect();
stop();
isVirating = false;
AudioUtils.virateCancle(getActivity());
-
} else if (msg.getType() == AppConfig.CHANGE_SETTING) {
if (timer != null) {
timer.cancel();
@@ -304,6 +305,7 @@
}
} else if (msg.getType() == AppConfig.BLUETOOCH_CHANGE_CONNECT) {
showStatus(-1);
+ stopReconnect();
}
}
@@ -339,13 +341,24 @@
@Override
public void onAttach(Context context) {
super.onAttach(context);
- FragmentMonitor.this.mBluetoothService = ((MainActivity) getActivity()).getBluetoothService();
+ mBluetoothService = ((MainActivity) getActivity()).getBluetoothService();
}
@Override
public void onResume() {
super.onResume();
+ isMySelfPage = true;
+ reconnect();
textShowMac();
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ //������������������������
+ T.show("onPause");
+ isMySelfPage = false;
+ stopReconnect();
}
@Override
@@ -404,6 +417,7 @@
}
});
showStatus(-1);
+
}
@Override
@@ -502,14 +516,29 @@
handler.postDelayed(heartRunnable, 1000 * HEARTTIMES);
}
+ /**
+ * ������������
+ */
private void reconnect() {
- handler.postDelayed(reconnectRunnable, RECONNECTTIMES);
+ if (isMySelfPage) {
+ stopReconnect();
+ //���������������������
+ handler.postDelayed(reconnectRunnable, 0);
+ }
+ }
+
+ /**
+ * ������������
+ */
+ private void stopReconnect() {
+ handler.removeCallbacks(reconnectRunnable);
+ if (mBluetoothService != null)
+ mBluetoothService.closeConnect();
}
private void resetHandler() {
handler.removeCallbacks(reconnectRunnable);
handler.removeCallbacks(heartRunnable);
- HEARTTIMES = 2;
}
private void submitData() {
@@ -637,7 +666,7 @@
private void textShowMac() {
if (BuildConfig.BUILD_TYPE.equals(VersionConstants.DEBUG)) {
- final TextView tv_text_mac = (TextView) findView(R.id.tv_text_mac);
+ final TextView tv_text_mac = findView(R.id.tv_text_mac);
tv_desc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/moral/yunfushao/fragment/FragmentSettings.java b/app/src/main/java/com/moral/yunfushao/fragment/FragmentSettings.java
index 40922d2..dd34366 100644
--- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentSettings.java
+++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentSettings.java
@@ -66,9 +66,6 @@
sc_male = findView(R.id.sc_male);
tv_version = findView(R.id.tv_version);
tv_version.setText("������������V" + getVersion());
-
-
-// bt_look.setVisibility(DebugUtils.debug_mode ? View.VISIBLE : View.GONE);
bt_look.setVisibility(View.GONE);
}
diff --git a/app/src/main/java/com/moral/yunfushao/fragment/FragmentShoppongMall.java b/app/src/main/java/com/moral/yunfushao/fragment/FragmentShoppongMall.java
index beb2d33..f1de8b8 100644
--- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentShoppongMall.java
+++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentShoppongMall.java
@@ -16,6 +16,7 @@
public class FragmentShoppongMall extends BaseFragment {
private WebView mWebView;
+
@Override
protected int getLayoutId() {
return R.layout.fragment_shoppingmall_layout;
@@ -28,6 +29,14 @@
}
@Override
+ public void onResume() {
+ super.onResume();
+ 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);
+// mWebView.loadUrl("https://shop459070069.m.taobao.com/");
+ }
+
+ @Override
protected void initListener() {
}
@@ -35,7 +44,7 @@
@Override
protected void initData() {
// mWebView.loadUrl("http://www.7drlb.cn");
- mWebView.loadUrl("https://shop459070069.m.taobao.com/");
+
}
@Override
@@ -56,7 +65,7 @@
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setDatabaseEnabled(true);
- if(Build.VERSION.SDK_INT >= 0x13) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
mWebView.getSettings().setLoadsImagesAutomatically(true);
} else {
mWebView.getSettings().setLoadsImagesAutomatically(false);
@@ -67,19 +76,23 @@
progressDialog.show();
return false;
}
+
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
- if(!mWebView.getSettings().getLoadsImagesAutomatically()) {
+ if (!mWebView.getSettings().getLoadsImagesAutomatically()) {
mWebView.getSettings().setLoadsImagesAutomatically(true);
}
}
+
});
+
+
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
- if(newProgress >= 64) {
+ if (newProgress >= 64) {
progressDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/moral/yunfushao/ui/PanelView.java b/app/src/main/java/com/moral/yunfushao/ui/PanelView.java
index 29056eb..5929488 100644
--- a/app/src/main/java/com/moral/yunfushao/ui/PanelView.java
+++ b/app/src/main/java/com/moral/yunfushao/ui/PanelView.java
@@ -60,7 +60,7 @@
private Paint drawTextPaint;
private int textColor = Color.GRAY;
private int textSize = 36;
- private String[] level = {"������", "������������", "������������", "������������"};
+ private String[] level = {"������������", "������������", "������������", "������������"};
//������������
private Paint mCirclePaint;
diff --git a/app/src/main/res/drawable/choose_button.xml b/app/src/main/res/drawable/choose_button.xml
new file mode 100644
index 0000000..abbb220
--- /dev/null
+++ b/app/src/main/res/drawable/choose_button.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <corners android:radius="10dp" />
+ <solid android:color="@color/trans" />
+ <stroke
+ android:width="1dp"
+ android:color="@color/blue_btn_bg_color" />
+
+ <padding
+ android:bottom="5dp"
+ android:left="10dp"
+ android:right="10dp"
+ android:top="5dp" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/ac_register_layout.xml b/app/src/main/res/layout/ac_register_layout.xml
index 1f111e5..57618ba 100644
--- a/app/src/main/res/layout/ac_register_layout.xml
+++ b/app/src/main/res/layout/ac_register_layout.xml
@@ -6,6 +6,7 @@
android:background="@mipmap/bg_login"
android:fitsSystemWindows="true"
android:orientation="vertical">
+
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
@@ -17,8 +18,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/x20"
- android:layout_marginRight="@dimen/x20"
android:layout_marginTop="@dimen/x16"
+ android:layout_marginRight="@dimen/x20"
android:background="@mipmap/bg_edit"
android:padding="@dimen/x14">
@@ -60,10 +61,10 @@
android:layout_alignParentRight="true"
android:background="@mipmap/bt_red_small"
android:gravity="center"
- android:paddingBottom="@dimen/x2"
android:paddingLeft="@dimen/x8"
- android:paddingRight="@dimen/x8"
android:paddingTop="@dimen/x2"
+ android:paddingRight="@dimen/x8"
+ android:paddingBottom="@dimen/x2"
android:text="���������������"
android:textColor="@color/white" />
</RelativeLayout>
@@ -71,17 +72,19 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@mipmap/bg_edit"
android:layout_marginLeft="@dimen/x20"
- android:layout_marginRight="@dimen/x20"
android:layout_marginTop="@dimen/x16"
+ android:layout_marginRight="@dimen/x20"
+ 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_code"/>
+ android:src="@mipmap/icon_code" />
+
<View
android:id="@+id/line2"
android:layout_width="1dp"
@@ -90,34 +93,38 @@
android:layout_marginLeft="@dimen/x8"
android:layout_toRightOf="@+id/iv2"
android:background="@color/blue_txt" />
+
<EditText
android:id="@+id/et_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_toRightOf="@id/line2"
+ android:background="@null"
android:hint="������������������"
android:inputType="number"
- android:textColorHint="@color/blue_txt"
- android:textColor="@color/blue_txt"
- android:background="@null"
- android:textSize="16sp"
android:paddingLeft="@dimen/x10"
android:paddingRight="@dimen/x10"
- android:layout_toRightOf="@id/line2"/>
+ 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/x20"
- android:layout_marginRight="@dimen/x20"
android:layout_marginTop="@dimen/x14"
+ android:layout_marginRight="@dimen/x20"
android:background="@mipmap/bg_edit"
android:padding="@dimen/x14">
+
<ImageView
android:id="@+id/iv3"
android:layout_width="@dimen/x16"
android:layout_height="@dimen/x16"
android:layout_centerVertical="true"
- android:src="@mipmap/icon_password"/>
+ android:src="@mipmap/icon_password" />
+
<View
android:id="@+id/line3"
android:layout_width="1dp"
@@ -126,41 +133,44 @@
android:layout_marginLeft="@dimen/x8"
android:layout_toRightOf="@+id/iv3"
android:background="@color/blue_txt" />
+
<EditText
android:id="@+id/et_pwd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_toRightOf="@+id/line3"
android:layout_centerVertical="true"
- android:hint="���������������"
- android:textColorHint="@color/blue_txt"
- android:textColor="@color/blue_txt"
+ android:layout_toRightOf="@+id/line3"
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>
+
<Button
android:id="@+id/bt_sure"
android:layout_width="match_parent"
android:layout_height="@dimen/x40"
android:layout_marginLeft="@dimen/x20"
- android:layout_marginRight="@dimen/x20"
android:layout_marginTop="@dimen/x20"
+ android:layout_marginRight="@dimen/x20"
android:background="@mipmap/bt_blue"
android:gravity="center"
android:text="������"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textSize="16sp" />
+
<TextView
android:id="@+id/tv_login"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:text="���������������������������"
- android:gravity="bottom|center_horizontal"
- android:textColor="@color/blue_txt"
android:layout_marginBottom="@dimen/x30"
+ android:gravity="bottom|center_horizontal"
+ android:text="���������������������������"
+ android:textColor="@color/blue_txt"
android:textSize="16sp" />
</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_monitor_layout.xml b/app/src/main/res/layout/fragment_monitor_layout.xml
index 653352c..c860adb 100644
--- a/app/src/main/res/layout/fragment_monitor_layout.xml
+++ b/app/src/main/res/layout/fragment_monitor_layout.xml
@@ -116,7 +116,7 @@
android:layout_marginTop="@dimen/x4"
android:text="0"
android:textColor="@color/green_txt"
- android:textSize="18sp"
+ android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
@@ -147,7 +147,7 @@
android:layout_marginTop="@dimen/x4"
android:text="0"
android:textColor="@color/yellow_txt"
- android:textSize="18sp"
+ android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/fragment_setting_layout.xml b/app/src/main/res/layout/fragment_setting_layout.xml
index 65f653e..a1f3697 100644
--- a/app/src/main/res/layout/fragment_setting_layout.xml
+++ b/app/src/main/res/layout/fragment_setting_layout.xml
@@ -121,8 +121,8 @@
android:layout_marginRight="@dimen/x20"
android:background="@drawable/choose_button"
android:stateListAnimator="@anim/progress"
- android:textColor="@color/dark_gray_txt"
- android:text="������" />
+ android:text="������"
+ android:textColor="@color/dark_gray_txt" />
</RelativeLayout>
<View
@@ -138,7 +138,7 @@
android:layout_marginTop="@dimen/x24"
android:layout_marginRight="@dimen/x40"
android:background="@mipmap/bt_blue"
- android:gravity="center"
+ android:paddingBottom="@dimen/x10"
android:text="������������"
android:textColor="@color/white"
android:textSize="16sp" />
diff --git a/app/tinker-support.gradle b/app/tinker-support.gradle
new file mode 100644
index 0000000..5b87e39
--- /dev/null
+++ b/app/tinker-support.gradle
@@ -0,0 +1,100 @@
+apply plugin: 'com.tencent.bugly.tinker-support'
+
+def bakPath = file("${buildDir}/bakApk/")
+
+/**
+ * ������������������������������������������������
+ */
+def baseApkDir = "app-1109-16-53-16"
+
+def outputFile = "Dev_yfs_v.${rootProject.ext.android.versionName}.apk"
+
+//def outputFile = "yfs_v.${rootProject.ext.android.versionName}.apk"
+
+
+
+
+/**
+ * ���������������������������������������������
+ */
+tinkerSupport {
+
+ // ������tinker-support������������������true
+ enable = true
+
+ // ������������������������������������module������������tinker
+ autoBackupApkDir = "${bakPath}"
+
+ // ������������������tinkerPatch������������������������false
+ // ���������tinkerPatch���������������������������������tinkerPatch
+ overrideTinkerPatchConfiguration = true
+
+ // ������������������������������������������������apk������������������
+ // ������������������������������������������������������
+
+
+
+ // @{link tinkerPatch.oldApk }
+ baseApk = "${bakPath}/${baseApkDir}/${outputFile}"
+
+ // ������tinker������applyMapping
+ baseApkProguardMapping = "${bakPath}/${baseApkDir}/${outputFile}-mapping.txt"
+
+ // ������tinker������applyResourceMapping
+ baseApkResourceMapping = "${bakPath}/${baseApkDir}/${outputFile}-R.txt"
+
+ // ������������������������������������������������tinkerId������������������������������
+ tinkerId = "dev_patch-1.0.1"
+
+ // ������������������������������
+ // buildAllFlavorsDir = "${bakPath}/${baseApkDir}"
+
+ // ������������������������������������false.(tinker-spport 1.0.7������������
+ // isProtectedApp = true
+
+ // ������������������Application������
+ enableProxyApplication = false
+
+ // ���������������������export���Activity���������������������true������������AndroidManifest���������
+ supportHotplugComponent = true
+
+}
+
+/**
+ * ������������,������������������������������������������������
+ * ���������������������������������������:
+ * https://github.com/Tencent/tinker/wiki/Tinker-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97
+ */
+tinkerPatch {
+ //oldApk ="${bakPath}/${appName}/app-release.apk"
+ ignoreWarning = false
+ useSign = true
+ dex {
+ dexMode = "jar"
+ pattern = ["classes*.dex"]
+ loader = []
+ }
+ lib {
+ pattern = ["lib/*/*.so"]
+ }
+
+ res {
+ pattern = ["res/*", "r/*", "assets/*", "resources.arsc", "AndroidManifest.xml"]
+ ignoreChange = []
+ largeModSize = 100
+ }
+
+ packageConfig {
+ }
+ sevenZip {
+ zipArtifact = "com.tencent.mm:SevenZip:1.1.10"
+// path = "/usr/local/bin/7za"
+ }
+ buildConfig {
+ keepDexApply = false
+ //tinkerId = "1.0.1-base"
+ //applyMapping = "${bakPath}/${appName}/app-release-mapping.txt" // ���������������mapping������������������������apk���proguard������������
+ //applyResourceMapping = "${bakPath}/${appName}/app-release-R.txt" // ���������������R.txt������������������apk������������ResId���������
+ }
+}
+
diff --git a/build.gradle b/build.gradle
index d9a13c7..bb35b5a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,4 +1,5 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
+apply from: 'conf.gradle'
buildscript {
repositories {
@@ -8,6 +9,7 @@
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
+ classpath "com.tencent.bugly:tinker-support:1.1.5"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/conf.gradle b/conf.gradle
new file mode 100644
index 0000000..7508977
--- /dev/null
+++ b/conf.gradle
@@ -0,0 +1,14 @@
+ext {
+ android = [
+ compileSdkVersion: 25,
+ buildToolsVersion: "26.0.2",
+ versionCode : 4,
+ versionName : "1.0.3.1",
+ minSdkVersion : 21,
+ targetSdkVersion : 25,
+ debugVersion : "sp1",
+ ]
+
+ dependencies = [
+ ]
+}
\ No newline at end of file
--
Gitblit v1.8.0