-
Recently I have started to use Logger to get an insight into my phoning habits. That app should display the contact name, but it only shows Does that make sense? If yes, what do I have to do to keep the (cached?) names in the call logs? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 6 replies
-
Hi davx5 team and @sphh , I’m the developer of Logger , a call log-based application designed to provide insights into phoning habits. @sphh , brought up an issue where Logger displays "Unknown" instead of contact names, even though other apps seem to display the names correctly. Upon investigation, I found that my app which is designed to retrieves call data directly from the Android call log database, specifically relying on the Curious, I reviewed the implementation of another open-source app, "Right Dialer," which retrieves contact names by querying the contacts database separately and mapping the results back to the call logs. While this is a valid workaround, it’s not a feasible solution for my app due to potential performance issues—especially on devices with extensive call logs or limited hardware resources. From what I’ve gathered, the root cause of this issue seems to be related to contact syncing. Logger depends on the Android system to sync and populate the name field in the call log database. If this field is empty, the app has no way of retrieving the contact names. I suspect that DAVx⁵’s contact syncing behavior might be involved here. It’s possible that certain privacy settings or configurations in DAVx⁵ prevent contact names from being synced to the call log database. Could you kindly confirm if DAVx⁵ might restrict syncing of contact names to the call log database, or if there are any settings users can adjust to ensure this data is properly synced? I’d really appreciate your insights on this ! Link to the issue : Sanmeet007/logger#16 |
Beta Was this translation helpful? Give feedback.
-
Thank you for your detailed explanation and for clarifying how DAVx⁵ handles contact syncing! As I mentioned earlier, implementing a mechanism to map and fetch contact names from the contacts database (especially as a fallback when cached_name is empty) would require significantly more processing, leading to increased load on my app. This trade-off could impact the app's performance, particularly on devices with extensive call logs or limited hardware resources. Regarding the issue at hand, I have thoroughly tested my app with multiple Android devices and versions, including setups using DAVx⁵, but I was unable to reproduce this specific problem. However, I do understand that the cached_name field being empty is a documented possibility—this can happen when numbers are unregistered, or when contact information has been updated but not yet refreshed. In sphh’s case, the contacts are confirmed to be saved in the phone, and he has tried multiple times without success in resolving the issue. This raises a question: Does DAVx⁵ sync contact names with the call history log, as Google’s sync service does? If not, could that be a factor in why the cached_name field remains empty in this scenario? I appreciate your insights on this matter and your help in clarifying how DAVx⁵ interacts with the Android call log database. |
Beta Was this translation helpful? Give feedback.
-
@rfc2822 Thank you so much for pointing this out! I sincerely apologize for the time and effort spent due to my inability to consider the dialer as the root cause earlier. After further testing, I was able to reproduce the issue, and it turns out the problem was indeed with the dialer all along. I appreciate your patience and support throughout this investigation, and I’ll make sure to factor in such possibilities more thoroughly in the future. Thank you again for helping me get to the bottom of this! |
Beta Was this translation helpful? Give feedback.
At least the phone-number lookup is documented as "highly optimized".
DAVx5 syncs the raw contacts with the contacts provider. The contacts provider also seems to be responsible for the call logs, so I think if the call logs provider would need data from the contacts database, it should just work.
DAVx5 itself doesn't do anything with the call history. What exactly do you mean with "sync contact names with the call history log"? What methods would you expect DAVx5 to call?