diff options
Diffstat (limited to 'OpenKeychain/src/main/AndroidManifest.xml')
-rw-r--r-- | OpenKeychain/src/main/AndroidManifest.xml | 114 |
1 files changed, 64 insertions, 50 deletions
diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml index f63cf8823..00c861ccc 100644 --- a/OpenKeychain/src/main/AndroidManifest.xml +++ b/OpenKeychain/src/main/AndroidManifest.xml @@ -2,24 +2,22 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="org.sufficientlysecure.keychain" - android:installLocation="auto" - android:versionCode="32100" - android:versionName="3.2.1"> + android:installLocation="auto"> <!-- General remarks =============== - Last APG 1 version was 10900 (1.0.9 beta 00) - Keychain starting with versionCode 20000! - + Association of file types to Keychain ===================================== General remarks about file ending conventions: - *.gpg,*.pgp for binary files - *.asc for ascii armored files The actual content can be anything. - + The file ending only shows if it is binary or ascii encoded. - + Remarks about the ugly android:pathPattern: - We are matching all files with a specific file ending. This is done in an ugly way because of Android limitations. @@ -50,9 +48,10 @@ android:name="android.hardware.screen.portrait" android:required="false" /> - <permission android:name="org.sufficientlysecure.keychain.WRITE_TEMPORARY_STORAGE" /> - - <uses-permission android:name="org.sufficientlysecure.keychain.WRITE_TEMPORARY_STORAGE" /> + <!-- TemporaryStorageProvider should be writable by OpenKeychain only, thus signature-level permission --> + <permission + android:name="${applicationId}.WRITE_TEMPORARY_STORAGE" + android:protectionLevel="signature" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> @@ -74,7 +73,7 @@ android:hardwareAccelerated="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" - android:theme="@style/KeychainTheme"> + android:theme="@style/Theme.Keychain.Light"> <activity android:name=".ui.MainActivity" android:configChanges="orientation|screenSize|keyboardHidden|keyboard" @@ -96,6 +95,15 @@ <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".ui.MainActivity" /> + <!-- Connect with YubiKeys. This Activity will automatically show/import/create YubiKeys --> + <intent-filter android:label="@string/app_name"> + <action android:name="android.nfc.action.NDEF_DISCOVERED"/> + <category android:name="android.intent.category.DEFAULT"/> + <data + android:scheme="https" + android:host="my.yubico.com" + android:pathPrefix="/neo"/> + </intent-filter> </activity> <activity android:name=".ui.EditKeyActivity" @@ -201,7 +209,7 @@ </intent-filter> </activity> <activity - android:name=".ui.DecryptTextActivity" + android:name=".ui.DisplayTextActivity" android:configChanges="orientation|screenSize|keyboardHidden|keyboard" android:label="@string/title_decrypt" android:parentActivityName=".ui.MainActivity" @@ -209,25 +217,9 @@ <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".ui.MainActivity" /> - - <!-- DECRYPT_TEXT with text as extra --> - <intent-filter> - <action android:name="org.sufficientlysecure.keychain.action.DECRYPT_TEXT" /> - - <category android:name="android.intent.category.DEFAULT" /> - </intent-filter> - <!-- Android's Send Action --> - <intent-filter android:label="@string/intent_send_decrypt"> - <action android:name="android.intent.action.SEND" /> - - <category android:name="android.intent.category.DEFAULT" /> - - <data android:mimeType="text/*" /> - <data android:mimeType="message/*" /> - </intent-filter> </activity> <activity - android:name=".ui.DecryptFilesActivity" + android:name=".ui.DecryptActivity" android:configChanges="orientation|screenSize|keyboardHidden|keyboard" android:label="@string/title_decrypt" android:parentActivityName=".ui.MainActivity" @@ -272,13 +264,23 @@ <data android:scheme="file" /> <data android:scheme="content" /> </intent-filter> - <!-- Android's Send Action --> + + <!-- DECRYPT_TEXT --> + <intent-filter> + <action android:name="org.sufficientlysecure.keychain.action.DECRYPT_TEXT" /> + + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + + <!-- Android's Send and Multi-Send Actions --> <intent-filter android:label="@string/intent_send_decrypt"> <action android:name="android.intent.action.SEND" /> + <action android:name="android.intent.action.SEND_MULTIPLE" /> <category android:name="android.intent.category.DEFAULT" /> - <!-- everything except text/* and message/* --> + <data android:mimeType="text/*" /> + <data android:mimeType="message/*" /> <data android:mimeType="image/*" /> <data android:mimeType="audio/*" /> <data android:mimeType="video/*" /> @@ -684,7 +686,15 @@ <activity android:name=".ui.PassphraseDialogActivity" android:theme="@android:style/Theme.NoDisplay" /> - <activity android:name=".ui.PassphraseWizardActivity" /> + <activity + android:name=".ui.RetryUploadDialogActivity" + android:theme="@android:style/Theme.NoDisplay" /> + <activity + android:name=".ui.DeleteKeyDialogActivity" + android:theme="@android:style/Theme.NoDisplay" /> + <activity + android:name=".ui.OrbotRequiredDialogActivity" + android:theme="@android:style/Theme.NoDisplay" /> <!-- NOTE: singleTop is set to get NFC foreground dispatch to work. Then, all NFC intents will be broadcasted to onNewIntent() of this activity! @@ -694,21 +704,11 @@ --> <activity android:name=".ui.NfcOperationActivity" + android:theme="@style/Theme.Keychain.Light.Dialog" android:allowTaskReparenting="true" android:launchMode="singleTop" android:taskAffinity=":Nfc" /> - <!--<activity--> - <!--android:name=".ui.NfcIntentActivity"--> - <!--android:launchMode="singleTop">--> - <!--<intent-filter>--> - <!--<action android:name="android.nfc.action.NDEF_DISCOVERED" />--> - - <!--<category android:name="android.intent.category.DEFAULT" />--> - <!--<data android:host="my.yubico.com" android:scheme="https"/>--> - <!--</intent-filter>--> - <!--</activity>--> - <activity android:name=".ui.HelpActivity" android:label="@string/title_help" /> @@ -723,16 +723,16 @@ android:exported="false" android:process=":remote_api" /> <service - android:name=".service.KeychainIntentService" - android:exported="false" /> - <service - android:name=".service.CloudImportService" + android:name=".service.KeychainService" android:exported="false" /> + <!-- label is made to be "Keyserver Sync" since that is the only context in which + the user will see it--> <provider android:name=".provider.KeychainProvider" - android:authorities="org.sufficientlysecure.keychain.provider" - android:exported="false" /> + android:authorities="${applicationId}.provider" + android:exported="false" + android:label="@string/keyserver_sync_settings_title"/> <!-- Internal classes of the remote APIs (not exported) --> <activity @@ -806,12 +806,26 @@ android:resource="@xml/custom_pgp_contacts_structure" /> </service> + <service + android:name=".service.KeyserverSyncAdapterService" + android:exported="true" + android:process=":sync" + tools:ignore="ExportedService"> + <intent-filter> + <action android:name="android.content.SyncAdapter" /> + </intent-filter> + + <meta-data + android:name="android.content.SyncAdapter" + android:resource="@xml/keyserver_sync_adapter_desc" /> + </service> + <!-- Storage Provider for temporary decrypted files --> <provider android:name=".provider.TemporaryStorageProvider" - android:authorities="org.sufficientlysecure.keychain.tempstorage" + android:authorities="${applicationId}.tempstorage" android:exported="true" - android:writePermission="org.sufficientlysecure.keychain.WRITE_TEMPORARY_STORAGE" /> + android:writePermission="${applicationId}.WRITE_TEMPORARY_STORAGE" /> </application> |