I installed CyanogenMod 11 on my HTC One (M8) the other day and, so far, have only installed DAVdroid for contact synchronization and Network Log. So, out of curiousity, I let Network Log run when I added my contacts in order to verify that DAVdroid indeed only connects to my server. Turns out it does. However, I noticed that CyanogenMod's default keyboard (which I assume is more or less Android's default keyboard?) connected to an IP with a *.1e100.net hostname – which belongs to Google. I've taken a short look at the keyboard's source code – which I believe is this one – and think I found something like an update function for the dictionaries but also some kind of upload functionality?! I don't know where the hosts are stored, though.
Can anyone familiar with the code tell me:
- What the upload function is there for and
- whether the above findings explain my observation (do the updater and uploader indeed connect to Google?) or whether I missed any network-related code?
- Why has noone thought about the fact that having the keyboard connect to some Google host isn't the smartest thing and is bound to make someone suspicious?
- Why can't dictionary updates be done the usual way via the PlayStore? (I don't think languages change that fast, so the occasional download via PlayStore would certainly not annoy anyone.)
UPDATE: I tried to reproduce the observations, this time with XPrivacy installed (I in principal enabled all permissions for all apps as long as they are listed in their manifests): Turns out, I can't. In XPrivacy, I noticed that the AOSP keyboard doesn't even have the necessary permissions in its manifest to access the internet. So, I'm not sure whether I just saw some ghost the other day or if the keyboard is run with root privileges or it's what they call a system-privileged app both of which might explain why it can establish a connection, anyway.
On the other hand, this time I also noticed some background service called "input devices" connecting to Google. So either I mistook this service for the AOSP keyboard (which I doubt because I wouldn't have thought of the "AOSP" term) or we have two apps / services ("AOSP keyboard" and "input devices") connecting to Google.
In any case, the update/upload functionality mentioned above still raises questions.