Ticket Created
over 4 years ago

WERETECH-10061

Wrong Activity.getActivityInfo().currentLocation on fenix 6 pro

I seems that Activity.getActivityInfo().currentLocation returns a position object with lat/lon coordinates of 0 (zero), instead of returning null.

In watch faces, Activity.getActivityInfo().currentLocation is used to get current or recent GPS position retrieved by GPS fix from last activity.

When GPS fix expired after some time, Activity.getActivityInfo().currentLocation should return null.

But on my fenix 6 pro it seems to return a position object with lat/lon coordinates of 0.

Code used in watch face:

var location;
var locationArray;

location = Activity.getActivityInfo().currentLocation;
if (location != null) {
   locationArray = location.toDegrees();
}
-
On my fenix 6 pro location var is not null and locationArray is [0.000000, 0.000000]
On my forerunner 645 location var is null, which is correct.
Simulator is also correct with fenix 6 (pro).
Parents
  • Hm, I think the question is why did Garmin change the implementation of this. In the past, the position did not expire and you could check the timestamp of the last fix via Position.Info.when.

    Now, if you start an activity and cancel it before you have a gps fix the location is always set to 0, 0 and accuracy is set to 1. That is from my point of view a bug.

    If there is no gps fix there shouldn't be any change on the last known location.

Comment
  • Hm, I think the question is why did Garmin change the implementation of this. In the past, the position did not expire and you could check the timestamp of the last fix via Position.Info.when.

    Now, if you start an activity and cancel it before you have a gps fix the location is always set to 0, 0 and accuracy is set to 1. That is from my point of view a bug.

    If there is no gps fix there shouldn't be any change on the last known location.

Children