Improved Manifest

This commit is contained in:
Sylvain Berfini 2019-05-09 10:37:27 +02:00
parent 91cef7c6b9
commit 2f4b5f961d

View file

@ -9,13 +9,7 @@
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<!-- Needed to allow Linphone to install on tablets, since android.permission.CALL_PHONE implies android.hardware.telephony is required -->
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
<!-- Needed to allow Linphone to install on tablets, since android.permission.CAMERA implies android.hardware.camera and android.hardware.camera.autofocus are required --> <!-- Needed to allow Linphone to install on tablets, since android.permission.CAMERA implies android.hardware.camera and android.hardware.camera.autofocus are required -->
@ -23,7 +17,9 @@
android:name="android.hardware.camera" android:name="android.hardware.camera"
android:required="false" /> android:required="false" />
<!-- Needed to be able to detect a GSM call and thus pause any active SIP call -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- Needed to be able to pick images from SD card to share in chat message -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- Needed to store received images if the user wants to --> <!-- Needed to store received images if the user wants to -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
@ -31,21 +27,23 @@
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" />
<!-- Needed to route the audio to the bluetooth headset if available --> <!-- Needed to route the audio to the bluetooth headset if available -->
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<!-- Needed to pre fill the wizard email field (only if enabled in custom settings) --> <!-- Needed to pre fill the wizard email field (only if enabled in custom settings) -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- Needed by the SDK to be able to use WifiManager.MulticastLock -->
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<!-- Required for contacts sync account -->
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<!-- Required if Android < 6.0 to be able to use AccountManager for contacts & email auto-fill in assistant -->
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<!-- Needed for in-app purchase -->
<!-- <uses-permission android:name="com.android.vending.BILLING"/> -->
<!-- Needed for overlay widget and floating notifications --> <!-- Needed for overlay widget and floating notifications -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<!-- Needed for kill application yourself --> <!-- Needed for kill application yourself -->
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<!-- 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.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<!-- Needed to get the current Do Not Disturb policy --> <!-- Needed to get the current Do Not Disturb policy -->
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" /> <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
@ -61,7 +59,10 @@
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:largeHeap="true" android:largeHeap="true"
android:roundIcon="@mipmap/ic_launcher_round"> android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/LinphoneStyleLight">
<!-- Starting activities -->
<activity <activity
android:name=".activities.SplashScreenActivity" android:name=".activities.SplashScreenActivity"
@ -77,19 +78,13 @@
<activity <activity
android:name=".activities.LinphoneLauncherActivity" android:name=".activities.LinphoneLauncherActivity"
android:noHistory="true" android:noHistory="true"
android:theme="@style/LinphoneLauncherStyle"> android:theme="@style/LinphoneLauncherStyle"/>
</activity>
<service
android:name=".LinphoneService"
android:label="@string/service_name" />
<!-- Main activities --> <!-- Main activities -->
<activity <activity
android:name=".activities.DialerActivity" android:name=".activities.DialerActivity"
android:launchMode="singleTop" android:launchMode="singleTop">
android:theme="@style/LinphoneStyleLight">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.CALL" /> <action android:name="android.intent.action.CALL" />
<action android:name="android.intent.action.CALL_PRIVILEGED" /> <action android:name="android.intent.action.CALL_PRIVILEGED" />
@ -115,25 +110,18 @@
<activity <activity
android:name=".activities.AboutActivity" android:name=".activities.AboutActivity"
android:noHistory="true" android:noHistory="true"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".recording.RecordingsActivity" android:name=".recording.RecordingsActivity"
android:noHistory="true" android:noHistory="true"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".settings.SettingsActivity" android:name=".settings.SettingsActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".chat.ChatActivity" android:name=".chat.ChatActivity"
android:launchMode="singleTop" android:launchMode="singleTop">
android:theme="@style/LinphoneStyleLight">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
</intent-filter> </intent-filter>
@ -161,8 +149,7 @@
<activity <activity
android:name=".contacts.ContactsActivity" android:name=".contacts.ContactsActivity"
android:launchMode="singleTop" android:launchMode="singleTop">
android:theme="@style/LinphoneStyleLight">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.BROWSABLE" />
@ -173,8 +160,7 @@
<activity <activity
android:name=".history.HistoryActivity" android:name=".history.HistoryActivity"
android:launchMode="singleTop" android:launchMode="singleTop">
android:theme="@style/LinphoneStyleLight">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
</intent-filter> </intent-filter>
@ -187,83 +173,51 @@
android:launchMode="singleTop" android:launchMode="singleTop"
android:noHistory="true" android:noHistory="true"
android:showWhenLocked="true" android:showWhenLocked="true"
android:turnScreenOn="true" android:turnScreenOn="true"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".call.CallOutgoingActivity" android:name=".call.CallOutgoingActivity"
android:launchMode="singleTop" android:launchMode="singleTop"
android:noHistory="true" android:noHistory="true"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".call.CallActivity" android:name=".call.CallActivity"
android:launchMode="singleTop" android:launchMode="singleTop"
android:noHistory="true" android:noHistory="true"
android:showWhenLocked="true" android:showWhenLocked="true"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<!-- Assistant activities --> <!-- Assistant activities -->
<activity <activity
android:name=".assistant.MenuAssistantActivity" android:name=".assistant.MenuAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.AccountConnectionAssistantActivity" android:name=".assistant.AccountConnectionAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.EmailAccountCreationAssistantActivity" android:name=".assistant.EmailAccountCreationAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.EmailAccountValidationAssistantActivity" android:name=".assistant.EmailAccountValidationAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.PhoneAccountCreationAssistantActivity" android:name=".assistant.PhoneAccountCreationAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.PhoneAccountValidationAssistantActivity" android:name=".assistant.PhoneAccountValidationAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.PhoneAccountLinkingAssistantActivity" android:name=".assistant.PhoneAccountLinkingAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.GenericConnectionAssistantActivity" android:name=".assistant.GenericConnectionAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.QrCodeConfigurationAssistantActivity" android:name=".assistant.QrCodeConfigurationAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.RemoteConfigurationAssistantActivity" android:name=".assistant.RemoteConfigurationAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.EchoCancellerCalibrationAssistantActivity" android:name=".assistant.EchoCancellerCalibrationAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<activity <activity
android:name=".assistant.OpenH264DownloadAssistantActivity" android:name=".assistant.OpenH264DownloadAssistantActivity"/>
android:theme="@style/LinphoneStyleLight">
</activity>
<!-- Other stuff --> <!-- Services -->
<activity <service
android:name=".purchase.InAppPurchaseActivity" android:name=".LinphoneService"
android:screenOrientation="nosensor" android:label="@string/service_name" />
android:theme="@style/LinphoneStyleLight">
</activity>
<service <service
android:name=".sync.SyncService" android:name=".sync.SyncService"
@ -290,6 +244,14 @@
android:resource="@xml/authenticator" /> android:resource="@xml/authenticator" />
</service> </service>
<service android:name=".firebase.FirebaseMessaging">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<!-- Receivers -->
<receiver <receiver
android:name=".receivers.BluetoothManager" android:name=".receivers.BluetoothManager"
android:enabled="false"/> android:enabled="false"/>
@ -309,25 +271,12 @@
</intent-filter> </intent-filter>
</receiver> </receiver>
<receiver android:name=".receivers.HookReceiver">
<intent-filter>
<action android:name="com.base.module.phone.HOOKEVENT" />
</intent-filter>
</receiver>
<receiver <receiver
android:name=".receivers.AccountEnableReceiver" android:name=".notifications.NotificationBroadcastReceiver"
android:permission="android.permission.USE_SIP"> android:enabled="true"
<intent-filter> android:exported="false" />
<action android:name="org.linphone.intent.ACCOUNTACTIVATE" />
</intent-filter>
</receiver>
<service android:name=".firebase.FirebaseMessaging"> <!-- Providers -->
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
@ -339,10 +288,5 @@
android:resource="@xml/provider_paths" /> android:resource="@xml/provider_paths" />
</provider> </provider>
<receiver
android:name=".notifications.NotificationBroadcastReceiver"
android:enabled="true"
android:exported="false" />
</application> </application>
</manifest> </manifest>