2026-09-25 11:44:52 +05:30
|
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
|
|
|
xmlns:tools="http://schemas.android.com/tools">
|
|
|
|
|
|
|
|
|
|
<!-- Full-screen incoming-call UI over the lock screen (Android's answer to CallKit). VIBRATE + WAKE_LOCK
|
|
|
|
|
for the ring; POST_NOTIFICATIONS is also added app-side by android-patch.js. -->
|
|
|
|
|
<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" />
|
|
|
|
|
|
2026-10-30 17:25:18 +05:30
|
|
|
<!-- Increment 2 (native LiveKit call media): a foreground service keeps call audio alive in the background;
|
|
|
|
|
the microphone type lets the call keep publishing the mic. RECORD_AUDIO/MODIFY_AUDIO_SETTINGS for capture
|
|
|
|
|
+ routing (also added app-side by android-patch.js — merge dedups); BLUETOOTH_CONNECT (API 31+) so the
|
|
|
|
|
audio-device switch can route to a Bluetooth headset. -->
|
|
|
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
|
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
|
|
|
|
|
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
|
|
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
|
|
|
|
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
|
|
|
|
|
2026-09-25 11:44:52 +05:30
|
|
|
<application>
|
|
|
|
|
<!-- Our FirebaseMessagingService REPLACES the @capacitor/push-notifications one: it handles call-wake
|
|
|
|
|
DATA messages natively (to ring when the app is closed) and forwards everything else to Capacitor's
|
|
|
|
|
push handling via super.onMessageReceived(). Capacitor's service is removed in the APP manifest
|
|
|
|
|
(android-patch.js, highest merge priority) so there is exactly one MESSAGING_EVENT receiver; the high
|
|
|
|
|
intent-filter priority here is belt-and-braces so ours wins even if that removal ever no-ops. -->
|
|
|
|
|
<service
|
|
|
|
|
android:name="com.bizgaze.connect.nativecall.BzCallMessagingService"
|
|
|
|
|
android:exported="false">
|
|
|
|
|
<intent-filter android:priority="999">
|
|
|
|
|
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
|
|
|
|
</intent-filter>
|
|
|
|
|
</service>
|
|
|
|
|
|
|
|
|
|
<!-- The full-screen incoming-call screen. showWhenLocked + turnScreenOn make it appear over the lock
|
|
|
|
|
screen and wake the display; excludeFromRecents keeps it out of the recents list. -->
|
|
|
|
|
<activity
|
|
|
|
|
android:name="com.bizgaze.connect.nativecall.IncomingCallActivity"
|
|
|
|
|
android:exported="false"
|
|
|
|
|
android:launchMode="singleTop"
|
|
|
|
|
android:excludeFromRecents="true"
|
|
|
|
|
android:showOnLockScreen="true"
|
|
|
|
|
android:showWhenLocked="true"
|
|
|
|
|
android:turnScreenOn="true"
|
|
|
|
|
android:theme="@android:style/Theme.DeviceDefault.NoActionBar" />
|
2026-10-30 17:25:18 +05:30
|
|
|
|
|
|
|
|
<!-- Keeps the call process alive for background audio (Increment 2). The microphone type is required on
|
|
|
|
|
Android 14+ for a service that uses the mic. -->
|
|
|
|
|
<service
|
|
|
|
|
android:name="com.bizgaze.connect.nativecall.CallForegroundService"
|
|
|
|
|
android:exported="false"
|
|
|
|
|
android:foregroundServiceType="microphone" />
|
2026-09-25 11:44:52 +05:30
|
|
|
</application>
|
|
|
|
|
</manifest>
|