From 75e83be13a8c4ccf081c4dc07a262e4096783c7e Mon Sep 17 00:00:00 2001
From: 陈奇 <1650699704@qq.com>
Date: Fri, 02 Nov 2018 17:34:21 +0800
Subject: [PATCH] [*]修改电磁版本 配合电子修改bug
---
.gradle/4.1/taskHistory/taskHistory.bin | 0
app/src/main/java/com/moral/yunfushao/ui/PanelView.java | 211 ++++++++++++--------
.gradle/4.1/javaCompile/classAnalysis.bin | 0
andbrickslib/andbrickslib.iml | 41 ++--
app/src/main/java/com/moral/yunfushao/common/AppConfig.java | 1
.gradle/4.1/taskHistory/fileSnapshots.bin | 0
FastBleLib/FastBleLib.iml | 1
.gradle/4.1/fileHashes/resourceHashesCache.bin | 0
app/build.gradle | 41 ++-
app/app.iml | 27 +-
gradlew | 0
FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java | 6
.gradle/4.1/javaCompile/jarAnalysis.bin | 0
.gradle/4.1/fileHashes/fileHashes.lock | 0
app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java | 10
app/src/main/res/values/strings.xml | 1
app/src/main/AndroidManifest.xml | 58 +++--
.gradle/4.1/javaCompile/taskJars.bin | 0
app/src/main/java/com/moral/yunfushao/adapter/SongAdapter.java | 1
app/src/main/java/com/moral/yunfushao/common/VersionConstants.java | 12 +
app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java | 138 ++++++++----
.gradle/4.1/fileHashes/fileHashes.bin | 0
.gradle/4.1/javaCompile/javaCompile.lock | 0
.gradle/4.1/taskHistory/taskHistory.lock | 0
FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java | 9
.gradle/4.1/javaCompile/taskHistory.bin | 0
app/src/main/java/com/moral/yunfushao/activity/BLESearchActivity.java | 5
27 files changed, 347 insertions(+), 215 deletions(-)
diff --git a/.gradle/4.1/fileHashes/fileHashes.bin b/.gradle/4.1/fileHashes/fileHashes.bin
index 1a8e623..99885b1 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 ee84369..d2965bf 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 5ab16b0..30b12df 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 47cc8d8..04d2f06 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 3bc8bf7..2e8a73e 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 b71bfc9..f540802 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 dc6f92e..786a006 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 a594919..dee8b54 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 3329772..164c708 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 3b958f7..7443fe3 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 3e5ed24..655a050 100644
--- a/.gradle/4.1/taskHistory/taskHistory.lock
+++ b/.gradle/4.1/taskHistory/taskHistory.lock
Binary files differ
diff --git a/FastBleLib/FastBleLib.iml b/FastBleLib/FastBleLib.iml
index 9a2ba05..52f5e6f 100644
--- a/FastBleLib/FastBleLib.iml
+++ b/FastBleLib/FastBleLib.iml
@@ -87,6 +87,7 @@
<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/bluetooth/BleBluetooth.java b/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
index 155d9b7..e02a858 100644
--- a/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
+++ b/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleBluetooth.java
@@ -399,7 +399,6 @@
@Override
public void onDisConnected(BluetoothGatt gatt, int status, BleException exception) {
BleLog.i("BleGattCallback���onConnectFailure ");
-
closeBluetoothGatt();
bluetoothGatt = null;
Iterator iterator = callbackHashMap.entrySet().iterator();
@@ -449,7 +448,7 @@
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
- BleLog.i("BleGattCallback���onServicesDiscovered ");
+ BleLog.i("BleGattCallback���onServicesDiscovered " + mtu);
bluetoothGatt.requestMtu(mtu);
connectionState = STATE_SERVICES_DISCOVERED;
Iterator iterator = callbackHashMap.entrySet().iterator();
@@ -479,7 +478,6 @@
@Override
public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
BleLog.i("BleGattCallback���onCharacteristicWrite ");
-
Iterator iterator = callbackHashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
@@ -492,7 +490,7 @@
@Override
public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
- BleLog.i("BleGattCallback���onCharacteristicChanged ");
+ BleLog.i("BleGattCallback���onCharacteristicChanged " + characteristic.getValue().length);
Iterator iterator = callbackHashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
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 33a3d7a..39a8596 100644
--- a/FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java
+++ b/FastBleLib/src/main/java/com/clj/fastble/conn/BleConnector.java
@@ -361,15 +361,12 @@
handler.removeMessages(MSG_NOTIFY_CHA, this);
}
+
if (characteristic.getUuid().equals(UUID.fromString(uuid_notify))) {
+ System.out.println("chenqi Notify ->" + characteristic.getValue().length);
+ System.out.println("chenqi Notify Hex ->" + BleBluetooth.dumpHex(characteristic.getValue()));
bleCallback.onSuccess(characteristic);
}
- }
-
- @Override
- public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
- super.onMtuChanged(gatt, mtu, status);
- System.out.println(String.format("onMtuChanged���mtu = %s", mtu));
}
});
diff --git a/andbrickslib/andbrickslib.iml b/andbrickslib/andbrickslib.iml
index 1cfb37d..cf8b7b2 100644
--- a/andbrickslib/andbrickslib.iml
+++ b/andbrickslib/andbrickslib.iml
@@ -87,6 +87,7 @@
<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" />
@@ -107,38 +108,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-annotations:25.3.1@jar" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource-2.2.2" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-25.3.1" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: javax.annotation:javax.annotation-api:1.2@jar" level="project" />
- <orderEntry type="library" name="Gradle: com.pnikosis:materialish-progress-1.0" level="project" />
- <orderEntry type="library" name="Gradle: com.lzy.net:okserver-1.1.3" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core-2.2.2" level="project" />
- <orderEntry type="library" name="Gradle: me.zhanghai.android.materialprogressbar:library-1.4.0" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1@jar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-25.3.1" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:support-compat-25.3.1" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:rules-0.5" level="project" />
- <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.0@jar" level="project" />
- <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:commons-0.9.4.4" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-v13-25.3.1" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:support-annotations:25.3.1@jar" level="project" />
<orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:core-0.9.4.4" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-v4-25.3.1" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-core-ui-25.3.1" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner-0.5" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-25.3.1" level="project" />
+ <orderEntry type="library" name="Gradle: com.pnikosis:materialish-progress-1.0" level="project" />
<orderEntry type="library" name="Gradle: com.alibaba:fastjson:1.1.56.android@jar" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:exposed-instrumentation-api-publish-0.5" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />
+ <orderEntry type="library" name="Gradle: com.lzy.net:okserver-1.1.3" level="project" />
+ <orderEntry type="library" name="Gradle: me.zhanghai.android.materialprogressbar:library-1.4.0" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-25.3.1" level="project" />
+ <orderEntry type="library" name="Gradle: com.android.support:support-compat-25.3.1" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:recyclerview-v7-25.3.1" level="project" />
<orderEntry type="library" name="Gradle: com.lzy.net:okgo-2.1.4" level="project" />
<orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp:3.4.1@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable-25.3.1" level="project" />
+ <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-core-utils-25.3.1" level="project" />
<orderEntry type="library" name="Gradle: com.squareup.okio:okio:1.9.0@jar" level="project" />
+ <orderEntry type="library" name="Gradle: com.afollestad.material-dialogs:commons-0.9.4.4" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource-2.2.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: javax.annotation:javax.annotation-api:1.2@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" 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" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner-0.5" 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" />
</component>
</module>
\ No newline at end of file
diff --git a/app/app.iml b/app/app.iml
index ac419e1..1006a91 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -92,7 +92,9 @@
<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" />
@@ -100,6 +102,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/reports" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />
@@ -108,21 +111,14 @@
<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" 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" 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.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.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" />
@@ -130,14 +126,10 @@
<orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-core-ui-25.3.1" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner-0.5" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:cardview-v7-25.3.1" level="project" />
<orderEntry type="library" name="Gradle: in.srain.cube:ultra-ptr-1.0.11" level="project" />
<orderEntry type="library" name="Gradle: org.greenrobot:eventbus:3.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.alibaba:fastjson:1.1.56.android@jar" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:exposed-instrumentation-api-publish-0.5" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
- <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />
<orderEntry type="library" name="Gradle: com.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" />
@@ -150,5 +142,18 @@
<orderEntry type="library" name="Gradle: com.android.support:support-core-utils-25.3.1" level="project" />
<orderEntry type="module" module-name="andbrickslib" />
<orderEntry type="module" module-name="FastBleLib" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource-2.2.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: javax.annotation:javax.annotation-api:1.2@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" 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" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
+ <orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner-0.5" 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="module" module-name="andbrickslib" />
+ <orderEntry type="module" module-name="FastBleLib" />
</component>
</module>
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index b647132..1460c65 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -7,31 +7,44 @@
applicationId "com.moral.yunfushao"
minSdkVersion 21
targetSdkVersion 25
- versionCode 1
- versionName "1.0"
+ versionCode 2
+ versionName "1.0.2_sp3"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ signingConfig signingConfigs.debug
}
-
-// signingConfigs {
-// // your debug keystore
-//// debug {
-//// keyAlias 'chenqi'
-//// keyPassword '123456'
-//// storeFile file('/Users/chenqi/chenqi.jks')
-//// storePassword '123456'
-//// }
-// }
-
+ signingConfigs {
+ key {
+ keyAlias 'qxpc'
+ keyPassword '123456'
+ storeFile file('../pregnancy_guard_android/qixingpiaochong')
+ storePassword '123456'
+ }
+ }
sourceSets {
main {
jniLibs.srcDirs = ['libs']
+ }
+ }
+ //���������������
+ //3.0������
+ android.applicationVariants.all { variant ->
+ variant.outputs.all {
+ if (buildType.name == "debug")
+ outputFileName = "Dev_yfs_v.${variant.versionName}.apk"
+ else outputFileName = "yfs_v.${variant.versionName}.apk"
}
}
buildTypes {
release {
minifyEnabled false
+ zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ manifestPlaceholders = [app_name: "@string/app_name"]//������������
+ }
+ debug {
+ minifyEnabled false
+ manifestPlaceholders = [app_name: "@string/app_name_text"]
}
}
}
@@ -53,7 +66,7 @@
compile 'com.github.bumptech.glide:glide:3.7.0'
//������������
compile 'com.lzy.net:okgo:2.1.4'
- compile files('libs/BaiduLBS_Android.jar')
+ compile files('libs/BaiduLBS_Android.jar')
compile 'pub.devrel:easypermissions:0.4.0'
compile 'com.daimajia.numberprogressbar:library:1.4@aar'
compile 'org.greenrobot:eventbus:3.0.0'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 27998dc..cac457a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -34,39 +34,58 @@
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
- <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
- <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
+ <uses-permission android:name="android.permission.GET_ACCOUNTS" />
+ <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- ������������ debug ������������������6.0 ��������� ������������������ -->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
- <uses-permission android:name="android.permission.BLUETOOTH"/>
- <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
+ <uses-permission android:name="android.permission.BLUETOOTH" />
+ <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<application
- android:allowBackup="true"
android:name="com.moral.yunfushao.MainApp"
+ android:allowBackup="true"
android:icon="@mipmap/icon"
- tools:replace="android:icon"
- android:label="@string/app_name"
+ android:label="${app_name}"
android:supportsRtl="true"
- android:theme="@style/AppTheme">
- <activity android:name=".activity.SplashActivity"
+ android:theme="@style/AppTheme"
+ tools:replace="android:icon,android:label">
+ <activity
+ android:name=".activity.SplashActivity"
android:theme="@style/AppWelcomeTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
- <activity android:name="com.moral.yunfushao.MainActivity" android:screenOrientation="portrait"/>
- <activity android:name="com.moral.yunfushao.activity.ForgetPasswordActivity" android:screenOrientation="portrait"/>
- <activity android:name="com.moral.yunfushao.activity.LoginActivity" android:screenOrientation="portrait"/>
- <activity android:name="com.moral.yunfushao.activity.RegisterActivity" android:screenOrientation="portrait"/>
- <activity android:name="com.moral.yunfushao.activity.BLESearchActivity" android:screenOrientation="portrait"/>
- <activity android:name="com.moral.yunfushao.activity.VoiceSetActivity" android:screenOrientation="portrait"/>
- <activity android:name="com.moral.yunfushao.activity.ChartActivity" android:screenOrientation="portrait"/>
- <activity android:name="com.moral.yunfushao.activity.ChooseSongActivity" android:screenOrientation="portrait"/>
- <activity android:name="com.moral.yunfushao.activity.TestActivity" android:screenOrientation="portrait"/>
+ <activity
+ android:name="com.moral.yunfushao.MainActivity"
+ android:screenOrientation="portrait" />
+ <activity
+ android:name="com.moral.yunfushao.activity.ForgetPasswordActivity"
+ android:screenOrientation="portrait" />
+ <activity
+ android:name="com.moral.yunfushao.activity.LoginActivity"
+ android:screenOrientation="portrait" />
+ <activity
+ android:name="com.moral.yunfushao.activity.RegisterActivity"
+ android:screenOrientation="portrait" />
+ <activity
+ android:name="com.moral.yunfushao.activity.BLESearchActivity"
+ android:screenOrientation="portrait" />
+ <activity
+ android:name="com.moral.yunfushao.activity.VoiceSetActivity"
+ android:screenOrientation="portrait" />
+ <activity
+ android:name="com.moral.yunfushao.activity.ChartActivity"
+ android:screenOrientation="portrait" />
+ <activity
+ android:name="com.moral.yunfushao.activity.ChooseSongActivity"
+ android:screenOrientation="portrait" />
+ <activity
+ android:name="com.moral.yunfushao.activity.TestActivity"
+ android:screenOrientation="portrait" />
<service android:name=".ble.BluetoothService" />
<meta-data
@@ -75,8 +94,7 @@
<service
android:name="com.baidu.location.f"
android:enabled="true"
- android:process=":remote" >
- </service>
+ android:process=":remote"></service>
</application>
</manifest>
\ No newline at end of file
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 bceeb16..a97f02c 100644
--- a/app/src/main/java/com/moral/yunfushao/activity/BLESearchActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/activity/BLESearchActivity.java
@@ -105,7 +105,10 @@
if (MainApp.theApp.bleManager != null) {
MainApp.theApp.bleManager.closeBluetoothGatt();
}
- mBluetoothService.scanAndConnect5(scanResultList.get(position).getDevice().getAddress());
+ EventMessage eventMessage = new EventMessage();
+ eventMessage.setType(AppConfig.BLUETOOCH_CHANGE_CONNECT);
+ EventBus.getDefault().post(eventMessage);
+ mBluetoothService.connectDevice(scanResultList.get(position));
}
}
diff --git a/app/src/main/java/com/moral/yunfushao/adapter/SongAdapter.java b/app/src/main/java/com/moral/yunfushao/adapter/SongAdapter.java
index f3f1fa0..25ed224 100644
--- a/app/src/main/java/com/moral/yunfushao/adapter/SongAdapter.java
+++ b/app/src/main/java/com/moral/yunfushao/adapter/SongAdapter.java
@@ -9,7 +9,6 @@
import com.moral.andbrickslib.baseadapter.recyclerview.base.ViewHolder;
import com.moral.yunfushao.R;
import com.moral.yunfushao.model.Song;
-import com.moral.yunfushao.model.VoiceBean;
import java.util.List;
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 1c2a716..81f7872 100644
--- a/app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java
+++ b/app/src/main/java/com/moral/yunfushao/ble/BluetoothService.java
@@ -154,24 +154,23 @@
mCallback.onConnecting();
}
- System.out.println("BleGattCallback setting " + scanResult.getDevice().getAddress());
- System.out.println("Ble onconnectSuccess");
-
bleManager.connectDevice(scanResult, false, new BleGattCallback() {
@Override
public void onFoundDevice(ScanResult scanResult) {
+ System.out.println("chenqi blueTooth connect state -> onFoundDevice");
BluetoothService.this.name = scanResult.getDevice().getName();
BluetoothService.this.mac = scanResult.getDevice().getAddress();
}
@Override
public void onConnecting(BluetoothGatt gatt, int status) {
-
+ System.out.println("chenqi blueTooth connect state -> onConnecting");
}
@Override
public void onConnectError(BleException exception) {
+ System.out.println("chenqi blueTooth connect state -> onConnectError");
runOnMainThread(new Runnable() {
@Override
public void run() {
@@ -184,12 +183,14 @@
@Override
public void onConnectSuccess(BluetoothGatt gatt, int status) {
+ System.out.println("chenqi blueTooth connect state -> onConnectSuccess");
//���������������������������������MAC
MainApp.theApp.sharedPreferencesUtil.saveBLE(gatt.getDevice().getAddress());
}
@Override
public void onServicesDiscovered(final BluetoothGatt gatt, int status) {
+ System.out.println("chenqi blueTooth connect state -> onServicesDiscovered");
BluetoothService.this.gatt = gatt;
runOnMainThread(new Runnable() {
@Override
@@ -203,6 +204,7 @@
@Override
public void onDisConnected(BluetoothGatt gatt, int status, BleException exception) {
+ System.out.println("chenqi blueTooth connect state -> onDisConnected");
runOnMainThread(new Runnable() {
@Override
public void run() {
diff --git a/app/src/main/java/com/moral/yunfushao/common/AppConfig.java b/app/src/main/java/com/moral/yunfushao/common/AppConfig.java
index 1a89097..d10c9ae 100644
--- a/app/src/main/java/com/moral/yunfushao/common/AppConfig.java
+++ b/app/src/main/java/com/moral/yunfushao/common/AppConfig.java
@@ -11,6 +11,7 @@
public static final int CHANGE_SETTING = 3;
public static final int SET_MAIN_CALL = 4;
public static final int SET_VOICE = 5;
+ public static final int BLUETOOCH_CHANGE_CONNECT = 6;
public static String voideUrl1 = "http://yfsapi.7drlb.com/video/boy/music.mp3";
public static String voideUrl2 = "http://yfsapi.7drlb.com/video/boy/music1.mp3";
public static String voideUrl3 = "http://yfsapi.7drlb.com/video/boy/music2.mp3";
diff --git a/app/src/main/java/com/moral/yunfushao/common/VersionConstants.java b/app/src/main/java/com/moral/yunfushao/common/VersionConstants.java
new file mode 100644
index 0000000..09351c9
--- /dev/null
+++ b/app/src/main/java/com/moral/yunfushao/common/VersionConstants.java
@@ -0,0 +1,12 @@
+package com.moral.yunfushao.common;
+
+/**
+ * @author : chenqi.
+ * @e_mail : 1650699704@163.com.
+ * @create_time : 2018/11/2.
+ * @Package_name: pregnancy_guard_android
+ */
+public class VersionConstants {
+ public static final String DEBUG = "debug";
+ public static final String RELEASE = "release";
+}
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 fd7ea84..e6c34c2 100644
--- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
+++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
@@ -35,6 +35,7 @@
import com.moral.andbrickslib.utils.TimeUtil;
import com.moral.andbrickslib.utils.dialog.MaterialDialogUtils;
import com.moral.andbrickslib.utils.log.XLog;
+import com.moral.yunfushao.BuildConfig;
import com.moral.yunfushao.MainActivity;
import com.moral.yunfushao.MainApp;
import com.moral.yunfushao.R;
@@ -45,6 +46,7 @@
import com.moral.yunfushao.ble.BluetoothService;
import com.moral.yunfushao.common.API;
import com.moral.yunfushao.common.AppConfig;
+import com.moral.yunfushao.common.VersionConstants;
import com.moral.yunfushao.httputils.HttpCallBack;
import com.moral.yunfushao.httputils.HttpUtils;
import com.moral.yunfushao.imageload.ImageLoader;
@@ -90,6 +92,7 @@
private ArrayList<RecData> submitResult = new ArrayList<>();
private StringBuilder stringResult = new StringBuilder();
+ private String deviceName = "";//���������������������������
//������������������������
private ArrayList<RecData> submitTempResult = new ArrayList<>();
@@ -120,8 +123,10 @@
handler.removeCallbacks(runnable);
checkTimeCount = 0;
- result = result.substring(14);
- doHandleData(result);
+ if (result.length() > 14) {
+ result = result.substring(14);
+ doHandleData(result);
+ }
}
if (result.startsWith("3A")) {
@@ -151,7 +156,6 @@
if (result.length() >= 76) {
DebugUtils.sendData("data", result);
parseHoutData(result.substring(0, 76));
- mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(), mBluetoothService.getWirteCharacteristic().getUuid().toString(), BLECommon.BLE_SEND_7A, null);
result = result.substring(76);
doHandleData(result);
} else {
@@ -167,6 +171,7 @@
*/
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
public void eventComing(EventMessage msg) {
+ System.out.println("chenqi msge -> " + msg.getType());
if (msg.getType() == AppConfig.GET_BLE_SERVICE) {
if (chonglianTimer != null) {
chonglianTimer.cancel();
@@ -190,7 +195,6 @@
for (BluetoothGattCharacteristic characteristic : mBluetoothService.getService().getCharacteristics()) {
int charaProp = characteristic.getProperties();
if ((charaProp & BluetoothGattCharacteristic.PROPERTY_READ) > 0) {
-
}
if ((charaProp & BluetoothGattCharacteristic.PROPERTY_WRITE) > 0 || (charaProp & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) > 0) {
mBluetoothService.setWirteCharacteristic(characteristic);
@@ -199,6 +203,7 @@
mBluetoothService.setCharacteristic(characteristic);
}
}
+
}
/**
@@ -252,10 +257,6 @@
} else if (msg.getType() == AppConfig.GET_BLE_DISCONNECT) {
preLevel = -1;
showStatus(-1);
- pv.setStatusStr("���������");
- pv.setPercent(0);
- tv_ljjl.setText("0");
- tv_shishi.setText("0");
chonglian();
stop();
isVirating = false;
@@ -294,7 +295,8 @@
voiceBean.setName("������������");
voiceList.add(voiceBean);
}
-
+ } else if (msg.getType() == AppConfig.BLUETOOCH_CHANGE_CONNECT) {
+ showStatus(-1);
}
}
@@ -382,14 +384,17 @@
iv_dianliang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- FlipAnimatorXViewShow(iv_dianliang, tv_dianliang2, 200);
+ if (BuildConfig.BUILD_TYPE.equals(VersionConstants.DEBUG)) {
+ FlipAnimatorXViewShow(iv_dianliang, tv_dianliang2, 200);
+ }
}
});
tv_dianliang2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- FlipAnimatorXViewShow(tv_dianliang2, iv_dianliang, 200);
-
+ if (BuildConfig.BUILD_TYPE.equals(VersionConstants.DEBUG)) {
+ FlipAnimatorXViewShow(tv_dianliang2, iv_dianliang, 200);
+ }
}
});
showStatus(-1);
@@ -605,16 +610,18 @@
int danger = R.mipmap.icon_danger;
if (type == 1) {
//������
- yanzhang = R.mipmap.dianliyanyang;
- danger = R.mipmap.dianlidanger;
- lv_ljjl.setVisibility(View.VISIBLE);
- tvShishiTitle.setText("������������(uSv/h)");
- } else if (type == 2) {
- //������
yanzhang = R.mipmap.icon_yanzhong;
danger = R.mipmap.icon_danger;
- tvShishiTitle.setText("������������(V/m)");
- lv_ljjl.setVisibility(View.GONE);
+ tvLijiTitle.setText("������������(uSv)");
+ tvShishiTitle.setText("������������(uSv/h)");
+ iv_dianliang.setEnabled(false);
+ } else if (type == 2) {
+ //������
+ yanzhang = R.mipmap.dianliyanyang;
+ danger = R.mipmap.dianlidanger;
+ tvLijiTitle.setText("������������");
+ tvShishiTitle.setText("������������");
+ iv_dianliang.setEnabled(true);
}
if (level == 0) {
@@ -662,6 +669,22 @@
tv_status.setText("������");
tv_status.setTextColor(getResources().getColor(R.color.gray_txt));
ll_status.setBackgroundResource(R.mipmap.bg_corner_gray);
+ pv.setStatusStr("���������");
+ pv.setPercent(0);
+ tv_ljjl.setText("0");
+ tv_shishi.setText("0");
+ showPower(2, 0);
+ } else if (level == -2) {
+ tv_tishi.setText("���������������������");
+ tv_tishi.setBackgroundResource(R.mipmap.bt_green);
+ tv_desc.setText("������������������������");
+ iv_status.setVisibility(View.GONE);
+ tv_status.setText("���������");
+ ll_status.setBackgroundResource(R.mipmap.bg_corner_gray);
+ pv.setPercent(0);
+ pv.setStatusStr("���������");
+ tv_ljjl.setText("0");
+ tv_shishi.setText("0");
}
}
@@ -672,7 +695,6 @@
*/
private int preLevel = -1;
-
/**
* data : 5A160000FA1C0400004100E7000700000071005B
* format : 20������������5A������ 5B������
@@ -682,6 +704,7 @@
*/
//todo ������������������
private void parseCurrentData(String nowResult) {
+ System.out.println("chenqi nowResult parseCurrentData");
type = 1;
if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 40 && nowResult.startsWith("5A") && nowResult.endsWith("5B")) {
int real = Integer.parseInt(nowResult.substring(24, 26), 16) * 256 + Integer.parseInt(nowResult.substring(26, 28), 16);
@@ -701,10 +724,6 @@
data.setTime(TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss"));
data.setType(0);
- /**
- * ������������
- */
- showPower(b1, b2);
if (realValue < 0.16) {
data.setIs_warn(0);
@@ -748,7 +767,10 @@
AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0);
}
}
-
+ /**
+ * ������������
+ */
+ showPower(b1, b2);
submitResult.add(data);
// realResult.clear();
}
@@ -760,6 +782,7 @@
* ������������������
*/
private void parseHoutData(String nowResult) {
+ System.out.println("chenqi elec parseHoutData" + nowResult);
if (TextUtils.isEmpty(nowResult)) {
return;
}
@@ -767,33 +790,41 @@
String[] strings = StringUtils.splitString(nowResult, 2);
if (strings[0].startsWith("7A") && strings[35].endsWith("7B")) {
String realString = StringUtils.subStrings(strings, 21, 23);
- int real = Integer.parseInt(realString, 16);
+ int electric_field = Integer.parseInt(realString, 16);
int b1 = Integer.parseInt(strings[24], 16);
int b2 = Integer.parseInt(strings[25], 16);
- double realValue = NumberUtils.getBigDecimalValue((real) / 100.0, 3);
+ int baojing = Integer.parseInt(strings[29], 16);
+ int elec = Integer.parseInt(StringUtils.subStrings(strings, 13, 15));
+// T.show("bl = " + strings[24] + " -- b2 = " + strings[25]);
+//
+// System.out.println("bl = " + b1 + " -- b2 = " + b2);
+
+ double electricFieldValue = (electric_field) / 100.0;
+ double elecValue = (elec) / 100.0;
+
String power = StringUtils.subStrings(strings, 26, 27);
+
double textPower = Integer.parseInt(power, 16) / 1000.0;
+
+ tv_shishi.setText(electricFieldValue + "(V/m)");
+
tv_dianliang2.setText(textPower + "V");
- tv_shishi.setText(realValue + "");
+
+ tv_ljjl.setText(elecValue + "(��T)");
/**
* ���������������������
*/
RecData data = new RecData();
- data.setValue(realValue);
+ data.setValue(electricFieldValue);
data.setTime(TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss"));
data.setType(0);
- /**
- * ������������
- */
- showPower(b1, b2);
showStatus(Integer.parseInt(strings[21], 16));
- if (realValue < 0.16) {
- data.setIs_warn(0);
- pv.setPercent((float) (realValue * (0.25 / 0.16)));
+ if (baojing == 0) {
+ pv.setPercent((float) (0.125));
showStatus(0);
stop();
if (isVirating) {
@@ -801,40 +832,50 @@
AudioUtils.virateCancle(getActivity());
}
preLevel = -1;
- } else if (realValue >= 0.16 && realValue < 0.8) {
+ } else if (baojing == 1) {
data.setIs_warn(1);
- pv.setPercent((float) (0.25 + realValue * (0.25 / 0.8)));
+ pv.setPercent((float) (0.375));
showStatus(1);
play(0);
if (!isVirating) {
isVirating = true;
AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0);
}
- } else if (realValue >= 0.8 && realValue < 2) {
+ } else if (baojing == 2) {
data.setIs_warn(1);
showStatus(2);
- pv.setPercent((float) (0.5 + realValue * (0.25 / 2)));
+ pv.setPercent((float) (0.625));
play(1);
if (!isVirating) {
isVirating = true;
AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0);
}
- } else if (realValue >= 2) {
+ } else if (baojing == 3) {
data.setIs_warn(1);
showStatus(3);
- if ((0.75 + realValue / 30) < 1.0) {
- pv.setPercent((float) (0.75 + realValue / 30));
- } else {
- pv.setPercent(1.0f);
+ pv.setPercent((float) (0.875));
+ play(2);
+ if (!isVirating) {
+ isVirating = true;
+ AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0);
}
+ } else if (baojing == 4) {
+ data.setIs_warn(1);
+ showStatus(3);
+ pv.setPercent((float) (1.00));
play(2);
if (!isVirating) {
isVirating = true;
AudioUtils.vibrate(getActivity(), new long[]{1000, 1000, 1000, 1000}, 0);
}
}
+ System.out.println("chenqi elec B-- " + b2);
+ /**
+ * ������������
+ */
+ showPower(b1, b2);
submitResult.add(data);
-// realResult.clear();
+ // realResult.clear();
}
}
@@ -868,7 +909,6 @@
ArrayList<RecData> temp = new ArrayList<>();
temp.add(data);
- Log.d("hourdata", "=====hourdata=====" + FastJsonTools.toJson(temp));
test(nowResult, time.toString());
submitHourData(temp);
}
@@ -880,6 +920,7 @@
private void showPower(int b1, int b2) {
if (b1 == 1) {
ImageLoader.setGIFByUrl(getActivity(), R.mipmap.icon_chong, iv_dianliang);
+ showStatus(-2);
} else if (b1 == 2) {
ImageLoader.setImageViewById(getActivity(), R.mipmap.icon_full, iv_dianliang);
} else {
@@ -1065,7 +1106,6 @@
}
public static void FlipAnimatorXViewShow(final View oldView, final View newView, final long time) {
-
ObjectAnimator animator1 = ObjectAnimator.ofFloat(oldView, "rotationX", 0, 90);
final ObjectAnimator animator2 = ObjectAnimator.ofFloat(newView, "rotationX", -90, 0);
animator2.setInterpolator(new OvershootInterpolator(2.0f));
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 edd75ff..c712411 100644
--- a/app/src/main/java/com/moral/yunfushao/ui/PanelView.java
+++ b/app/src/main/java/com/moral/yunfushao/ui/PanelView.java
@@ -1,5 +1,6 @@
package com.moral.yunfushao.ui;
+import android.animation.ValueAnimator;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
@@ -28,11 +29,11 @@
private int mmHeight;
//���������������������������
private Paint mShaderPaint;
- private int[] mshaderColor = new int[]{0xfff70e17,0xfff70e17,0xfff70e17,0xffff5c92,0xff00c44a,0xff00d062,0xff00f5af,0xff00f6cb,0xff00ccff,0xff179fff,0xffa054ff,0xffa53aff,0xffd74bff,0xfff64da5,0xfff70e17};
- private int[] mshaderRedColor = new int[]{0xfff70e17,0xffff5c92};
- private int[] mshaderZiseColor = new int[]{0xffa53aff,0xffd74bff,0xfff64da5};
- private int[] mshaderBlueColor = new int[]{0xff00f6cb,0xff00ccff,0xff179fff,0xffa054ff};
- private int[] mshaderGreenColor = new int[]{0xff00c44a,0xff00d062,0xff00f5af};
+ private int[] mshaderColor = new int[]{0xfff70e17, 0xfff70e17, 0xfff70e17, 0xffff5c92, 0xff00c44a, 0xff00d062, 0xff00f5af, 0xff00f6cb, 0xff00ccff, 0xff179fff, 0xffa054ff, 0xffa53aff, 0xffd74bff, 0xfff64da5, 0xfff70e17};
+ private int[] mshaderRedColor = new int[]{0xfff70e17, 0xffff5c92};
+ private int[] mshaderZiseColor = new int[]{0xffa53aff, 0xffd74bff, 0xfff64da5};
+ private int[] mshaderBlueColor = new int[]{0xff00f6cb, 0xff00ccff, 0xff179fff, 0xffa054ff};
+ private int[] mshaderGreenColor = new int[]{0xff00c44a, 0xff00d062, 0xff00f5af};
//������������������������
private SweepGradient mSweepGradient;
private int mShaderWidth = 70;
@@ -59,7 +60,7 @@
private Paint drawTextPaint;
private int textColor = Color.GRAY;
private int textSize = 36;
- private String[] level = {"������������","������������","������������","������������"};
+ private String[] level = {"������������", "������������", "������������", "������������"};
//������������
private Paint mCirclePaint;
@@ -75,17 +76,26 @@
private Bitmap mBitmap;
private float percent = 0;//���������������
+ private float percent2 = (float) 0.27;//���������������
+
private String statusStr = "���������";
+ private ValueAnimator anim;
- public void setStatusStr(String statusStr){
+ public void setStatusStr(String statusStr) {
this.statusStr = statusStr;
postInvalidate();
}
- public void setPercent(float percent){
+ public void setPercent(float percent) {
this.percent = percent;
+// this.percent2 = percent;
postInvalidate();
+// if (anim.isStarted() || anim.isRunning()) {
+// anim.end();
+// anim.cancel();
+// }
+// anim.start();
}
public PanelView(Context context) {
@@ -106,15 +116,15 @@
private void init(Context mContext) {
this.mContext = mContext;
//���������
- mShaderWidth = dip2px(mContext,24);
- line1Length = dip2px(mContext,14);
- line2Length = dip2px(mContext,22);
- lineWidth = dip2px(mContext,2);
- widthInner = dip2px(mContext,40);
- paddingKedu = dip2px(mContext,10);
- mCircleWidth = dip2px(mContext,24);
- innerPadding = dip2px(mContext,8);
- textSize = dip2px(mContext,12);
+ mShaderWidth = dip2px(mContext, 24);
+ line1Length = dip2px(mContext, 14);
+ line2Length = dip2px(mContext, 22);
+ lineWidth = dip2px(mContext, 2);
+ widthInner = dip2px(mContext, 40);
+ paddingKedu = dip2px(mContext, 10);
+ mCircleWidth = dip2px(mContext, 24);
+ innerPadding = dip2px(mContext, 8);
+ textSize = dip2px(mContext, 12);
//������������
mShaderPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
@@ -123,7 +133,7 @@
mShaderPaint.setStrokeCap(Paint.Cap.ROUND);
paintGapLine = new Paint(Paint.ANTI_ALIAS_FLAG);
paintGapLine.setColor(Color.WHITE);
- paintGapLine.setStrokeWidth(dip2px(mContext,3));
+ paintGapLine.setStrokeWidth(dip2px(mContext, 3));
//������
mLinePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mLinePaint.setStyle(Paint.Style.STROKE);
@@ -149,7 +159,8 @@
mBitPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mBitPaint.setFilterBitmap(true);
mBitPaint.setDither(true);
- mBitmap = ((BitmapDrawable)mContext.getResources().getDrawable(R.mipmap.zhizhen)).getBitmap();
+ mBitmap = ((BitmapDrawable) mContext.getResources().getDrawable(R.mipmap.zhizhen)).getBitmap();
+// startAnimation();
}
@Override
@@ -169,50 +180,78 @@
} else {
mmHeight = dip2px(mContext, 300);
}
- mWidth = mmWidth<mmHeight?mmWidth:mmHeight;
+ mWidth = mmWidth < mmHeight ? mmWidth : mmHeight;
setMeasuredDimension(mmWidth, mmHeight);
}
+
+// private void startAnimation() {
+// anim = ValueAnimator.ofObject(new CustomPointEvaluator(),(float)0, percent2);
+// anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+// @Override
+// public void onAnimationUpdate(ValueAnimator animation) {
+// percent = (float) animation.getAnimatedValue();
+// System.out.println("chenqi rotato " + percent + " all -> " + percent2 * 300);
+//// invalidate();
+// }
+// });
+// anim.setDuration(3000L);
+// anim.setRepeatCount(Animation.INFINITE);
+// }
+//
+// private class CustomPointEvaluator implements TypeEvaluator<Float> {
+// @Override
+// public Float evaluate(float fraction, Float startValue, Float endValue) {
+// System.out.println("chenqi2 rotato " + fraction + " all -> " + endValue);
+// float y = fraction * endValue;
+// return y;
+// }
+// }
+
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
- //���������
+ //���������
drawKedu(canvas);
//���������������
drawTextKedu(canvas);
//���������������
drawJianbianCircle(canvas);
//���������
- RectF cirlcleRect = new RectF(mShaderWidth + widthInner+mCircleWidth+innerPadding, mShaderWidth + widthInner+mCircleWidth+innerPadding, mWidth - mShaderWidth - widthInner-mCircleWidth-innerPadding, mWidth - mShaderWidth - widthInner-mCircleWidth-innerPadding);
+ RectF cirlcleRect = new RectF(mShaderWidth + widthInner + mCircleWidth + innerPadding, mShaderWidth + widthInner + mCircleWidth + innerPadding, mWidth - mShaderWidth - widthInner - mCircleWidth - innerPadding, mWidth - mShaderWidth - widthInner - mCircleWidth - innerPadding);
canvas.drawArc(cirlcleRect, 0, 360, false, mCirclePaint);
//���������
- float circleR = (cirlcleRect.right - cirlcleRect.left)/2;
+ float circleR = (cirlcleRect.right - cirlcleRect.left) / 2;
float bitH = circleR;
- float bitW = bitH*0.448f;
+ float bitW = bitH * 0.448f;
canvas.save();
- canvas.rotate(percent*300-150,mWidth/2,mWidth/2);
- RectF btmRect = new RectF((float) (cirlcleRect.left+bitH-bitW*0.535), (float) (cirlcleRect.top+mCircleWidth*0.68),(float) (cirlcleRect.left+bitH+bitW*0.465), (float) (cirlcleRect.top+bitH+mCircleWidth*0.68));
+
+ System.out.println("chenqi percent connect" + percent);
+ canvas.rotate(percent * 300 - 150, mWidth / 2, mWidth / 2);
+ RectF btmRect = new RectF((float) (cirlcleRect.left + bitH - bitW * 0.535), (float) (cirlcleRect.top + mCircleWidth * 0.68), (float) (cirlcleRect.left + bitH + bitW * 0.465), (float) (cirlcleRect.top + bitH + mCircleWidth * 0.68));
// Log.d("haijiang","left="+btmRect.left);
// Log.d("haijiang","right="+btmRect.right);
// Log.d("haijiang","top="+btmRect.top);
// Log.d("haijiang","bottom="+btmRect.bottom);
// Log.d("haijiang","������������="+(btmRect.right-btmRect.left)/(btmRect.bottom-btmRect.top));
- canvas.drawBitmap(mBitmap,null,btmRect,mBitPaint);
+ canvas.drawBitmap(mBitmap, null, btmRect, mBitPaint);
canvas.restore();
drawTextPaint.setColor(line3Color);
drawTextPaint.setTextSize(textSize);
int statusStrWidth = (int) drawTextPaint.measureText(this.statusStr);
- canvas.drawText(this.statusStr,mWidth / 2-statusStrWidth/2, mWidth/2+(btmRect.bottom-btmRect.top)/2,drawTextPaint);
- if(percent>0)
- canvas.drawArc(new RectF(mShaderWidth + widthInner+mCircleWidth+innerPadding, mShaderWidth + widthInner+mCircleWidth+innerPadding, mWidth - mShaderWidth - widthInner-mCircleWidth-innerPadding, mWidth - mShaderWidth - widthInner-mCircleWidth-innerPadding), 120, 300*percent, false, mProgressPaint);
+ canvas.drawText(this.statusStr, mWidth / 2 - statusStrWidth / 2, mWidth / 2 + (btmRect.bottom - btmRect.top) / 2, drawTextPaint);
+ if (percent > 0)
+ canvas.drawArc(new RectF(mShaderWidth + widthInner + mCircleWidth + innerPadding, mShaderWidth + widthInner + mCircleWidth + innerPadding, mWidth - mShaderWidth - widthInner - mCircleWidth - innerPadding, mWidth - mShaderWidth - widthInner - mCircleWidth - innerPadding),
+ 120, 300 * percent, false, mProgressPaint);
}
/**
* ���������
+ *
* @param canvas
*/
- private void drawKedu(Canvas canvas){
+ private void drawKedu(Canvas canvas) {
//���������������
for (int i = 0; i <= 50; i++) {
canvas.save();
@@ -245,85 +284,86 @@
/**
* ���������������
+ *
* @param canvas
*/
- private void drawTextKedu(Canvas canvas){
- for(int i=0;i<level.length;i++){
+ private void drawTextKedu(Canvas canvas) {
+ for (int i = 0; i < level.length; i++) {
float textWidth = drawTextPaint.measureText(level[i]);
- if(percent<0.25){
- if(i==0){
+ if (percent < 0.25) {
+ if (i == 0) {
drawTextPaint.setColor(line3Color);
- }else{
+ } else {
drawTextPaint.setColor(Color.GRAY);
}
canvas.save();
- if(i==0){
- canvas.rotate(-120,mWidth/2,mWidth/2);
- }else if(i==1){
- canvas.rotate(-45,mWidth/2,mWidth/2);
- }else if(i==2){
- canvas.rotate(45,mWidth/2,mWidth/2);
- }else if(i==3){
- canvas.rotate(120,mWidth/2,mWidth/2);
+ if (i == 0) {
+ canvas.rotate(-120, mWidth / 2, mWidth / 2);
+ } else if (i == 1) {
+ canvas.rotate(-45, mWidth / 2, mWidth / 2);
+ } else if (i == 2) {
+ canvas.rotate(45, mWidth / 2, mWidth / 2);
+ } else if (i == 3) {
+ canvas.rotate(120, mWidth / 2, mWidth / 2);
}
- canvas.drawText(level[i],mWidth / 2-textWidth/2, paddingKedu+line2Length+textSize,drawTextPaint);
+ canvas.drawText(level[i], mWidth / 2 - textWidth / 2, paddingKedu + line2Length + textSize, drawTextPaint);
canvas.restore();
- }else if(percent>=0.25&&percent<0.5){
- if(i==1){
+ } else if (percent >= 0.25 && percent < 0.5) {
+ if (i == 1) {
drawTextPaint.setColor(line3Color);
- }else{
+ } else {
drawTextPaint.setColor(Color.GRAY);
}
canvas.save();
// canvas.rotate(-120+i*75,mWidth/2,mWidth/2);
- if(i==0){
- canvas.rotate(-120,mWidth/2,mWidth/2);
- }else if(i==1){
- canvas.rotate(-45,mWidth/2,mWidth/2);
- }else if(i==2){
- canvas.rotate(45,mWidth/2,mWidth/2);
- }else if(i==3){
- canvas.rotate(120,mWidth/2,mWidth/2);
+ if (i == 0) {
+ canvas.rotate(-120, mWidth / 2, mWidth / 2);
+ } else if (i == 1) {
+ canvas.rotate(-45, mWidth / 2, mWidth / 2);
+ } else if (i == 2) {
+ canvas.rotate(45, mWidth / 2, mWidth / 2);
+ } else if (i == 3) {
+ canvas.rotate(120, mWidth / 2, mWidth / 2);
}
- canvas.drawText(level[i],mWidth / 2-textWidth/2, paddingKedu+line2Length+textSize,drawTextPaint);
+ canvas.drawText(level[i], mWidth / 2 - textWidth / 2, paddingKedu + line2Length + textSize, drawTextPaint);
canvas.restore();
- }else if(percent>=0.5&&percent<0.75){
- if(i==2){
+ } else if (percent >= 0.5 && percent < 0.75) {
+ if (i == 2) {
drawTextPaint.setColor(line3Color);
- }else{
+ } else {
drawTextPaint.setColor(Color.GRAY);
}
canvas.save();
// canvas.rotate(-120+i*75,mWidth/2,mWidth/2);
- if(i==0){
- canvas.rotate(-120,mWidth/2,mWidth/2);
- }else if(i==1){
- canvas.rotate(-45,mWidth/2,mWidth/2);
- }else if(i==2){
- canvas.rotate(45,mWidth/2,mWidth/2);
- }else if(i==3){
- canvas.rotate(120,mWidth/2,mWidth/2);
+ if (i == 0) {
+ canvas.rotate(-120, mWidth / 2, mWidth / 2);
+ } else if (i == 1) {
+ canvas.rotate(-45, mWidth / 2, mWidth / 2);
+ } else if (i == 2) {
+ canvas.rotate(45, mWidth / 2, mWidth / 2);
+ } else if (i == 3) {
+ canvas.rotate(120, mWidth / 2, mWidth / 2);
}
- canvas.drawText(level[i],mWidth / 2-textWidth/2, paddingKedu+line2Length+textSize,drawTextPaint);
+ canvas.drawText(level[i], mWidth / 2 - textWidth / 2, paddingKedu + line2Length + textSize, drawTextPaint);
canvas.restore();
- }else if(percent>=0.75){
- if(i==3){
+ } else if (percent >= 0.75) {
+ if (i == 3) {
drawTextPaint.setColor(line3Color);
- }else{
+ } else {
drawTextPaint.setColor(Color.GRAY);
}
canvas.save();
// canvas.rotate(-105+i*75,mWidth/2,mWidth/2);
- if(i==0){
- canvas.rotate(-120,mWidth/2,mWidth/2);
- }else if(i==1){
- canvas.rotate(-45,mWidth/2,mWidth/2);
- }else if(i==2){
- canvas.rotate(45,mWidth/2,mWidth/2);
- }else if(i==3){
- canvas.rotate(120,mWidth/2,mWidth/2);
+ if (i == 0) {
+ canvas.rotate(-120, mWidth / 2, mWidth / 2);
+ } else if (i == 1) {
+ canvas.rotate(-45, mWidth / 2, mWidth / 2);
+ } else if (i == 2) {
+ canvas.rotate(45, mWidth / 2, mWidth / 2);
+ } else if (i == 3) {
+ canvas.rotate(120, mWidth / 2, mWidth / 2);
}
- canvas.drawText(level[i],mWidth / 2-textWidth/2, paddingKedu+line2Length+textSize,drawTextPaint);
+ canvas.drawText(level[i], mWidth / 2 - textWidth / 2, paddingKedu + line2Length + textSize, drawTextPaint);
canvas.restore();
}
}
@@ -331,24 +371,25 @@
/**
* ���������������
+ *
* @param canvas
*/
- private void drawJianbianCircle(Canvas canvas){
+ private void drawJianbianCircle(Canvas canvas) {
mSweepGradient = new SweepGradient(mWidth / 2, mWidth / 2, mshaderColor, null);
mShaderPaint.setShader(mSweepGradient);
canvas.drawArc(new RectF(mShaderWidth + widthInner, mShaderWidth + widthInner, mWidth - mShaderWidth - widthInner, mWidth - mShaderWidth - widthInner), 120, 300, false, mShaderPaint);
//���������������
canvas.save();
canvas.rotate(75, mWidth / 2, mWidth / 2);
- canvas.drawLine(mWidth / 2, line2Length + paddingKedu*3, mWidth / 2, (float) (line2Length + paddingKedu*0.65+mShaderWidth*2), paintGapLine);
+ canvas.drawLine(mWidth / 2, line2Length + paddingKedu * 3, mWidth / 2, (float) (line2Length + paddingKedu * 0.65 + mShaderWidth * 2), paintGapLine);
canvas.restore();
canvas.save();
canvas.rotate(0, mWidth / 2, mWidth / 2);
- canvas.drawLine(mWidth / 2, line2Length + paddingKedu*3, mWidth / 2, (float) (line2Length + paddingKedu*0.65+mShaderWidth*2), paintGapLine);
+ canvas.drawLine(mWidth / 2, line2Length + paddingKedu * 3, mWidth / 2, (float) (line2Length + paddingKedu * 0.65 + mShaderWidth * 2), paintGapLine);
canvas.restore();
canvas.save();
canvas.rotate(-75, mWidth / 2, mWidth / 2);
- canvas.drawLine(mWidth / 2, line2Length + paddingKedu*3, mWidth / 2, (float) (line2Length + paddingKedu*0.65+mShaderWidth*2), paintGapLine);
+ canvas.drawLine(mWidth / 2, line2Length + paddingKedu * 3, mWidth / 2, (float) (line2Length + paddingKedu * 0.65 + mShaderWidth * 2), paintGapLine);
canvas.restore();
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9cd1f3f..11e3d96 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,6 @@
<resources>
<string name="app_name">���������</string>
+ <string name="app_name_text">���������Text</string>
<string name="action_settings">Settings</string>
<string name="soft_update_no">���������������������</string>
diff --git a/gradlew b/gradlew
old mode 100644
new mode 100755
--
Gitblit v1.8.0