ContactItem improvements (#1324)

* ContactRepository: try to deduplicate phoneNumbers in a smart way

* AndroidManifest: use CALL_PHONE permission to allow for making phone calls

* Implement CallOnTap with contact results

- contact activities that require permissions we do not have are not
  listed
- add CallOnTap setting for phone number results on search behind
  contacts settings

* utilize PhoneNumberUtils

* navroute settings/search/contacts

* queryIntentActivities -> resolveActivity

* localization

* Code formatting

* Wrap contact search settings in preference category

---------

Co-authored-by: MM20 <15646950+MM2-0@users.noreply.github.com>
This commit is contained in:
Christoph
2025-03-29 17:18:30 +01:00
committed by GitHub
co-authored by MM20
parent 21894d8df2
commit bceae1aa58
14 changed files with 191 additions and 10 deletions
@@ -818,4 +818,6 @@
<item quantity="one">in einer Minute</item>
<item quantity="other">in %1$d Minuten</item>
</plurals>
<string name="preference_contacts_call_on_tap">Zum Anruf Tippen</string>
<string name="preference_contacts_call_on_tap_summary">Beim Tippen auf eine Telefonnummer diese direkt Anrufen</string>
</resources>
@@ -390,6 +390,8 @@
<string name="missing_permission_music_widget">Notification access is required to control media playback</string>
<!-- Missing contact permission in search settings screen -->
<string name="missing_permission_contact_search_settings">Contact permission is required to search contacts</string>
<!-- Missing call permission in contacts settings screen -->
<string name="missing_permission_call_contacts_settings">Call permission is required to start calls</string>
<!-- Missing calendar permission in search settings screen -->
<string name="missing_permission_calendar_search_settings">Calendar permission is required to search calendar</string>
<!-- Missing calendar permission in calendar widget settings screen -->
@@ -668,6 +670,8 @@
<string name="preference_category_accounts">Accounts</string>
<string name="preference_weather_integration">Weather</string>
<string name="preference_media_integration">Media control</string>
<string name="preference_contacts_call_on_tap">Call on tap</string>
<string name="preference_contacts_call_on_tap_summary">Directly start calls when tapping phone numbers</string>
<!-- Used in an info banner if a specific feature requires a Nextcloud account -->
<string name="no_account_nextcloud">You haven\'t connected a Nextcloud account yet</string>
<!-- Used in an info banner if a specific feature requires an Owncloud account -->