Commit Graph
89 Commits
Author SHA1 Message Date
Vincent Breitmoser baa3c86e12 split getMasterKeyId for the remaining use cases
Closes #549
2014-04-11 03:44:17 +02:00
Vincent Breitmoser b77fb2fcc0 get rid of more getMasterKeyId usage, work on getKeyRingsAsArmoredString 2014-04-11 03:44:13 +02:00
Vincent Breitmoser 9af532880c fix EditKeyActivity 2014-04-11 02:58:08 +02:00
Vincent Breitmoser 0f06b8a1d6 display correct primary user id in import dialogue MOSTLY
This is an incomplete fix; due to use of machine readable output, there
is no way to know the primary user id for keys fetched from a key
server.

Pending https://bitbucket.org/skskeyserver/sks-keyserver/issue/28/primary-uid-in-machine-readable-index
2014-04-10 20:33:54 +02:00
Vincent Breitmoser 4e408fae53 remove drawer layout remnants from import key dialogue 2014-04-10 20:33:22 +02:00
Vincent Breitmoser 0687f7f40e use view holder pattern in KeyListFragment
Closes #551
2014-04-10 19:25:46 +02:00
Vincent Breitmoser 593d6ad3f7 Select*KeyFragment rewrites
- moved all specific Public/Secret logic from the Adapter class into
  inner subclasses in the Fragments
- more versatile status display ("revoked", "expired", "can certify"...)
- applied view holder pattern
- query logic, including subqueries, moved into provider classes

Closes #375
2014-04-10 18:47:57 +02:00
Vincent Breitmoser ce6a4041fd ViewCertActivity cleanup
Closes #547
2014-04-10 15:34:16 +02:00
Vincent Breitmoser 35f9189a82 certs: fix verification in ViewKeyActivity (how embarassing)
Fixes #541
2014-04-09 18:34:19 +02:00
Vincent Breitmoser b4e7d69b35 show key expiry status similar to revocation 2014-04-06 16:09:39 +02:00
Vincent Breitmoser d5842940b5 certs: remove unused menu item 2014-04-06 07:26:07 +02:00
Vincent Breitmoser 8b6c31ba46 certs: change migration routine so certifications work 2014-04-06 05:29:46 +02:00
Vincent Breitmoser bd8dc05b1c certs: display green dot for certified keys in KeyListFragment 2014-04-06 05:29:19 +02:00
Vincent Breitmoser 194fc7507b certs: forgot to add ids file 2014-04-06 05:07:14 +02:00
Vincent Breitmoser d1b0d0fa5e Merge remote-tracking branch 'origin/master' into certs
Conflicts:
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
2014-04-06 04:35:05 +02:00
Vincent Breitmoser 456a634149 certs: ditch expiry, re-add data blob, improve ViewCertActivity
GnuPG doesn't support expiry of user id certifications. The number
of rings with an expiration subpacket in a cert out there is likely
negligible.

ViewCertActivity now verifies the key and displays a status. For
revocation certs, the revocation reason is also shown.
2014-04-06 04:27:55 +02:00
Vincent Breitmoser f01a96f56e certs: fix ViewCertActivity 2014-04-06 03:15:59 +02:00
Vincent Breitmoser 6e2b21b6b7 certs: fix CertifyKeyActivity and improve user id list 2014-04-06 02:27:21 +02:00
Vincent Breitmoser 120e1eada7 certs: ditch selection spinner from certs view 2014-04-06 01:57:28 +02:00
Vincent Breitmoser 84857df703 certs: display cert type in cert view 2014-04-06 01:28:12 +02:00
Vincent Breitmoser ed3798be8a certs: display uid status in uid list 2014-04-06 01:11:57 +02:00
Vincent Breitmoser 437da180fc certs: properly handle primary flag and revocation of uids 2014-04-06 00:59:11 +02:00
Vincent Breitmoser 1b1304e6e0 certs: various improvements
* recognize self-certifications
* save signature type
* save expiry time
* drop encoded data blob from db
2014-04-05 22:35:27 +02:00
Vincent Breitmoser 2802718efb certs: more fixes, almost working now 2014-04-05 21:38:03 +02:00
Vincent Breitmoser aa6f5118f5 Merge remote-tracking branch 'origin/master' into certs
A lot of things are completely broken, but it compiles and doesn't crash
right away. Good enough for me.

Conflicts:
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainContract.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ViewKeyUserIdsAdapter.java
	OpenPGP-Keychain/src/main/res/layout/view_key_certs_fragment.xml
2014-04-05 19:30:52 +02:00
Vincent Breitmoser 54f20e1cd5 Merge remote-tracking branch 'origin/master' into db-overhaul 2014-04-04 18:50:20 +02:00
Vincent Breitmoser d7c2488a0f db-overhaul: fix key export (and some export-related ui changes) 2014-04-04 18:49:45 +02:00
Vincent Breitmoser cf76a8553a db-overhaul: fix delete key from ViewKeyActivity 2014-04-04 16:28:28 +02:00
Vincent Breitmoser 53e8afaee0 ViewKeyMainFragment cleanup (don't use inline queries!) 2014-04-04 14:37:07 +02:00
Vincent Breitmoser 958eba1c95 db-overhaul: fix DecryptAndVerify with and without known keys 2014-04-04 13:58:12 +02:00
Vincent Breitmoser 085ce11d9c db-overhaul: workaround api level 11 2014-04-04 13:20:37 +02:00
Vincent Breitmoser 1b38a5b2e3 Merge remote-tracking branch 'origin/master' into db-overhaul 2014-04-04 13:18:43 +02:00
Vincent Breitmoser a9f868a5e7 db-overhaul: different hack for type info (api level problem inside) 2014-04-04 11:39:23 +02:00
Vincent Breitmoser a1e13f7893 calculate nfc packet on demand only 2014-04-04 11:38:59 +02:00
Vincent Breitmoser 2227705d65 db-overhaul: fix loading indicators in KeyListActivity and ViewKeyActivity 2014-04-04 11:28:26 +02:00
Vincent Breitmoser d921cca913 db-overhaul: reintroduce by-mail and by-subkey queries
the only thing left to fix after the db upgrade (that I can think of
right now) are key exports
2014-04-04 01:56:02 +02:00
Vincent Breitmoser 59f4b4e3e7 db-overhaul: minor stuff, mostly ProviderHelper 2014-04-04 01:05:53 +02:00
Vincent Breitmoser 2620e0bfc8 db-overhaul: more work on new provider
specifics:
 - secret keys are preserved when a new public key is inserted
 - started work to give virtual columns a representation in the contract
   class
 - streamline ProviderHelper methods. the getUnifiedData method relies
   on a api level 11 method, not sure yet how to fix/workaround that...
 - many more small things work as they did before
2014-04-03 22:49:08 +02:00
Vincent Breitmoser dedcfd8a72 more work on streamlining uris, and stripping ProviderHelper 2014-04-03 17:09:26 +02:00
Vincent Breitmoser 428e94bb57 ditch useless PgpKeyHelper.getMasterKey methods 2014-04-03 17:08:04 +02:00
Vincent Breitmoser 34fca975d7 Merge remote-tracking branch 'origin/master' into db-overhaul
Conflicts:
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainContract.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectSecretKeyFragment.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectSecretKeyLayoutFragment.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
2014-04-03 14:56:35 +02:00
Vincent Breitmoser a7eff41ced Break a lot of stuff. Also, database redesign.
Change entire database design. This introduces a lot of changes,
notably all URIs and almost all projections. Some features (like key
deletion) have been simply commented out for now since they need
serious reconsideration. There are a couple of new TODOs marking places
where more work is needed.

The migration path works fine from what I tested. The old database is
not deleted for now, ie, it is reimported at every start of the
application making all intermediate changes transient.

Tested and working (for me):
 - All activities in the main drawer
 - Multiselect and Search
 - ViewKeyActivity, with and without secret key available
 - CertifyKeyActivity
 - SelectSecretKeyActivity (from CertifyKeyActivity)
 - SelectPublicKeyActivity (from encrypt activity)

What doesn't work:
 - Actually certifying keys (pending a TODO in ProviderHelper)
 - Importing keys doesn't preserve secret keys
 - "Encrypt to this contact" doesn't pass key
 - Editing keys. All controls are disabled, I'm not sure why... (is this
   even my fault?)
 - Deleting keys

What I didn't test:
 - Key export
 - API stuff
 - Creating keys (since editing doesn't even work)
2014-04-03 01:34:35 +02:00
Vincent Breitmoser 62388e3fdb test: add junit+robolectric to buildfiles and stub test file 2014-04-01 16:12:57 +02:00
Vincent Breitmoser 6f36b72eee PgpKeyOperation: factor out all android dependencies
Conflicts:
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
2014-04-01 16:12:57 +02:00
Vincent Breitmoser 5e4239a7b9 Merge branch 'certify' into certs
Conflicts:
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java
	OpenPGP-Keychain/src/main/res/values/strings.xml
2014-03-17 14:18:42 +01:00
Vincent Breitmoser 87004fd0ca certify: preserve user id certificates when saving secret keys 2014-03-17 14:11:32 +01:00
Vincent Breitmoser e8ad4317a4 certs: more filters, better initial uid selection, code cosmetics
- add three types of filters for certificate list (ui looks like crap
      there, need to work on that)
    - select uncertified uids by default in CertifyKeyActivity
    - move some code around in KeychainProvider, 's slightly less hacky now
2014-03-17 14:10:40 +01:00
Vincent Breitmoser f192c70179 certs: green dots for verified status \o/ 2014-03-15 19:58:17 +01:00
Vincent Breitmoser 5c28da44d6 certs: provider cleanup and bugfixing 2014-03-15 19:57:55 +01:00
Vincent Breitmoser 6bacb5ff51 Merge branch 'certify' into certs
Conflicts:
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ViewKeyUserIdsAdapter.java
	OpenPGP-Keychain/src/main/res/values/strings.xml
2014-03-15 18:34:20 +01:00
Vincent Breitmoser 95be228b47 certify: sign individual UIDs
direct signing of pubkeys is out for now. not sure how this should be
handled, but it's trivial to re-add so leaving this up for discussion
for now.
2014-03-15 18:20:50 +01:00
Vincent Breitmoser 8fbd77fb15 certify: preserve user id certificates when saving secret keys 2014-03-15 18:20:50 +01:00
Vincent Breitmoser a3224687f6 certify: add some subscopes in PgpKeyOperation for readability
note this commit introduces NO semantical changes whatsoever!
2014-03-15 18:20:50 +01:00
Vincent Breitmoser 1de0312bb5 certify: revamp certifykeyactivity
show info on the key to be certified, along with a list of (selectable)
user ids. user ids are handed through to the signing service, but not
yet handled.
2014-03-15 18:20:49 +01:00
Vincent Breitmoser 49984846d5 certify: support PUBLIC_KEY_RING_BY_MASTER_KEY_ID_USER_ID uri (haha) 2014-03-15 18:20:49 +01:00
Vincent Breitmoser efc8252598 certify: viewkeyuseridsadapter cosmetics and checkbox capability 2014-03-15 18:20:49 +01:00
Vincent Breitmoser 9920196f70 certify: selectsecretkeyfragment cosmetics 2014-03-15 18:20:49 +01:00
Vincent Breitmoser db25c56b64 certify: add certify action button to viewkeymainfragment 2014-03-15 18:20:42 +01:00
Vincent Breitmoser 0922a8cf04 move fingerprint coloring into helper 2014-03-15 02:20:28 +01:00
Vincent Breitmoser a73e91c49c Merge branch 'master' into certs
Conflicts:
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyCertsFragment.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java
2014-03-15 00:18:50 +01:00
Vincent Breitmoser be3828c89e drop unified uri in favor of generic /key_rings
this works well in the uri schema, and we get notifications back with no
effort.

....also remove a line I committed accidentally oO
2014-03-13 14:34:07 +01:00
Vincent Breitmoser 9a1ce093bf Merge remote-tracking branch 'origin/master'
Conflicts:
	OpenPGP-Keychain/src/main/res/menu/key_list_secret.xml
2014-03-13 13:40:47 +01:00
Vincent Breitmoser 6af65a2a9b merge fixes as per comments in merge
https://github.com/openpgp-keychain/openpgp-keychain/pull/403/files#r10540753
2014-03-13 13:06:23 +01:00
Vincent Breitmoser b9a907df0b remove special treatment for unified list query
note: the unified query /will/ need special treatment once certs are
joined in, so I am leaving this as an artifact commit for later
reference or point to revert to.
2014-03-13 00:29:28 +01:00
Vincent Breitmoser 0b0809ec17 keychainprovider cleanup, kindasorta
removed code redundancy, and the query is in the switch thing now, I
didn't put everything into its own separate sources (yet?).
2014-03-13 00:16:11 +01:00
Vincent Breitmoser a9c9b6132c Merge branch 'master' into certs
Conflicts:
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyHelper.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
2014-03-12 23:45:21 +01:00
Vincent Breitmoser 69f5bf6b57 Merge branch 'unified-keylist'
Conflicts:
	OpenPGP-Keychain/src/main/AndroidManifest.xml
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListPublicFragment.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListSecretActivity.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListSecretFragment.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/KeyListPublicAdapter.java
	OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/KeyListSecretAdapter.java
	OpenPGP-Keychain/src/main/res/layout/key_list_secret_item.xml
	OpenPGP-Keychain/src/main/res/menu/key_list.xml
	OpenPGP-Keychain/src/main/res/menu/key_list_multi.xml
	OpenPGP-Keychain/src/main/res/menu/key_list_secret_multi.xml
2014-03-12 18:05:28 +01:00
Vincent Breitmoser edb98c67f4 add certify action button to viewkeymainfragment 2014-03-12 03:10:46 +01:00
Vincent Breitmoser 3d8d22c9ed add empty view to viewkeycertsfragment 2014-03-12 02:47:19 +01:00
Vincent Breitmoser 20193e0992 add menu to viewcertactivity 2014-03-12 02:30:49 +01:00
Vincent Breitmoser 84598dd665 add view cert activity 2014-03-12 02:25:48 +01:00
Vincent Breitmoser 57873650b1 forgot to commit two layout files 2014-03-11 03:19:41 +01:00
Vincent Breitmoser 3ed93b7671 add "show unknown signatures" button 2014-03-11 03:19:12 +01:00
Vincent Breitmoser 8b4a63d5c4 add keys we don't know about, just for fun 2014-03-11 02:40:57 +01:00
Vincent Breitmoser 74027abdad experimental cert list, proper 2014-03-11 02:40:41 +01:00
Vincent Breitmoser 3b38ffe55e experimental cert display 2014-03-11 00:14:38 +01:00
Vincent Breitmoser 7a8db90425 join cert info into query routines 2014-03-11 00:14:04 +01:00
Vincent Breitmoser ba7613dc34 experimental cert import 2014-03-11 00:13:03 +01:00
Vincent Breitmoser 74f8ec0365 certs: close in from both sides :) 2014-03-11 00:11:27 +01:00
Vincent Breitmoser 535f2caf2c (preliminary) certs table 2014-03-11 00:09:11 +01:00
Vincent Breitmoser be558944b5 add contact count to My Keys header 2014-03-08 14:52:29 +01:00
Vincent Breitmoser de6daf5c30 better handling of multi select in ListKeysFragment 2014-03-08 14:08:44 +01:00
Vincent Breitmoser 16116ba725 ditch old key list activities 2014-03-08 13:42:50 +01:00
Vincent Breitmoser 706e212b6b add edit button and secret key info to public key view 2014-03-08 13:17:52 +01:00
Vincent Breitmoser 7ad8977cf3 move some placeholders into resources 2014-03-08 12:28:20 +01:00
Vincent Breitmoser aa8a8f069f Normalize public key uri in KeyListFragment
Find the explicit row id of the public key id given in the uri in
KeyListFragment and work with that. This way, passing in uris by
master key id, mail address, or any other criteria, works.

Might be a good idea to add an actual check if the row id is non-zero
here, but not sure how to do a "bad intent" thing
2014-03-08 12:07:20 +01:00
Vincent Breitmoser 191c5b8130 Make EditKeyActivity's uri handling (more) sane
This activity didn't actually use the uri for anything, but just chopped
off the last path segment and interpreted it as row id. What the hell.
2014-03-08 11:58:26 +01:00
Vincent Breitmoser 8c6cb8b0ab working unified list (no actions yet) 2014-03-08 11:19:34 +01:00
Vincent Breitmoser 4851f7f8fc copy public keylist as stub for unified keylist 2014-03-06 01:32:18 +01:00