Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

removed black border around icon #72

Open
wants to merge 750 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
750 commits
Select commit Hold shift + click to select a range
862a291
Update copyright timespan for Thialfihar
thialfihar Apr 8, 2014
9b28d37
Change license from ASLv2 to GPLv3 where possible
thialfihar Apr 8, 2014
cc47011
Introduce ProviderHelper.NotFoundException, remove dead code
Apr 8, 2014
9d9a337
Fix decryption of messages/files encrypted for multiple public keys
Apr 8, 2014
e7501ec
Use NotFoundException in more places
Apr 8, 2014
8e488e9
Modified Spinner values for CreateKeyDialog. Added info for user abou…
greg-witczak Apr 8, 2014
8785b69
KeychainIntentService instead of APG
Apr 8, 2014
81c51b9
Hide keyboard after hiding custom key length field
Apr 8, 2014
21537b4
Cleanup in SelectKeyCursorAdapter
Apr 8, 2014
3e68721
Copy downstream OpenKeychain-API
thialfihar Apr 9, 2014
6df5c8b
Change imports back to org.thialfihar.android.apg
thialfihar Apr 9, 2014
5207b64
fixes
thialfihar Apr 9, 2014
53f9d5e
Replaced Toasts in ImportKeysOrCodeFragment
danielhass Apr 8, 2014
b628b56
Removed unused Toast import in ViewKeyActivityJB
danielhass Apr 8, 2014
60ab29c
Replaced Toasts in ViewKeyActivity
danielhass Apr 9, 2014
e99a079
Fix save keyring, improve signature verification
Apr 9, 2014
4a652d6
Fix NFC
Apr 9, 2014
8e14460
Fix certification layout
Apr 9, 2014
9d82688
certs: fix verification in ViewKeyActivity (how embarassing)
Valodim Apr 9, 2014
8d4dca0
Prettify some layouts
Apr 9, 2014
a0e43e2
Temporary disable of master key id extraction from uri
Apr 9, 2014
2a0a336
Prettify more layouts, fix edit and encrypt intents from key view
Apr 9, 2014
71ce617
Integrate NFC functionality into ViewKeyActivity
Apr 10, 2014
07998fa
Cleanup AsyncTask code for NFC
Apr 10, 2014
1845a94
Minimize use of class variables in ViewKey
Apr 10, 2014
15874f7
Disable selection of user ids and keys in view key
Apr 10, 2014
72887e7
ViewCertActivity cleanup
Valodim Apr 10, 2014
ca37292
Select*KeyFragment rewrites
Valodim Apr 10, 2014
838f32f
use view holder pattern in KeyListFragment
Valodim Apr 10, 2014
655e79f
remove drawer layout remnants from import key dialogue
Valodim Apr 10, 2014
d774cc6
display correct primary user id in import dialogue MOSTLY
Valodim Apr 10, 2014
0929762
fix EditKeyActivity
Valodim Apr 10, 2014
7b04ed7
get rid of more getMasterKeyId usage, work on getKeyRingsAsArmoredString
Valodim Apr 11, 2014
0f7cab0
split getMasterKeyId for the remaining use cases
Valodim Apr 11, 2014
240fe33
Prettify more layouts
Apr 11, 2014
dcde310
Prettify view_key_userids_item
Apr 11, 2014
6526919
Remove queries from PgpKeyHelper, introduce encrypt to signer mode (n…
Apr 11, 2014
d3fb302
Refactor ProviderHelper to be non-static using a constructor based on…
Apr 11, 2014
b3fb564
More cleanup in providerHelper
Apr 11, 2014
0635d08
PgpSignEncrypt: get by master key id
Apr 11, 2014
40c8814
PgpSignEncrypt: merge generateSignature() into main method
Apr 11, 2014
5d2894f
PgpSignEncrypt is now context-free
Apr 11, 2014
18f4cf1
put signatureType where it belongs
Apr 11, 2014
d18a4cd
PgpDecryptVerify is now context-free
Apr 11, 2014
3fb9032
Simplify and fix delete key dialog
Apr 11, 2014
4f811d7
Remove some Ids...
Apr 11, 2014
42eb6f4
More fixes for import item layout
Apr 11, 2014
276191a
More ids removed
Apr 11, 2014
20fb8be
Clarify use of methods in PgpKeyHelper
Apr 11, 2014
a597e91
PgpSignEncrypt comment
Apr 11, 2014
e890df6
More changes to PgpSignEncrypt
Apr 12, 2014
ce13be2
Update license header for 2014
Apr 13, 2014
162715f
Remove unused blob classes and other dead code
Apr 13, 2014
985b947
Handle new exceptions in KeychainIntentService
Apr 13, 2014
203eeeb
Implement SIGNATURE_SUCCESS_CERTIFIED in PgpDecryptVerify (not tested)
Apr 13, 2014
48d859a
Rework verifyCleartextSignature
Apr 13, 2014
933e69b
key edit: fix crash when create date was after expiry date, change fr…
Apr 13, 2014
419f47b
Fix SIGNATURE_SUCCESS_CERTIFIED
Apr 13, 2014
051a975
Translations from transifex
Apr 14, 2014
897661b
add debug backup/restore options to main menu
Valodim Apr 11, 2014
8b4313e
move old apg.db to apg_old.db (half measure~)
Valodim Apr 11, 2014
3c30ac6
KeychainDatabase cleanup
Apr 14, 2014
d1c73fe
Removing remaining uses of Id, closing one of the oldest bugs #9
Apr 14, 2014
0df6e94
Some comments to Constants
Apr 14, 2014
041bbda
add web of trust help entry
Valodim Apr 15, 2014
db49e36
add WoT help file to transifex config
Valodim Apr 15, 2014
1116352
encapsulate creation of OpenPgpSignatureResult objects inside OpenPgp…
Apr 15, 2014
2953eac
Add OpenPgpSignatureResultBuilder
Apr 15, 2014
dc9b197
Improve verification result display, close #568
Apr 15, 2014
b9ce171
center empty-info of cert fragment, closes #566
Apr 15, 2014
8d12dd6
Fix nullpointer in ImportKeysListEntry
Apr 15, 2014
9a5f370
Optimize imports
Apr 15, 2014
d96f60b
Fix ViewHolder in ImportKeysAdapter
Apr 15, 2014
e687032
Fix PgpDecryptVerify signature verification: search for right signatu…
Apr 15, 2014
12b4eea
Fix SIGNATURE_UNKNOWN_PUB_KEY
Apr 15, 2014
198c1c3
Handle new exceptions in remote service
Apr 15, 2014
b71e768
comments
Apr 15, 2014
3e88aa8
Version 2.6 beta1
Apr 16, 2014
dd3548a
Clarify comments
Apr 16, 2014
3250fc4
stripped support: add has_secret column to keys table
Valodim Apr 16, 2014
241e429
stripped support: implement has_secret support, in ui and impot of se…
Valodim Apr 16, 2014
72aea73
Fix help_start
Apr 16, 2014
71a4e76
Translations from transifex, fix some strings references
Apr 16, 2014
95e44b9
Fix whitespace
Valodim Apr 16, 2014
07d5122
Fix more whitespace
Valodim Apr 16, 2014
5b025c3
Fix even more whitespace
Valodim Apr 16, 2014
d820490
essential instead of integral
Apr 16, 2014
0d5c0b1
secret keys can only be deleted individually from multi selection
Valodim Apr 17, 2014
83dc83d
Rename provider types following http://developer.android.com/guide/to…
Apr 17, 2014
d903ccf
Update comments in AndroidManifest
Apr 17, 2014
6140e18
use project icons for certification status
Valodim Apr 17, 2014
f189d8b
add up navigation in ViewCertActivity
Valodim Apr 17, 2014
1269f1b
load data only once in ImportKeysListLoader
Valodim Apr 17, 2014
255cd48
NotFoundExceptions for all getGeneric-type methods
Valodim Apr 17, 2014
d5a5e2f
get rid of PgpKeyHelper.getMasterKeyId
Valodim Apr 17, 2014
a81dec6
Add faq entry for keyserver bug, closes #552
Apr 17, 2014
2396e45
Remove dev hack in KeychainDatabase
Apr 17, 2014
814e9ee
Remove kill hack in KeychainDatabase
Apr 17, 2014
101139f
OK 2.6 RC1
Apr 17, 2014
b0c34da
Fix upload of keys, closes #581
Apr 17, 2014
1f79e43
FIx nfc button
Apr 18, 2014
f810529
Do not show lookup button in decrypt activity for decryption-only
Apr 18, 2014
7904989
Translations from transifex
Apr 18, 2014
f88ef5d
Remove unused strings, fix some lint errors, fix some language confus…
Apr 18, 2014
38e32d6
Update maven libs and use fixed version
Apr 18, 2014
e1e0f71
fix unified query columns for select*fragment
Valodim Apr 18, 2014
bb62b21
Update from transifex
Apr 19, 2014
89ded87
certify keys
Apr 19, 2014
1605cae
Fix more strings
Apr 19, 2014
76153dc
Fix some smaller annoyances, closes #583, #582
Apr 19, 2014
cdf7e93
Trying a fix for #585
Apr 19, 2014
ae804c6
better error string for too many responses
Apr 19, 2014
b9890ae
Update from transifex
Apr 19, 2014
85fc9df
version 2.6
Apr 19, 2014
aab6d0f
More code cleanup
Apr 19, 2014
e32566f
split up filterSign and filterCertify in SelectSecretKeyFragment
Valodim Apr 20, 2014
f599554
fix nullpointer on missing s2k
Valodim Apr 20, 2014
4375367
Fix a nullptr in KeychainProvider
Valodim Apr 20, 2014
77df5b2
Workaround for nullpointer bug in support lib, close #591
Apr 22, 2014
775cbf9
add has_secret for all who are upgrading from a beta version
Apr 22, 2014
8540680
Version 2.6.1
Apr 22, 2014
5d84bd9
Move KeychainServiceListener to ApgServiceListener
thialfihar Apr 28, 2014
3379312
Fix merge mistakes
thialfihar Apr 28, 2014
3695b85
Many API fixes for GET_KEY and GET_KEY_IDS
Apr 28, 2014
3e5143a
API: Fix GET_KEY, closes #599
Apr 28, 2014
b09a74c
Clarify sqlite datatypes
Apr 29, 2014
6bc8c98
More fixes
thialfihar Apr 29, 2014
6a99a1a
Formatting KeychainDatabase
Apr 29, 2014
25319e5
Rename ProgressDialogUpdater to Progressable
thialfihar Apr 29, 2014
ad35238
Rename setter methods for PgpSignEncrypt.Builder
thialfihar Apr 29, 2014
eb5fc14
can search openkeychain, retrieve & install & use keys from there
timbray Apr 18, 2014
8710c84
Clean up debug crud
timbray Apr 28, 2014
96ea78d
keybase ID stuff
timbray Apr 29, 2014
cf41f20
add DESIGN document
Valodim Apr 30, 2014
4eda81e
Changes should now be in sync with dominik
timbray Apr 30, 2014
5617ccf
tidy up IntentService
timbray Apr 30, 2014
11695e6
stupid identation stuff
timbray Apr 30, 2014
2002bf0
Speed up build: Upgrade to Gradle Android Plugin 0.10.0, Disable Lint
May 2, 2014
6431f89
Avoid displaying double 0x before keyid in ViewCertActivity
Vadiml1024 May 2, 2014
3348408
Update from transifex
May 2, 2014
8a96f6b
New key view design, using Android flat buttons and Android icons
May 4, 2014
07ed0b2
Update from transifex
May 4, 2014
ea9e298
Update from transifex
May 4, 2014
1ab6cd4
Per pull-request comments.
timbray May 5, 2014
ef6a946
Fix license header
May 5, 2014
a7ff271
ui: remove primary subkey info
Valodim May 5, 2014
b93de43
ui: subkey view redesign
Valodim May 5, 2014
7f381f4
ui: show revocation and expiry status on info tab
Valodim May 5, 2014
0e1b234
ui: use primary icon color for certification status
Valodim May 5, 2014
bfcb32a
Fix merge mistake that doubled a string resource
thialfihar May 6, 2014
a12f8c3
Fix package and class naming
thialfihar May 6, 2014
8217662
Move KeyServer classes back to util
thialfihar May 6, 2014
fe34352
Complete move of KeyServer classes to util
thialfihar May 6, 2014
7638e9f
Fix some naming
thialfihar May 13, 2014
1ef3e3d
Touch view only once
May 6, 2014
0b65807
ui: make primary star icon slightly larger
Valodim May 6, 2014
6552646
ui: use textviews instead of bootstrap buttons in SignEncrypt
Valodim May 6, 2014
015306f
ui: apply purple theme (twi is best color)
Valodim May 6, 2014
8e5e5c5
ui: use textview buttons in decrypt verify dialogue
Valodim May 6, 2014
2e5d208
Move logic classes for import into own sub-package
May 6, 2014
0558c45
Rename KeychainServiceListener
thialfihar May 13, 2014
9db16d5
Always use section style instead of custom class
May 6, 2014
32c4a93
edit button with image
May 6, 2014
9193458
Some small style fixes
May 6, 2014
9058fcc
Clarify language
May 6, 2014
06c2ebd
ui: purpelize fastscroll thumb
Valodim May 6, 2014
164f41b
ui: purplize edge overscroll glow effect
Valodim May 6, 2014
0d60077
ui: move revocation/expiry notes above tab slider
Valodim May 7, 2014
674e848
ui: slight edit icon cosmetics in keylist
Valodim May 7, 2014
b7a924d
display AppMsg warning when no encryption subkey is available
Valodim May 7, 2014
c65535e
ui: purplize searchtext in keylist
Valodim May 7, 2014
fe1483b
small fix for 6aafb3, forgot to commit this line
Valodim May 7, 2014
42f4e7e
ui: primary certification icon was a pixel or two off
Valodim May 7, 2014
3971230
ui: use SlidingTabLayout in help activity
Valodim May 7, 2014
74f5b9d
ui: apply theme to tab buttons
Valodim May 7, 2014
97b6c04
Clarify language
May 7, 2014
51308ba
Pull translations from transifex
May 7, 2014
30624d4
Clarify language
May 7, 2014
228f0b9
Pull translations from transifex
May 7, 2014
307723e
Use paste icon, clarify language once again
May 7, 2014
eda2503
Translations from transifex
May 7, 2014
b47921c
Change drawer nav icon back to gray
May 7, 2014
e42f212
Alignment in certify activity
May 7, 2014
b2473f8
Design fixes for certification activity
May 7, 2014
2ec1e4e
Better handling of actionbars back
May 7, 2014
fac7420
GET_KEY: also return PendingIntent to key view
May 7, 2014
ebe6dbf
Start app menu item for registered apps
May 7, 2014
780ad60
Remove code for sharing whole key via qr code
May 7, 2014
ecb2038
Move OpenKeychain-API to submodules
thialfihar May 13, 2014
2dd8344
Add applications section to help
May 7, 2014
27264f4
Use https URLs for submodules
thialfihar May 13, 2014
3353450
Upgrade HtmlTextView
thialfihar May 13, 2014
64d8c28
Don't allow certification using keys where primary subkey is stripped
Valodim May 7, 2014
c209cac
Update from transifex
May 8, 2014
d8f94dd
extract generic LoaderFragment superclass from KeyList
Valodim May 8, 2014
c22d697
use LoaderFragment in ViewKey tabs
Valodim May 8, 2014
1cbe6b6
use setEncryptToSigner for asymmetric encryption
Valodim May 8, 2014
3d920ec
Use flat buttons where appropriate
May 8, 2014
b31c22b
use longsparsearrays instead of hashmaps in that one place
Valodim May 8, 2014
6c8aca7
proper null checks and closing of cursors everywhere
Valodim May 8, 2014
036f9ac
Rename Keychain* to Apg*
thialfihar May 13, 2014
36c500c
ui: purplize dialog headers (huge hack inside)
Valodim May 8, 2014
376ecc1
Translations from transifex
May 8, 2014
e293ec2
Version 2.7
May 8, 2014
e128cbb
Add Tim Bray to about
May 9, 2014
253649d
Fixed wrong AppMsg-Style
danielhass May 11, 2014
27c44c7
Toast replacement
danielhass May 11, 2014
f0386d8
Removed unused Toast import
danielhass May 11, 2014
bd0ce43
Fix submodule paths
thialfihar May 13, 2014
888f51c
Fix resource conflict
thialfihar May 13, 2014
b754ae5
Fix package name and minor things lost in merging
thialfihar May 13, 2014
b01c52e
Make KeyServer methods public
thialfihar May 13, 2014
348ae33
Don't use Key/KeyRing abstractions for now
thialfihar May 13, 2014
a4f99f9
Fix package name
thialfihar May 13, 2014
144ad6e
Upgrade Database
thialfihar May 13, 2014
d85aedb
Lighten the icons to work with the dark theme
thialfihar May 13, 2014
bd72be6
Generate the QR image with white background
thialfihar May 13, 2014
17072d5
Make key view use the theme background
thialfihar May 13, 2014
cf7d4ba
Make purple resource appear as blue
thialfihar May 13, 2014
70be835
Fix legacy mode for K9
thialfihar May 13, 2014
64774c8
Update bc submodule
thialfihar May 13, 2014
f7ca3cb
Update AndroidManifest, add ViewCertActivity
thialfihar May 14, 2014
eb3713a
Fix theme
thialfihar May 14, 2014
d85b8bc
Always hide the revoked key icon
thialfihar May 14, 2014
a6e9624
Make keybase lookup works for key ids starting with 0x
thialfihar May 14, 2014
2573ef0
List full keybase id or strong key id matches on top
thialfihar May 14, 2014
7f5aa9b
Add extraData property in ImportKeyListEntry
thialfihar May 14, 2014
3ce5ce2
Don't guess keybase key algorithm and size
thialfihar May 14, 2014
b67d71e
Cleanup keybase query a bit
thialfihar May 14, 2014
3587c15
Add github, twitter, website info for keybase keys
thialfihar May 14, 2014
798355a
Rename fingerPrint to fingerprint
thialfihar May 14, 2014
4638198
Support mutliple search words and highlight them
thialfihar May 14, 2014
804094b
Add highlighting to keyserver/keybase search
thialfihar May 14, 2014
f47c6b8
Add pgpauth app to help, update html-textview
May 13, 2014
cfc5917
Update html-textview
thialfihar May 16, 2014
98ae58f
New screenshots
May 14, 2014
feb4dc6
JWalk javadocs
timbray May 12, 2014
bb23948
keybase now has key info in search output
timbray May 15, 2014
0636dcc
keybase cleanups for revised search output format
timbray May 16, 2014
07c4602
Add highlighting to keyserver/keybase search
thialfihar May 14, 2014
cedc679
Use Highlighter instead of HighlightQueryCursorAdapter
thialfihar May 14, 2014
c7a6d61
Rename mCurQuery to mQuery for consistency
thialfihar May 14, 2014
84d9c61
Rename *KeyServer* to *Keyserver*
thialfihar May 20, 2014
a896cea
Rename KeyServer to Keyserver in code
thialfihar May 20, 2014
7a1e089
Add license header to FixedDrawerLayout
May 18, 2014
57f3461
Layout fixes for key import
May 18, 2014
cbf9654
Add Log.d for QueryFailedException
timbray May 22, 2014
8bddcb0
Add Log.d for QueryFailedException
timbray May 23, 2014
8f6a20f
Finished cleaning up rebase conflicts post Keyserver exception refactor
timbray May 23, 2014
576e084
removed black border around icon
I3ck May 12, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,9 @@ pom.xml.*

#OS Specific
[Tt]humbs.db

Makefile
todo.txt
*sublime*
patches
.DS_Store
15 changes: 15 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[submodule "libs/bc"]
path = libs/bc
url = https://github.com/thialfihar/bc-java-for-apg.git
[submodule "libs/AndroidBootstrap"]
path = libs/AndroidBootstrap
url = https://github.com/Bearded-Hen/Android-Bootstrap.git
[submodule "libs/HtmlTextView"]
path = libs/HtmlTextView
url = https://github.com/thialfihar/html-textview.git
[submodule "libs/openpgp-api-lib"]
path = libs/openpgp-api-lib
url = https://github.com/open-keychain/openpgp-api-lib.git
[submodule "libs/openkeychain-api-lib"]
path = libs/openkeychain-api-lib
url = https://github.com/open-keychain/openkeychain-api-lib.git
8 changes: 4 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ jdk: oraclejdk7
before_install:
# Install base Android SDK
- sudo apt-get update -qq
- if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs; fi
- if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm lib32z1 lib32stdc++6; fi
- wget http://dl.google.com/android/android-sdk_r22.3-linux.tgz
- tar xzf android-sdk_r22.3-linux.tgz
- export ANDROID_HOME=$PWD/android-sdk-linux
- export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools

# Install required Android components.
- echo "y" | android update sdk -a --filter build-tools-19.0.3,android-19,platform-tools,extra-android-support,extra-android-m2repository --no-ui --force
- echo "y" | android update sdk -a --filter build-tools-19.0.0,build-tools-19.0.3,android-19,platform-tools,extra-android-support,extra-android-m2repository --no-ui --force
- git submodule update --init --recursive
install: echo "Installation done"
script: gradle assemble -S -q

script: gradle assemble -S -q -Dandroid.sdk=$ANDROID_HOME
46 changes: 28 additions & 18 deletions .tx/config
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,42 @@
host = https://www.transifex.com
lang_map = af_ZA: af-rZA, am_ET: am-rET, ar_AE: ar-rAE, ar_BH: ar-rBH, ar_DZ: ar-rDZ, ar_EG: ar-rEG, ar_IQ: ar-rIQ, ar_JO: ar-rJO, ar_KW: ar-rKW, ar_LB: ar-rLB, ar_LY: ar-rLY, ar_MA: ar-rMA, ar_OM: ar-rOM, ar_QA: ar-rQA, ar_SA: ar-rSA, ar_SY: ar-rSY, ar_TN: ar-rTN, ar_YE: ar-rYE, arn_CL: arn-rCL, as_IN: as-rIN, az_AZ: az-rAZ, ba_RU: ba-rRU, be_BY: be-rBY, bg_BG: bg-rBG, bn_BD: bn-rBD, bn_IN: bn-rIN, bo_CN: bo-rCN, br_FR: br-rFR, bs_BA: bs-rBA, ca_ES: ca-rES, co_FR: co-rFR, cs_CZ: cs-rCZ, cy_GB: cy-rGB, da_DK: da-rDK, de_AT: de-rAT, de_CH: de-rCH, de_DE: de-rDE, de_LI: de-rLI, de_LU: de-rLU, dsb_DE: dsb-rDE, dv_MV: dv-rMV, el_GR: el-rGR, en_AU: en-rAU, en_BZ: en-rBZ, en_CA: en-rCA, en_GB: en-rGB, en_IE: en-rIE, en_IN: en-rIN, en_JM: en-rJM, en_MY: en-rMY, en_NZ: en-rNZ, en_PH: en-rPH, en_SG: en-rSG, en_TT: en-rTT, en_US: en-rUS, en_ZA: en-rZA, en_ZW: en-rZW, es_AR: es-rAR, es_BO: es-rBO, es_CL: es-rCL, es_CO: es-rCO, es_CR: es-rCR, es_DO: es-rDO, es_EC: es-rEC, es_ES: es-rES, es_GT: es-rGT, es_HN: es-rHN, es_MX: es-rMX, es_NI: es-rNI, es_PA: es-rPA, es_PE: es-rPE, es_PR: es-rPR, es_PY: es-rPY, es_SV: es-rSV, es_US: es-rUS, es_UY: es-rUY, es_VE: es-rVE, et_EE: et-rEE, eu_ES: eu-rES, fa_IR: fa-rIR, fi_FI: fi-rFI, fil_PH: fil-rPH, fo_FO: fo-rFO, fr_BE: fr-rBE, fr_CA: fr-rCA, fr_CH: fr-rCH, fr_FR: fr-rFR, fr_LU: fr-rLU, fr_MC: fr-rMC, fy_NL: fy-rNL, ga_IE: ga-rIE, gd_GB: gd-rGB, gl_ES: gl-rES, gsw_FR: gsw-rFR, gu_IN: gu-rIN, ha_NG: ha-rNG, hi_IN: hi-rIN, hr_BA: hr-rBA, hr_HR: hr-rHR, hsb_DE: hsb-rDE, hu_HU: hu-rHU, hy_AM: hy-rAM, id_ID: id-rID, ig_NG: ig-rNG, ii_CN: ii-rCN, is_IS: is-rIS, it_CH: it-rCH, it_IT: it-rIT, iu_CA: iu-rCA, ja_JP: ja-rJP, ka_GE: ka-rGE, kk_KZ: kk-rKZ, kl_GL: kl-rGL, km_KH: km-rKH, kn_IN: kn-rIN, ko_KR: ko-rKR, kok_IN: kok-rIN, ky_KG: ky-rKG, lb_LU: lb-rLU, lo_LA: lo-rLA, lt_LT: lt-rLT, lv_LV: lv-rLV, mi_NZ: mi-rNZ, mk_MK: mk-rMK, ml_IN: ml-rIN, mn_CN: mn-rCN, mn_MN: mn-rMN, moh_CA: moh-rCA, mr_IN: mr-rIN, ms_BN: ms-rBN, ms_MY: ms-rMY, mt_MT: mt-rMT, nb_NO: nb-rNO, ne_NP: ne-rNP, nl_BE: nl-rBE, nl_NL: nl-rNL, nn_NO: nn-rNO, nso_ZA: nso-rZA, oc_FR: oc-rFR, or_IN: or-rIN, pa_IN: pa-rIN, pl_PL: pl-rPL, prs_AF: prs-rAF, ps_AF: ps-rAF, pt_BR: pt-rBR, pt_PT: pt-rPT, qut_GT: qut-rGT, quz_BO: quz-rBO, quz_EC: quz-rEC, quz_PE: quz-rPE, rm_CH: rm-rCH, ro_RO: ro-rRO, ru_RU: ru-rRU, rw_RW: rw-rRW, sa_IN: sa-rIN, sah_RU: sah-rRU, se_FI: se-rFI, se_NO: se-rNO, se_SE: se-rSE, si_LK: si-rLK, sk_SK: sk-rSK, sl_SI: sl-rSI, sma_NO: sma-rNO, sma_SE: sma-rSE, smj_NO: smj-rNO, smj_SE: smj-rSE, smn_FI: smn-rFI, sms_FI: sms-rFI, sq_AL: sq-rAL, sr_BA: sr-rBA, sr_CS: sr-rCS, sr_ME: sr-rME, sr_RS: sr-rRS, sv_FI: sv-rFI, sv_SE: sv-rSE, sw_KE: sw-rKE, syr_SY: syr-rSY, ta_IN: ta-rIN, te_IN: te-rIN, tg_TJ: tg-rTJ, th_TH: th-rTH, tk_TM: tk-rTM, tn_ZA: tn-rZA, tr_TR: tr-rTR, tt_RU: tt-rRU, tzm_DZ: tzm-rDZ, ug_CN: ug-rCN, uk_UA: uk-rUA, ur_PK: ur-rPK, uz_UZ: uz-rUZ, vi_VN: vi-rVN, wo_SN: wo-rSN, xh_ZA: xh-rZA, yo_NG: yo-rNG, zh_CN: zh-rCN, zh_HK: zh-rHK, zh_MO: zh-rMO, zh_SG: zh-rSG, zh_TW: zh-rTW, zu_ZA: zu-rZA, no_NO: no-rNO, he_IL: iw-rIL, he: iw

[openpgp-keychain.strings]
file_filter = OpenPGP-Keychain/src/main/res/values-<lang>/strings.xml
source_file = OpenPGP-Keychain/src/main/res/values/strings.xml
[apg.strings]
file_filter = apg/src/main/res/values-<lang>/strings.xml
source_file = apg/src/main/res/values/strings.xml
source_lang = en

[openpgp-keychain.help-about]
file_filter = OpenPGP-Keychain/src/main/res/raw-<lang>/help_about.html
source_file = OpenPGP-Keychain/src/main/res/raw/help_about.html
[apg.help-about]
file_filter = apg/src/main/res/raw-<lang>/help_about.html
source_file = apg/src/main/res/raw/help_about.html
source_lang = en

[openpgp-keychain.help-changelog]
file_filter = OpenPGP-Keychain/src/main/res/raw-<lang>/help_changelog.html
source_file = OpenPGP-Keychain/src/main/res/raw/help_changelog.html
[apg.help-changelog]
file_filter = apg/src/main/res/raw-<lang>/help_changelog.html
source_file = apg/src/main/res/raw/help_changelog.html
source_lang = en

[openpgp-keychain.help-nfc-beam]
file_filter = OpenPGP-Keychain/src/main/res/raw-<lang>/help_nfc_beam.html
source_file = OpenPGP-Keychain/src/main/res/raw/help_nfc_beam.html
[apg.help-wot]
file_filter = apg/src/main/res/raw-<lang>/help_wot.html
source_file = apg/src/main/res/raw/help_wot.html
source_lang = en

[openpgp-keychain.help-start]
file_filter = OpenPGP-Keychain/src/main/res/raw-<lang>/help_start.html
source_file = OpenPGP-Keychain/src/main/res/raw/help_start.html
[apg.help-nfc-beam]
file_filter = apg/src/main/res/raw-<lang>/help_nfc_beam.html
source_file = apg/src/main/res/raw/help_nfc_beam.html
source_lang = en

[openpgp-keychain.nfc-beam-share]
file_filter = OpenPGP-Keychain/src/main/res/raw-<lang>/nfc_beam_share.html
source_file = OpenPGP-Keychain/src/main/res/raw/nfc_beam_share.html
[apg.help-start]
file_filter = apg/src/main/res/raw-<lang>/help_start.html
source_file = apg/src/main/res/raw/help_start.html
source_lang = en

[apg.nfc-beam-share]
file_filter = apg/src/main/res/raw-<lang>/nfc_beam_share.html
source_file = apg/src/main/res/raw/nfc_beam_share.html
source_lang = en

[apg.help-faq]
file_filter = apg/src/main/res/raw-<lang>/help_faw.html
source_file = apg/src/main/res/raw/help_faq.html
source_lang = en
56 changes: 29 additions & 27 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
2.3.1
APG v1.1.0

OpenKeychain 2.3.1
* hotfix for crash when upgrading from old versions

2.3
OpenKeychain 2.3
* remove unnecessary export of public keys when exporting secret key (thanks to Ash Hughes)
* fix setting expiry dates on keys (thanks to Ash Hughes)
* more internal fixes when editing keys (thanks to Ash Hughes)
Expand All @@ -12,7 +14,7 @@
* Bouncy Castle (cryptography library) updated from 1.47 to 1.50 and build from source
* fix upload of key from signing screen

2.2
OpenKeychain 2.2
* New design with navigation drawer
* New public key list design
* New public key view
Expand All @@ -23,32 +25,32 @@
* Sharing of keys via QR Codes fixed and improved
* Package signature verification for API

2.1
OpenKeychain 2.1
* Lots of bug fixes
* New API for developers
* PRNG bug fix by Google

2.0
OpenKeychain 2.0
* Complete redesign
* Share public keys via qr codes, nfc beam
* Sign keys
* Upload keys to server
* Fixes import issues
* New AIDL API

1.0.8
APG v1.0.8
* basic keyserver support (HKP, please report bugs :))
* app2sd (untested, let me know if there are problems)
* more choices for pass phrase cache: 1, 2, 4, 8, hours
* translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)
* bugfixes
* optimizations

1.0.7
APG v1.0.7
* clear sign problem with lacking trailing newline fixed
* more options for pass phrase cache time to live (20, 40, 60 mins)

1.0.6
APG v1.0.6
* account adding crash on Froyo fixed
* secure file deletion
* option to delete key file after import
Expand All @@ -57,90 +59,90 @@
* interface changes
* bugfixes

1.0.5
APG v1.0.5
* German and Italian translation
* much smaller package, due to reduced BC sources
* new preferences GUI
* layout adjustment for localization
* signature bugfix

1.0.4
APG v1.0.4
* fixed another crash caused by some SDK bug with query builder

1.0.3
APG v1.0.3
* fixed crashes during encryption/signing and possibly key export

1.0.2
APG v1.0.2
* filterable key lists
* smarter preselection of encryption keys
* new Intent handling for VIEW and SEND, allows files to be encrypted/decrypted out of file managers
* fixes and additional features (key preselection) for k9, new beta build available

1.0.1
APG v1.0.1
* GMail account listing was broken in 1.0.0, fixed again

1.0.0
APG v1.0.0
* k9mail integration, APG supporting beta build of k9mail
* support of more file managers (including ASTRO)
* Slovenian translation
* new database, much faster, less memory usage
* defined Intents and content provider for other apps
* bugfixes

0.9.7
APG v0.9.7
* 0.9.5 must have introduced a bug that prevented symmetric encryption, this release fixes it

0.9.6
APG v0.9.6
* finally fixed that bug that prevents the import of keys exported with Enigmail (and others), since this likely affects many users... it gets its own quick release

0.9.5
APG v0.9.5
* k9mail integration: using "More -> Forward (alternate)"
* pass phrase cache
* compression preferences added
* accurate decryption progress bar
* internationalization prepared, hopefully translations will follow

0.9.4
APG v0.9.4
* Android 1.5 support, I *hope*, please report problems with layout and graphics
* yet another interface change, hopefully this will be it :)
* symmetric encryption for messages
* encrypt and decrypt processes all wrapped into ONE activity respectively in preparation for defined Intents to use APG in other apps

0.9.3
APG v0.9.3
* handle large files correctly
* better progress bars (especially for file encryption/decryption)
* option to delete files after en-/decryption
* bug fixes, layout tweaks

0.9.2
APG v0.9.2
* settings for default encryption/hash algorithm
* hushmail key support
* GUI improvements (encrypt file layout rewritten)
* bug fixes

0.9.1
APG v0.9.1
* ElGamal support for subkeys
* fixes of some silly 0.9.0 bugs

0.9.0
APG v0.9.0
* OI File Manager support
* file encryption/decryption

0.8.1
APG v0.8.1
* display/verify signed-only mails
* bug fixes, layout fixes

0.8.0
APG v0.8.0
* create/edit keys
* export keys
* GUI more Android-like
* a lot of code review, rewriting things
* tidy up strings and error handling

0.7.1
APG v0.7.1
* minor fixes, some code review
* recognize ElGamal encryption keys as suitable for encryption
* allow signing only

0.7.0
* initial public release
APG v0.7.0
* initial public release
23 changes: 0 additions & 23 deletions DESCRIPTION

This file was deleted.

54 changes: 54 additions & 0 deletions DESIGN.mkd
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Design Notes on Open-Keychain

This document contains notes on the software design of open keychain.


## Database design

The database has two distinct types of tables:
- The key\_ring\_{public,secret} tables, which hold binary blobs of all known
public and private keys, respectively, and nothing else.
- All other tables, which cache information about key rings in a consistent
manner. This information includes various pieces of metadata about each key's
subkeys, user ids, and certificates.

### Constraints

All tables in the database have FOREIGN KEY constraints related to the
key\_ring\_public table. This is also true for the key\_ring\_secret table,
which means that secret keys cannot exist in the database without their public
key counterparts. This has implications in particular on the order of insertion
for private key rings and their public key ring counterparts into the database,
even more so when editing a key ring is edited.

### Cache usage considerations

It is of note that extraction of metadata from key rings is in some cases a
surprisingly expensive operation. As a prime example (heh), properly extracting
a key's associated primary user id requires examination and possibly
verification of all self-certificates, which in turn requires examination of
all certificates.

To ensure consistency, each type of metadata must be extracted one way in
exactly one routine. For this reason, it is often desirable to make use of
cached data even when the underlying pgp key ring objects are contextually
available.


## Further work / WIP

### Separation of concerns

Roughly speaking, the crypto code should be strictly separated from the android
code. At the time of this writing (30.04.14), most of these thoughts are yet to
be put into practice.

There are three aspects to OK which should be kept largely separate:
- Firstly, there is Code dealing with pgp and crypto. This code exclusively makes
use of the BouncyCastle library. It lives in the .pgp package.
- Secondly, there is code dealing with user interface and system integration,
which makes exclusive use of Android classes.
- Between these, there is glue code that is responsible for mapping pgp objects
to the database, and calling methods provided by the crypto code from the ui
code.

File renamed without changes.
Loading