When there is an incoming call, what is the hierarchy of data sources? I would guess from my observations it’s:
...
Would that be correct?
We've never formally documented the exact order and probably never will, as this is exactly the sort of implementation detail we tend to avoid trying to document in exact detail.
Having said that, yes, that looks right.
There are additionally VoIP Calls, but beyond that, are there other sources of data where call time information is extracted from to display on the call screen?
You didn't mention the ContactProvider extension. In terms of the hierarchy above, I suspect it's between #1 and #2, but I don't actually know off the top of my head.
A few general comments here:
-
The system’s primary goal here is "do what seems sensible and manageable to the user", not necessarily "what's most correct". Case in point, the reason the contact's directory takes "precedence" over other data sources is that it's what the user directly controls and we're trying to avoid creating a situation where the user labeled a number "Mom" and the phone presented "Mrs. Elliott". The issue isn't that one is "right" and the other is "wrong", it's that "Mom" is the value they can directly modify.
-
In a similar vein, I expect the ContactProvider extension to take precedence over other data sources because that data is directly visible in Contacts, even if it can't be edited.
-
I believe we should now be "labeling" call identification data so that it's clear where less visible sources (like Live CallerID or CXCallDirectory) have provided data. If you find an exception to that, please file a bug.
__
Kevin Elliott
DTS Engineer, CoreOS/Hardware