aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/AndroidManifest.xml
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/AndroidManifest.xml')
-rw-r--r--OpenKeychain/src/main/AndroidManifest.xml203
1 files changed, 179 insertions, 24 deletions
diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml
index af09019e8..7af9d895f 100644
--- a/OpenKeychain/src/main/AndroidManifest.xml
+++ b/OpenKeychain/src/main/AndroidManifest.xml
@@ -31,7 +31,7 @@
For OI Filemanager it makes no difference, gpg files can't be associated
-->
- <!-- Specified in buid.gradle -->
+ <!-- Specified in build.gradle -->
<!--<uses-sdk-->
<!--android:minSdkVersion="9"-->
<!--android:targetSdkVersion="19" />-->
@@ -53,10 +53,10 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
- <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
- <uses-permission android:name="android.permission.MANAGE_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.AUTHENTICATE_ACCOUNTS" />
+ <uses-permission android:name="android.permission.MANAGE_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.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
@@ -84,22 +84,23 @@
android:name=".ui.FirstTimeActivity"
android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
android:label="@string/app_name"
- android:windowSoftInputMode="stateHidden" />
+ android:windowSoftInputMode="stateAlwaysHidden" />
<activity
android:name=".ui.CreateKeyActivity"
android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
- android:label="@string/title_create_key"
- android:windowSoftInputMode="stateHidden" />
+ android:label="@string/title_create_key">
+ <meta-data
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value=".ui.KeyListActivity" />
+ </activity>
<activity
- android:name=".ui.EditKeyActivityOld"
+ android:name=".ui.EditKeyActivity"
android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
- android:label="@string/title_edit_key"
- android:windowSoftInputMode="stateHidden" />
+ android:label="@string/title_edit_key" />
<activity
- android:name=".ui.EditKeyActivity"
+ android:name=".ui.QrCodeActivity"
android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
- android:label="@string/title_edit_key"
- android:windowSoftInputMode="stateHidden" />
+ android:label="@string/share_qr_code_dialog_title" />
<activity
android:name=".ui.ViewKeyActivity"
android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
@@ -222,7 +223,19 @@
<data android:host="*" />
<data android:scheme="file" />
<data android:scheme="content" />
- <!-- Workaround to match files in pathes with dots in them, like /cdcard/my.folder/test.gpg -->
+
+ <!-- GnuPG ASCII data, mostly keys, but sometimes signatures and encrypted data -->
+ <data android:pathPattern=".*\\.asc" />
+ <data android:pathPattern=".*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <!-- GnuPG binary encrypted/signed data, binary format -->
<data android:pathPattern=".*\\.gpg" />
<data android:pathPattern=".*\\..*\\.gpg" />
<data android:pathPattern=".*\\..*\\..*\\.gpg" />
@@ -233,7 +246,34 @@
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <!-- PGP encrypted data, binary format -->
+ <data android:pathPattern=".*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <!-- on some mail clients, PGP attachments show up as *.bin -->
+ <data android:pathPattern=".*\\.bin" />
+ <data android:pathPattern=".*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
</intent-filter>
+ <!--
+ Some apps will only respect these file associations
+ if the mimeType is not set, and other apps will only respect them if mimeType is set
+ to */*. Therefore we have two whole copies of the same thing, besides setting the mimeType.
+ -->
<intent-filter android:label="@string/intent_decrypt_file">
<action android:name="android.intent.action.VIEW" />
@@ -243,7 +283,10 @@
<data android:host="*" />
<data android:scheme="file" />
<data android:scheme="content" />
+
<data android:mimeType="*/*" />
+
+ <!-- GnuPG ASCII data, mostly keys, but sometimes signatures and encrypted data -->
<data android:pathPattern=".*\\.asc" />
<data android:pathPattern=".*\\..*\\.asc" />
<data android:pathPattern=".*\\..*\\..*\\.asc" />
@@ -254,6 +297,39 @@
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <!-- GnuPG binary encrypted/signed data, binary format -->
+ <data android:pathPattern=".*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <!-- PGP encrypted data, binary format -->
+ <data android:pathPattern=".*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <!-- on some mail clients, PGP attachments show up as *.bin -->
+ <data android:pathPattern=".*\\.bin" />
+ <data android:pathPattern=".*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
</intent-filter>
</activity>
<activity
@@ -323,6 +399,9 @@
<!-- mime type as defined in http://tools.ietf.org/html/rfc3156 -->
<data android:mimeType="application/pgp-keys" />
+ <!-- also link to text/plain, AOSP mail and K-9 mail only give mimeType text/plain
+ when the key file has been manually attached -->
+ <data android:mimeType="text/plain" />
</intent-filter>
<!-- NFC: Handle NFC tags detected from outside our application -->
<intent-filter>
@@ -342,6 +421,19 @@
<data android:host="*" />
<data android:scheme="file" />
<data android:scheme="content" />
+
+ <!-- GnuPG ASCII data, mostly keys, but sometimes signatures and encrypted data -->
+ <data android:pathPattern=".*\\.asc" />
+ <data android:pathPattern=".*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <!-- GnuPG binary encrypted/signed data, binary format -->
<data android:pathPattern=".*\\.gpg" />
<data android:pathPattern=".*\\..*\\.gpg" />
<data android:pathPattern=".*\\..*\\..*\\.gpg" />
@@ -352,8 +444,34 @@
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <!-- PGP encrypted data, binary format -->
+ <data android:pathPattern=".*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <!-- on some mail clients, PGP attachments show up as *.bin -->
+ <data android:pathPattern=".*\\.bin" />
+ <data android:pathPattern=".*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
</intent-filter>
- <!-- VIEW with file endings: *.asc -->
+ <!--
+ Some apps will only respect these file associations
+ if the mimeType is not set, and other apps will only respect them if mimeType is set
+ to */*. Therefore we have two whole copies of the same thing, besides setting the mimeType.
+ -->
<intent-filter android:label="@string/intent_import_key">
<action android:name="android.intent.action.VIEW" />
@@ -363,7 +481,10 @@
<data android:host="*" />
<data android:scheme="file" />
<data android:scheme="content" />
+
<data android:mimeType="*/*" />
+
+ <!-- GnuPG ASCII data, mostly keys, but sometimes signatures and encrypted data -->
<data android:pathPattern=".*\\.asc" />
<data android:pathPattern=".*\\..*\\.asc" />
<data android:pathPattern=".*\\..*\\..*\\.asc" />
@@ -374,7 +495,41 @@
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.asc" />
+ <!-- GnuPG binary encrypted/signed data, binary format -->
+ <data android:pathPattern=".*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.gpg" />
+ <!-- PGP encrypted data, binary format -->
+ <data android:pathPattern=".*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.pgp" />
+ <!-- on some mail clients, PGP attachments show up as *.bin -->
+ <data android:pathPattern=".*\\.bin" />
+ <data android:pathPattern=".*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
+ <data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.bin" />
</intent-filter>
+
<!-- Keychain's own Actions -->
<!-- IMPORT_KEY with files TODO: does this work? -->
<intent-filter android:label="@string/intent_import_key">
@@ -469,24 +624,24 @@
<service android:name=".service.DummyAccountService">
<intent-filter>
- <action android:name="android.accounts.AccountAuthenticator"/>
+ <action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
- android:name="android.accounts.AccountAuthenticator"
- android:resource="@xml/account_desc"/>
+ android:name="android.accounts.AccountAuthenticator"
+ android:resource="@xml/account_desc" />
</service>
<service android:name=".service.ContactSyncAdapterService">
<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/sync_adapter_desc"/>
+ android:name="android.content.SyncAdapter"
+ android:resource="@xml/sync_adapter_desc" />
<meta-data
- android:name="android.provider.CONTACTS_STRUCTURE"
- android:resource="@xml/custom_pgp_contacts_structure"/>
+ android:name="android.provider.CONTACTS_STRUCTURE"
+ android:resource="@xml/custom_pgp_contacts_structure" />
</service>
</application>