AndroidManifest.xml 43 KB

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