Simple-Contacts
Simple-Contacts copied to clipboard
Contacts not synced when local storage uses
https://github.com/SimpleMobileTools/Simple-Contacts/commit/fc837af84f68e41a14ba9933bf524acb090db5f6
- Uses clean firmware without any accounts (Google, Telegram and so on)
- Create new contact
- Install DavX or another app with same functionality
- Try to sync contact with another device
Expected: DavX can sync contact
Actual: DavX does not see contact because it saved in phone storage and it's not available for another apps
Previously, the application worked fine, but now I have to roll back to the old version.
what contact sources do you see at the Filter dialog?
Phone storage (not visible by other apps)

I.e. another apps cannot get access to contacts.
https://user-images.githubusercontent.com/9267281/166722774-133acdad-f92c-4023-a8b4-a7ffa53a1814.mp4
can you create such contacts with some other app? Im afraid you disabled some system service related for storing contacts. The commit you linked is unrelated to this.
Emulator:

No any account created. Because on my own device play services not installed.
Previously Simple Contacts creates account in system phone storage. But now behavior changed. But if I create contact from another app Simple Contacts works fine too:
https://user-images.githubusercontent.com/9267281/166726534-98867e06-826c-4a44-933e-d91fe1eb1530.mp4
And now:
Filter:

Default storage for contacts:

Problem can be reproduce on Android Emulator with Google Play (Android 12) as you can see. I can create contact from system contact app as workaround. But on my own device only Simple Contact installed and I have not workaround.
Now I use custom build without commits https://github.com/SimpleMobileTools/Simple-Contacts/commit/fc837af84f68e41a14ba9933bf524acb090db5f6 and https://github.com/SimpleMobileTools/Simple-Contacts/commit/faf6a8597af426ee73221f7d6398684bfd5613ae as workaround. But it is not good way.
maybe related to #702 then
¯\(ツ)/¯
My workaround was recovering com.android.providers.contacts package, I removed it when setting up my phone along with all carrier, google and facebook apps. It looks like that package manage android contacts, not need of google contacts or any other app.
I have a similar problem, I only see a few of my contacts in this app. Upon opening the filter menu, I have the following options, all ticked:
- Telegram
- Signal
- Phone storage (not visible by other apps)
If I untick Telegram and Signal, no contacts are shown, so no contacts are in the last category.
I've spent some time looking around my phone if I have disabled something relevant, but I think that may not be the case.
The com.android.providers.contacts system app is present and enabled, no components of it are disabled or blocked, same with Simple Contacts and SImple Dialer.
The logcat didn't reveal errors when opening Simple Contacts, other than 2 warnings of SQLiteConnectionPool.
Though if I use Simple Dialer, it is a bit different. That app sees most (if not all) of my contacts, and if I tap on a contact that is not visible in Simple Contacts, and select to open it in Simple Contacts, it is able to retrieve the information of the opened contact (name, phone numbers, email addresses), and it also sees the name of the account in which the contact is stored by the OS. For such contacts I usually also see a "Recovered from: " line, but not always, so that might not be relevant.
I've checked the settings, and I think this is not caused by any of them:
- merge duplicate contacts: off
- show only contacts with phone numbers: off
Versions of the apps that I use:
- Simple Contacts: 6.18.1 F-droid
- Simple Dialer: 5.11.1 F-droid (I've just noticed this one is not up to date)
Edit: after updating Dialer to 5.12.0 it still shows more of my contacts than Contacts.
I suspect that this might be because the app does not see the other accounts that can store contacts. The reason I think so is because of the following:
- if I open a contact with the Contacts app from the Dialer, the Contacts app can see the source account of that contact. In my case this is shown here at the place of the red rectangle. I've redacted it because it may be an online account id of some kind.
- sidenote: according to my phone's preinstalled contacts app, this is the ID of the "Contact cards" account. I also see this same number as the storage location of the contact both in Contacts and in my preinstalled contacts app.
- if I open the new contact menu in Contacts, by default my Outlook account is selected for where to store the new contact, but if I open that menu the only option available is "Phone storage (not visible by other apps)"
After some investigation, it looks like the "Recovered from:"s I've referred to above are names of groups coming from content://com.android.contacts/groups.
But the more important is that it seems most of my contacts are not displayed because they are filtered out here. The Contacts Provider says that my local contact list is not to be synced, and this causes the app to not show those contacts at all.
If I modify the said line so that the body of the if block always runs, I see much more contacts appearing in the contacts list. Actually even a bit more than in the system's built-in contacts app.
I have similiar interest. Because some vendor resells your contact (I am sure you guessed), I have switched most contacts to "local storage (not visible to other apps)" before using an instant messaging application that copies all contacts to their service. So I limit "standard" contacts for this app. No problem as any locally stored contact in Simple tools is available for Simple Dialer and Messager... but I now lack synchronization capability to my NextCloud with DAVx5. Would it be possible to make locally stored contacts visible to selected applications like (or at least) DAVx5?
Noticing about this issue now as well; with phone change I noticed many contacts been lost in between syncs, and it looks like some contacts get saved in the Whatsapp local source, some get saved in Telegram local source, and the app doesn't allow merging/migrating all contacts into one single source so that they can be completely synced with DAVx5...
If there was the option for either migrating all the contacts into a single source, or as @ymartin59 mentioned of simply syncing all sources with DAVx5, that would be amazing :) 🙏