# Unprotected network shortcuts and device geolocation

Implemented and physically verified beginning 23 September 2026. Current location history/manual positioning is in chapter 34; current Android builds are 3.9.14-dev.

## Network access

UIC Home's Wi-Fi shortcut now opens Android Wi-Fi settings directly. Cellular opens the Android Internet connectivity panel directly, with data-usage/wireless-settings fallbacks for vendor builds that cannot handle the panel. No launcher passcode is required for these two shortcuts. The panel exposes cellular controls according to Android/SIM availability; the app does not secretly change network state.

General Android settings, vendor settings entries and changing the settings passcode remain protected by the existing six-digit gate. The configured passcode and enrollment were preserved. This is a launcher entry gate, not an OS-wide device-owner restriction on every possible settings navigation path.

Physical tests used the launcher shortcuts: Wi-Fi reached com.android.settings without a passcode screen; Cellular reached the System UI Internet panel without a passcode screen; Settings reached Protected settings / Passcode. No network connection or mobile-data toggle was changed during these tests.

## GPS capability and current result

The connected NEWPOS NEW9810 advertises android.hardware.location.gps. Android lists an enabled GPS provider backed by GnssService with satellite positioning capabilities. System location was already enabled. After installation and location permission grant, diagnostics confirmed the agent's active GPS requests and mStarted=true.

At verification, the device had not delivered its first position: last location remained null and the TMS received gpsSupported=true, locationStatus=waiting_for_fix. The portal displays that status in English/Spanish. Hardware/software support is confirmed; a real satellite fix remains unverified. Keep the launcher visible near a window or outdoors for the initial acquisition. No location was fabricated or inferred from the workstation or IP address.

## Agent behavior

The shared multi-brand launcher uses Android LocationManager, with no Google Play Services dependency. It requests coarse and fine foreground location permission once; denial does not block the launcher. Location collection starts while the launcher is resumed and stops when paused. Permission can later be managed in Android app settings. This implementation does not request background location or provide always-on background tracking.

Available enabled GPS, network and fused providers are used, with a 60-second minimum requested interval and 10-meter displacement threshold. Actual scheduling and accuracy depend on Android and the provider. Recent callbacks replace older fixes; last-known provider locations retain their original capture time. Mock, out-of-range, invalid-accuracy and implausibly future fixes are rejected. The API 29 mock-location compatibility path is retained.

Telemetry adds gpsSupported and locationStatus (permission_required, disabled, waiting_for_fix, available). When a valid fix exists and permission/system location remain enabled, location contains latitude, longitude, accuracyMeters, capturedAtUtc and source. Latest fixes are kept in process memory; they are sent through the existing durable MQTT outbox and server receipt flow. Existing OpenFreeMap rendering handles the marker, accuracy, timestamp and stale-location warning.

## Verification

- NEWPOS and NEXGO debug builds succeeded; two existing passcode unit tests passed.
- Installed the latest NEWPOS APK without clearing data; granted foreground coarse/fine location permission as requested.
- Physically exercised all three shortcuts and restored UIC Home to the foreground.
- Verified active GPS requests in Android diagnostics and waiting_for_fix telemetry in SQL.
- Verified the Spanish GPS badge and waiting-state text in the rendered portal.
- The current .NET Release build has zero warnings/errors; the clean integration run passes 239 checks.
