Merge branch 'master' of github.com:openpgp-keychain/openpgp-keychain

This commit is contained in:
Dominik Schürmann 2014-03-25 19:11:32 +01:00
commit 7111a4265d
32 changed files with 79 additions and 146 deletions

View File

@ -139,7 +139,7 @@ public class ExportHelper {
intent.putExtra(KeychainIntentService.EXTRA_DATA, data);
// Message is received after exporting is done in ApgService
// Message is received after exporting is done in KeychainIntentService
KeychainIntentServiceHandler exportHandler = new KeychainIntentServiceHandler(mActivity,
mActivity.getString(R.string.progress_exporting),
ProgressDialog.STYLE_HORIZONTAL,
@ -151,7 +151,7 @@ public class ExportHelper {
}
}) {
public void handleMessage(Message message) {
// handle messages by standard ApgHandler first
// handle messages by standard KeychainIntentServiceHandler first
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {

View File

@ -38,7 +38,7 @@ import java.util.List;
import java.util.UUID;
public class KeychainServiceBlobProvider extends ContentProvider {
private static final String STORE_PATH = Constants.Path.APP_DIR + "/ApgBlobs";
private static final String STORE_PATH = Constants.Path.APP_DIR + "/KeychainBlobs";
private KeychainServiceBlobDatabase mBlobDatabase = null;

View File

@ -855,7 +855,7 @@ public class KeychainIntentService extends IntentService
if (this.mIsCanceled) {
return;
}
Log.e(Constants.TAG, "ApgService Exception: ", e);
Log.e(Constants.TAG, "KeychainIntentService Exception: ", e);
e.printStackTrace();
Bundle data = new Bundle();

View File

@ -327,11 +327,11 @@ public class CertifyKeyActivity extends ActionBarActivity implements
intent.putExtra(KeychainIntentService.EXTRA_DATA, data);
// Message is received after signing is done in ApgService
// Message is received after signing is done in KeychainIntentService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(this,
getString(R.string.progress_signing), ProgressDialog.STYLE_SPINNER) {
public void handleMessage(Message message) {
// handle messages by standard ApgHandler first
// handle messages by standard KeychainIntentServiceHandler first
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {
@ -380,11 +380,11 @@ public class CertifyKeyActivity extends ActionBarActivity implements
intent.putExtra(KeychainIntentService.EXTRA_DATA, data);
// Message is received after uploading is done in ApgService
// Message is received after uploading is done in KeychainIntentService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(this,
getString(R.string.progress_exporting), ProgressDialog.STYLE_HORIZONTAL) {
public void handleMessage(Message message) {
// handle messages by standard ApgHandler first
// handle messages by standard KeychainIntentServiceHandler first
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {

View File

@ -443,8 +443,7 @@ public class DecryptActivity extends DrawerActivity {
getDecryptionKeyFromInputStream();
// if we need a symmetric passphrase or a passphrase to use a secret key ask for it
if (mSecretKeyId == Id.key.symmetric
|| PassphraseCacheService.getCachedPassphrase(this, mSecretKeyId) == null) {
if (mAssumeSymmetricEncryption || PassphraseCacheService.getCachedPassphrase(this, mSecretKeyId) == null) {
showPassphraseDialog();
} else {
if (mDecryptTarget == Id.target.file) {
@ -494,6 +493,7 @@ public class DecryptActivity extends DrawerActivity {
* TODO: Rework function, remove global variables
*/
private void getDecryptionKeyFromInputStream() {
mAssumeSymmetricEncryption = false;
InputStream inStream = null;
if (mContentUri != null) {
try {
@ -517,13 +517,6 @@ public class DecryptActivity extends DrawerActivity {
Log.e(Constants.TAG, "File not found!", e);
AppMsg.makeText(this, getString(R.string.error_file_not_found, e.getMessage()),
AppMsg.STYLE_ALERT).show();
} finally {
try {
if (inStream != null) {
inStream.close();
}
} catch (Exception e) {
}
}
} else {
inStream = new ByteArrayInputStream(mMessage.getText().toString().getBytes());
@ -540,7 +533,6 @@ public class DecryptActivity extends DrawerActivity {
if (mSecretKeyId == Id.key.none) {
throw new PgpGeneralException(getString(R.string.error_no_secret_key_found));
}
mAssumeSymmetricEncryption = false;
} catch (NoAsymmetricEncryptionException e) {
if (inStream.markSupported()) {
inStream.reset();
@ -553,6 +545,7 @@ public class DecryptActivity extends DrawerActivity {
mAssumeSymmetricEncryption = true;
}
} catch (Exception e) {
Log.e(Constants.TAG, "error while reading decryption key from input stream", e);
AppMsg.makeText(this, getString(R.string.error_message, e.getMessage()),
AppMsg.STYLE_ALERT).show();
}
@ -638,11 +631,11 @@ public class DecryptActivity extends DrawerActivity {
intent.putExtra(KeychainIntentService.EXTRA_DATA, data);
// Message is received after encrypting is done in ApgService
// Message is received after encrypting is done in KeychainIntentService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(this,
getString(R.string.progress_decrypting), ProgressDialog.STYLE_HORIZONTAL) {
public void handleMessage(Message message) {
// handle messages by standard ApgHandler first
// handle messages by standard KeychainIntentServiceHandler first
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {

View File

@ -180,7 +180,7 @@ public class EditKeyActivity extends ActionBarActivity {
serviceIntent.putExtra(KeychainIntentService.EXTRA_DATA, data);
// Message is received after generating is done in ApgService
// Message is received after generating is done in KeychainIntentService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(
this, getResources().getQuantityString(R.plurals.progress_generating, 1),
ProgressDialog.STYLE_HORIZONTAL, true,
@ -197,7 +197,7 @@ public class EditKeyActivity extends ActionBarActivity {
@Override
public void handleMessage(Message message) {
// handle messages by standard ApgHandler first
// handle messages by standard KeychainIntentServiceHandler first
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {
@ -540,11 +540,11 @@ public class EditKeyActivity extends ActionBarActivity {
intent.putExtra(KeychainIntentService.EXTRA_DATA, data);
// Message is received after saving is done in ApgService
// Message is received after saving is done in KeychainIntentService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(this,
getString(R.string.progress_saving), ProgressDialog.STYLE_HORIZONTAL) {
public void handleMessage(Message message) {
// handle messages by standard ApgHandler first
// handle messages by standard KeychainIntentServiceHandler first
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {

View File

@ -597,11 +597,11 @@ public class EncryptActivity extends DrawerActivity {
intent.putExtra(KeychainIntentService.EXTRA_DATA, data);
// Message is received after encrypting is done in ApgService
// Message is received after encrypting is done in KeychainIntentService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(this,
getString(R.string.progress_encrypting), ProgressDialog.STYLE_HORIZONTAL) {
public void handleMessage(Message message) {
// handle messages by standard ApgHandler first
// handle messages by standard KeychainIntentServiceHandler first
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {

View File

@ -363,7 +363,7 @@ public class ImportKeysActivity extends DrawerActivity implements ActionBar.OnNa
* Import keys with mImportData
*/
public void importKeys() {
// Message is received after importing is done in ApgService
// Message is received after importing is done in KeychainIntentService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(
this,
getString(R.string.progress_importing),

View File

@ -98,11 +98,11 @@ public class UploadKeyActivity extends ActionBarActivity {
intent.putExtra(KeychainIntentService.EXTRA_DATA, data);
// Message is received after uploading is done in ApgService
// Message is received after uploading is done in KeychainIntentService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(this,
getString(R.string.progress_exporting), ProgressDialog.STYLE_HORIZONTAL) {
public void handleMessage(Message message) {
// handle messages by standard ApgHandler first
// handle messages by standard KeychainIntentServiceHandler first
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {

View File

@ -87,11 +87,11 @@ public class DeleteFileDialogFragment extends DialogFragment {
false,
null);
// Message is received after deleting is done in ApgService
// Message is received after deleting is done in KeychainIntentService
KeychainIntentServiceHandler saveHandler =
new KeychainIntentServiceHandler(activity, deletingDialog) {
public void handleMessage(Message message) {
// handle messages by standard ApgHandler first
// handle messages by standard KeychainIntentHandler first
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {

View File

@ -256,11 +256,11 @@ public class SectionView extends LinearLayout implements OnClickListener, Editor
}
});
// Message is received after generating is done in ApgService
// Message is received after generating is done in KeychainIntentService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(mActivity,
mGeneratingDialog) {
public void handleMessage(Message message) {
// handle messages by standard ApgHandler first
// handle messages by standard KeychainIntentServiceHandler first
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {

View File

@ -72,7 +72,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="16dp">
android:paddingLeft="16dp"
android:paddingRight="4dip">
<TextView
android:id="@+id/mainUserId"
@ -314,4 +315,4 @@
bootstrapbutton:bb_type="info"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</ScrollView>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Developers APG 1.x</h2>
<ul>
<li>'Thialfihar' (Lead developer)</li>
<li>Thialfihar (Lead developer)</li>
<li>'Senecaso' (QRCode, sign key, upload key)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Libraries</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Entwickler APG 1.x</h2>
<ul>
<li>'Thialfihar' (Leitender Entwickler)</li>
<li>Thialfihar (Leitender Entwickler)</li>
<li>'Senecaso' (QR-Code, Schlüssel signtieren, Schlüssel hochladen)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Bibliotheken</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache Lizenz v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Bibliothek</a> (Apache Lizenz v2)</li>
<li>Icons von <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike Lizenz 3.0)</li>
<li>Icons von <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Developers APG 1.x</h2>
<ul>
<li>'Thialfihar' (Lead developer)</li>
<li>Thialfihar (Lead developer)</li>
<li>'Senecaso' (QRCode, sign key, upload key)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Libraries</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Developers APG 1.x</h2>
<ul>
<li>'Thialfihar' (Lead developer)</li>
<li>Thialfihar (Lead developer)</li>
<li>'Senecaso' (QRCode, sign key, upload key)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Libraries</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Desarrolladores de APG 1.x</h2>
<ul>
<li>'Thialfihar' (Desarrollador principal)</li>
<li>Thialfihar (Desarrollador principal)</li>
<li>'Senecaso' (Código QR, clave de firma, carga de clave)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Librerías</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Licencia Apache v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Librería Android AppMsg</a> (Licencia Apache v2)</li>
<li>Icons de <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Compartir-Igual licencia 3.0)</li>
<li>Iconos de <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Dominio Público)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Developers APG 1.x</h2>
<ul>
<li>'Thialfihar' (Lead developer)</li>
<li>Thialfihar (Lead developer)</li>
<li>'Senecaso' (QRCode, sign key, upload key)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Libraries</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Les développeurs d'APG 1.x</h2>
<ul>
<li>« Thialfihar (développeur principal)</li>
<li>Thialfihar (développeur principal)</li>
<li>« Senecaso » (Code QR, signer/téléverser la clef)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Bibliothèques</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Licence Apache v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Bibliothèque Android AppMsg</a> (Licence Apache v2)</li>
<li>Icônes du <a href="http://rrze-icon-set.berlios.de/">jeu d'icônes RRZE</a> (Licence Creative Commons Paternité - Partage des Conditions Initiales à l'Identique 3.0)</li>
<li>Icônes du <a href="http://tango.freedesktop.org/">jeu d'icônes Tango</a> (domaine public)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Sviluppatori APG 1.x</h2>
<ul>
<li>'Thialfihar' (Capo Sviluppatore)</li>
<li>Thialfihar (Capo Sviluppatore)</li>
<li>'Senecaso' (QRCode, firma chiavi, caricamento chiavi)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Librerie</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Licenza Apache v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Licenza Apache v2)</li>
<li>Icone da <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Licenza Creative Commons Attribution Share-Alike 3.0)</li>
<li>Icone da <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Pubblico Dominio)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>APG 1.xの開発者達</h2>
<ul>
<li>'Thialfihar' (主任開発者)</li>
<li>Thialfihar (主任開発者)</li>
<li>'Senecaso' (QRコード, 鍵署名, 鍵アップロード関係)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>ライブラリ</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (パブリックドメイン)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Developers APG 1.x</h2>
<ul>
<li>'Thialfihar' (Lead developer)</li>
<li>Thialfihar (Lead developer)</li>
<li>'Senecaso' (QRCode, sign key, upload key)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Libraries</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Deweloperzy APG 1.x</h2>
<ul>
<li>'Thialfihar' (Wiodacy deweloper)</li>
<li>Thialfihar (Wiodacy deweloper)</li>
<li>'Senecaso' (kody QR, podpisy kluczy, wysyłanie kluczy)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Biblioteki</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Licencja Apache v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Licencja Apache v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Licencja Uznanie autorstwa - Na tych samych warunkach 3.0 CC-BY-SA)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Domena Publiczna)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Developers APG 1.x</h2>
<ul>
<li>'Thialfihar' (Lead developer)</li>
<li>Thialfihar (Lead developer)</li>
<li>'Senecaso' (QRCode, sign key, upload key)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Libraries</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Разработчики APG 1.x</h2>
<ul>
<li>'Thialfihar' (главный разработчик)</li>
<li>Thialfihar (главный разработчик)</li>
<li>'Senecaso' (QR коды, подписание и загрузка ключей)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Компоненты</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Библиотека Android AppMsg</a> (Apache License v2)</li>
<li>Иконки <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Иконки <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Developers APG 1.x</h2>
<ul>
<li>'Thialfihar' (Lead developer)</li>
<li>Thialfihar (Lead developer)</li>
<li>'Senecaso' (QRCode, sign key, upload key)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Libraries</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Geliştiriciler APG 1.x</h2>
<ul>
<li>'Thialfihar' (Baş geliştirici)</li>
<li>Thialfihar (Baş geliştirici)</li>
<li>'Senecaso' (QR Kodu, anahtar imzalama, anahtar yükleme)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Kütüphaneler</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>İkonlar <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>İkonlar <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Розробники APG 1.x</h2>
<ul>
<li>'Thialfihar' (основний розробник)</li>
<li>Thialfihar (основний розробник)</li>
<li>'Senecaso' (штрих-код, підпис і завантаження ключів)</li>
<li>Олівер Ранж</li>
<li>Маркус Дойтс</li>
</ul>
<h2>Бібліотеки</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (ліцензія Apache в.2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Бібліотека Android AppMsg Library</a> (Ліцензія Apache в. 2)</li>
<li>Піктограми із <a href="http://rrze-icon-set.berlios.de/">набору піктограм RRZE</a> (ліцензія Creative Commons - Із зазначенням авторства - Розповсюдження на тих самих умовах - версія 3.0)</li>
<li>Піктограми із <a href="http://tango.freedesktop.org/">набору піктограм Tango</a> (відкритий домен)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Developers APG 1.x</h2>
<ul>
<li>'Thialfihar' (Lead developer)</li>
<li>Thialfihar (Lead developer)</li>
<li>'Senecaso' (QRCode, sign key, upload key)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>Libraries</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -15,9 +15,8 @@
</ul>
<h2>Developers APG 1.x</h2>
<ul>
<li>'Thialfihar' (Lead developer)</li>
<li>Thialfihar (Lead developer)</li>
<li>'Senecaso' (QRCode, sign key, upload key)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
<h2>函式庫</h2>
@ -38,8 +37,6 @@
<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li>
<a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -19,9 +19,8 @@ And don't add newlines before or after p tags because of transifex -->
</ul>
<h2>Developers APG 1.x</h2>
<ul>
<li>'Thialfihar' (Lead developer)</li>
<li>Thialfihar (Lead developer)</li>
<li>'Senecaso' (QRCode, sign key, upload key)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
@ -35,8 +34,6 @@ And don't add newlines before or after p tags because of transifex -->
<li><a href="http://rtyley.github.com/spongycastle/">SpongyCastle</a> (MIT X11 License)</li>
<li><a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
<li><a href="https://github.com/johnkil/Android-AppMsg">Android AppMsg Library</a> (Apache License v2)</li>
<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
</ul>
</body>
</html>

View File

@ -1,6 +1,6 @@
# OpenKeychain (for Android)
OpenKeychain is an OpenPGP implementation for Android.
OpenKeychain is an OpenPGP implementation for Android.
For a more detailed description and installation instructions go to http://www.openkeychain.org .
### Travis CI Build Status
@ -31,9 +31,9 @@ Development mailinglist at http://groups.google.com/d/forum/openpgp-keychain-dev
### Build with Gradle
1. Have Android SDK "tools", "platform-tools", and "build-tools" directories in your PATH (http://developer.android.com/sdk/index.html)
2. Open the Android SDK Manager (shell command: ``android``).
Expand the Tools directory and select "Android SDK Build-tools (Version 19.0.3)".
Expand the Extras directory and install "Android Support Repository"
2. Open the Android SDK Manager (shell command: ``android``).
Expand the Tools directory and select "Android SDK Build-tools (Version 19.0.3)".
Expand the Extras directory and install "Android Support Repository"
Select everything for the newest SDK (API-Level 19)
3. Export ANDROID_HOME pointing to your Android SDK
4. Execute ``./gradlew build``
@ -59,11 +59,11 @@ I am using the newest [Android Studio](http://developer.android.com/sdk/installi
OpenKeychain provides two APIs, namely the Intent API and the Remote OpenPGP API.
The Intent API can be used without permissions to start OpenKeychain's activities for cryptographic operations, import of keys, etc.
However, it always requires user input, so that no malicious application can use this API without user intervention.
However, it always requires user input, so that no malicious application can use this API without user intervention.
The Remote OpenPGP API is more sophisticated and allows to to operations without user interaction in the background.
When utilizing this API, OpenKeychain asks the user on first use to grant access for the calling client application.
More technical information and examples about these APIs can be found in the project's wiki:
More technical information and examples about these APIs can be found in the project's wiki:
* [Intent API](https://github.com/openpgp-keychain/openpgp-keychain/wiki/Intent-API)
* [Remote OpenPGP API](https://github.com/openpgp-keychain/openpgp-keychain/wiki/OpenPGP-API)
@ -110,7 +110,7 @@ see
### Gradle Build System
We try to make our builds as [reproducible/deterministic](https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise) as possible.
We try to make our builds as [reproducible/deterministic](https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise) as possible.
When changing build files or dependencies, respect the following requirements:
* No precompiled libraries. All libraries should be provided as sourcecode in "libraries" folder (you never know what pre-compiled jar files really contain! The library files are currently directly commited, because git submodules/git subtree are too much of a hassle for new contributors. This could change in the future!)
* No dependencies from Maven (also a soft requirement for inclusion in [F-Droid](https://f-droid.org))
@ -180,59 +180,55 @@ Some parts (older parts and some libraries are Apache License v2, MIT X11 Licens
> it under the terms of the GNU General Public License as published by
> the Free Software Foundation, either version 3 of the License, or
> (at your option) any later version.
>
>
> This program is distributed in the hope that it will be useful,
> but WITHOUT ANY WARRANTY; without even the implied warranty of
> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> GNU General Public License for more details.
>
>
> You should have received a copy of the GNU General Public License
> along with this program. If not, see <http://www.gnu.org/licenses/>.
### Libraries
* SpongyCastle
https://github.com/rtyley/spongycastle
* SpongyCastle
https://github.com/rtyley/spongycastle
MIT X11 License
* Android Support Library v4
http://developer.android.com/tools/support-library/index.html
Apache License v2
* Android Support Library v7 'appcompat'
http://developer.android.com/tools/support-library/index.html
* Android Support Library v4
http://developer.android.com/tools/support-library/index.html
Apache License v2
* HtmlTextView
https://github.com/dschuermann/html-textview
* Android Support Library v7 'appcompat'
http://developer.android.com/tools/support-library/index.html
Apache License v2
* ZXing
https://github.com/zxing/zxing
* HtmlTextView
https://github.com/dschuermann/html-textview
Apache License v2
* StickyListHeaders
https://github.com/emilsjolander/StickyListHeaders
* ZXing
https://github.com/zxing/zxing
Apache License v2
* Android-Bootstrap
https://github.com/Bearded-Hen/Android-Bootstrap
* StickyListHeaders
https://github.com/emilsjolander/StickyListHeaders
Apache License v2
* Android-Bootstrap
https://github.com/Bearded-Hen/Android-Bootstrap
MIT License
* Android AppMsg
https://github.com/johnkil/Android-AppMsg
* Android AppMsg
https://github.com/johnkil/Android-AppMsg
Apache License v2
### Images
* icon.svg
* icon.svg
modified version of kgpg_key2_kopete.svgz
* key.svg
http://rrze-icon-set.berlios.de/
Creative Commons Attribution Share-Alike licence 3.0
* Menu icons
* Menu icons
http://developer.android.com/design/downloads/index.html#action-bar-icon-pack