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).
  • Hm. I still insist that it should return null instead of an array with zero values.

    Lat/Lon of 0,0 is a valid geo position (though it is somewhere in pacific ocean next to Ghana/Africa).

  • I experience the same. However, what is not correctly implemented imho is that when the location is reset to 0,0 the accuracy is still 1 (QUALITY_LAST_KNOWN) where I think it should be 0 (QUALITY_NOT_AVAILABLE)

  • Ok, thanks for confirmation.

    You surely agree that returning an array with any values for lat / lon does not make sense at all where it actually should return null.

    I assume this happens also on other watch models.

  •  on my Fenix 6 pro, location is also reset to 0, 0 (lat, long) if you abort a GPS fix - I mean launch any activity with gps but quit before the gps is locked.

    this is a recent behavior: before one of the latest upgrades, latitude was set to 180 in such circumstances. (which I preferred as it does not have any sense).

  • ?

    I am talking of expired GPS fix.

    I did not get a GPS fix on both devices for some days.

    Again:

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