FossifyOrg / Phone

A handy phone call manager with phonebook, number blocking and multi-SIM support
https://www.fossify.org
GNU General Public License v3.0
482 stars 44 forks source link

History does not show contact name if more than one phone number are stored in contact #74

Open sphh opened 8 months ago

sphh commented 8 months ago

Checklist

Affected app version

1.0.0

Affected Android/Custom ROM version

Android 8.1

Affected device model

Unihertz Jelly Pro

How did you install the app?

F-Droid / IzzyOnDroid

Steps to reproduce the bug

  1. I receive a phone call from a contact in one of my contact list (they are synchronised with the help of DAVx⁵).
  2. The contact name shows on the caller screen.
  3. I pick up the call or I don't – it does not matter.
  4. After the phone call I switch to the history tab: There I can only see the number and the type of number (if specified) but not the name.

Expected behavior

The caller history should show the name of the contact (and the type of number).

Actual behavior

The caller history does not show the name of the contact, just the number, for contacts which have more than one number stored.

If there is just one number stored in the contact, the contact name is shown.

On the screen presented when being called, the contact name is always shown correctly, so I assume the look-up functionality is different between the called screen and the history.

Screenshots/Screen recordings

No response

Additional information

EDIT: ~No response~ This is different to #28, which affects the Contacts tab.

chesio commented 8 months ago

I have similar setup with contacts being synchronized via DAVx⁵ and don't have the issue (and I have multiple contacts with 2 or more phone numbers). I'm on Android 13 though.

sphh commented 8 months ago

Just out of curiosity: Do you also have multiple address books?

I tried to find a pattern in the contacts not displayed. I could not identify any. Some contacts are in the same address book, some are spread over both address books. Some have a land line and a mobile number, some have two mobile numbers. Some have a number marked as favourite, some not. The only common pattern is, that all have two (or more) phone numbers in one contact.

I double checked with Fossify SMS Messenger: This Fossify App displays the correct phone number even for the contacts, which are not displayed in Fossify Phone.

And Fossify Phone can find the correct contact entry, because the name is displayed correctly when receiving a call.

If you need a log or anything else, I am happy to provide it.

chesio commented 8 months ago

Do you also have multiple address books?

I have only one address book that is synced with DAVx⁵. I then have address books created by additional apps that create an account on my phone (Google, WhatsApp, Signal...). I have however turned them off in Contacts app, because I don't want to see the same contacts twice.

M1Aston commented 7 months ago

I can confirm that contacts for whatever reason sometimes are show as a number. This is for the same contact\number:

Screenshot_20240218-182921
sphh commented 4 months ago

@naveensingh: Is there anything we can do to help you tracking down that problem?

Saarsk commented 3 months ago

I can confirm this issue (it's driving me crazy!).

It seems to be unrelated to configuration, judging by the differences among users.


I run version 1.0.1 on GrapheneOS 14 on Google Pixel 8 Pro.

I did not import or sync any contacts. I created them manually.

I did, however, import the call log from another phone (from Fossify Phone). I had the same problem there and also tried finding ways to fix it.

I tried:

Nothing works.


Strangely, after importing the call log from the previous phone, it showes contact names for contacts I don't have on this new phone. I didn't see an option to save contacts on the SIM-card (like in the old days), so I can only assume that "phone storage" means what it explicitly says. ;)

Meaning, it can't be that contacts were saved to the SIM-card, right?

So, seeing as contact names are shown in the call log for contacts I don't have saved on this phone, could it be an issue related to how the app handles caching and database storage?

That's the only possibility that makes sense in my head. Why else would I get contact names in the call log that aren't saved on this phone (but were present on the phone I exported the call log history from)?

I'm so confused about this issue and it drives me crazy that half of the call log are numbers without names that I have saved as contacts.


Update:

I also tried:


Update 2:

So this just got a lot weirder. The call log shows contact name for some of the entries, but no all. Even though the number is the same (incl. country code. For instance, different entries with the same number and e.g. no country code for all of them (identical number).

Yet, only some entries show contact name. Should I make a separate issue for this? Or could both issues be caused by the same bug?

Again, to clarify, I have both issues (so the feedback for this thread is still relevant): One being that multiple numbers within a single contact doesn't show contact names for all of them in Phone's call log.

And two, different entries with the identical number where some entries don't show contact name in call log.


Mini update/bottom line:

There are some very strange things happening here, as detailed in my long message here. It seems the app is not always looking for contact data purely from contact storage, but other mysterious places as well. Like remnants from another phone's cache? It's own cache confusing itself? I have no idea.

DeMiro5001 commented 1 month ago

I am having the same issue since about a week. Call history shows only numbers and photos of the contact. I tried other dialers and some of them behaved the same such as emerald dialer, simple dialer but not the google phone app, koler or welefon. So I looked at the database of the call log located in /data/data/com.android.providers.contacts I opened it with sql viewer and there is in fact a change in the pattern data is saved in the database from that point. Some entries are empty, such as name, geolocation, number label, lookup uri, photo uri... Some others have changed schemes, like normalized number and formatted number. I tried reinstalling the app but this had no effect. I am not sure if this helps the devs, but I don't have the required qualifications to go further.

sphh commented 3 days ago

I just tried Right Dialer (which is based on Simple Dialer). This dialer displays the contact names correctly.