You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

778 lines
34 KiB

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!--
  3. Copyright (C) 2012 The Android Open Source Project
  4. Licensed under the Apache License, Version 2.0 (the "License");
  5. you may not use this file except in compliance with the License.
  6. You may obtain a copy of the License at
  7. http://www.apache.org/licenses/LICENSE-2.0
  8. Unless required by applicable law or agreed to in writing, software
  9. distributed under the License is distributed on an "AS IS" BASIS,
  10. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. See the License for the specific language governing permissions and
  12. limitations under the License.
  13. -->
  14. <!-- The format of the version code is vvMMDDc
  15. vv is major version number
  16. MM is the ordinal month number. This starts at 0 for each major release and
  17. counts up for each month
  18. DD is the day of the month
  19. c is a code which increments per version, in case we have multiple releases
  20. on the same date. This should start at zero. -->
  21. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  22. package="com.android.email"
  23. android:versionCode="7008110" >
  24. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
  25. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  26. <uses-permission android:name="android.permission.INTERNET"/>
  27. <uses-permission android:name="android.permission.VIBRATE"/>
  28. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  29. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  30. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
  31. <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
  32. <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
  33. <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
  34. <uses-permission android:name="android.permission.READ_CONTACTS"/>
  35. <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
  36. <uses-permission android:name="android.permission.READ_CALENDAR"/>
  37. <uses-permission android:name="android.permission.WRITE_CALENDAR"/>
  38. <uses-permission android:name="android.permission.READ_PROFILE"/>
  39. <uses-permission android:name="android.permission.NFC"/>
  40. <uses-permission android:name="android.permission.WAKE_LOCK"/>
  41. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
  42. <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
  43. <!-- This needs to be present when we are doing unbundled releases. -->
  44. <uses-sdk android:targetSdkVersion="21" android:minSdkVersion="14" />
  45. <!-- additional uses -->
  46. <original-package android:name="com.android.email" />
  47. <!-- Grant permission to other apps to view attachments -->
  48. <!-- STOPSHIP: protectionLevel should not be dangerous -->
  49. <permission
  50. android:name="com.android.email.permission.READ_ATTACHMENT"
  51. android:permissionGroup="android.permission-group.MESSAGES"
  52. android:protectionLevel="dangerous"
  53. android:label="@string/permission_read_attachment_label"
  54. android:description="@string/permission_read_attachment_desc"/>
  55. <uses-permission
  56. android:name="com.android.email.permission.READ_ATTACHMENT"/>
  57. <uses-permission
  58. android:name="android.permission.USE_CREDENTIALS"/>
  59. <!-- Grant permission to system apps to access provider (see provider below) -->
  60. <permission
  61. android:name="com.android.email.permission.ACCESS_PROVIDER"
  62. android:protectionLevel="signature"
  63. android:label="@string/permission_access_provider_label"
  64. android:description="@string/permission_access_provider_desc"/>
  65. <uses-permission
  66. android:name="com.android.email.permission.ACCESS_PROVIDER"/>
  67. <application
  68. android:name=".EmailApplication"
  69. android:icon="@mipmap/ic_launcher_mail"
  70. android:label="@string/app_name"
  71. android:requiredAccountType="com.android.exchange,com.android.email.imap,com.android.email.pop3,com.android.email.legacy.imap"
  72. android:theme="@style/UnifiedEmailTheme.Appcompat"
  73. android:hardwareAccelerated="true"
  74. android:allowBackup="false"
  75. android:supportsRtl="true"
  76. android:usesCleartextTraffic="true" >
  77. <uses-library android:name="org.apache.http.legacy" android:required="false" />
  78. <activity
  79. android:name="com.android.email.activity.ComposeActivityEmail"
  80. android:label="@string/app_name"
  81. android:documentLaunchMode="intoExisting"
  82. android:autoRemoveFromRecents="true"
  83. android:theme="@style/ComposeTheme">
  84. <intent-filter>
  85. <action
  86. android:name="android.intent.action.VIEW" />
  87. <action
  88. android:name="android.intent.action.SENDTO" />
  89. <data
  90. android:scheme="mailto" />
  91. <category
  92. android:name="android.intent.category.DEFAULT" />
  93. <category
  94. android:name="android.intent.category.BROWSABLE" />
  95. </intent-filter>
  96. <intent-filter
  97. android:label="@string/app_name">
  98. <action
  99. android:name="android.intent.action.SEND" />
  100. <data
  101. android:mimeType="*/*" />
  102. <category
  103. android:name="android.intent.category.DEFAULT" />
  104. </intent-filter>
  105. <intent-filter
  106. android:label="@string/app_name">
  107. <action
  108. android:name="android.intent.action.SEND_MULTIPLE" />
  109. <data
  110. android:mimeType="*/*" />
  111. <category
  112. android:name="android.intent.category.DEFAULT" />
  113. </intent-filter>
  114. <intent-filter>
  115. <action
  116. android:name="com.android.email.intent.action.REPLY" />
  117. </intent-filter>
  118. <intent-filter>
  119. <action android:name="android.intent.action.SEND" />
  120. <category
  121. android:name="android.intent.category.DEFAULT" />
  122. <data
  123. android:scheme="content"
  124. android:host="ui.email2.android.com"
  125. android:pathPrefix="/compose"
  126. />
  127. </intent-filter>
  128. <intent-filter>
  129. <action android:name="android.nfc.action.NDEF_DISCOVERED" />
  130. <category android:name="android.intent.category.DEFAULT" />
  131. <data android:scheme="mailto" />
  132. </intent-filter>
  133. <intent-filter>
  134. <action android:name="com.android.mail.intent.action.LAUNCH_COMPOSE" />
  135. <category android:name="android.intent.category.DEFAULT" />
  136. </intent-filter>
  137. <intent-filter>
  138. <action android:name="com.android.mail.intent.action.LAUNCH_COMPOSE" />
  139. <category android:name="android.intent.category.DEFAULT" />
  140. <data android:scheme="content" />
  141. </intent-filter>
  142. </activity>
  143. <activity-alias android:name="com.android.mail.compose.ComposeActivity"
  144. android:targetActivity="com.android.email.activity.ComposeActivityEmail"/>
  145. <activity
  146. android:name=".activity.setup.OAuthAuthenticationActivity"
  147. android:label="@string/oauth_authentication_title">
  148. </activity>
  149. <activity
  150. android:name=".activity.setup.AccountCredentials"
  151. android:label="@string/sign_in_title"
  152. android:exported="false"
  153. android:excludeFromRecents="true"
  154. android:theme="@style/AccountSetupDialogActivityTheme">
  155. </activity>
  156. <activity
  157. android:name=".activity.EventViewer"
  158. android:label="@string/app_name"
  159. >
  160. <intent-filter>
  161. <action android:name="android.intent.action.VIEW" />
  162. <category
  163. android:name="android.intent.category.DEFAULT" />
  164. <data
  165. android:scheme="content"
  166. android:host="ui.email2.android.com"
  167. android:pathPrefix="/event"
  168. />
  169. </intent-filter>
  170. </activity>
  171. <activity android:name="com.android.mail.ui.FolderSelectionActivity"
  172. android:label="@string/activity_folder_selection"
  173. android:theme="@style/ShortcutWidgetTheme" />
  174. <activity android:name="com.android.email2.ui.MailboxSelectionActivityEmail"
  175. android:theme="@style/ShortcutWidgetTheme"
  176. android:label="@string/app_name" >
  177. <intent-filter>
  178. <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
  179. </intent-filter>
  180. </activity>
  181. <activity android:name="com.android.mail.ui.ShortcutNameActivity"
  182. android:label="@string/shortcut_name_title"
  183. android:theme="@style/ShortcutWidgetTheme">
  184. </activity>
  185. <activity android:name="com.android.mail.ui.MailboxSelectionActivity"
  186. android:theme="@style/ShortcutWidgetTheme"
  187. android:label="@string/app_name" >
  188. <intent-filter>
  189. <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
  190. </intent-filter>
  191. </activity>
  192. <activity android:name="com.android.email2.ui.CreateShortcutActivityEmail"
  193. android:theme="@style/ShortcutWidgetTheme"
  194. android:label="@string/folder_shortcut_widget_label">
  195. <intent-filter>
  196. <action android:name="android.intent.action.CREATE_SHORTCUT" />
  197. <category android:name="android.intent.category.DEFAULT" />
  198. </intent-filter>
  199. </activity>
  200. <activity
  201. android:label="@string/app_name"
  202. android:name="com.android.email2.ui.MailActivityEmail"
  203. android:theme="@style/MailActivityTheme"
  204. android:windowSoftInputMode="stateAlwaysHidden">
  205. <intent-filter>
  206. <action android:name="android.intent.action.VIEW" />
  207. <category android:name="android.intent.category.DEFAULT" />
  208. <data android:scheme="content"/>
  209. <data android:mimeType="@string/application_mime_type" />
  210. </intent-filter>
  211. <intent-filter>
  212. <action android:name="android.intent.action.SEARCH" />
  213. <category android:name="android.intent.category.DEFAULT" />
  214. </intent-filter>
  215. </activity>
  216. <activity-alias android:name="com.android.email.activity.Welcome"
  217. android:targetActivity="com.android.email2.ui.MailActivityEmail"
  218. android:label="@string/app_name" >
  219. <intent-filter >
  220. <action android:name="android.intent.action.MAIN" />
  221. <category android:name="android.intent.category.DEFAULT" />
  222. <category android:name="android.intent.category.LAUNCHER" />
  223. <category android:name="android.intent.category.APP_EMAIL" />
  224. </intent-filter>
  225. <intent-filter>
  226. <action android:name="android.intent.action.VIEW" />
  227. <action android:name="android.intent.action.MAIN" />
  228. <category android:name="android.intent.category.DEFAULT" />
  229. <category android:name="android.intent.category.LAUNCHER" />
  230. <data
  231. android:scheme="content"
  232. android:host="ui.email.android.com"
  233. android:path="/view/mailbox"
  234. />
  235. </intent-filter>
  236. </activity-alias>
  237. <!-- Must be exported in order for the AccountManager to launch it -->
  238. <!-- Also available for continuous test systems to force account creation -->
  239. <!-- TODO: fix this label -->
  240. <activity
  241. android:name=".activity.setup.AccountSetupFinal"
  242. android:label="@string/account_setup_basics_title"
  243. android:exported="true"
  244. >
  245. <intent-filter>
  246. <action android:name="com.android.email.FORCE_CREATE_ACCOUNT" />
  247. <action android:name="com.android.email.CREATE_NEW_ACCOUNT" />
  248. <category android:name="android.intent.category.DEFAULT" />
  249. </intent-filter>
  250. </activity>
  251. <activity
  252. android:name=".activity.setup.EmailPreferenceActivity"
  253. android:label="@string/activity_preferences"
  254. android:exported="false" >
  255. <intent-filter>
  256. <action android:name="android.intent.action.EDIT" />
  257. <action android:name="android.intent.action.VIEW" />
  258. <category android:name="android.intent.category.DEFAULT" />
  259. <data
  260. android:scheme="content"
  261. android:host="ui.email.android.com"
  262. android:pathPrefix="/settings"
  263. />
  264. </intent-filter>
  265. </activity>
  266. <activity
  267. android:name="com.android.mail.ui.settings.PublicPreferenceActivity"
  268. android:label="@string/activity_preferences"
  269. android:exported="true"
  270. android:theme="@android:style/Theme.NoDisplay" >
  271. <!-- Must be exported in order for the AccountManager to launch it -->
  272. <intent-filter>
  273. <action android:name="com.android.email.activity.setup.ACCOUNT_MANAGER_ENTRY" />
  274. <category android:name="android.intent.category.DEFAULT" />
  275. </intent-filter>
  276. <intent-filter>
  277. <action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
  278. <category android:name="android.intent.category.DEFAULT" />
  279. </intent-filter>
  280. </activity>
  281. <activity
  282. android:name=".activity.setup.AccountServerSettingsActivity"
  283. android:label="@string/mailbox_settings_activity_title"
  284. android:exported="false"
  285. android:excludeFromRecents="true"
  286. android:windowSoftInputMode="adjustResize"
  287. android:theme="@style/AccountSetupDialogActivityTheme" />
  288. <!-- a Headless Activity to load the account from the account id before navigating to the
  289. Incoming Account Settings fragment -->
  290. <activity
  291. android:name=".activity.setup.HeadlessAccountSettingsLoader"
  292. android:theme="@android:style/Theme.NoDisplay"
  293. >
  294. <intent-filter>
  295. <action android:name="android.intent.action.VIEW" />
  296. <category android:name="android.intent.category.DEFAULT" />
  297. <data android:host="com.android.email.ACCOUNT_SETTINGS" />
  298. <data android:scheme="auth"/>
  299. </intent-filter>
  300. </activity>
  301. <activity
  302. android:name=".provider.FolderPickerActivity"
  303. android:label="@string/app_name"
  304. >
  305. <intent-filter>
  306. <action android:name="android.intent.action.EDIT" />
  307. <category android:name="android.intent.category.DEFAULT" />
  308. <data
  309. android:scheme="content"
  310. android:host="ui.email.android.com"
  311. android:pathPrefix="/setup"
  312. />
  313. </intent-filter>
  314. </activity>
  315. <activity
  316. android:name=".activity.setup.AccountSecurity"
  317. android:label="@string/account_security_title"
  318. >
  319. <intent-filter>
  320. <action android:name="android.intent.action.VIEW" />
  321. <category android:name="android.intent.category.DEFAULT" />
  322. <data android:host="com.android.email.ACCOUNT_SECURITY" />
  323. <data android:scheme="auth"/>
  324. </intent-filter>
  325. </activity>
  326. <activity
  327. android:name=".activity.setup.MailboxSettings"
  328. android:label="@string/mailbox_settings_activity_title"
  329. android:exported="false" />
  330. <activity
  331. android:name="com.android.mail.photo.MailPhotoViewActivity"
  332. android:label="@string/app_name"
  333. android:theme="@style/MailPhotoViewTheme" >
  334. </activity>
  335. <activity
  336. android:name="com.android.mail.browse.EmlViewerActivity"
  337. android:label="@string/app_name"
  338. android:theme="@style/UnifiedEmailTheme.Appcompat" >
  339. <intent-filter>
  340. <action android:name="android.intent.action.VIEW" />
  341. <category android:name="android.intent.category.DEFAULT" />
  342. <data android:mimeType="message/rfc822" />
  343. <data android:mimeType="application/eml" />
  344. </intent-filter>
  345. </activity>
  346. <activity
  347. android:name="com.android.mail.ui.HelpActivity"
  348. android:label="@string/help_and_info">
  349. </activity>
  350. <activity
  351. android:name="com.android.mail.ui.LicensesActivity"
  352. android:label="@string/open_source_licenses">
  353. </activity>
  354. <!-- additional activities -->
  355. <provider
  356. android:authorities="com.android.email.conversation.provider"
  357. android:label="@string/conversation_content_provider"
  358. android:exported="true"
  359. android:name="com.android.mail.browse.EmailConversationProvider" >
  360. <grant-uri-permission android:pathPattern=".*" />
  361. </provider>
  362. <provider
  363. android:authorities="com.android.email.accountcache"
  364. android:label="@string/account_cache_provider"
  365. android:exported="false"
  366. android:name="com.android.mail.providers.EmailAccountCacheProvider" >
  367. <grant-uri-permission android:pathPattern=".*" />
  368. </provider>
  369. <provider
  370. android:authorities="@string/eml_attachment_provider"
  371. android:exported="false"
  372. android:name="com.android.mail.providers.EmlAttachmentProvider" >
  373. <grant-uri-permission android:pathPattern=".*" />
  374. </provider>
  375. <service android:name="com.android.mail.compose.EmptyService"/>
  376. <!-- Widget -->
  377. <receiver android:name=".provider.WidgetProvider" android:label="@string/app_name">
  378. <intent-filter>
  379. <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
  380. </intent-filter>
  381. <intent-filter>
  382. <action android:name="com.android.mail.ACTION_NOTIFY_DATASET_CHANGED" />
  383. <data android:mimeType="@string/application_mime_type" />
  384. </intent-filter>
  385. <intent-filter>
  386. <action android:name="com.android.mail.ACTION_UPDATE_WIDGET" />
  387. <data android:mimeType="@string/application_mime_type" />
  388. </intent-filter>
  389. <intent-filter>
  390. <action android:name="com.android.mail.ACTION_VALIDATE_ALL_WIDGETS" />
  391. <data android:mimeType="@string/application_mime_type" />
  392. </intent-filter>
  393. <meta-data android:name="android.appwidget.provider"
  394. android:resource="@xml/widget_info" />
  395. </receiver>
  396. <service android:name="com.android.mail.widget.WidgetService"
  397. android:permission="android.permission.BIND_REMOTEVIEWS"
  398. android:exported="false" />
  399. <!-- From Email application -->
  400. <receiver
  401. android:name=".service.AttachmentService$AttachmentWatchdog"
  402. android:enabled="true"/>
  403. <!-- Handles app upgrade. This disables itself after running once. -->
  404. <receiver
  405. android:name=".service.EmailUpgradeBroadcastReceiver"
  406. android:enabled="true">
  407. <intent-filter>
  408. <action android:name="android.intent.action.BOOT_COMPLETED" />
  409. <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
  410. </intent-filter>
  411. </receiver>
  412. <receiver
  413. android:name=".service.EmailBroadcastReceiver"
  414. android:enabled="true"
  415. android:permission="com.android.email.permission.ACCESS_PROVIDER">
  416. <intent-filter>
  417. <action android:name="android.intent.action.BOOT_COMPLETED" />
  418. <action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
  419. <action android:name="android.intent.action.DEVICE_STORAGE_OK" />
  420. <action android:name="android.intent.action.LOCALE_CHANGED"/>
  421. <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
  422. <action android:name="org.codeaurora.email.intent.action.MAIL_SERVICE_WAKEUP" />
  423. <action
  424. android:name="org.codeaurora.email.intent.action.MAIL_SERVICE_DELETE_MESSAGE" />
  425. <action
  426. android:name="org.codeaurora.email.intent.action.MAIL_SERVICE_MOVE_MESSAGE" />
  427. <action
  428. android:name="org.codeaurora.email.intent.action.MAIL_SERVICE_MESSAGE_READ" />
  429. <action
  430. android:name="org.codeaurora.email.intent.action.MAIL_SERVICE_SEND_PENDING" />
  431. </intent-filter>
  432. <!-- To handle new message notifications -->
  433. <intent-filter>
  434. <action android:name="com.android.mail.action.update_notification"
  435. android:priority="-10" />
  436. <data android:mimeType="@string/application_mime_type" />
  437. </intent-filter>
  438. <!-- To handle secret code to activate the debug screen. -->
  439. <intent-filter>
  440. <action
  441. android:name="android.provider.Telephony.SECRET_CODE" />
  442. <!-- "36245" = "email" -->
  443. <data
  444. android:scheme="android_secret_code"
  445. android:host="36245" />
  446. </intent-filter>
  447. </receiver>
  448. <service
  449. android:name=".service.EmailBroadcastProcessorService" />
  450. <!-- Support for DeviceAdmin / DevicePolicyManager. See SecurityPolicy class for impl. -->
  451. <receiver
  452. android:name=".SecurityPolicy$PolicyAdmin"
  453. android:label="@string/device_admin_label"
  454. android:description="@string/device_admin_description"
  455. android:permission="android.permission.BIND_DEVICE_ADMIN" >
  456. <meta-data
  457. android:name="android.app.device_admin"
  458. android:resource="@xml/device_admin" />
  459. <intent-filter>
  460. <action
  461. android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
  462. </intent-filter>
  463. </receiver>
  464. <service
  465. android:name=".service.AttachmentService"
  466. android:enabled="false"
  467. >
  468. </service>
  469. <!--Required stanza to register the PopImapAuthenticatorService with AccountManager -->
  470. <service
  471. android:name=".service.Pop3AuthenticatorService"
  472. android:exported="true"
  473. android:enabled="true"
  474. >
  475. <intent-filter>
  476. <action
  477. android:name="android.accounts.AccountAuthenticator" />
  478. </intent-filter>
  479. <meta-data
  480. android:name="android.accounts.AccountAuthenticator"
  481. android:resource="@xml/authenticator_pop3"
  482. />
  483. </service>
  484. <!--Required stanza to register the PopImapAuthenticatorService with AccountManager -->
  485. <service
  486. android:name=".service.ImapAuthenticatorService"
  487. android:exported="true"
  488. android:enabled="false"
  489. >
  490. <intent-filter>
  491. <action
  492. android:name="android.accounts.AccountAuthenticator" />
  493. </intent-filter>
  494. <meta-data
  495. android:name="android.accounts.AccountAuthenticator"
  496. android:resource="@xml/authenticator_imap"
  497. />
  498. </service>
  499. <!--Required stanza to register the PopImapSyncAdapterService with SyncManager -->
  500. <service
  501. android:name="com.android.email.service.Pop3SyncAdapterService"
  502. android:exported="true">
  503. <intent-filter>
  504. <action
  505. android:name="android.content.SyncAdapter" />
  506. </intent-filter>
  507. <meta-data android:name="android.content.SyncAdapter"
  508. android:resource="@xml/syncadapter_pop3" />
  509. </service>
  510. <service
  511. android:name="com.android.email.service.LegacyImapSyncAdapterService"
  512. android:exported="true">
  513. <intent-filter>
  514. <action
  515. android:name="android.content.SyncAdapter" />
  516. </intent-filter>
  517. <meta-data android:name="android.content.SyncAdapter"
  518. android:resource="@xml/syncadapter_legacy_imap" />
  519. </service>
  520. <!-- Require provider permission to use our Policy and Account services -->
  521. <service
  522. android:name=".service.PolicyService"
  523. android:enabled="true"
  524. android:permission="com.android.email.permission.ACCESS_PROVIDER"
  525. >
  526. <intent-filter>
  527. <action
  528. android:name="com.android.email.POLICY_INTENT" />
  529. </intent-filter>
  530. </service>
  531. <service
  532. android:name=".service.AccountService"
  533. android:enabled="true"
  534. android:permission="com.android.email.permission.ACCESS_PROVIDER"
  535. >
  536. <intent-filter>
  537. <action
  538. android:name="com.android.email.ACCOUNT_INTENT" />
  539. </intent-filter>
  540. </service>
  541. <service
  542. android:name=".service.ImapService"
  543. android:enabled="true"
  544. android:permission="com.android.email.permission.ACCESS_PROVIDER"
  545. >
  546. <intent-filter>
  547. <action
  548. android:name="com.android.email.IMAP_INTENT" />
  549. <action
  550. android:name="org.codeaurora.email.intent.action.MAIL_SERVICE_DELETE_MESSAGE" />
  551. <action
  552. android:name="org.codeaurora.email.intent.action.MAIL_SERVICE_MOVE_MESSAGE" />
  553. <action
  554. android:name="org.codeaurora.email.intent.action.MAIL_SERVICE_MESSAGE_READ" />
  555. <action
  556. android:name="org.codeaurora.email.intent.action.MAIL_SERVICE_SEND_PENDING" />
  557. </intent-filter>
  558. </service>
  559. <service
  560. android:name=".service.Pop3Service"
  561. android:enabled="true"
  562. android:permission="com.android.email.permission.ACCESS_PROVIDER"
  563. >
  564. <intent-filter>
  565. <action
  566. android:name="com.android.email.POP3_INTENT" />
  567. </intent-filter>
  568. </service>
  569. <!--Required stanza to register the EasAuthenticatorService with AccountManager -->
  570. <service
  571. android:name=".service.EasAuthenticatorService"
  572. android:exported="true"
  573. android:enabled="true"
  574. >
  575. <intent-filter>
  576. <action
  577. android:name="android.accounts.AccountAuthenticator" />
  578. </intent-filter>
  579. <meta-data
  580. android:name="android.accounts.AccountAuthenticator"
  581. android:resource="@xml/authenticator_eas"
  582. />
  583. </service>
  584. <!--Required stanza to register the EasTestAuthenticatorService with AccountManager -->
  585. <service
  586. android:name=".service.EasTestAuthenticatorService"
  587. android:exported="true"
  588. android:enabled="false"
  589. >
  590. <intent-filter>
  591. <action
  592. android:name="android.accounts.AccountAuthenticator" />
  593. </intent-filter>
  594. <meta-data
  595. android:name="android.accounts.AccountAuthenticator"
  596. android:resource="@xml/eastest_authenticator"
  597. />
  598. </service>
  599. <!--
  600. EasAuthenticatorService with the alternative label. Disabled by default,
  601. and OneTimeInitializer enables it if the vendor policy tells so.
  602. -->
  603. <service
  604. android:name=".service.EasAuthenticatorServiceAlternate"
  605. android:exported="true"
  606. android:enabled="false"
  607. >
  608. <intent-filter>
  609. <action
  610. android:name="android.accounts.AccountAuthenticator" />
  611. </intent-filter>
  612. <meta-data
  613. android:name="android.accounts.AccountAuthenticator"
  614. android:resource="@xml/authenticator_alternate"
  615. />
  616. </service>
  617. <service
  618. android:name=".service.LegacyImapAuthenticatorService"
  619. android:exported="false"
  620. android:enabled="true"
  621. >
  622. <intent-filter>
  623. <action
  624. android:name="android.accounts.AccountAuthenticator" />
  625. </intent-filter>
  626. <meta-data
  627. android:name="android.accounts.AccountAuthenticator"
  628. android:resource="@xml/authenticator_legacy_imap"
  629. />
  630. </service>
  631. <provider
  632. android:name=".provider.AttachmentProvider"
  633. android:authorities="com.android.email.attachmentprovider"
  634. android:grantUriPermissions="true"
  635. android:exported="true"
  636. android:readPermission="com.android.email.permission.READ_ATTACHMENT"
  637. />
  638. <!-- This provider MUST be protected by strict permissions, as granting access to
  639. it exposes user passwords and other confidential information. -->
  640. <provider
  641. android:name=".provider.EmailProvider"
  642. android:authorities="com.android.email.provider;com.android.email.notifier"
  643. android:exported="true"
  644. android:permission="com.android.email.permission.ACCESS_PROVIDER"
  645. android:label="@string/app_name"
  646. android:grantUriPermissions="true">
  647. <grant-uri-permission android:pathPrefix="/attachment/cachedFile"/>
  648. </provider>
  649. <!-- Legacy authenticators, etc. can be added below. OEMs may remove these -->
  650. <service
  651. android:name=".service.LegacyEmailAuthenticatorService"
  652. android:exported="false"
  653. android:enabled="true"
  654. >
  655. <intent-filter>
  656. <action
  657. android:name="android.accounts.AccountAuthenticator" />
  658. </intent-filter>
  659. <meta-data
  660. android:name="android.accounts.AccountAuthenticator"
  661. android:resource="@xml/authenticator_legacy_email"
  662. />
  663. </service>
  664. <service
  665. android:name=".service.LegacyEasAuthenticatorService"
  666. android:exported="false"
  667. android:enabled="true"
  668. >
  669. <intent-filter>
  670. <action
  671. android:name="android.accounts.AccountAuthenticator" />
  672. </intent-filter>
  673. <meta-data
  674. android:name="android.accounts.AccountAuthenticator"
  675. android:resource="@xml/authenticator_legacy_eas"
  676. />
  677. </service>
  678. <service android:name="com.android.email.EmailIntentService"
  679. android:exported="false">
  680. <intent-filter>
  681. <action android:name="com.android.mail.action.RESEND_NOTIFICATIONS" />
  682. <action android:name="com.android.mail.action.RESEND_NOTIFICATIONS_WEAR" />
  683. <action android:name="com.android.mail.action.SEND_SET_NEW_EMAIL_INDICATOR" />
  684. </intent-filter>
  685. <intent-filter>
  686. <action android:name="com.android.mail.action.CLEAR_NEW_MAIL_NOTIFICATIONS" />
  687. <data android:scheme="content" />
  688. </intent-filter>
  689. <intent-filter>
  690. <action android:name="com.android.mail.action.update_notification"
  691. android:priority="-10"/>
  692. <data android:mimeType="@string/application_mime_type" />
  693. </intent-filter>
  694. </service>
  695. <service android:name="com.android.mail.NotificationActionIntentService"
  696. android:exported="false">
  697. <intent-filter>
  698. <action android:name="com.android.mail.action.notification.MARK_READ" />
  699. <action android:name="com.android.mail.action.notification.ARCHIVE" />
  700. <action android:name="com.android.mail.action.notification.DELETE" />
  701. <action android:name="com.android.mail.action.notification.UNDO" />
  702. <action android:name="com.android.mail.action.notification.DESTRUCT" />
  703. <action android:name="com.android.mail.action.notification.UNDO_TIMEOUT" />
  704. <action android:name="com.android.mail.action.notification.REPLY" />
  705. <action android:name="com.android.mail.action.notification.REPLY_ALL" />
  706. <action android:name="com.android.mail.action.notification.FORWARD" />
  707. <data android:scheme="content" />
  708. </intent-filter>
  709. </service>
  710. <service android:name="com.android.mail.MailLogService">
  711. </service>
  712. <service android:name="com.android.mail.browse.EmlTempFileDeletionService" />
  713. </application>
  714. <!-- Legacy permissions, etc. can go here -->
  715. </manifest>