I see some very strange results returned by the recently published getStressHistory function (similar with getBodyBatteryHistory). It is wrong even in simulator, but on a real device it is even worse.
sensorIter = SensorHistory.getStressHistory({ :period => 1, :order => SensorHistory.ORDER_NEWEST_FIRST});
mTime = $.sensorIter.getNewestSampleTime();
// Simulator:
// Returns current date - correct
// Real device Vivoactive 4:
// 2 possibilities:
// 1. If iterator is empty, returns 30/12/1989 ?!
// 2. If iterator has data, returns correct date
mData = $.sensorIter.getMin();
// Simulator:
// Returns correct value (35 in my case)
// Real device Vivoactive 4:
// 2 possibilities:
// 1. If iterator is empty, returns 127 (that is stress level 127% ?!)
// 2. If iterator has data, returns correct value
mSensorSample = sensorIter.next();
// Real device Vivoactive 4:
// Often returns NULL
if (mSensorSample != null) {
mTime = mSensorSample.when;
// On both, simulator and real device, returns next day but year 2002 !
// For example, today it shows 27/3/2002 (it should be 26/3/2022)
}
Main issues:
- On real device often returns empty iterator
- When use next(), always returns wrong date (year 2002)
- getMin() returs 127 (%) instead of null from empty iterator
There is a lot more weird behavior, but this is the main issue. I tried a few simulators (different watch models) - it is always the same. I have only one compatible physical watch - Vivoactive 4, and that is the result from it. Let me know if you want a sample code to try yourself.
Brandon.ConnectIQ, would you please take a look?
Thanks!
-
Shent-Aurkhan (SHN)
-
Cancel
-
Vote Up
0
Vote Down
-
-
More
-
Cancel
Comment-
Shent-Aurkhan (SHN)
-
Cancel
-
Vote Up
0
Vote Down
-
-
More
-
Cancel
Children