diff options
Diffstat (limited to 'OpenKeychain/src/main')
-rw-r--r-- | OpenKeychain/src/main/AndroidManifest.xml | 32 | ||||
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java | 5 |
2 files changed, 21 insertions, 16 deletions
diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml index ee21c19ba..771f1b2e9 100644 --- a/OpenKeychain/src/main/AndroidManifest.xml +++ b/OpenKeychain/src/main/AndroidManifest.xml @@ -503,21 +503,6 @@ android:theme="@style/Theme.Keychain.Transparent" android:windowSoftInputMode="stateHidden"> - <!-- VIEW with fingerprint scheme: - Handle URIs with fingerprints when scanning directly from Barcode Scanner --> - <intent-filter android:label="@string/intent_import_key"> - <action android:name="android.intent.action.VIEW" /> - - <category android:name="android.intent.category.BROWSABLE" /> - <category android:name="android.intent.category.DEFAULT" /> - - <!-- Android's scheme matcher is case-sensitive, so include most likely variations --> - <data android:scheme="openpgp4fpr" /> - <data android:scheme="OPENPGP4FPR" /> - <data android:scheme="OpenPGP4FPR" /> - <data android:scheme="OpenPGP4Fpr" /> - <data android:scheme="OpenPGP4fpr" /> - </intent-filter> <!-- IMPORT_KEY without mimeType to allow import with extras Bundle --> <intent-filter android:label="@string/intent_import_key"> <action android:name="org.sufficientlysecure.keychain.action.IMPORT_KEY_FROM_QR_CODE" /> @@ -730,6 +715,23 @@ <category android:name="android.intent.category.DEFAULT" /> </intent-filter> + + <!-- VIEW with fingerprint scheme: + Handle URIs with fingerprints when scanning directly from Barcode Scanner --> + <intent-filter android:label="@string/intent_import_key"> + <action android:name="android.intent.action.VIEW" /> + + <category android:name="android.intent.category.BROWSABLE" /> + <category android:name="android.intent.category.DEFAULT" /> + + <!-- Android's scheme matcher is case-sensitive, so include most likely variations --> + <data android:scheme="openpgp4fpr" /> + <data android:scheme="OPENPGP4FPR" /> + <data android:scheme="OpenPGP4FPR" /> + <data android:scheme="OpenPGP4Fpr" /> + <data android:scheme="OpenPGP4fpr" /> + </intent-filter> + <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".ui.MainActivity" /> diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java index f67c6a724..72e42eec3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java @@ -131,8 +131,11 @@ public class ImportKeysActivity extends BaseActivity if (Intent.ACTION_VIEW.equals(action)) { if (FacebookKeyserver.isFacebookHost(dataUri)) { action = ACTION_IMPORT_KEY_FROM_FACEBOOK; - } else if ("http".equals(scheme) || "https".equals(scheme)) { + } else if ("http".equalsIgnoreCase(scheme) || "https".equalsIgnoreCase(scheme)) { action = ACTION_SEARCH_KEYSERVER_FROM_URL; + } else if ("openpgp4fpr".equalsIgnoreCase(scheme)) { + action = ACTION_IMPORT_KEY_FROM_KEYSERVER; + extras.putString(EXTRA_FINGERPRINT, dataUri.getSchemeSpecificPart()); } else { // Android's Action when opening file associated to Keychain (see AndroidManifest.xml) // delegate action to ACTION_IMPORT_KEY |