mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2025-06-05 21:49:48 +02:00
Xiaomi: Improve activity details parsing on some devices
This commit is contained in:
@@ -52,10 +52,13 @@ public class DailyDetailsParser extends XiaomiActivityParser {
|
|||||||
final int sampleSize;
|
final int sampleSize;
|
||||||
switch (version) {
|
switch (version) {
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
|
||||||
headerSize = 4;
|
headerSize = 4;
|
||||||
sampleSize = 7;
|
sampleSize = 7;
|
||||||
break;
|
break;
|
||||||
|
case 2:
|
||||||
|
headerSize = 4;
|
||||||
|
sampleSize = 10;
|
||||||
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
headerSize = 5;
|
headerSize = 5;
|
||||||
sampleSize = 12;
|
sampleSize = 12;
|
||||||
@@ -95,12 +98,15 @@ public class DailyDetailsParser extends XiaomiActivityParser {
|
|||||||
|
|
||||||
sample.setHeartRate(buf.get() & 0xff);
|
sample.setHeartRate(buf.get() & 0xff);
|
||||||
|
|
||||||
if (version == 3) {
|
if (version >= 2) {
|
||||||
final byte[] unknown2 = new byte[3];
|
final byte[] unknown2 = new byte[3];
|
||||||
buf.get(unknown2); // TODO intensity and kind?
|
buf.get(unknown2); // TODO intensity and kind? energy?
|
||||||
|
|
||||||
sample.setSpo2(buf.get() & 0xff);
|
if (version == 3) {
|
||||||
sample.setStress(buf.get() & 0xff);
|
// TODO gadgets with versions 2 also should have stress, but the values don't make sense
|
||||||
|
sample.setSpo2(buf.get() & 0xff);
|
||||||
|
sample.setStress(buf.get() & 0xff);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
samples.add(sample);
|
samples.add(sample);
|
||||||
|
Reference in New Issue
Block a user