mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
261 lines
No EOL
11 KiB
XML
261 lines
No EOL
11 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
|
|
<!-- To be able to display contacts list & match calling/called numbers -->
|
|
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
|
<!-- For in-app contact edition -->
|
|
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
|
|
|
|
<!-- Helps filling phone number and country code in assistant -->
|
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
|
|
|
<!-- Needed for auto start at boot and to ensure the service won't be killed by OS while in call -->
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
|
|
<!-- Starting Android 13 we need to ask notification permission -->
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
|
|
|
<!-- Needed for full screen intent in incoming call notifications -->
|
|
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
|
|
<!-- To vibrate when pressing DTMF keys on numpad & incoming calls -->
|
|
<uses-permission android:name="android.permission.VIBRATE" />
|
|
|
|
<!-- Needed to attach file(s) in chat room fragment -->
|
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
|
|
android:maxSdkVersion="32"/>
|
|
<!-- Starting Android 13 you need those 3 permissions instead (https://developer.android.com/about/versions/13/behavior-changes-13) -->
|
|
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
|
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
|
|
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
|
|
|
|
<!-- Needed to shared downloaded files if setting is on -->
|
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
android:maxSdkVersion="28" />
|
|
|
|
<!-- Both permissions below are for contacts sync account, needed to store presence in native contact if enabled -->
|
|
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
|
|
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
|
|
|
<!-- Needed for Telecom Manager -->
|
|
<uses-permission android:name="android.permission.MANAGE_OWN_CALLS"/>
|
|
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
|
|
|
|
<!-- Needed for overlay -->
|
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
|
|
|
<!-- Needed to check current Do not disturb policy -->
|
|
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
|
|
|
|
<!-- Needed starting Android 12 for broadcast receiver
|
|
to be triggered when BT device is connected / disconnected
|
|
(https://developer.android.com/guide/topics/connectivity/bluetooth/permissions) -->
|
|
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
|
|
|
<!-- Needed for foreground service
|
|
(https://developer.android.com/guide/components/foreground-services) -->
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
|
<!-- Needed for Android 14
|
|
https://developer.android.com/about/versions/14/behavior-changes-14#fgs-types -->
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
|
|
|
<application
|
|
android:name=".LinphoneApplication"
|
|
android:allowBackup="false"
|
|
android:enableOnBackInvokedCallback="true"
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:label="${appLabel}"
|
|
android:localeConfig="@xml/locales_config"
|
|
android:roundIcon="@mipmap/ic_launcher_round"
|
|
android:theme="@style/AppTheme"
|
|
android:allowNativeHeapPointerTagging="false">
|
|
|
|
<meta-data
|
|
android:name="com.google.android.gms.car.application"
|
|
android:resource="@xml/automotive_app_desc"/>
|
|
|
|
<activity android:name=".activities.main.MainActivity"
|
|
android:exported="true"
|
|
android:launchMode="singleTask"
|
|
android:windowSoftInputMode="adjustResize"
|
|
android:theme="@style/AppSplashScreenTheme">
|
|
<nav-graph android:value="@navigation/main_nav_graph" />
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
|
|
<meta-data
|
|
android:name="android.app.shortcuts"
|
|
android:resource="@xml/shortcuts" />
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW_LOCUS" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEND" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:mimeType="text/*" />
|
|
<data android:mimeType="image/*" />
|
|
<data android:mimeType="audio/*" />
|
|
<data android:mimeType="video/*" />
|
|
<data android:mimeType="application/*" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:mimeType="image/*" />
|
|
<data android:mimeType="audio/*" />
|
|
<data android:mimeType="video/*" />
|
|
<data android:mimeType="application/*" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:mimeType="${linphone_address_mime_type}" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<action android:name="android.intent.action.DIAL" />
|
|
<action android:name="android.intent.action.CALL" />
|
|
<action android:name="android.intent.action.CALL_BUTTON" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="tel" />
|
|
<data android:scheme="sip" />
|
|
<data android:scheme="sips" />
|
|
<data android:scheme="linphone" />
|
|
<data android:scheme="sip-linphone" />
|
|
<data android:scheme="linphone-config" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEND" />
|
|
<action android:name="android.intent.action.SENDTO" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:scheme="sms" />
|
|
<data android:scheme="smsto" />
|
|
<data android:scheme="mms" />
|
|
<data android:scheme="mmsto" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity android:name=".activities.assistant.AssistantActivity"
|
|
android:windowSoftInputMode="adjustResize"/>
|
|
|
|
<activity android:name=".activities.voip.CallActivity"
|
|
android:launchMode="singleTask"
|
|
android:turnScreenOn="true"
|
|
android:showWhenLocked="true"
|
|
android:resizeableActivity="true"
|
|
android:supportsPictureInPicture="true" />
|
|
|
|
<activity
|
|
android:name=".activities.chat_bubble.ChatBubbleActivity"
|
|
android:allowEmbedded="true"
|
|
android:documentLaunchMode="always"
|
|
android:resizeableActivity="true" />
|
|
|
|
<!-- Services -->
|
|
|
|
<service
|
|
android:name=".core.CoreService"
|
|
android:exported="false"
|
|
android:foregroundServiceType="phoneCall|camera|microphone|dataSync"
|
|
android:stopWithTask="false"
|
|
android:label="@string/app_name" />
|
|
|
|
<service
|
|
android:name="org.linphone.core.tools.service.PushService"
|
|
android:exported="false"
|
|
android:foregroundServiceType="dataSync"
|
|
android:stopWithTask="false"
|
|
android:label="@string/app_name" />
|
|
|
|
<service android:name="org.linphone.core.tools.firebase.FirebaseMessaging"
|
|
android:enabled="${firebaseServiceEnabled}"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service
|
|
android:name=".contact.DummySyncService"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.content.SyncAdapter" />
|
|
</intent-filter>
|
|
|
|
<meta-data
|
|
android:name="android.content.SyncAdapter"
|
|
android:resource="@xml/sync_adapter" />
|
|
<meta-data
|
|
android:name="android.provider.CONTACTS_STRUCTURE"
|
|
android:resource="@xml/contacts" />
|
|
</service>
|
|
|
|
<service android:name=".contact.DummyAuthenticationService"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.accounts.AccountAuthenticator" />
|
|
</intent-filter>
|
|
|
|
<meta-data
|
|
android:name="android.accounts.AccountAuthenticator"
|
|
android:resource="@xml/authenticator" />
|
|
</service>
|
|
|
|
<service android:name=".telecom.TelecomConnectionService"
|
|
android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.telecom.ConnectionService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<!-- Receivers -->
|
|
|
|
<receiver android:name=".core.CorePushReceiver"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="org.linphone.core.action.PUSH_RECEIVED"/>
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<receiver
|
|
android:name=".notifications.NotificationBroadcastReceiver"
|
|
android:enabled="true"
|
|
android:exported="false" />
|
|
|
|
<receiver android:name=".core.BootReceiver"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<!-- Providers -->
|
|
|
|
<provider
|
|
android:name="androidx.core.content.FileProvider"
|
|
android:authorities="${linphone_file_provider}"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/provider_paths" />
|
|
</provider>
|
|
|
|
</application>
|
|
|
|
</manifest> |