Position::Info timestamp field is always invalid

It looks to me that the when field of the Position::Info object is always set to 0x7fffffff. This appears to be an undocumented sentinel value (equivalent to INT_MAX for a 32-bit integer). I'm do not believe that this is expected behavior, since the value is the same whether the Position::Info comes from a call to Position.getInfo() or via the callback passed to Position.enableLocationEvents().

Here is a snippet of a test case to illustrate the problem.

using Toybox.WatchUi as Ui;
using Toybox.System as Sys;
using Toybox.Position as Position;
using Toybox.Graphics as Gfx;
using Toybox.Timer as Timer;

function format_accuracy(status) {
var val = status.accuracy;

if (val == Position.QUALITY_GOOD) {
return "Good";
}
else if (val == Position.QUALITY_USABLE) {
return "Usable";
}
else if (val == Position.QUALITY_POOR) {
return "Poor";
}
else if (val == Position.QUALITY_LAST_KNOWN) {
return "Last Known";
}
else {
return "Unknown";
}
}

function format_timestamp(status) {
var val = status.when;
return val.value().format("%#x");
}

function format_position(status) {
//return status.position.toGeoString(Position.GEO_DMS);
var p = status.position.toDegrees();
return Lang.format("$1$, $2$", [
p[0].format("%0.3f"),
p[1].format("%0.3f")
]);
}

class PositionView extends Ui.View
{
hidden var mTimer;

hidden var mSuccess;

function initialize() {
}

function onLayout(dc) {
mTimer = new Timer.Timer();
}

function onShow() {
Position.enableLocationEvents(Position.LOCATION_ONE_SHOT, self.method(:onLocation));

mTimer.start(self.method(:onTimer), 5000, true);
}

function onHide() {
mTimer.stop();

Position.enableLocationEvents(Position.LOCATION_DISABLE);
}

function onLocation(info) {
mSuccess = info;
Ui.requestUpdate();
}

function onTimer() {
Ui.requestUpdate();
}

function onUpdate(dc) {
dc.setColor(Gfx.COLOR_WHITE, Gfx.COLOR_BLACK);
dc.clear();

var status = Position.getInfo();
if (status != null) {
dc.drawText(0, 0, Gfx.FONT_SMALL, format_accuracy(status), Gfx.TEXT_JUSTIFY_LEFT);
dc.drawText(0, 20, Gfx.FONT_SMALL, format_timestamp(status), Gfx.TEXT_JUSTIFY_LEFT);
dc.drawText(0, 40, Gfx.FONT_SMALL, format_position(status), Gfx.TEXT_JUSTIFY_LEFT);
}

if (mSuccess) {
dc.drawText(0, 60, Gfx.FONT_SMALL, format_accuracy(mSuccess), Gfx.TEXT_JUSTIFY_LEFT);
dc.drawText(0, 80, Gfx.FONT_SMALL, format_timestamp(mSuccess), Gfx.TEXT_JUSTIFY_LEFT);
dc.drawText(0, 100, Gfx.FONT_SMALL, format_position(mSuccess), Gfx.TEXT_JUSTIFY_LEFT);
}
}
}


If this field was valid, an application could avoid firing up the GPS for position data if the most recent position isn't too stale (as defined by the accuracy and when flags).