aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/org/sufficientlysecure
diff options
context:
space:
mode:
authorBahtiar `kalkin-` Gadimov <bahtiar@gadimov.de>2013-12-25 18:15:30 +0100
committerBahtiar `kalkin-` Gadimov <bahtiar@gadimov.de>2013-12-25 18:54:02 +0100
commit208ea19d5d56fe374bbf26e4ab4cce13dc99656b (patch)
tree71c84e7e9a0602f583dc7cee6063d53f6ab9a153 /OpenPGP-Keychain/src/org/sufficientlysecure
parented01c37fe18f98c25b7515c459ae446efa8232ca (diff)
downloadopen-keychain-208ea19d5d56fe374bbf26e4ab4cce13dc99656b.tar.gz
open-keychain-208ea19d5d56fe374bbf26e4ab4cce13dc99656b.tar.bz2
open-keychain-208ea19d5d56fe374bbf26e4ab4cce13dc99656b.zip
Added first draft of KeyDetailsActivity
Diffstat (limited to 'OpenPGP-Keychain/src/org/sufficientlysecure')
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyDetailsActivity.java90
1 files changed, 90 insertions, 0 deletions
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyDetailsActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyDetailsActivity.java
new file mode 100644
index 000000000..652b8a89b
--- /dev/null
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyDetailsActivity.java
@@ -0,0 +1,90 @@
+package org.sufficientlysecure.keychain.ui;
+
+import java.util.Date;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.spongycastle.openpgp.PGPPublicKey;
+import org.sufficientlysecure.keychain.R;
+import org.sufficientlysecure.keychain.pgp.PgpKeyHelper;
+import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;
+import org.sufficientlysecure.keychain.provider.ProviderHelper;
+import org.sufficientlysecure.keychain.util.Log;
+
+import android.os.Bundle;
+import android.text.format.DateFormat;
+import android.widget.TextView;
+
+import com.actionbarsherlock.app.SherlockActivity;
+
+public class KeyDetailsActivity extends SherlockActivity {
+
+ private PGPPublicKey publicKey;
+ private TextView mAlgorithm;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ Bundle extras = getIntent().getExtras();
+ setContentView(R.layout.key_view);
+ if (extras == null) {
+ return;
+ }
+
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ getSupportActionBar().setHomeButtonEnabled(true);
+
+ long key = extras.getLong("key");
+
+ KeyRings.buildPublicKeyRingsByMasterKeyIdUri(key + "");
+ String[] projection = new String[]{""};
+
+ this.publicKey = ProviderHelper.getPGPPublicKeyByKeyId(
+ getApplicationContext(), key);
+
+ TextView fingerprint = (TextView) this.findViewById(R.id.fingerprint);
+ fingerprint.setText(PgpKeyHelper.shortifyFingerprint(PgpKeyHelper.getFingerPrint(getApplicationContext(), key)));
+ String[] mainUserId = splitUserId("");
+
+ TextView expiry = (TextView) this.findViewById(R.id.expiry);
+ Date expiryDate = PgpKeyHelper.getExpiryDate(publicKey);
+ if (expiryDate == null) {
+ expiry.setText("");
+ } else {
+ expiry.setText(DateFormat.getDateFormat(getApplicationContext())
+ .format(expiryDate));
+ }
+
+ TextView creation = (TextView) this.findViewById(R.id.creation);
+ creation.setText(DateFormat.getDateFormat(getApplicationContext())
+ .format(PgpKeyHelper.getCreationDate(publicKey)));
+ mAlgorithm = (TextView) this.findViewById(R.id.algorithm);
+ mAlgorithm.setText(PgpKeyHelper.getAlgorithmInfo(publicKey));
+
+ }
+
+ private String[] splitUserId(String userId) {
+
+ String[] result = new String[]{"", "", ""};
+ Log.v("UserID", userId);
+
+ Pattern withComment = Pattern.compile("^(.*) [(](.*)[)] <(.*)>$");
+ Matcher matcher = withComment.matcher(userId);
+ if (matcher.matches()) {
+ result[0] = matcher.group(1);
+ result[1] = matcher.group(2);
+ result[2] = matcher.group(3);
+ return result;
+ }
+
+ Pattern withoutComment = Pattern.compile("^(.*) <(.*)>$");
+ matcher = withoutComment.matcher(userId);
+ if (matcher.matches()) {
+ result[0] = matcher.group(1);
+ result[1] = matcher.group(2);
+ return result;
+ }
+ return result;
+ }
+}