Android calls: professional incoming UI + killed-state ring reliability
Addresses on-device feedback from Increment 1: - #2 Professional incoming screen: IncomingCallActivity redesigned — brand- blue backdrop, circular avatar with the caller's initial, name + call type, and two round icon buttons (red hang-up = Decline, green phone = Accept) instead of the full-screen colored buttons. New vector drawables ic_call_answer / ic_call_decline (also used on the notification actions). - #1 Killed-state ring: the missed-call notification arriving while killed proves FCM reaches the app, so the ring (high-priority DATA) is being held by OEM battery management (OnePlus/Oppo Doze) until the call is over. Added REQUEST_IGNORE_BATTERY_OPTIMIZATIONS + a requestCallReliability() plugin method that prompts the "allow background activity" dialog once; the web calls it on Android call setup. (OEM auto-launch is a manual toggle with no API — guide the user.) #3 (speaker/Bluetooth) and #4 (background audio) ride Increment 2 (native LiveKit Android media + foreground service) — kept separate so the LiveKit dependency can't block these UI/reliability fixes (the iOS coupling lesson). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
b60ce6cda3
commit
5cb3d0c122
7 files changed
+140
-37
No files matched your search
@@ -6,6 +6,9 @@
|
||||
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<!-- Ask to be exempt from battery optimization so high-priority FCM call-wakes reach the app when it's
|
||||
been swiped away / Dozing (OnePlus/Oppo hold data messages otherwise → the ring arrives too late). -->
|
||||
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
||||
|
||||
<application>
|
||||
<!-- Our FirebaseMessagingService REPLACES the @capacitor/push-notifications one: it handles call-wake
|
||||
|
||||
Reference in new issue
Block a user