What's changed
Bug fixes
- tel: links now open the Keypad — tapping a phone number in the browser or any app correctly lands on the Dial Pad with the number pre-filled (was incorrectly opening the Calls tab)
- Enter/DPAD_CENTER dials the top search result — typing a name and pressing Enter now calls the top matched contact instead of T9-converting the typed text into a number
- Cold-start tab routing fixed — theme default tab no longer overrides a tab requested by an incoming dial intent on first launch
Improvements
BlockedNumbersRepo: syncs pre-existing platform blocked numbers into the in-app list on first permissions grantSearchEngine: parallel contacts search only runs when needed (ALL mode + non-blank query), removing wasted work on Missed/Received filtersforceRefresh()now uses async parallel search for faster call-log updates- Replaced DTMF reflection hack with direct
Call.stopDtmfTone()API call (cleaner, no reflection) KeyHandler: control-key set allocated once at class load instead of on every key event