What is the synchronization source for the internal clock Using a tool to compare the internal clock of my Android device to internet time servers, I noticed my device is 30 seconds wrong.

So that made me wondering what is the cause of this error. Where does Android gets it time from, so I can adjust or complain there:

I can think of the following sources:


Provided by the cellular network provider.
From GPS.
From a NTP server on the local WIFI network.
A global NTP server (hosted by Google)?
When I go to my Date &amp; time settings, there is option that says: Automatic - Use network-provided values. 
So, basing on this wording (also in other languages), I would say that automatic time is provided from your carrier.

There are apps, that can sync your clock with GPS satellites or NTP servers.