mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-10 11:35:11 -05:00
1ff0bb6289
Merge branch 'jb-notifications' of https://github.com/maniac103/k-9 * 'jb-notifications' of https://github.com/maniac103/k-9: Strip off signatures from preview. Reset list of unseen messages when the user clears the notification. In the new-style notification, directly go to message if new message count is 1. Cancel notification when viewing message by clicking on notification. Directly go to message when clicking on a single-message notification. Fix message overflow. Incorporate review comments. Some fixes to notification behaviour. Add German translation for message delete notification action. Add delete action to notification. Update summarized notification if a message is deleted or read remotely. Fixed deprecation warnings. Simplify code and beautify pre-jellybean notifications by using bold sender span for those. Respect "Show contact names" option when determining sender for notification. Fix marking messages as read from notification. Add German translation for new strings. Add actions to notifications. First stab at new notifications. Remove own Notification.Builder abstraction. Update android support library to latest version.
447 lines
18 KiB
XML
447 lines
18 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest
|
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:versionCode="17019"
|
|
android:versionName="4.318" package="com.fsck.k9"
|
|
>
|
|
<uses-sdk
|
|
android:minSdkVersion="7"
|
|
android:targetSdkVersion="15"
|
|
/>
|
|
<supports-screens
|
|
android:largeScreens="true"
|
|
android:normalScreens="true"
|
|
android:smallScreens="true"
|
|
android:anyDensity="true"
|
|
/>
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
|
<uses-permission android:name="android.permission.READ_CONTACTS"/>
|
|
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
|
|
|
|
<!-- Needed to mark a contact as contacted -->
|
|
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
|
|
|
|
<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.WAKE_LOCK"/>
|
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
|
|
|
<uses-permission android:name="org.thialfihar.android.apg.permission.READ_KEY_DETAILS" />
|
|
|
|
<permission android:name="com.fsck.k9.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.fsck.k9.permission.READ_ATTACHMENT"/>
|
|
<permission android:name="com.fsck.k9.permission.REMOTE_CONTROL"
|
|
android:permissionGroup="android.permission-group.MESSAGES"
|
|
android:protectionLevel="dangerous"
|
|
android:label="@string/remote_control_label"
|
|
android:description="@string/remote_control_desc"/>
|
|
<uses-permission android:name="com.fsck.k9.permission.REMOTE_CONTROL"/>
|
|
<permission android:name="com.fsck.k9.permission.READ_MESSAGES"
|
|
android:permissionGroup="android.permission-group.MESSAGES"
|
|
android:protectionLevel="dangerous"
|
|
android:label="@string/read_messages_label"
|
|
android:description="@string/read_messages_desc"/>
|
|
<uses-permission android:name="com.fsck.k9.permission.READ_MESSAGES"/>
|
|
<permission android:name="com.fsck.k9.permission.DELETE_MESSAGES"
|
|
android:permissionGroup="android.permission-group.MESSAGES"
|
|
android:protectionLevel="dangerous"
|
|
android:label="@string/delete_messages_label"
|
|
android:description="@string/delete_messages_desc"/>
|
|
<uses-permission android:name="com.fsck.k9.permission.DELETE_MESSAGES"/>
|
|
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
|
|
<application
|
|
android:icon="@drawable/icon"
|
|
android:label="@string/app_name"
|
|
android:name="K9"
|
|
android:allowTaskReparenting="false"
|
|
android:theme="@style/Theme.Sherlock.Light.DarkActionBar"
|
|
>
|
|
<meta-data android:name="android.app.default_searchable"
|
|
android:value=".activity.Search" />
|
|
|
|
<activity
|
|
android:name=".activity.Accounts"
|
|
android:configChanges="locale"
|
|
android:launchMode="singleTop"
|
|
android:uiOptions="splitActionBarWhenNarrow"
|
|
android:label="@string/app_name">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<data android:mimeType="application/x-k9settings" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".activity.setup.Prefs"
|
|
android:label="@string/prefs_title"
|
|
android:configChanges="locale"
|
|
android:taskAffinity="com.fsck.k9.activity.setup.Prefs"
|
|
android:excludeFromRecents="true"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.setup.WelcomeMessage"
|
|
android:label="@string/welcome_message_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.setup.FontSizeSettings"
|
|
android:label="@string/font_size_settings_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupBasics"
|
|
android:label="@string/account_setup_basics_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupAccountType"
|
|
android:label="@string/account_setup_account_type_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupIncoming"
|
|
android:label="@string/account_setup_incoming_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupComposition"
|
|
android:label="@string/account_settings_composition_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupOutgoing"
|
|
android:label="@string/account_setup_outgoing_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupOptions"
|
|
android:label="@string/account_setup_options_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupNames"
|
|
android:label="@string/account_setup_names_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.ChooseFolder"
|
|
android:theme="@style/Theme.K9Dialog"
|
|
android:label="@string/choose_folder_title"
|
|
android:configChanges="locale"
|
|
android:noHistory="true"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.ChooseIdentity"
|
|
android:theme="@style/Theme.K9Dialog"
|
|
android:label="@string/choose_identity_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.ManageIdentities"
|
|
android:label="@string/manage_identities_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.EditIdentity"
|
|
android:label="@string/edit_identity_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.NotificationDeleteConfirmation"
|
|
android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
|
android:launchMode="singleTop"
|
|
android:taskAffinity=""
|
|
android:excludeFromRecents="true"
|
|
>
|
|
</activity>
|
|
<!-- XXX Note: this activity is hacked to ignore config changes,
|
|
since it doesn't currently handle them correctly in code. -->
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupCheckSettings"
|
|
android:label="@string/account_setup_check_settings_title"
|
|
android:configChanges="keyboardHidden|orientation|locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.setup.AccountSettings"
|
|
android:label="@string/account_settings_title_fmt"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".activity.setup.FolderSettings"
|
|
android:theme="@android:style/Theme.Dialog"
|
|
android:label="@string/folder_settings_title"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.FolderList"
|
|
android:configChanges="locale"
|
|
android:uiOptions="splitActionBarWhenNarrow"
|
|
>
|
|
<intent-filter>
|
|
<!-- This action is only to allow an entry point for launcher shortcuts -->
|
|
<action android:name="android.intent.action.MAIN" />
|
|
</intent-filter>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.MessageList"
|
|
android:configChanges="locale"
|
|
android:uiOptions="splitActionBarWhenNarrow"
|
|
>
|
|
<intent-filter>
|
|
<!-- This action is only to allow an entry point for launcher shortcuts -->
|
|
<action android:name="android.intent.action.MAIN" />
|
|
</intent-filter>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.MessageView"
|
|
android:configChanges="locale"
|
|
android:uiOptions="splitActionBarWhenNarrow"
|
|
>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<data
|
|
android:scheme="email"
|
|
android:host="messages"
|
|
/>
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.MessageCompose"
|
|
android:label="@string/app_name"
|
|
android:enabled="false"
|
|
android:configChanges="locale"
|
|
>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SENDTO" />
|
|
<data android:scheme="mailto" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEND" />
|
|
<data android:mimeType="*/*" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<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="android.intent.action.VIEW" />
|
|
<data android:scheme="mailto" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
</intent-filter>
|
|
</activity>
|
|
<!-- Search Activity - searchable -->
|
|
<activity android:name=".activity.Search"
|
|
android:label="@string/search_action"
|
|
android:configChanges="locale"
|
|
android:uiOptions="splitActionBarWhenNarrow"
|
|
>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEARCH" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
<meta-data android:name="android.app.searchable"
|
|
android:resource="@xml/searchable" />
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.LauncherShortcuts"
|
|
android:label="@string/shortcuts_title"
|
|
android:configChanges="locale"
|
|
>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.CREATE_SHORTCUT" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.AccessibleEmailContentActivity"
|
|
>
|
|
</activity>
|
|
<activity android:name=".activity.EmailAddressList"
|
|
android:configChanges="locale"
|
|
>
|
|
</activity>
|
|
<receiver android:name=".service.BootReceiver"
|
|
android:enabled="true"
|
|
>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.DEVICE_STORAGE_LOW" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.DEVICE_STORAGE_OK" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="com.fsck.k9.service.BroadcastReceiver.scheduleIntent"/>
|
|
</intent-filter>
|
|
</receiver>
|
|
<receiver android:name=".service.RemoteControlReceiver"
|
|
android:enabled="true"
|
|
android:permission="com.fsck.k9.permission.REMOTE_CONTROL"
|
|
>
|
|
<intent-filter>
|
|
<action android:name="com.fsck.k9.K9RemoteControl.set"/>
|
|
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="com.fsck.k9.K9RemoteControl.requestAccounts"/>
|
|
|
|
</intent-filter>
|
|
</receiver>
|
|
<receiver android:name=".service.CoreReceiver"
|
|
android:enabled="true"
|
|
>
|
|
<intent-filter>
|
|
<action android:name="com.fsck.k9.service.CoreReceiver.wakeLockRelease"/>
|
|
</intent-filter>
|
|
</receiver>
|
|
<receiver android:name=".service.StorageReceiver"
|
|
android:enabled="true"
|
|
>
|
|
<intent-filter>
|
|
<!--
|
|
android.intent.action.MEDIA_MOUNTED
|
|
|
|
* Broadcast Action: External media is present and mounted at its mount point.
|
|
* The path to the mount point for the removed media is contained in the Intent.mData field.
|
|
* The Intent contains an extra with name "read-only" and Boolean value to indicate if the
|
|
* media was mounted read only.
|
|
|
|
-->
|
|
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
|
|
<!--
|
|
|
|
MEDIA_EJECT and MEDIA_UNMOUNTED are not defined here: they have to be dynamically registered
|
|
otherwise it would make K-9 start at the wrong time
|
|
|
|
-->
|
|
<data android:scheme="file"/>
|
|
</intent-filter>
|
|
</receiver>
|
|
<service
|
|
android:name=".service.MailService"
|
|
android:enabled="true"
|
|
>
|
|
</service>
|
|
<service
|
|
android:name=".service.NotificationActionService"
|
|
android:enabled="true"
|
|
>
|
|
</service>
|
|
<service
|
|
android:name=".service.PushService"
|
|
android:enabled="true"
|
|
>
|
|
</service>
|
|
<service
|
|
android:name=".service.PollService"
|
|
android:enabled="true"
|
|
>
|
|
</service>
|
|
<service
|
|
android:name=".service.RemoteControlService"
|
|
android:enabled="true"
|
|
android:permission="com.fsck.k9.permission.REMOTE_CONTROL"
|
|
>
|
|
</service>
|
|
<service
|
|
android:name=".service.SleepService"
|
|
android:enabled="true"
|
|
>
|
|
</service>
|
|
<provider
|
|
android:name=".provider.AttachmentProvider"
|
|
android:authorities="com.fsck.k9.attachmentprovider"
|
|
android:multiprocess="true"
|
|
android:grantUriPermissions="true"
|
|
android:readPermission="com.fsck.k9.permission.READ_ATTACHMENT"
|
|
/>
|
|
<provider
|
|
android:name=".provider.MessageProvider"
|
|
android:authorities="com.fsck.k9.messageprovider"
|
|
android:multiprocess="true"
|
|
android:grantUriPermissions="true"
|
|
android:readPermission="com.fsck.k9.permission.READ_MESSAGES"
|
|
android:writePermission="com.fsck.k9.permission.DELETE_MESSAGES"
|
|
/>
|
|
<provider
|
|
android:name=".provider.EmailProvider"
|
|
android:authorities="com.fsck.k9.provider.email"
|
|
android:exported="false"
|
|
/>
|
|
|
|
<receiver
|
|
android:name=".provider.UnreadWidgetProvider"
|
|
android:label="@string/unread_widget_label"
|
|
android:icon="@drawable/icon">
|
|
<intent-filter>
|
|
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
|
</intent-filter>
|
|
<meta-data
|
|
android:name="android.appwidget.provider"
|
|
android:resource="@xml/unread_widget_info" />
|
|
</receiver>
|
|
<activity android:name=".activity.UnreadWidgetConfiguration">
|
|
<intent-filter>
|
|
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
|
|
</intent-filter>
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.AccountList">
|
|
</activity>
|
|
<activity
|
|
android:name=".activity.UpgradeDatabases"
|
|
android:label="@string/upgrade_databases_title">
|
|
</activity>
|
|
<service
|
|
android:name=".service.DatabaseUpgradeService"
|
|
android:exported="false">
|
|
</service>
|
|
</application>
|
|
</manifest>
|