AndroidManifest.xml 41 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:installLocation="internalOnly"
  5. android:testOnly="false"
  6. tools:ignore="GoogleAppIndexingWarning">
  7. <supports-screens
  8. android:anyDensity="true"
  9. android:largeScreens="true"
  10. android:normalScreens="true"
  11. android:resizeable="true"
  12. android:smallScreens="true"
  13. android:xlargeScreens="true"/>
  14. <!-- Maplibre requires gl es version 3. To support more devices, we remove this requirement and
  15. handle missing gl es version 3 support by disabling the location features on the affected
  16. devices. -->
  17. <uses-feature
  18. android:glEsVersion="0x00030000"
  19. android:required="false"
  20. tools:node="remove"
  21. tools:selector="org.maplibre.android"/>
  22. <!-- DANGEROUS PERMISSIONS -->
  23. <!-- android.permission-group.CONTACTS -->
  24. <uses-permission android:name="android.permission.READ_CONTACTS"/>
  25. <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
  26. <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
  27. <!-- android.permission-group.STORAGE -->
  28. <uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
  29. <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
  30. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
  31. android:maxSdkVersion="29"/>
  32. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
  33. android:maxSdkVersion="32"/>
  34. <!-- android.permission-group.LOCATION -->
  35. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  36. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  37. <!-- android.permission-group.MICROPHONE -->
  38. <uses-permission android:name="android.permission.RECORD_AUDIO"/>
  39. <!-- android.permission-group.PHONE -->
  40. <!-- Required to detect and hangup incoming regular calls -->
  41. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
  42. <uses-permission android:name="android.permission.CALL_PHONE"/>
  43. <uses-permission android:name="android.permission.ANSWER_PHONE_CALLS"/>
  44. <!-- android.permission-group.CAMERA -->
  45. <uses-permission android:name="android.permission.CAMERA" />
  46. <!-- PROTECTION_NORMAL - granted automatically -->
  47. <uses-permission android:name="android.permission.INTERNET"/>
  48. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  49. <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
  50. <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
  51. <uses-permission android:name="android.permission.VIBRATE"/>
  52. <uses-permission android:name="android.permission.WAKE_LOCK"/>
  53. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
  54. <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
  55. <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
  56. <!-- Access to address book -->
  57. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
  58. <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
  59. <!-- Access to audio settings and bluetooth for voice calls -->
  60. <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
  61. <uses-permission
  62. android:name="android.permission.BLUETOOTH"
  63. android:maxSdkVersion="30" />
  64. <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
  65. <!-- Permissions for biometric unlocking -->
  66. <uses-permission android:name="android.permission.USE_BIOMETRIC"/>
  67. <uses-permission android:name="android.permission.USE_FINGERPRINT"/>
  68. <!-- Permission to show notifications -->
  69. <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
  70. <!-- Launcher shortcuts -->
  71. <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
  72. <!-- Huawei launcher badges -->
  73. <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
  74. <uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
  75. <uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
  76. <!-- Sony launcher badges -->
  77. <uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE"/>
  78. <!-- only for fastlane test -->
  79. <!-- TODO -->
  80. <!-- <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/> -->
  81. <uses-feature
  82. android:name="android.hardware.location"
  83. android:required="false"/>
  84. <uses-feature
  85. android:name="android.hardware.location.gps"
  86. android:required="false"/>
  87. <uses-feature
  88. android:name="android.hardware.location.network"
  89. android:required="false"/>
  90. <uses-feature
  91. android:name="android.hardware.touchscreen"
  92. android:required="false"/>
  93. <uses-feature
  94. android:name="android.hardware.telephony"
  95. android:required="false"/>
  96. <uses-feature
  97. android:name="android.hardware.microphone"
  98. android:required="false"/>
  99. <uses-feature
  100. android:name="android.hardware.screen.portrait"
  101. android:required="false"/>
  102. <uses-feature
  103. android:name="android.hardware.bluetooth"
  104. android:required="false"/>
  105. <uses-feature
  106. android:name="android.hardware.camera"
  107. android:required="false"/>
  108. <uses-feature
  109. android:name="android.hardware.camera.any"
  110. android:required="false"/>
  111. <queries>
  112. <!-- various power manager and autostart packages we may need to direct our users to -->
  113. <package android:name="com.samsung.android.lool" />
  114. <package android:name="com.huawei.systemmanager" />
  115. <package android:name="com.iqoo.secure" />
  116. <package android:name="com.vivo.permissionmanager" />
  117. <package android:name="com.htc.pitroad" />
  118. <package android:name="com.miui.securitycenter" />
  119. <package android:name="com.letv.android.letvsafe" />
  120. <package android:name="com.coloros.safecenter" />
  121. <package android:name="com.oppo.safe" />
  122. <package android:name="com.asus.mobilemanager" />
  123. <package android:name="com.transsion.phonemanager" />
  124. <!-- provider for xperia home icon badge counters -->
  125. <provider android:authorities="com.sonymobile.home.resourceprovider"
  126. android:exported="false" />
  127. <intent>
  128. <action android:name="miui.intent.action.POWER_HIDE_MODE_APP_LIST"/>
  129. <category android:name="android.intent.category.DEFAULT"/>
  130. </intent>
  131. <intent>
  132. <action android:name="miui.intent.action.OP_AUTO_START"/>
  133. <category android:name="android.intent.category.DEFAULT"/>
  134. </intent>
  135. <intent>
  136. <action android:name="android.intent.action.SEND" />
  137. <data android:mimeType="text/plain" />
  138. </intent>
  139. <intent>
  140. <action android:name="android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS" />
  141. </intent>
  142. <intent>
  143. <action android:name="android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS" />
  144. </intent>
  145. </queries>
  146. <application
  147. android:name=".ThreemaApplication"
  148. android:allowBackup="false"
  149. android:hardwareAccelerated="true"
  150. android:icon="@mipmap/ic_launcher"
  151. android:roundIcon="@mipmap/ic_launcher"
  152. android:label="@string/app_name"
  153. android:largeHeap="true"
  154. android:resizeableActivity="true"
  155. android:supportsRtl="false"
  156. android:theme="@style/AppBaseTheme"
  157. android:usesCleartextTraffic="false"
  158. android:networkSecurityConfig="@xml/network_security_config"
  159. android:manageSpaceActivity="ch.threema.app.activities.StorageManagementActivity"
  160. android:allowAudioPlaybackCapture="false"
  161. android:appCategory="social"
  162. android:hasFragileUserData="true"
  163. android:dataExtractionRules="@xml/data_extraction_rules"
  164. android:enableOnBackInvokedCallback="true"
  165. android:localeConfig="@xml/locales_config"
  166. tools:replace="android:supportsRtl,android:allowBackup,android:dataExtractionRules">
  167. <!-- Note: The "replace" entry above should be kept to ensure that a library cannot accidentally
  168. override rtl or backup support. -->
  169. <meta-data
  170. android:name="android.max_aspect"
  171. android:value="2.5"/>
  172. <meta-data
  173. android:name="android.provider.CONTACTS_STRUCTURE"
  174. android:resource="@xml/contacts"/>
  175. <activity
  176. android:name=".activities.MainActivity"
  177. android:label="@string/app_name"
  178. android:launchMode="singleTop"
  179. android:theme="@style/SplashTheme"
  180. android:configChanges="uiMode"
  181. android:exported="true">
  182. <intent-filter>
  183. <action android:name="android.intent.action.MAIN"/>
  184. <category android:name="android.intent.category.LAUNCHER"/>
  185. <!-- samsung multiwindow -->
  186. <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER"/>
  187. </intent-filter>
  188. <meta-data
  189. android:name="android.app.shortcuts"
  190. android:resource="@xml/app_shortcuts"/>
  191. </activity>
  192. <activity
  193. android:name=".activities.HomeActivity"
  194. android:launchMode="singleTask"
  195. android:theme="@style/Theme.Threema.WithToolbar"
  196. android:configChanges="uiMode">
  197. </activity>
  198. <activity
  199. android:name=".activities.ComposeMessageActivity"
  200. android:launchMode="singleTop"
  201. android:parentActivityName=".activities.HomeActivity"
  202. android:theme="@style/Theme.Threema.WithToolbar"
  203. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  204. android:windowSoftInputMode="stateUnchanged"
  205. android:exported="true">
  206. <intent-filter android:label="@string/threema_contact"
  207. tools:ignore="AppLinkUrlError">
  208. <action android:name="android.intent.action.VIEW"/>
  209. <category android:name="android.intent.category.DEFAULT"/>
  210. <data android:mimeType="@string/contacts_mime_type"/>
  211. </intent-filter>
  212. </activity>
  213. <activity
  214. android:name=".activities.RecipientListActivity"
  215. android:label="@string/app_name"
  216. android:excludeFromRecents="true"
  217. android:taskAffinity=""
  218. android:launchMode="singleTask"
  219. android:theme="@style/Theme.Threema.WithToolbar"
  220. android:configChanges="uiMode"
  221. android:exported="true">
  222. <intent-filter android:label="@string/share_with_app">
  223. <action android:name="android.intent.action.SEND"/>
  224. <category android:name="android.intent.category.DEFAULT"/>
  225. <data android:mimeType="text/plain"/>
  226. <data android:mimeType="image/*"/>
  227. <data android:mimeType="video/*"/>
  228. <data android:mimeType="audio/*"/>
  229. <data android:mimeType="application/*"/>
  230. <data android:mimeType="*/*"/>
  231. </intent-filter>
  232. <intent-filter android:label="@string/share_with_app">
  233. <action android:name="android.intent.action.SEND_MULTIPLE"/>
  234. <category android:name="android.intent.category.DEFAULT"/>
  235. <data android:mimeType="*/*"/>
  236. </intent-filter>
  237. <intent-filter android:label="@string/app_name">
  238. <action android:name="android.intent.action.VIEW"/>
  239. <action android:name="android.intent.action.SENDTO"/>
  240. <category android:name="android.intent.category.DEFAULT"/>
  241. <category android:name="android.intent.category.BROWSABLE"/>
  242. <data android:scheme="sms"/>
  243. <data android:scheme="smsto"/>
  244. <data
  245. android:host="compose"
  246. android:scheme="${uriScheme}"/>
  247. </intent-filter>
  248. <intent-filter
  249. android:label="@string/app_name"
  250. android:autoVerify="true">
  251. <action android:name="android.intent.action.VIEW"/>
  252. <action android:name="android.intent.action.SENDTO"/>
  253. <category android:name="android.intent.category.DEFAULT"/>
  254. <category android:name="android.intent.category.BROWSABLE"/>
  255. <data
  256. android:host="${actionUrl}"
  257. android:pathPrefix="/compose"
  258. android:scheme="https"/>
  259. </intent-filter>
  260. <meta-data
  261. android:name="android.service.chooser.chooser_target_service"
  262. android:value="androidx.sharetarget.ChooserTargetServiceCompat" />
  263. </activity>
  264. <activity
  265. android:name=".activities.RecipientListBaseActivity"
  266. android:launchMode="singleTop"
  267. android:parentActivityName=".activities.HomeActivity"
  268. android:configChanges="uiMode"
  269. android:theme="@style/Theme.Threema.WithToolbar">
  270. </activity>
  271. <activity
  272. android:name=".preference.SettingsActivity"
  273. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  274. android:theme="@style/Theme.Threema.Settings">
  275. </activity>
  276. <activity
  277. android:name=".preference.SettingsNotificationsDummyActivity"
  278. android:label="@string/app_name"
  279. android:exported="true">
  280. <intent-filter>
  281. <action android:name="android.intent.action.MAIN"/>
  282. <category android:name="android.intent.category.NOTIFICATION_PREFERENCES"/>
  283. </intent-filter>
  284. </activity>
  285. <activity
  286. android:name=".preference.SettingsMediaDummyActivity"
  287. android:exported="true">
  288. <intent-filter>
  289. <action android:name="android.intent.action.MANAGE_NETWORK_USAGE"/>
  290. <category android:name="android.intent.category.DEFAULT"/>
  291. </intent-filter>
  292. </activity>
  293. <activity
  294. android:name=".activities.ContactDetailActivity"
  295. android:theme="@style/Theme.Threema.TransparentStatusbar"
  296. android:configChanges="uiMode" />
  297. <activity
  298. android:name=".activities.AboutActivity"
  299. android:theme="@style/Theme.Threema.WithToolbar"
  300. android:configChanges="uiMode" />
  301. <activity
  302. android:name=".activities.AddContactActivity"
  303. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  304. android:launchMode="singleTask"
  305. android:theme="@style/Theme.Threema.Translucent"
  306. android:exported="true">
  307. <intent-filter android:label="@string/app_name">
  308. <action android:name="android.intent.action.VIEW"/>
  309. <category android:name="android.intent.category.DEFAULT"/>
  310. <category android:name="android.intent.category.BROWSABLE"/>
  311. <data
  312. android:host="add"
  313. android:scheme="${uriScheme}"/>
  314. </intent-filter>
  315. <intent-filter
  316. android:label="@string/app_name"
  317. android:autoVerify="true">
  318. <action android:name="android.intent.action.VIEW"/>
  319. <category android:name="android.intent.category.DEFAULT"/>
  320. <category android:name="android.intent.category.BROWSABLE"/>
  321. <data
  322. android:host="${actionUrl}"
  323. android:pathPrefix="/add"
  324. android:scheme="https"/>
  325. </intent-filter>
  326. </activity>
  327. <activity
  328. android:name=".activities.LicenseActivity"
  329. android:theme="@style/Theme.Threema.WithToolbar"
  330. android:configChanges="uiMode" />
  331. <activity
  332. android:name=".activities.TermsOfServiceActivity"
  333. android:theme="@style/Theme.Threema.WithToolbar"
  334. android:configChanges="uiMode" />
  335. <activity
  336. android:name=".activities.EulaActivity"
  337. android:theme="@style/Theme.Threema.WithToolbar"
  338. android:configChanges="uiMode" />
  339. <activity
  340. android:name=".activities.ExportIDResultActivity"
  341. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  342. android:launchMode="singleTop"
  343. android:parentActivityName=".activities.HomeActivity"
  344. android:theme="@style/Theme.Threema.WithToolbar">
  345. </activity>
  346. <activity
  347. android:name=".activities.ExportIDActivity"
  348. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  349. android:launchMode="singleTop"
  350. android:theme="@style/Theme.Threema.Translucent"/>
  351. <activity
  352. android:name=".activities.EnterSerialActivity"
  353. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  354. android:excludeFromRecents="true"
  355. android:launchMode="singleTop"
  356. android:screenOrientation="sensorPortrait"
  357. android:theme="@style/Theme.Threema.Wizard"
  358. android:windowSoftInputMode="adjustPan"
  359. android:exported="true">
  360. <intent-filter
  361. android:label="@string/app_name"
  362. android:priority="1000"
  363. android:autoVerify="true">
  364. <action android:name="android.intent.action.VIEW"/>
  365. <category android:name="android.intent.category.DEFAULT"/>
  366. <category android:name="android.intent.category.BROWSABLE"/>
  367. <data
  368. android:host="${actionUrl}"
  369. android:pathPrefix="/license"
  370. android:scheme="https"/>
  371. </intent-filter>
  372. <intent-filter>
  373. <action android:name="android.intent.action.VIEW"/>
  374. <category android:name="android.intent.category.DEFAULT"/>
  375. <category android:name="android.intent.category.BROWSABLE"/>
  376. <data
  377. android:host="license"
  378. android:scheme="${uriScheme}"/>
  379. </intent-filter>
  380. </activity>
  381. <activity
  382. android:name=".activities.UnlockMasterKeyActivity"
  383. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  384. android:excludeFromRecents="true"
  385. android:launchMode="singleTop"
  386. android:noHistory="true"
  387. android:theme="@style/Theme.Threema.WithToolbar"
  388. android:windowSoftInputMode="adjustNothing"/>
  389. <activity
  390. android:name=".activities.SupportActivity"
  391. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  392. android:theme="@style/Theme.Threema.WithToolbar"/>
  393. <activity
  394. android:name=".activities.PrivacyPolicyActivity"
  395. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  396. android:theme="@style/Theme.Threema.WithToolbar">
  397. </activity>
  398. <activity
  399. android:name=".activities.ServerMessageActivity"
  400. android:theme="@style/Theme.Threema.WithToolbar"
  401. android:label="server_message"/>
  402. <activity
  403. android:name=".activities.SendMediaActivity"
  404. android:theme="@style/Theme.Threema.MediaViewer"
  405. android:windowSoftInputMode="stateHidden|adjustResize"/>
  406. <activity
  407. android:name=".activities.BackupAdminActivity"
  408. android:configChanges="uiMode"
  409. android:theme="@style/Theme.Threema.WithToolbar">
  410. </activity>
  411. <activity
  412. android:name=".activities.PinLockActivity"
  413. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  414. android:theme="@style/Theme.Threema.WithToolbar.NoAnim"
  415. android:noHistory="true"
  416. android:windowSoftInputMode="stateHidden|adjustResize"/>
  417. <activity
  418. android:name=".activities.GroupAddActivity"
  419. android:theme="@style/Theme.Threema.WithToolbar"
  420. android:configChanges="uiMode" />
  421. <activity
  422. android:name=".activities.GroupAdd2Activity"
  423. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  424. android:theme="@style/Theme.Threema.Translucent">
  425. </activity>
  426. <activity
  427. android:name=".activities.GroupDetailActivity"
  428. android:theme="@style/Theme.Threema.TransparentStatusbar"
  429. android:configChanges="uiMode"
  430. android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />
  431. <activity
  432. android:name=".qrscanner.activity.BaseQrScannerActivity"
  433. android:theme="@style/Theme.Threema.Translucent"/>
  434. <activity
  435. android:name=".grouplinks.AddGroupLinkBottomSheet"
  436. android:theme="@style/Theme.Threema.Translucent" />
  437. <activity
  438. android:name=".grouplinks.GroupLinkQrCodeActivity"
  439. android:theme="@style/Theme.Threema.WithToolbar"/>
  440. <activity
  441. android:name=".grouplinks.GroupLinkOverviewActivity"
  442. android:theme="@style/Theme.Threema.WithToolbar"/>
  443. <activity
  444. android:name=".grouplinks.OutgoingGroupRequestActivity"
  445. android:parentActivityName=".activities.HomeActivity"
  446. android:theme="@style/Theme.Threema.WithToolbar"/>
  447. <activity
  448. android:name=".grouplinks.IncomingGroupRequestActivity"
  449. android:parentActivityName=".activities.HomeActivity"
  450. android:theme="@style/Theme.Threema.WithToolbar"/>
  451. <activity
  452. android:name=".activities.DistributionListAddActivity"
  453. android:theme="@style/Theme.Threema.WithToolbar"
  454. android:configChanges="uiMode" />
  455. <activity
  456. android:name=".activities.ExcludedSyncIdentitiesActivity"
  457. android:theme="@style/Theme.Threema.WithToolbar"
  458. android:configChanges="uiMode" />
  459. <activity
  460. android:name=".activities.BlackListActivity"
  461. android:theme="@style/Theme.Threema.WithToolbar"
  462. android:configChanges="uiMode" />
  463. <activity
  464. android:name=".activities.ProfilePicRecipientsActivity"
  465. android:theme="@style/Theme.Threema.WithToolbar"
  466. android:configChanges="uiMode" />
  467. <activity
  468. android:name=".activities.AddAccountActivity"
  469. android:theme="@android:style/Theme.NoDisplay"/>
  470. <activity
  471. android:name=".activities.MediaViewerActivity"
  472. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  473. android:theme="@style/Theme.Threema.MediaViewer">
  474. </activity>
  475. <activity
  476. android:name=".activities.QRCodeZoomActivity"
  477. android:noHistory="true"
  478. android:theme="@style/Theme.Threema.Translucent"/>
  479. <activity
  480. android:name=".activities.MediaGalleryActivity"
  481. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  482. android:theme="@style/Theme.Threema.WithToolbar">
  483. </activity>
  484. <!-- https://code.google.com/p/android/issues/detail?id=53313 -->
  485. <activity
  486. android:name=".activities.DummyActivity"
  487. android:allowTaskReparenting="true"
  488. android:alwaysRetainTaskState="false"
  489. android:clearTaskOnLaunch="true"
  490. android:enabled="true"
  491. android:excludeFromRecents="true"
  492. android:finishOnTaskLaunch="true"
  493. android:noHistory="true"
  494. android:stateNotNeeded="true"
  495. android:theme="@android:style/Theme.NoDisplay"/>
  496. <activity
  497. android:name=".activities.ballot.BallotOverviewActivity"
  498. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  499. android:theme="@style/Theme.Threema.WithToolbar"/>
  500. <activity
  501. android:name=".activities.ballot.BallotMatrixActivity"
  502. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  503. android:theme="@style/Theme.Threema.WithToolbar"/>
  504. <activity
  505. android:name=".activities.ballot.BallotChooserActivity"
  506. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  507. android:theme="@style/Theme.Threema.WithToolbar">
  508. </activity>
  509. <activity
  510. android:name=".activities.CropImageActivity"
  511. android:theme="@style/Theme.Threema.WithToolbar"
  512. android:configChanges="uiMode" />
  513. <activity
  514. android:name=".activities.ballot.BallotWizardActivity"
  515. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  516. android:theme="@style/Theme.Threema.WithToolbar"/>
  517. <activity
  518. android:name=".filepicker.FilePickerActivity"
  519. android:theme="@style/Theme.Threema.WithToolbar"
  520. android:configChanges="uiMode" />
  521. <activity
  522. android:name=".activities.StorageManagementActivity"
  523. android:theme="@style/Theme.Threema.WithToolbar"
  524. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"/>
  525. <activity
  526. android:name=".activities.ContactNotificationsActivity"
  527. android:launchMode="singleTop"
  528. android:theme="@style/Theme.Threema.CircularReveal"/>
  529. <activity
  530. android:name=".activities.GroupNotificationsActivity"
  531. android:launchMode="singleTop"
  532. android:theme="@style/Theme.Threema.CircularReveal"/>
  533. <activity
  534. android:name=".activities.ImagePaintActivity"
  535. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  536. android:theme="@style/Theme.Threema.MediaViewer"
  537. android:windowSoftInputMode="stateHidden|adjustResize"/>
  538. <!-- Webclient activities -->
  539. <activity
  540. android:name=".webclient.activities.SessionsActivity"
  541. android:launchMode="singleTop"
  542. android:parentActivityName=".activities.HomeActivity"
  543. android:theme="@style/Theme.Threema.WithToolbar"
  544. android:configChanges="uiMode">
  545. </activity>
  546. <activity
  547. android:name=".webclient.activities.SessionsIntroActivity"
  548. android:theme="@style/Theme.Threema.WithToolbar"
  549. android:configChanges="uiMode">
  550. </activity>
  551. <activity
  552. android:name=".webclient.activities.WebDiagnosticsActivity"
  553. android:parentActivityName=".activities.HomeActivity"
  554. android:screenOrientation="sensorPortrait"
  555. android:theme="@style/Theme.Threema.WithToolbar"
  556. android:configChanges="uiMode"
  557. tools:ignore="LockedOrientationActivity">
  558. </activity>
  559. <!-- MD activities -->
  560. <activity android:name=".multidevice.LinkedDevicesActivity"
  561. android:launchMode="singleTop"
  562. android:parentActivityName=".activities.HomeActivity"
  563. android:theme="@style/Theme.Threema.WithToolbar"
  564. android:configChanges="uiMode" />
  565. <!-- VoIP activities -->
  566. <activity
  567. android:name=".voip.activities.CallActivity"
  568. android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|touchscreen|keyboard|keyboardHidden|uiMode"
  569. android:supportsPictureInPicture="true"
  570. android:launchMode="singleTask"
  571. android:taskAffinity=".voip.activities.CallActivity"
  572. android:excludeFromRecents="true"
  573. android:screenOrientation="sensorPortrait"
  574. android:theme="@style/Theme.Threema.TransparentStatusbar"
  575. tools:ignore="LockedOrientationActivity"
  576. android:exported="true">
  577. <intent-filter android:label="@string/threema_call">
  578. <action android:name="android.intent.action.VIEW"/>
  579. <category android:name="android.intent.category.DEFAULT"/>
  580. </intent-filter>
  581. </activity>
  582. <activity
  583. android:name=".voip.activities.GroupCallActivity"
  584. android:exported="false"
  585. android:launchMode="singleTask"
  586. android:taskAffinity=".voip.activities.GroupCallActivity"
  587. android:excludeFromRecents="true"
  588. android:theme="@style/Theme.Threema.TransparentStatusbar_Fullscreen" />
  589. <activity
  590. android:name=".voip.activities.CallActionIntentActivity"
  591. android:screenOrientation="sensorPortrait"
  592. tools:ignore="LockedOrientationActivity"
  593. android:exported="true">
  594. <intent-filter tools:ignore="AppLinkUrlError">
  595. <!-- Handle calls from phonebook -->
  596. <action android:name="android.intent.action.VIEW"/>
  597. <category android:name="android.intent.category.DEFAULT"/>
  598. <data android:mimeType="${callMimeType}"/>
  599. </intent-filter>
  600. </activity>
  601. <activity
  602. android:name=".voip.activities.WebRTCDebugActivity"
  603. android:parentActivityName=".activities.HomeActivity"
  604. android:screenOrientation="sensorPortrait"
  605. android:theme="@style/Theme.Threema.WithToolbar"
  606. tools:ignore="LockedOrientationActivity">
  607. </activity>
  608. <activity
  609. android:name=".activities.WhatsNewActivity"
  610. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  611. android:noHistory="true"
  612. android:theme="@style/Theme.Threema.WhatsNew"/>
  613. <activity
  614. android:name=".activities.WhatsNew2Activity"
  615. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  616. android:noHistory="true"
  617. android:theme="@style/Theme.Threema.WhatsNew"/>
  618. <!-- Wizard activities -->
  619. <activity
  620. android:name=".activities.wizard.WizardIntroActivity"
  621. android:screenOrientation="sensorPortrait"
  622. android:theme="@style/Theme.Threema.Wizard"/>
  623. <activity
  624. android:name=".activities.wizard.WizardStartActivity"
  625. android:screenOrientation="sensorPortrait"
  626. android:theme="@style/Theme.Threema.Wizard"/>
  627. <activity
  628. android:name=".activities.wizard.WizardBaseActivity"
  629. android:screenOrientation="sensorPortrait"
  630. android:theme="@style/Theme.Threema.Wizard"
  631. android:windowSoftInputMode="adjustResize"/>
  632. <activity
  633. android:name=".activities.wizard.WizardFingerPrintActivity"
  634. android:screenOrientation="sensorPortrait"
  635. android:theme="@style/Theme.Threema.Wizard"/>
  636. <activity
  637. android:name=".activities.wizard.WizardIDRestoreActivity"
  638. android:screenOrientation="sensorPortrait"
  639. android:theme="@style/Theme.Threema.Wizard"/>
  640. <activity
  641. android:name=".activities.wizard.WizardSafeRestoreActivity"
  642. android:screenOrientation="sensorPortrait"
  643. android:theme="@style/Theme.Threema.Wizard"
  644. android:windowSoftInputMode="stateAlwaysHidden"/>
  645. <activity
  646. android:name=".activities.wizard.WizardBackupRestoreActivity"
  647. android:screenOrientation="sensorPortrait"
  648. android:theme="@style/Theme.Threema.Wizard"
  649. android:windowSoftInputMode="stateAlwaysHidden"/>
  650. <activity
  651. android:name=".activities.SMSVerificationLinkActivity"
  652. android:theme="@android:style/Theme.NoDisplay"
  653. android:exported="true" >
  654. <intent-filter>
  655. <action android:name="android.intent.action.VIEW"/>
  656. <category android:name="android.intent.category.DEFAULT"/>
  657. <category android:name="android.intent.category.BROWSABLE"/>
  658. <data
  659. android:host="link_mobileno"
  660. android:scheme="${uriScheme}"/>
  661. </intent-filter>
  662. </activity>
  663. <activity
  664. android:name=".activities.VoiceActionActivity"
  665. android:exported="true">
  666. <intent-filter>
  667. <action android:name="com.google.android.voicesearch.SEND_MESSAGE_TO_CONTACTS"/>
  668. <category android:name="android.intent.category.DEFAULT"/>
  669. <data android:mimeType="text/plain"/>
  670. <data android:mimeType="audio/wav"/>
  671. </intent-filter>
  672. </activity>
  673. <activity
  674. android:name=".activities.DisableBatteryOptimizationsActivity"
  675. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  676. android:theme="@style/Theme.Threema.Translucent"/>
  677. <activity
  678. android:name=".activities.StickerSelectorActivity"
  679. android:theme="@style/Theme.Threema.Transparent.Background"/>
  680. <activity
  681. android:name=".activities.ImagePaintKeyboardActivity"
  682. android:theme="@style/Theme.Threema.Transparent.Background"
  683. android:windowSoftInputMode="adjustResize|stateAlwaysVisible"/>
  684. <activity
  685. android:name=".activities.DownloadApkActivity"
  686. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  687. android:theme="@style/Theme.Threema.Translucent"/>
  688. <activity
  689. android:name=".voicemessage.VoiceRecorderActivity"
  690. android:theme="@style/Theme.Threema.Translucent"
  691. android:configChanges="orientation|keyboardHidden|screenSize|screenLayout|uiMode"
  692. android:clearTaskOnLaunch="true"
  693. android:windowSoftInputMode="stateAlwaysHidden"/>
  694. <activity
  695. android:name=".locationpicker.LocationPickerActivity"
  696. android:theme="@style/Theme.Threema.WithToolbar"
  697. android:configChanges="orientation|keyboardHidden|screenSize|screenLayout|uiMode"
  698. />
  699. <activity
  700. android:name=".mediaattacher.MediaAttachActivity"
  701. android:theme="@style/Theme.MediaAttacher"
  702. android:resizeableActivity="true"
  703. android:windowSoftInputMode="adjustNothing"
  704. android:configChanges="uiMode" />
  705. <activity
  706. android:name=".mediaattacher.MediaSelectionActivity"
  707. android:theme="@style/Theme.MediaAttacher"
  708. android:resizeableActivity="true"
  709. android:windowSoftInputMode="adjustNothing"
  710. android:configChanges="uiMode" />
  711. <activity
  712. android:name=".activities.EditSendContactActivity"
  713. android:theme="@style/Theme.Threema.Translucent"
  714. android:resizeableActivity="true"
  715. android:windowSoftInputMode="adjustResize"
  716. android:configChanges="uiMode" />
  717. <activity
  718. android:name=".threemasafe.ThreemaSafeConfigureActivity"
  719. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  720. android:theme="@style/Theme.Threema.WithToolbar"
  721. android:windowSoftInputMode="stateHidden|adjustResize"/>
  722. <activity
  723. android:name=".activities.StopPassphraseServiceActivity"
  724. android:autoRemoveFromRecents="true"
  725. android:theme="@android:style/Theme.NoDisplay"/>
  726. <activity
  727. android:name="ch.threema.app.activities.DirectoryActivity"
  728. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  729. android:theme="@style/Theme.Threema.WithToolbar"
  730. android:windowSoftInputMode="adjustResize"/>
  731. <activity
  732. android:name=".activities.BiometricLockActivity"
  733. android:autoRemoveFromRecents="true"
  734. android:theme="@style/Theme.Threema.BiometricUnlock">
  735. </activity>
  736. <activity
  737. android:name=".activities.AppLinksActivity"
  738. android:autoRemoveFromRecents="true"
  739. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  740. android:theme="@style/Theme.Threema.Transparent.Background"
  741. android:exported="true">
  742. <intent-filter
  743. android:label="@string/app_name"
  744. android:autoVerify="true">
  745. <action android:name="android.intent.action.VIEW"/>
  746. <category android:name="android.intent.category.DEFAULT"/>
  747. <category android:name="android.intent.category.BROWSABLE"/>
  748. <data
  749. android:scheme="https"
  750. android:host="${contactActionUrl}"
  751. android:pathPattern="/.*"/>
  752. <data
  753. android:scheme="https"
  754. android:host="${groupLinkActionUrl}"
  755. android:pathPattern="/join#\.*"/>
  756. </intent-filter>
  757. </activity>
  758. <activity
  759. android:name=".camera.CameraActivity"
  760. android:screenOrientation="fullSensor"
  761. android:autoRemoveFromRecents="true"
  762. android:clearTaskOnLaunch="true"
  763. android:theme="@style/Theme.Threema.Camera">
  764. <!-- Declare Huawei notch support -->
  765. <meta-data
  766. android:name="android.notch_support"
  767. android:value="true" />
  768. </activity>
  769. <activity
  770. android:name="ch.threema.app.globalsearch.GlobalSearchActivity"
  771. android:theme="@style/Theme.Threema.Translucent"
  772. android:windowSoftInputMode="adjustResize"/>
  773. <activity
  774. android:name="ch.threema.app.activities.StarredMessagesActivity"
  775. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  776. android:theme="@style/Theme.Threema.StarredMessages"
  777. android:windowSoftInputMode="adjustResize"/>
  778. <activity
  779. android:name=".locationpicker.LocationAutocompleteActivity"
  780. android:theme="@style/Theme.Threema.WithToolbar"
  781. android:windowSoftInputMode="adjustResize" />
  782. <activity
  783. android:name=".archive.ArchiveActivity"
  784. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  785. android:theme="@style/Theme.Threema.WithToolbar"
  786. android:windowSoftInputMode="adjustResize" />
  787. <activity
  788. android:name=".activities.MapActivity"
  789. android:configChanges="orientation|keyboardHidden|screenSize|screenLayout|uiMode"
  790. android:theme="@style/Theme.Threema.WithToolbar"
  791. android:exported="true">
  792. <intent-filter>
  793. <action android:name="android.intent.action.VIEW" />
  794. <category android:name="android.intent.category.DEFAULT" />
  795. <category android:name="android.intent.category.BROWSABLE" />
  796. <data android:scheme="geo" />
  797. </intent-filter>
  798. </activity>
  799. <activity
  800. android:name=".activities.WorkExplainActivity"
  801. android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
  802. android:theme="@style/Theme.Threema.WithToolbar" />
  803. <activity
  804. android:name=".activities.VerificationLevelActivity"
  805. android:theme="@style/Theme.Threema.WithToolbar"/>
  806. <activity
  807. android:name=".activities.TextChatBubbleActivity"
  808. android:theme="@style/Theme.Threema.WithToolbar"
  809. android:launchMode="singleTop"/>
  810. <activity
  811. android:name=".camera.QRScannerActivity"
  812. android:clearTaskOnLaunch="true"
  813. android:stateNotNeeded="true"
  814. android:theme="@style/Theme.Threema.Camera"
  815. android:windowSoftInputMode="stateAlwaysHidden" />
  816. <activity
  817. android:name=".activities.ThreemaPushNotificationInfoActivity"
  818. android:theme="@style/Theme.Threema.WithToolbar"
  819. android:launchMode="singleTask"
  820. android:taskAffinity=""
  821. android:excludeFromRecents="true" />
  822. <activity
  823. android:name=".activities.PermissionRequestActivity"
  824. android:theme="@style/Theme.Threema.WithToolbar"
  825. android:launchMode="singleTop"
  826. android:exported="false"
  827. android:excludeFromRecents="true">
  828. </activity>
  829. <activity
  830. android:name=".activities.BackupRestoreProgressActivity"
  831. android:theme="@style/Theme.Threema.WithToolbar"
  832. android:launchMode="singleTask"
  833. android:exported="false">
  834. </activity>
  835. <activity
  836. android:name=".activities.ProblemSolverActivity"
  837. android:theme="@style/Theme.Threema.WithToolbar"
  838. android:launchMode="singleTop"/>
  839. <!-- services -->
  840. <service
  841. android:name=".services.AccountAuthenticatorService"
  842. android:exported="true">
  843. <intent-filter>
  844. <action android:name="android.accounts.AccountAuthenticator"/>
  845. </intent-filter>
  846. <meta-data
  847. android:name="android.accounts.AccountAuthenticator"
  848. android:resource="@xml/authenticator"/>
  849. </service>
  850. <service
  851. android:name=".services.ContactsSyncAdapterService"
  852. android:exported="true">
  853. <intent-filter>
  854. <action android:name="android.content.SyncAdapter"/>
  855. </intent-filter>
  856. <meta-data
  857. android:name="android.content.SyncAdapter"
  858. android:resource="@xml/sync_contacts"/>
  859. <meta-data
  860. android:name="android.provider.CONTACTS_STRUCTURE"
  861. android:resource="@xml/contacts"/>
  862. </service>
  863. <service
  864. android:name=".services.PassphraseService"
  865. android:enabled="true"
  866. android:exported="false"
  867. android:label="PassphraseService">
  868. </service>
  869. <service
  870. android:name=".services.WidgetService"
  871. android:permission="android.permission.BIND_REMOTEVIEWS"
  872. android:exported="false"/>
  873. <service
  874. android:name=".jobs.ReConnectJobService"
  875. android:permission="android.permission.BIND_JOB_SERVICE"/>
  876. <service android:name=".services.VoiceActionService"/>
  877. <service
  878. android:name=".backuprestore.csv.BackupService"
  879. android:exported="false"/>
  880. <service
  881. android:name=".backuprestore.csv.RestoreService"
  882. android:exported="false"/>
  883. <service
  884. android:name=".voip.services.VoipCallService"
  885. android:foregroundServiceType="phoneCall|camera|microphone"
  886. android:exported="false"/>
  887. <service
  888. android:name=".voip.services.CallRejectService"
  889. android:exported="false"/>
  890. <service
  891. android:name=".webclient.services.SessionAndroidService"
  892. android:exported="false"
  893. android:label="WebClientService"/>
  894. <service
  895. android:name=".webclient.services.StopSessionsAndroidService"
  896. android:enabled="true"
  897. android:exported="false"/>
  898. <service
  899. android:name=".services.NotificationActionService"
  900. android:enabled="true"
  901. android:exported="false"/>
  902. <service
  903. android:name=".services.ThreemaPushService"
  904. android:exported="false"
  905. android:label="ThreemaPushService"/>
  906. <service
  907. android:name=".voip.groupcall.service.GroupCallService"
  908. android:exported="false"
  909. android:foregroundServiceType="phoneCall" />
  910. <!-- Set the exported attribute for the sharetarget (needed for target api 31) -->
  911. <service
  912. android:name="androidx.sharetarget.ChooserTargetServiceCompat"
  913. android:exported="true"
  914. tools:node="merge">
  915. </service>
  916. <service
  917. android:name=".services.VoiceMessagePlayerService"
  918. android:foregroundServiceType="mediaPlayback"
  919. android:exported="false">
  920. <intent-filter>
  921. <action android:name="androidx.media3.session.MediaSessionService"/>
  922. <action android:name="androidx.media3.session.MediaLibraryService"/>
  923. <action android:name="android.media.browse.MediaBrowserService" />
  924. </intent-filter>
  925. </service>
  926. <!-- Store the chosen per-app locale -->
  927. <service
  928. android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
  929. android:enabled="false"
  930. android:exported="false">
  931. <meta-data
  932. android:name="autoStoreLocales"
  933. android:value="true" />
  934. </service>
  935. <!-- broadcast receivers -->
  936. <receiver
  937. android:name=".receivers.AutoStartNotifyReceiver"
  938. android:enabled="true"
  939. android:exported="true"
  940. android:label="BootListener">
  941. <intent-filter>
  942. <action android:name="android.intent.action.BOOT_COMPLETED"/>
  943. </intent-filter>
  944. </receiver>
  945. <receiver android:name=".receivers.ConnectivityChangeReceiver">
  946. </receiver>
  947. <receiver android:name=".receivers.AlarmManagerBroadcastReceiver">
  948. </receiver>
  949. <receiver android:name=".receivers.WidgetProvider"
  950. android:exported="true">
  951. <intent-filter>
  952. <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
  953. </intent-filter>
  954. <meta-data
  955. android:name="android.appwidget.provider"
  956. android:resource="@xml/appwidget_info"/>
  957. </receiver>
  958. <receiver android:name=".receivers.UpdateReceiver"
  959. android:exported="true">
  960. <intent-filter>
  961. <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
  962. </intent-filter>
  963. </receiver>
  964. <receiver
  965. android:name=".receivers.ReSendMessagesBroadcastReceiver"
  966. android:exported="false">
  967. </receiver>
  968. <receiver
  969. android:name=".receivers.CancelResendMessagesBroadcastReceiver"
  970. android:exported="false" />
  971. <receiver android:name=".receivers.FetchMessagesBroadcastReceiver"/>
  972. <receiver android:name=".voip.receivers.VoipMediaButtonReceiver"
  973. android:exported="true">
  974. <intent-filter>
  975. <action android:name="android.intent.action.MEDIA_BUTTON"/>
  976. </intent-filter>
  977. </receiver>
  978. <receiver android:name=".receivers.PowerSaveModeReceiver"
  979. android:exported="true">
  980. <intent-filter>
  981. <action android:name="android.os.action.POWER_SAVE_MODE_CHANGED"/>
  982. </intent-filter>
  983. </receiver>
  984. <receiver
  985. android:name=".receivers.SendTextToContactBroadcastReceiver"
  986. android:exported="false"/>
  987. <!-- content providers -->
  988. <provider
  989. android:name=".NamedFileProvider"
  990. android:authorities="${applicationId}.fileprovider"
  991. android:exported="false"
  992. android:grantUriPermissions="true">
  993. <meta-data
  994. android:name="android.support.FILE_PROVIDER_PATHS"
  995. android:resource="@xml/file_paths"/>
  996. </provider>
  997. <!-- disable emoji2 because we use our own emoji parsing -->
  998. <provider
  999. android:name="androidx.startup.InitializationProvider"
  1000. android:authorities="${applicationId}.androidx-startup"
  1001. android:exported="false"
  1002. tools:node="merge">
  1003. <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
  1004. tools:node="remove" />
  1005. <meta-data android:name="androidx.profileinstaller.ProfileInstallerInitializer"
  1006. tools:node="remove" />
  1007. </provider>
  1008. <!-- samsung multiwindow -->
  1009. <uses-library
  1010. android:name="com.sec.android.app.multiwindow"
  1011. android:required="false"/>
  1012. <meta-data
  1013. android:name="com.samsung.android.sdk.multiwindow.penwindow.enable"
  1014. android:value="true"/>
  1015. <meta-data
  1016. android:name="com.sec.android.support.multiwindow"
  1017. android:value="true"/>
  1018. <meta-data
  1019. android:name="com.samsung.android.keepalive.density"
  1020. android:value="true"/>
  1021. </application>
  1022. </manifest>