Wireframe email widget
* Formatting and assets are preliminary
* Functionality correct
* Needs cleanup, etc.
Change-Id: I75051df93d233ef529a616c7a9efae403d320bd2
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 651aaa0..1cd69bc 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -14,47 +14,70 @@
limitations under the License.
-->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+<manifest
+ xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.email">
- <original-package android:name="com.android.email" />
+ <original-package
+ android:name="com.android.email" />
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
- <uses-permission android:name="android.permission.READ_CONTACTS"/>
- <uses-permission android:name="android.permission.READ_OWNER_DATA"/>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- <uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="android.permission.VIBRATE"/>
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.GET_ACCOUNTS" />
- <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
- <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
- <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
- <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
+ <uses-permission
+ android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
+ <uses-permission
+ android:name="android.permission.READ_CONTACTS"/>
+ <uses-permission
+ android:name="android.permission.READ_OWNER_DATA"/>
+ <uses-permission
+ android:name="android.permission.ACCESS_NETWORK_STATE"/>
+ <uses-permission
+ android:name="android.permission.INTERNET"/>
+ <uses-permission
+ android:name="android.permission.VIBRATE"/>
+ <uses-permission
+ android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <uses-permission
+ android:name="android.permission.GET_ACCOUNTS" />
+ <uses-permission
+ android:name="android.permission.MANAGE_ACCOUNTS" />
+ <uses-permission
+ android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
+ <uses-permission
+ android:name="android.permission.READ_SYNC_SETTINGS" />
+ <uses-permission
+ android:name="android.permission.WRITE_SYNC_SETTINGS" />
<!-- For EAS purposes; could be removed when EAS has a permanent home -->
- <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
- <uses-permission android:name="android.permission.WRITE_CALENDAR"/>
- <uses-permission android:name="android.permission.READ_CALENDAR"/>
+ <uses-permission
+ android:name="android.permission.WRITE_CONTACTS"/>
+ <uses-permission
+ android:name="android.permission.WRITE_CALENDAR"/>
+ <uses-permission
+ android:name="android.permission.READ_CALENDAR"/>
<!-- Only required if a store implements push mail and needs to keep network open -->
- <uses-permission android:name="android.permission.WAKE_LOCK"/>
- <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
+ <uses-permission
+ android:name="android.permission.WAKE_LOCK"/>
+ <uses-permission
+ android:name="android.permission.READ_PHONE_STATE"/>
<!-- Grant permission to other apps to view attachments -->
- <permission android:name="com.android.email.permission.READ_ATTACHMENT"
- android:permissionGroup="android.permission-group.MESSAGES"
- android:protectionLevel="dangerous"
- android:label="@string/read_attachment_label"
- android:description="@string/read_attachment_desc"/>
- <uses-permission android:name="com.android.email.permission.READ_ATTACHMENT"/>
+ <permission
+ android:name="com.android.email.permission.READ_ATTACHMENT"
+ android:permissionGroup="android.permission-group.MESSAGES"
+ android:protectionLevel="dangerous"
+ android:label="@string/read_attachment_label"
+ android:description="@string/read_attachment_desc"/>
+ <uses-permission
+ android:name="com.android.email.permission.READ_ATTACHMENT"/>
<!-- Grant permission to system apps to access provider (see provider below) -->
- <permission android:name="com.android.email.permission.ACCESS_PROVIDER"
- android:protectionLevel="signatureOrSystem"
- android:label="@string/permission_access_provider_label"
- android:description="@string/permission_access_provider_desc"/>
- <uses-permission android:name="com.android.email.permission.ACCESS_PROVIDER"/>
+ <permission
+ android:name="com.android.email.permission.ACCESS_PROVIDER"
+ android:protectionLevel="signatureOrSystem"
+ android:label="@string/permission_access_provider_label"
+ android:description="@string/permission_access_provider_desc"/>
+ <uses-permission
+ android:name="com.android.email.permission.ACCESS_PROVIDER"/>
<application
android:icon="@mipmap/icon"
@@ -68,9 +91,12 @@
android:name=".activity.Welcome"
>
<intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.DEFAULT" />
- <category android:name="android.intent.category.LAUNCHER" />
+ <action
+ android:name="android.intent.action.MAIN" />
+ <category
+ android:name="android.intent.category.DEFAULT" />
+ <category
+ android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
@@ -124,8 +150,10 @@
android:label="@string/account_settings_action"
>
<intent-filter>
- <action android:name="com.android.email.activity.setup.ACCOUNT_MANAGER_ENTRY" />
- <category android:name="android.intent.category.DEFAULT" />
+ <action
+ android:name="com.android.email.activity.setup.ACCOUNT_MANAGER_ENTRY" />
+ <category
+ android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
@@ -152,10 +180,11 @@
android:theme="@android:style/Theme.Holo.DialogWhenLarge"
>
<intent-filter
- android:label="@string/account_shortcut_picker_name"
- >
- <action android:name="android.intent.action.CREATE_SHORTCUT" />
- <category android:name="android.intent.category.DEFAULT" />
+ android:label="@string/account_shortcut_picker_name">
+ <action
+ android:name="android.intent.action.CREATE_SHORTCUT" />
+ <category
+ android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
@@ -186,7 +215,8 @@
>
<intent-filter>
<!-- This action is only to allow an entry point for launcher shortcuts -->
- <action android:name="android.intent.action.MAIN" />
+ <action
+ android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
@@ -197,11 +227,16 @@
<activity
android:name=".activity.MessageFileView"
>
- <intent-filter android:label="@string/app_name">
- <action android:name="android.intent.action.VIEW" />
- <data android:mimeType="application/eml" />
- <data android:mimeType="message/rfc822" />
- <category android:name="android.intent.category.DEFAULT" />
+ <intent-filter
+ android:label="@string/app_name">
+ <action
+ android:name="android.intent.action.VIEW" />
+ <data
+ android:mimeType="application/eml" />
+ <data
+ android:mimeType="message/rfc822" />
+ <category
+ android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
@@ -210,45 +245,74 @@
android:enabled="false"
>
<intent-filter>
- <action android:name="android.intent.action.VIEW" />
- <action android:name="android.intent.action.SENDTO" />
- <data android:scheme="mailto" />
- <category android:name="android.intent.category.DEFAULT" />
- <category android:name="android.intent.category.BROWSABLE" />
+ <action
+ android:name="android.intent.action.VIEW" />
+ <action
+ android:name="android.intent.action.SENDTO" />
+ <data
+ android:scheme="mailto" />
+ <category
+ android:name="android.intent.category.DEFAULT" />
+ <category
+ android:name="android.intent.category.BROWSABLE" />
</intent-filter>
- <intent-filter android:label="@string/app_name">
- <action android:name="android.intent.action.SEND" />
- <data android:mimeType="*/*" />
- <category android:name="android.intent.category.DEFAULT" />
+ <intent-filter
+ android:label="@string/app_name">
+ <action
+ android:name="android.intent.action.SEND" />
+ <data
+ android:mimeType="*/*" />
+ <category
+ android:name="android.intent.category.DEFAULT" />
</intent-filter>
- <intent-filter android:label="@string/app_name">
- <action android:name="android.intent.action.SEND_MULTIPLE" />
- <data android:mimeType="*/*" />
- <category android:name="android.intent.category.DEFAULT" />
+ <intent-filter
+ android:label="@string/app_name">
+ <action
+ android:name="android.intent.action.SEND_MULTIPLE" />
+ <data
+ android:mimeType="*/*" />
+ <category
+ android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ <intent-filter>
+ <action
+ android:name="com.android.email.intent.action.REPLY" />
</intent-filter>
</activity>
<!--EXCHANGE-REMOVE-SECTION-START-->
- <receiver android:name="com.android.exchange.EmailSyncAlarmReceiver"/>
- <receiver android:name="com.android.exchange.MailboxAlarmReceiver"/>
+ <receiver
+ android:name="com.android.exchange.EmailSyncAlarmReceiver"/>
+ <receiver
+ android:name="com.android.exchange.MailboxAlarmReceiver"/>
<!--EXCHANGE-REMOVE-SECTION-END-->
- <receiver android:name=".service.AttachmentDownloadService$Watchdog"
+ <receiver
+ android:name=".service.AttachmentDownloadService$Watchdog"
android:enabled="true"/>
- <receiver android:name=".service.EmailBroadcastReceiver" android:enabled="true">
+ <receiver
+ android:name=".service.EmailBroadcastReceiver"
+ android:enabled="true">
<intent-filter>
- <action android:name="android.intent.action.BOOT_COMPLETED" />
- <action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
- <action android:name="android.intent.action.DEVICE_STORAGE_OK" />
+ <action
+ android:name="android.intent.action.BOOT_COMPLETED" />
+ <action
+ android:name="android.intent.action.DEVICE_STORAGE_LOW" />
+ <action
+ android:name="android.intent.action.DEVICE_STORAGE_OK" />
</intent-filter>
<!-- To handle secret code to activate the debug screen. -->
<intent-filter>
- <action android:name="android.provider.Telephony.SECRET_CODE" />
+ <action
+ android:name="android.provider.Telephony.SECRET_CODE" />
<!-- "36245" = "email" -->
- <data android:scheme="android_secret_code" android:host="36245" />
+ <data
+ android:scheme="android_secret_code"
+ android:host="36245" />
</intent-filter>
</receiver>
- <service android:name=".service.EmailBroadcastProcessorService" />
+ <service
+ android:name=".service.EmailBroadcastProcessorService" />
<!-- Support for DeviceAdmin / DevicePolicyManager. See SecurityPolicy class for impl. -->
<receiver
@@ -260,7 +324,8 @@
android:name="android.app.device_admin"
android:resource="@xml/device_admin" />
<intent-filter>
- <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
+ <action
+ android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
@@ -290,7 +355,8 @@
android:enabled="true"
>
<intent-filter>
- <action android:name="android.accounts.AccountAuthenticator" />
+ <action
+ android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
@@ -303,7 +369,8 @@
android:name="com.android.email.service.PopImapSyncAdapterService"
android:exported="true">
<intent-filter>
- <action android:name="android.content.SyncAdapter" />
+ <action
+ android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter_pop_imap" />
@@ -315,7 +382,8 @@
android:name="com.android.exchange.EmailSyncAdapterService"
android:exported="true">
<intent-filter>
- <action android:name="android.content.SyncAdapter" />
+ <action
+ android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter_email" />
@@ -326,7 +394,8 @@
android:name="com.android.exchange.ContactsSyncAdapterService"
android:exported="true">
<intent-filter>
- <action android:name="android.content.SyncAdapter" />
+ <action
+ android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter_contacts" />
@@ -337,7 +406,8 @@
android:name="com.android.exchange.CalendarSyncAdapterService"
android:exported="true">
<intent-filter>
- <action android:name="android.content.SyncAdapter" />
+ <action
+ android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter_calendar" />
@@ -357,7 +427,8 @@
android:enabled="true"
>
<intent-filter>
- <action android:name="android.accounts.AccountAuthenticator" />
+ <action
+ android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
@@ -365,7 +436,7 @@
/>
</service>
<!--
- EasAuthenticatorService with the altenative label. Disabled by default,
+ EasAuthenticatorService with the alternative label. Disabled by default,
and OneTimeInitializer enables it if the vendor policy tells so.
-->
<service
@@ -374,7 +445,8 @@
android:enabled="false"
>
<intent-filter>
- <action android:name="android.accounts.AccountAuthenticator" />
+ <action
+ android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
@@ -395,7 +467,7 @@
it exposes user passwords and other confidential information. -->
<provider
android:name=".provider.EmailProvider"
- android:authorities="com.android.email.provider"
+ android:authorities="com.android.email.provider; com.android.email.notifier"
android:multiprocess="true"
android:permission="com.android.email.permission.ACCESS_PROVIDER"
android:label="@string/app_name"
@@ -408,9 +480,27 @@
android:readPermission="android.permission.READ_CONTACTS"
android:multiprocess="false"
>
- <meta-data android:name="android.content.ContactDirectory" android:value="true"/>
+ <meta-data
+ android:name="android.content.ContactDirectory"
+ android:value="true"/>
</provider>
<!--EXCHANGE-REMOVE-SECTION-END-->
+ <!-- Email AppWidget definitions -->
+ <service
+ android:name=".provider.WidgetProvider$WidgetService"
+ android:enabled="true"
+ android:exported="true"
+ />
+ <receiver
+ android:name=".provider.WidgetProvider" >
+ <intent-filter>
+ <action
+ android:name="android.appwidget.action.APPWIDGET_UPDATE" />
+ </intent-filter>
+ <meta-data
+ android:name="android.appwidget.provider"
+ android:resource="@xml/widget_info" />
+ </receiver>
</application>
</manifest>