429 lines
17 KiB
XML
429 lines
17 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest
|
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
android:installLocation="auto">
|
|
|
|
<uses-feature
|
|
android:name="android.hardware.touchscreen"
|
|
android:required="false"/>
|
|
|
|
<supports-screens
|
|
android:anyDensity="true"
|
|
android:largeScreens="true"
|
|
android:normalScreens="true"
|
|
android:smallScreens="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"/>
|
|
|
|
<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.FOREGROUND_SERVICE"/>
|
|
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
|
|
|
<application
|
|
android:name="com.fsck.k9.App"
|
|
android:allowTaskReparenting="false"
|
|
android:usesCleartextTraffic="true"
|
|
android:networkSecurityConfig="@xml/network_security_config"
|
|
android:icon="@drawable/ic_launcher"
|
|
android:label="@string/app_name"
|
|
android:theme="@style/Theme.K9.Startup"
|
|
android:resizeableActivity="true"
|
|
android:allowBackup="false"
|
|
android:supportsRtl="true"
|
|
android:hasFragileUserData="false"
|
|
tools:replace="android:theme"
|
|
tools:ignore="UnusedAttribute">
|
|
|
|
<meta-data
|
|
android:name="android.app.default_searchable"
|
|
android:value="com.fsck.k9.activity.Search"/>
|
|
|
|
<!-- TODO: Remove once minSdkVersion has been changed to 24+ -->
|
|
<meta-data
|
|
android:name="com.lge.support.SPLIT_WINDOW"
|
|
android:value="true"/>
|
|
<uses-library
|
|
android:name="com.sec.android.app.multiwindow"
|
|
android:required="false"/>
|
|
<meta-data
|
|
android:name="com.sec.android.support.multiwindow"
|
|
android:value="true"/>
|
|
<meta-data
|
|
android:name="com.samsung.android.sdk.multiwindow.penwindow.enable"
|
|
android:value="true"/>
|
|
<meta-data android:name="android.webkit.WebView.MetricsOptOut"
|
|
android:value="true" />
|
|
|
|
<activity
|
|
android:name=".ui.onboarding.OnboardingActivity"
|
|
android:label="@string/welcome_message_title" />
|
|
|
|
<activity
|
|
android:name=".ui.settings.account.OpenPgpAppSelectDialog"
|
|
android:configChanges="locale"
|
|
android:theme="@style/Theme.K9.Dialog.Translucent.DayNight"
|
|
/>
|
|
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupBasics"
|
|
android:configChanges="locale"
|
|
android:label="@string/account_setup_basics_title"/>
|
|
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupAccountType"
|
|
android:configChanges="locale"
|
|
android:label="@string/account_setup_account_type_title"/>
|
|
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupIncoming"
|
|
android:configChanges="locale"
|
|
android:label="@string/account_setup_incoming_title"/>
|
|
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupComposition"
|
|
android:configChanges="locale"
|
|
android:label="@string/account_settings_composition_title"/>
|
|
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupOutgoing"
|
|
android:configChanges="locale"
|
|
android:label="@string/account_setup_outgoing_title"/>
|
|
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupOptions"
|
|
android:configChanges="locale"
|
|
android:label="@string/account_setup_options_title"/>
|
|
|
|
<activity
|
|
android:name=".activity.setup.AccountSetupNames"
|
|
android:configChanges="locale"
|
|
android:label="@string/account_setup_names_title"/>
|
|
|
|
<activity
|
|
android:name=".activity.ChooseAccount"
|
|
android:configChanges="locale"
|
|
android:label="@string/choose_account_title"
|
|
android:noHistory="true" />
|
|
|
|
<activity
|
|
android:name=".ui.choosefolder.ChooseFolderActivity"
|
|
android:configChanges="locale"
|
|
android:label="@string/choose_folder_title"
|
|
android:noHistory="true" />
|
|
|
|
<activity
|
|
android:name=".activity.ChooseIdentity"
|
|
android:configChanges="locale"
|
|
android:label="@string/choose_identity_title" />
|
|
|
|
<activity
|
|
android:name=".activity.ManageIdentities"
|
|
android:configChanges="locale"
|
|
android:label="@string/manage_identities_title"/>
|
|
|
|
<activity
|
|
android:name=".activity.EditIdentity"
|
|
android:configChanges="locale"
|
|
android:label="@string/edit_identity_title"/>
|
|
|
|
<activity
|
|
android:name=".ui.notification.DeleteConfirmationActivity"
|
|
android:excludeFromRecents="true"
|
|
android:launchMode="singleTop"
|
|
android:taskAffinity=""
|
|
android:theme="@style/Theme.K9.Dialog.Translucent.DayNight"/>
|
|
|
|
<!-- 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:configChanges="keyboardHidden|orientation|locale"
|
|
android:label="@string/account_setup_check_settings_title"/>
|
|
|
|
<activity
|
|
android:name=".ui.endtoend.AutocryptKeyTransferActivity"
|
|
android:configChanges="locale"
|
|
android:label="@string/ac_transfer_title"
|
|
/>
|
|
|
|
<activity
|
|
android:name=".activity.MessageList"
|
|
android:launchMode="singleTop"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN"/>
|
|
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
<category android:name="android.intent.category.LAUNCHER"/>
|
|
<category android:name="android.intent.category.APP_EMAIL"/>
|
|
|
|
<!-- TODO: Remove once minSdkVersion has been changed to 24+ -->
|
|
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER"/>
|
|
<category android:name="android.intent.category.PENWINDOW_LAUNCHER"/>
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW"/>
|
|
<data
|
|
android:host="messages"
|
|
android:scheme="k9mail"/>
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!--
|
|
This component is disabled by default. It will be enabled programmatically after an account has been set up.
|
|
-->
|
|
<activity
|
|
android:name=".activity.MessageCompose"
|
|
android:configChanges="locale"
|
|
android:enabled="false"
|
|
android:exported="true">
|
|
<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>
|
|
<intent-filter>
|
|
<action android:name="org.autocrypt.PEER_ACTION"/>
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- Search Activity - searchable -->
|
|
<activity
|
|
android:name=".activity.Search"
|
|
android:configChanges="locale"
|
|
android:label="@string/search_action"
|
|
android:uiOptions="splitActionBarWhenNarrow"
|
|
android:exported="true">
|
|
<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>
|
|
|
|
<!--
|
|
This component is disabled by default. It will be enabled programmatically after an account has been set up.
|
|
-->
|
|
<activity
|
|
android:name=".activity.LauncherShortcuts"
|
|
android:configChanges="locale"
|
|
android:label="@string/shortcuts_title"
|
|
android:enabled="false"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.CREATE_SHORTCUT"/>
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".widget.unread.UnreadWidgetConfigurationActivity"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".activity.UpgradeDatabases"
|
|
android:label="@string/upgrade_databases_title"/>
|
|
|
|
<activity
|
|
android:name=".ui.managefolders.ManageFoldersActivity"
|
|
android:label="@string/folders_action" />
|
|
|
|
<activity
|
|
android:name=".ui.settings.SettingsActivity"
|
|
android:label="@string/prefs_title" />
|
|
|
|
<activity
|
|
android:name=".ui.settings.general.GeneralSettingsActivity"
|
|
android:label="@string/general_settings_title" />
|
|
|
|
<activity
|
|
android:name=".ui.settings.account.AccountSettingsActivity"
|
|
android:label="@string/account_settings_title_fmt" />
|
|
|
|
<activity
|
|
android:name=".ui.messagesource.MessageSourceActivity"
|
|
android:label="@string/show_headers_action" />
|
|
|
|
<activity
|
|
android:name=".ui.changelog.RecentChangesActivity"
|
|
android:label="@string/changelog_recent_changes_title" />
|
|
|
|
<activity
|
|
android:name=".ui.push.PushInfoActivity"
|
|
android:excludeFromRecents="true"
|
|
android:exported="false"
|
|
android:label="@string/push_info_title"
|
|
android:taskAffinity="${applicationId}.push_info">
|
|
<intent-filter>
|
|
<action android:name="app.k9mail.action.PUSH_INFO" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".activity.setup.OAuthFlowActivity"
|
|
android:label="@string/account_setup_basics_title" />
|
|
|
|
<!-- This component is disabled by default (if possible). It will be enabled programmatically if necessary. -->
|
|
<receiver
|
|
android:name=".provider.UnreadWidgetProvider"
|
|
android:icon="@drawable/ic_launcher"
|
|
android:label="@string/unread_widget_label"
|
|
android:enabled="@bool/home_screen_widgets_enabled"
|
|
android:exported="false">
|
|
<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>
|
|
|
|
<!-- This component is disabled by default (if possible). It will be enabled programmatically if necessary. -->
|
|
<receiver
|
|
android:name=".widget.list.MessageListWidgetProvider"
|
|
android:icon="@drawable/message_list_widget_preview"
|
|
android:label="@string/mail_list_widget_text"
|
|
android:enabled="@bool/home_screen_widgets_enabled"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
|
</intent-filter>
|
|
<meta-data
|
|
android:name="android.appwidget.provider"
|
|
android:resource="@xml/message_list_widget_info" />
|
|
</receiver>
|
|
|
|
<!-- This component is disabled by default. It will be enabled programmatically if necessary. -->
|
|
<receiver
|
|
android:name=".controller.push.BootCompleteReceiver"
|
|
android:exported="false"
|
|
android:enabled="false">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.BOOT_COMPLETED"/>
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<service
|
|
android:name=".notification.NotificationActionService"/>
|
|
|
|
<service
|
|
android:name=".service.DatabaseUpgradeService"
|
|
android:exported="false"/>
|
|
|
|
<service
|
|
android:name="com.fsck.k9.account.AccountRemoverService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE"/>
|
|
|
|
<service
|
|
android:name=".controller.push.PushService"
|
|
android:exported="false"
|
|
android:foregroundServiceType="dataSync" />
|
|
|
|
<provider
|
|
android:name=".provider.AttachmentProvider"
|
|
android:authorities="${applicationId}.attachmentprovider"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
|
|
<meta-data
|
|
android:name="de.cketti.safecontentresolver.ALLOW_INTERNAL_ACCESS"
|
|
android:value="true" />
|
|
|
|
</provider>
|
|
|
|
<provider
|
|
android:name=".provider.RawMessageProvider"
|
|
android:authorities="${applicationId}.rawmessageprovider"
|
|
android:exported="false">
|
|
|
|
<meta-data
|
|
android:name="de.cketti.safecontentresolver.ALLOW_INTERNAL_ACCESS"
|
|
android:value="true" />
|
|
|
|
</provider>
|
|
|
|
<provider
|
|
android:name=".provider.DecryptedFileProvider"
|
|
android:authorities="${applicationId}.decryptedfileprovider"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/decrypted_file_provider_paths" />
|
|
</provider>
|
|
|
|
<provider
|
|
android:name=".provider.AttachmentTempFileProvider"
|
|
android:authorities="${applicationId}.tempfileprovider"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/temp_file_provider_paths" />
|
|
</provider>
|
|
|
|
<activity
|
|
android:name="net.openid.appauth.RedirectUriReceiverActivity"
|
|
android:exported="true"
|
|
tools:node="merge">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<!-- Microsoft uses a special redirect URI format for Android apps -->
|
|
<data android:scheme="msauth" android:host="${applicationId}"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<provider
|
|
android:name="androidx.startup.InitializationProvider"
|
|
android:authorities="${applicationId}.androidx-startup"
|
|
android:exported="false"
|
|
tools:node="merge">
|
|
|
|
<!-- We're using on-demand initialization for WorkManager -->
|
|
<meta-data
|
|
android:name="androidx.work.WorkManagerInitializer"
|
|
android:value="androidx.startup"
|
|
tools:node="remove" />
|
|
|
|
</provider>
|
|
|
|
</application>
|
|
</manifest>
|