From 5cb3d0c1220f589e14f069e6193ed7a14525475a Mon Sep 17 00:00:00 2001 From: sravan Date: Sun, 27 Sep 2026 15:15:18 +0530 Subject: [PATCH] Android calls: professional incoming UI + killed-state ring reliability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../android/src/main/AndroidManifest.xml | 3 + .../bizgaze/connect/nativecall/CallStore.java | 4 +- .../nativecall/IncomingCallActivity.java | 120 +++++++++++++----- .../connect/nativecall/NativeCallPlugin.java | 29 +++++ .../src/main/res/drawable/ic_call_answer.xml | 9 ++ .../src/main/res/drawable/ic_call_decline.xml | 9 ++ server/public/home.html | 3 + 7 files changed, 140 insertions(+), 37 deletions(-) create mode 100644 mobile/plugins/native-call/android/src/main/res/drawable/ic_call_answer.xml create mode 100644 mobile/plugins/native-call/android/src/main/res/drawable/ic_call_decline.xml diff --git a/mobile/plugins/native-call/android/src/main/AndroidManifest.xml b/mobile/plugins/native-call/android/src/main/AndroidManifest.xml index b766b27..b43d522 100644 --- a/mobile/plugins/native-call/android/src/main/AndroidManifest.xml +++ b/mobile/plugins/native-call/android/src/main/AndroidManifest.xml @@ -6,6 +6,9 @@ + +