* feat: start add contact flow for unsaved numbers on thumbnail click
* refactor: use extension helper for adding number to contact
* docs: update changelog
* docs: add missing link
* refactor: optimize imports and move extension
Refs: https://github.com/FossifyOrg/Phone/issues/631
* fix: add missing full screen notification permissions
I have no idea why this wasn't added yet the strings for requesting this permission exist.
* fix: drop manual check for interactive device
* fix: rework when full-screen intent is used
* docs: update changelog
* refactor: simplify method
* refactor: remove unused `isOreoPlus` import
This should resolve the following crash:
Exception java.lang.IllegalStateException: at androidx.recyclerview.widget.RecyclerView.handleMissingPreInfoForChangeError (RecyclerView.java:4442)
* feat: initiate calls on contact tap
* refactor: use common extension for calling in favorites
* refactor: optimize imports
It would be made optional (like in Fossify Contacts) if this change bothers many people. The fact that one can access contact details by tapping on the contact photo or via the menu seems good enough for this app.
Refs: https://github.com/FossifyOrg/Phone/issues/80
* fix: ensure unique call log items to prevent crashes
Refs: https://github.com/FossifyOrg/Phone/issues/378
* fix: prevent incorrect sorting in search results
Changed the day code format (used internally) to yyyy-MM-dd to help with sorting. Corrected sorting also solves duplicated date headers due to misplaced call entries (caused by `startsWith()` sort).
* perf(recents): cache call day code to eliminate allocations
* fix: simplify condition
* refactor: no need to compute day code lazily
* fix: use stable keys for per number SIM preference
See: https://github.com/FossifyOrg/Phone/issues/293
* fix: handle encoded numbers properly
Numbers from other apps are often encoded like `tel:%2B11234567890` and that led to unstable keys when SIM preference was set in DialerActivity (third-party intents).
See: https://github.com/FossifyOrg/Phone/issues/294
* fix: add fallback getter for unstable keys from previous versions
* docs: update changelog
* style: add empty line at the end
* style: avoid multiple return statements
* fix: use E.164 representation for key generation
Helps with same number variations like `01234567890` and `+11234567890`
* Remove extra dialer button and use preferred sim
The app should just use the default SIM handle or let the user decide.
Context:
- https://github.com/FossifyOrg/Phone/issues/50
- https://github.com/FossifyOrg/Phone/issues/155
- https://github.com/FossifyOrg/Phone/issues/324
* docs: update changelog
* fix: add option to force SIM selector in call intents
* style: format code
* style: suppress long method error
* fix: only show sim selector when multiple sims are available
* refactor: initialize russian chars lazily
* refactor: use coroutines for clearing dialpad input