Um das einmal klar zu machen:
Das Tablet fragt alle 5 Sekunden das Betriebssystem nach einem GPS-Punkt. Das Betriebssystem hat 4 Sekunden Zeit, einen GPS-Punkt zu bestimmen. Wenn es das nicht schafft, wird das Betriebssystem nach dem letzten bekannten GPS-Punkt gefragt.
Dann logt das Tablet im Debug-Modus "Current location is not available. Falling back to last known (cached) position..."
Wenn auch keine letzte bekannte Position verfügbar ist, logt es "No (not even a cached) GPS position available.". Und bricht den aktuellen Vorgang ab, probiert es aber in 5 Sekunden wieder.
Wenn die Genauigkeit des erhaltenen GPS-Punkts geringer (also Wert größer) als 250 Meter ist oder der Punkt vor mehr als 10 Minuten erfasst wurde, wird die Position verworfen und das Tablet logt "Location accuracy is more than 250 Meters or received position is older than 10 Minutes. Ignoring...".
Wenn wir durch diese Prüfungen durch gekommen sind, geht die GPS-Schaltfläche auf der Startseite auf grün.
Bevor wir die Position veröffentlichen, prüfen wir aber noch, ob sich die Position um mehr als 20 Metern geändert hat. Falls das nicht so ist, wird die Position nur alle 5 Minuten aktualisiert (also im Stand).
Falls das greift, wird "GPS Location update is within tolerance of 20 Meters [{distance}] and 5 minutes are not elapsed yet.[{timeElapsedSinceLastUpdate}]. Not publishing."