# ADR 0002: Android system time update capability ## Question Can NTP Check update the Android device system time? ## Finding For a normal Play/user-installed Android app: **no**. Android protects system clock changes behind privileged APIs/permissions. An app can measure offset and show guidance, but it cannot directly set wall-clock time unless it is installed with elevated trust. ## Practical options 1. **Normal app behavior for v1** - Probe NTP servers. - Show estimated device offset. - Warn when local clock appears wrong. - Provide a button to open Android Date & Time settings. - No special permissions beyond `INTERNET`. 2. **Device-owner / enterprise-managed device** - Some Android management APIs allow a device owner/profile owner to control certain time/timezone policies depending on Android version and ownership mode. - This requires provisioning the app as a device policy controller, not a typical install. 3. **Privileged/system app or custom ROM** - A system-signed or `/system/priv-app` application can use privileged permissions such as `android.permission.SET_TIME`. - This is not available to ordinary APK installs. 4. **Rooted device helper** - A rooted-device mode could call shell commands such as `date`/`toybox date`, but this is out of scope for v1 and has safety/security risks. ## Decision V1 will not set Android system time. It will remain a diagnostic/comparison tool and may include an "Open Date & Time settings" action. Any future clock-setting mode must be explicitly separate and gated as enterprise/device-owner, privileged-system, or rooted-device functionality. ## Product implication Market the app as an NTP testing and comparison dashboard, not as a general Android time synchronization daemon.