aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-03-22 02:36:10 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2015-03-22 02:36:10 +0100
commita7c52a1c9f8bca83b2981347a0eceeec68a92790 (patch)
tree3e6275123d12251749f8975a241cb6e64799dd49 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java
parent04c7639a5a9b4f85122b7d5f299ba09131ce3036 (diff)
downloadopen-keychain-a7c52a1c9f8bca83b2981347a0eceeec68a92790.tar.gz
open-keychain-a7c52a1c9f8bca83b2981347a0eceeec68a92790.tar.bz2
open-keychain-a7c52a1c9f8bca83b2981347a0eceeec68a92790.zip
move yubikey import into viewkeyfragment
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java34
1 files changed, 31 insertions, 3 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java
index 5c2fcde82..b73d6f545 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java
@@ -17,12 +17,21 @@
package org.sufficientlysecure.keychain.ui;
+import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import org.sufficientlysecure.keychain.R;
+import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException;
+import org.sufficientlysecure.keychain.provider.CachedPublicKeyRing;
+import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;
+import org.sufficientlysecure.keychain.provider.ProviderHelper;
import org.sufficientlysecure.keychain.ui.base.BaseNfcActivity;
+import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
+import org.sufficientlysecure.keychain.ui.util.Notify;
+import org.sufficientlysecure.keychain.ui.util.Notify.ActionListener;
+import org.sufficientlysecure.keychain.ui.util.Notify.Style;
import org.sufficientlysecure.keychain.util.Passphrase;
import java.io.IOException;
@@ -87,9 +96,28 @@ public class CreateKeyActivity extends BaseNfcActivity {
return;
}
- byte[] scannedFingerprint = nfcGetFingerprint(0);
- Fragment frag = CreateKeyYubiFragment.createInstance(scannedFingerprint);
- loadFragment(frag, FragAction.TO_RIGHT);
+ byte[] scannedFingerprints = nfcGetFingerprints();
+
+ try {
+ long masterKeyId = KeyFormattingUtils.getKeyIdFromFingerprint(scannedFingerprints);
+ CachedPublicKeyRing ring = new ProviderHelper(this).getCachedPublicKeyRing(masterKeyId);
+ ring.getMasterKeyId();
+
+ String userId = nfcGetUserId();
+ byte[] nfcAid = nfcGetAid();
+
+ Intent intent = new Intent(this, ViewKeyActivity.class);
+ intent.setData(KeyRings.buildGenericKeyRingUri(masterKeyId));
+ intent.putExtra(ViewKeyActivity.EXTRA_NFC_AID, nfcAid);
+ intent.putExtra(ViewKeyActivity.EXTRA_NFC_USER_ID, userId);
+ intent.putExtra(ViewKeyActivity.EXTRA_NFC_FINGERPRINTS, scannedFingerprints);
+ startActivity(intent);
+ finish();
+
+ } catch (PgpKeyNotFoundException e) {
+ Fragment frag = CreateKeyYubiFragment.createInstance(scannedFingerprints);
+ loadFragment(frag, FragAction.TO_RIGHT);
+ }
}