mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-03-31 20:36:19 +00:00
* core, ui: optionally use short links (#5799) * core: optionally use short links * update test * update simplexmq, short group links * fix query * fix parser for _connect * ios: use short links * shorten links to remove fingerprint and onion hosts from known servers * fix parser * tests * nix * update query plans * update simplexmq, simplex: schema for short links * simplexmq * update ios * fix short links in ios * android: use short links * fix short group links, test short link connection plans * core: fix connection plan to recognize own short links * update simplexmq * space * all tests * relative symlinks in simplexmq to fix windows build * core: improve connection plan for short links (#5825) * core: improve connection plan for short links * improve connection plans * update UI * update simplexmq * ios: add preset server domains to entitlements, add short link paths to .well-known/apple-app-site-association * update simplexmq * fix group short link in iOS, fix simplex:/ scheme saved to database or used for connection plans * update simplexmq * ios: delay opening URI from outside until the app is started * update simplexmq
220 lines
8.4 KiB
XML
220 lines
8.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
package="chat.simplex.app">
|
|
|
|
<uses-feature android:name="android.hardware.camera" />
|
|
|
|
<uses-permission android:name="android.permission.CAMERA" />
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
<uses-permission android:name="android.permission.VIDEO_CAPTURE" />
|
|
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
<uses-permission android:name="android.permission.VIBRATE" />
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
tools:ignore="ScopedStorage" />
|
|
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
|
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
|
|
|
|
<!-- Requirements that allows to specify foreground service types -->
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
|
|
|
|
<!-- Allows to query app name and icon that can open specific file type -->
|
|
<queries>
|
|
<intent>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<data android:mimeType="*/*" />
|
|
</intent>
|
|
</queries>
|
|
|
|
<application
|
|
android:name="SimplexApp"
|
|
android:allowBackup="false"
|
|
android:fullBackupOnly="false"
|
|
android:icon="@mipmap/icon"
|
|
android:label="${app_name}"
|
|
android:extractNativeLibs="${extract_native_libs}"
|
|
android:supportsRtl="true"
|
|
android:theme="@style/Theme.SimpleX">
|
|
<!-- android:localeConfig="@xml/locales_config"-->
|
|
|
|
<!-- Main activity -->
|
|
<activity
|
|
android:name=".MainActivity"
|
|
android:launchMode="singleTask"
|
|
android:exported="true"
|
|
android:label="${app_name}"
|
|
android:windowSoftInputMode="adjustResize"
|
|
android:configChanges="uiMode"
|
|
android:theme="@style/Theme.SimpleX">
|
|
<intent-filter>
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
|
|
<!-- open simplex:/ connection URI -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="simplex" />
|
|
</intent-filter>
|
|
<intent-filter android:autoVerify="true">
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="http" />
|
|
<data android:scheme="https" />
|
|
<data android:host="simplex.chat" />
|
|
<data android:host="smp4.simplex.im" />
|
|
<data android:host="smp5.simplex.im" />
|
|
<data android:host="smp6.simplex.im" />
|
|
<data android:host="smp7.simplex.im" /> <!-- TODO remove -->
|
|
<data android:host="smp8.simplex.im" />
|
|
<data android:host="smp9.simplex.im" />
|
|
<data android:host="smp10.simplex.im" />
|
|
<data android:host="smp11.simplex.im" />
|
|
<data android:host="smp12.simplex.im" />
|
|
<data android:host="smp14.simplex.im" />
|
|
<data android:host="smp15.simplex.im" />
|
|
<data android:host="smp16.simplex.im" />
|
|
<data android:host="smp17.simplex.im" />
|
|
<data android:host="smp18.simplex.im" />
|
|
<data android:host="smp19.simplex.im" />
|
|
<data android:host="smp1.simplexonflux.com" />
|
|
<data android:host="smp2.simplexonflux.com" />
|
|
<data android:host="smp3.simplexonflux.com" />
|
|
<data android:host="smp4.simplexonflux.com" />
|
|
<data android:host="smp5.simplexonflux.com" />
|
|
<data android:host="smp6.simplexonflux.com" />
|
|
<data android:pathPrefix="/invitation" />
|
|
<data android:pathPrefix="/contact" />
|
|
<data android:pathPrefix="/a" />
|
|
<data android:pathPrefix="/c" />
|
|
<data android:pathPrefix="/g" />
|
|
<data android:pathPrefix="/i" />
|
|
</intent-filter>
|
|
<!-- Receive files from other apps -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEND" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:mimeType="*/*" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:mimeType="image/*" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity-alias
|
|
android:name=".MainActivity_default"
|
|
android:exported="true"
|
|
android:icon="@mipmap/icon"
|
|
android:enabled="true"
|
|
android:targetActivity=".MainActivity">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
</activity-alias>
|
|
|
|
<activity-alias
|
|
android:name=".MainActivity_dark_blue"
|
|
android:exported="true"
|
|
android:icon="@mipmap/icon_dark_blue"
|
|
android:enabled="false"
|
|
android:targetActivity=".MainActivity">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
</activity-alias>
|
|
|
|
<activity android:name=".views.call.CallActivity"
|
|
android:showOnLockScreen="true"
|
|
android:exported="false"
|
|
android:launchMode="singleInstance"
|
|
android:supportsPictureInPicture="true"
|
|
android:autoRemoveFromRecents="true"
|
|
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"/>
|
|
|
|
<provider
|
|
android:name="androidx.core.content.FileProvider"
|
|
android:authorities="${provider_authorities}"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/file_paths" />
|
|
</provider>
|
|
|
|
<!-- NtfManager action processing (buttons in notifications) -->
|
|
<receiver
|
|
android:name=".model.NtfManager$NtfActionReceiver"
|
|
android:enabled="true"
|
|
android:exported="false" />
|
|
|
|
<!-- SimplexService foreground service -->
|
|
<service
|
|
android:name=".SimplexService"
|
|
android:enabled="true"
|
|
android:exported="false"
|
|
android:stopWithTask="false"
|
|
android:foregroundServiceType="remoteMessaging"
|
|
/>
|
|
|
|
<!-- SimplexService restart on reboot -->
|
|
|
|
<service
|
|
android:name=".CallService"
|
|
android:enabled="true"
|
|
android:exported="false"
|
|
android:stopWithTask="false"
|
|
android:foregroundServiceType="mediaPlayback|microphone|camera|remoteMessaging"
|
|
/>
|
|
|
|
<receiver
|
|
android:name=".CallService$CallActionReceiver"
|
|
android:enabled="true"
|
|
android:exported="false" />
|
|
|
|
<receiver
|
|
android:name=".SimplexService$StartReceiver"
|
|
android:enabled="true"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<!-- SimplexService restart on destruction -->
|
|
<receiver
|
|
android:name=".SimplexService$AutoRestartReceiver"
|
|
android:enabled="true"
|
|
android:exported="false" />
|
|
|
|
<!-- SimplexService restart on app update -->
|
|
<receiver
|
|
android:name=".SimplexService$AppUpdateReceiver"
|
|
android:enabled="true"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
</application>
|
|
</manifest>
|