mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-30 12:32:17 -05:00
Merge branch 'development' of github.com:open-keychain/open-keychain into development
Conflicts: OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java OpenKeychain/src/main/res/values/strings.xml
This commit is contained in:
commit
9e663237b6
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -34,3 +34,6 @@
|
|||||||
[submodule "extern/safeslinger-exchange"]
|
[submodule "extern/safeslinger-exchange"]
|
||||||
path = extern/safeslinger-exchange
|
path = extern/safeslinger-exchange
|
||||||
url = https://github.com/open-keychain/exchange-android
|
url = https://github.com/open-keychain/exchange-android
|
||||||
|
[submodule "extern/android-lockpattern"]
|
||||||
|
path = extern/android-lockpattern
|
||||||
|
url = https://github.com/open-keychain/android-lockpattern.git
|
||||||
|
@ -20,6 +20,7 @@ dependencies {
|
|||||||
compile project(':extern:KeybaseLib:Lib')
|
compile project(':extern:KeybaseLib:Lib')
|
||||||
compile project(':extern:TokenAutoComplete:library')
|
compile project(':extern:TokenAutoComplete:library')
|
||||||
compile project(':extern:safeslinger-exchange')
|
compile project(':extern:safeslinger-exchange')
|
||||||
|
compile project(':extern:android-lockpattern:code')
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
@ -659,6 +659,12 @@
|
|||||||
<activity
|
<activity
|
||||||
android:name=".ui.PassphraseDialogActivity"
|
android:name=".ui.PassphraseDialogActivity"
|
||||||
android:theme="@android:style/Theme.NoDisplay" />
|
android:theme="@android:style/Theme.NoDisplay" />
|
||||||
|
<activity
|
||||||
|
android:name="com.haibison.android.lockpattern.LockPatternActivity"
|
||||||
|
android:label="@string/title_unlock"
|
||||||
|
android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
|
||||||
|
android:screenOrientation="user"
|
||||||
|
android:theme="@style/Alp.42447968.Theme.Dialog.Light" />
|
||||||
<!--
|
<!--
|
||||||
NOTE: singleTop is set to get NFC foreground dispatch to work.
|
NOTE: singleTop is set to get NFC foreground dispatch to work.
|
||||||
Then, all NFC intents will be broadcasted to onNewIntent() of this activity!
|
Then, all NFC intents will be broadcasted to onNewIntent() of this activity!
|
||||||
|
@ -84,7 +84,8 @@ public class CanonicalizedSecretKey extends CanonicalizedPublicKey {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public enum SecretKeyType {
|
public enum SecretKeyType {
|
||||||
UNAVAILABLE(0), GNU_DUMMY(1), PASSPHRASE(2), PASSPHRASE_EMPTY(3), DIVERT_TO_CARD(4), PIN(5);
|
UNAVAILABLE(0), GNU_DUMMY(1), PASSPHRASE(2), PASSPHRASE_EMPTY(3), DIVERT_TO_CARD(4), PIN(5),
|
||||||
|
PATTERN(6);
|
||||||
|
|
||||||
final int mNum;
|
final int mNum;
|
||||||
|
|
||||||
@ -104,6 +105,8 @@ public class CanonicalizedSecretKey extends CanonicalizedPublicKey {
|
|||||||
return DIVERT_TO_CARD;
|
return DIVERT_TO_CARD;
|
||||||
case 5:
|
case 5:
|
||||||
return PIN;
|
return PIN;
|
||||||
|
case 6:
|
||||||
|
return PATTERN;
|
||||||
// if this case happens, it's probably a check from a database value
|
// if this case happens, it's probably a check from a database value
|
||||||
default:
|
default:
|
||||||
return UNAVAILABLE;
|
return UNAVAILABLE;
|
||||||
|
@ -41,6 +41,8 @@ import android.widget.EditText;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.haibison.android.lockpattern.LockPatternActivity;
|
||||||
|
|
||||||
import org.sufficientlysecure.keychain.Constants;
|
import org.sufficientlysecure.keychain.Constants;
|
||||||
import org.sufficientlysecure.keychain.R;
|
import org.sufficientlysecure.keychain.R;
|
||||||
import org.sufficientlysecure.keychain.compatibility.DialogFragmentWorkaround;
|
import org.sufficientlysecure.keychain.compatibility.DialogFragmentWorkaround;
|
||||||
@ -68,6 +70,8 @@ public class PassphraseDialogActivity extends FragmentActivity {
|
|||||||
// special extra for OpenPgpService
|
// special extra for OpenPgpService
|
||||||
public static final String EXTRA_DATA = "data";
|
public static final String EXTRA_DATA = "data";
|
||||||
|
|
||||||
|
private static final int REQUEST_CODE_ENTER_PATTERN = 2;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@ -90,6 +94,40 @@ public class PassphraseDialogActivity extends FragmentActivity {
|
|||||||
show(this, keyId, serviceIntent);
|
show(this, keyId, serviceIntent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
|
switch (requestCode) {
|
||||||
|
case REQUEST_CODE_ENTER_PATTERN: {
|
||||||
|
/*
|
||||||
|
* NOTE that there are 4 possible result codes!!!
|
||||||
|
*/
|
||||||
|
switch (resultCode) {
|
||||||
|
case RESULT_OK:
|
||||||
|
// The user passed
|
||||||
|
break;
|
||||||
|
case RESULT_CANCELED:
|
||||||
|
// The user cancelled the task
|
||||||
|
break;
|
||||||
|
case LockPatternActivity.RESULT_FAILED:
|
||||||
|
// The user failed to enter the pattern
|
||||||
|
break;
|
||||||
|
case LockPatternActivity.RESULT_FORGOT_PATTERN:
|
||||||
|
// The user forgot the pattern and invoked your recovery Activity.
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* In any case, there's always a key EXTRA_RETRY_COUNT, which holds
|
||||||
|
* the number of tries that the user did.
|
||||||
|
*/
|
||||||
|
int retryCount = data.getIntExtra(
|
||||||
|
LockPatternActivity.EXTRA_RETRY_COUNT, 0);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shows passphrase dialog to cache a new passphrase the user enters for using it later for
|
* Shows passphrase dialog to cache a new passphrase the user enters for using it later for
|
||||||
* encryption. Based on mSecretKeyId it asks for a passphrase to open a private key or it asks
|
* encryption. Based on mSecretKeyId it asks for a passphrase to open a private key or it asks
|
||||||
@ -138,7 +176,7 @@ public class PassphraseDialogActivity extends FragmentActivity {
|
|||||||
|
|
||||||
CustomAlertDialogBuilder alert = new CustomAlertDialogBuilder(theme);
|
CustomAlertDialogBuilder alert = new CustomAlertDialogBuilder(theme);
|
||||||
|
|
||||||
alert.setTitle(R.string.title_authentication);
|
alert.setTitle(R.string.title_unlock);
|
||||||
|
|
||||||
String userId;
|
String userId;
|
||||||
CanonicalizedSecretKey.SecretKeyType keyType = CanonicalizedSecretKey.SecretKeyType.PASSPHRASE;
|
CanonicalizedSecretKey.SecretKeyType keyType = CanonicalizedSecretKey.SecretKeyType.PASSPHRASE;
|
||||||
@ -174,7 +212,10 @@ public class PassphraseDialogActivity extends FragmentActivity {
|
|||||||
message = getString(R.string.pin_for, userId);
|
message = getString(R.string.pin_for, userId);
|
||||||
break;
|
break;
|
||||||
case DIVERT_TO_CARD:
|
case DIVERT_TO_CARD:
|
||||||
message = getString(R.string.yubikey_pin, userId);
|
message = getString(R.string.yubikey_pin_for, userId);
|
||||||
|
break;
|
||||||
|
case PIN:
|
||||||
|
message = getString(R.string.pin_for, userId);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
message = "This should not happen!";
|
message = "This should not happen!";
|
||||||
@ -212,39 +253,51 @@ public class PassphraseDialogActivity extends FragmentActivity {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Hack to open keyboard.
|
|
||||||
// This is the only method that I found to work across all Android versions
|
|
||||||
// http://turbomanage.wordpress.com/2012/05/02/show-soft-keyboard-automatically-when-edittext-receives-focus/
|
|
||||||
// Notes: * onCreateView can't be used because we want to add buttons to the dialog
|
|
||||||
// * opening in onActivityCreated does not work on Android 4.4
|
|
||||||
mPassphraseEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
|
|
||||||
@Override
|
|
||||||
public void onFocusChange(View v, boolean hasFocus) {
|
|
||||||
mPassphraseEditText.post(new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
if (getActivity() == null || mPassphraseEditText == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
InputMethodManager imm = (InputMethodManager) getActivity()
|
|
||||||
.getSystemService(Context.INPUT_METHOD_SERVICE);
|
|
||||||
imm.showSoftInput(mPassphraseEditText, InputMethodManager.SHOW_IMPLICIT);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
mPassphraseEditText.requestFocus();
|
|
||||||
|
|
||||||
mPassphraseEditText.setImeActionLabel(getString(android.R.string.ok), EditorInfo.IME_ACTION_DONE);
|
if (keyType == CanonicalizedSecretKey.SecretKeyType.PATTERN) {
|
||||||
mPassphraseEditText.setOnEditorActionListener(this);
|
// start pattern dialog and show progress circle here...
|
||||||
|
Intent patternActivity = new Intent(getActivity(), LockPatternActivity.class);
|
||||||
if (keyType == CanonicalizedSecretKey.SecretKeyType.DIVERT_TO_CARD && Preferences.getPreferences(activity).useNumKeypadForYubikeyPin()) {
|
patternActivity.putExtra(LockPatternActivity.EXTRA_PATTERN, "123");
|
||||||
mPassphraseEditText.setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
startActivityForResult(patternActivity, REQUEST_CODE_ENTER_PATTERN);
|
||||||
|
mInput.setVisibility(View.GONE);
|
||||||
|
mProgress.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
mPassphraseEditText.setRawInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
// Hack to open keyboard.
|
||||||
}
|
// This is the only method that I found to work across all Android versions
|
||||||
|
// http://turbomanage.wordpress.com/2012/05/02/show-soft-keyboard-automatically-when-edittext-receives-focus/
|
||||||
|
// Notes: * onCreateView can't be used because we want to add buttons to the dialog
|
||||||
|
// * opening in onActivityCreated does not work on Android 4.4
|
||||||
|
mPassphraseEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
|
||||||
|
@Override
|
||||||
|
public void onFocusChange(View v, boolean hasFocus) {
|
||||||
|
mPassphraseEditText.post(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (getActivity() == null || mPassphraseEditText == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
InputMethodManager imm = (InputMethodManager) getActivity()
|
||||||
|
.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||||
|
imm.showSoftInput(mPassphraseEditText, InputMethodManager.SHOW_IMPLICIT);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
mPassphraseEditText.requestFocus();
|
||||||
|
|
||||||
mPassphraseEditText.setTransformationMethod(PasswordTransformationMethod.getInstance());
|
mPassphraseEditText.setImeActionLabel(getString(android.R.string.ok), EditorInfo.IME_ACTION_DONE);
|
||||||
|
mPassphraseEditText.setOnEditorActionListener(this);
|
||||||
|
|
||||||
|
if (keyType == CanonicalizedSecretKey.SecretKeyType.DIVERT_TO_CARD && Preferences.getPreferences(activity).useNumKeypadForYubikeyPin()) {
|
||||||
|
mPassphraseEditText.setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
||||||
|
} else if (keyType == CanonicalizedSecretKey.SecretKeyType.PIN) {
|
||||||
|
mPassphraseEditText.setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
||||||
|
} else {
|
||||||
|
mPassphraseEditText.setRawInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
||||||
|
}
|
||||||
|
|
||||||
|
mPassphraseEditText.setTransformationMethod(PasswordTransformationMethod.getInstance());
|
||||||
|
}
|
||||||
|
|
||||||
AlertDialog dialog = alert.create();
|
AlertDialog dialog = alert.create();
|
||||||
dialog.setButton(DialogInterface.BUTTON_POSITIVE,
|
dialog.setButton(DialogInterface.BUTTON_POSITIVE,
|
||||||
@ -267,7 +320,7 @@ public class PassphraseDialogActivity extends FragmentActivity {
|
|||||||
// Early breakout if we are dealing with a symmetric key
|
// Early breakout if we are dealing with a symmetric key
|
||||||
if (mSecretRing == null) {
|
if (mSecretRing == null) {
|
||||||
PassphraseCacheService.addCachedPassphrase(getActivity(),
|
PassphraseCacheService.addCachedPassphrase(getActivity(),
|
||||||
Constants.key.symmetric, Constants.key.symmetric, passphrase,
|
Constants.key.symmetric, Constants.key.symmetric, passphrase,
|
||||||
getString(R.string.passp_cache_notif_pwd));
|
getString(R.string.passp_cache_notif_pwd));
|
||||||
|
|
||||||
finishCaching(passphrase);
|
finishCaching(passphrase);
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">Zašifrovat text</string>
|
<string name="title_encrypt_text">Zašifrovat text</string>
|
||||||
<string name="title_encrypt_files">Zašifrovat soubory</string>
|
<string name="title_encrypt_files">Zašifrovat soubory</string>
|
||||||
<string name="title_decrypt">Rozšifrovat</string>
|
<string name="title_decrypt">Rozšifrovat</string>
|
||||||
<string name="title_authentication">Heslo</string>
|
<string name="title_unlock">Heslo</string>
|
||||||
<string name="title_add_subkey">Přidat podklíč</string>
|
<string name="title_add_subkey">Přidat podklíč</string>
|
||||||
<string name="title_edit_key">Editovat klíč</string>
|
<string name="title_edit_key">Editovat klíč</string>
|
||||||
<string name="title_preferences">Možnosti</string>
|
<string name="title_preferences">Možnosti</string>
|
||||||
@ -183,7 +183,7 @@
|
|||||||
<string name="passphrase_must_not_be_empty">Prosím zadejte heslo.</string>
|
<string name="passphrase_must_not_be_empty">Prosím zadejte heslo.</string>
|
||||||
<string name="passphrase_for_symmetric_encryption">Symetrická šifra.</string>
|
<string name="passphrase_for_symmetric_encryption">Symetrická šifra.</string>
|
||||||
<string name="passphrase_for">Zadejte heslo pro \'%s\'</string>
|
<string name="passphrase_for">Zadejte heslo pro \'%s\'</string>
|
||||||
<string name="yubikey_pin">Zadejte PIN pro přístup k Yubikey pro \'%s\'</string>
|
<string name="yubikey_pin_for">Zadejte PIN pro přístup k Yubikey pro \'%s\'</string>
|
||||||
<string name="file_delete_confirmation">Chcete opravdu smazat\n%s?</string>
|
<string name="file_delete_confirmation">Chcete opravdu smazat\n%s?</string>
|
||||||
<string name="file_delete_successful">Úspěšně smazáno.</string>
|
<string name="file_delete_successful">Úspěšně smazáno.</string>
|
||||||
<string name="no_file_selected">Nejprve vyberte soubor.</string>
|
<string name="no_file_selected">Nejprve vyberte soubor.</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">Text Verschlüsseln</string>
|
<string name="title_encrypt_text">Text Verschlüsseln</string>
|
||||||
<string name="title_encrypt_files">Dateien verschlüsseln</string>
|
<string name="title_encrypt_files">Dateien verschlüsseln</string>
|
||||||
<string name="title_decrypt">Entschlüsseln</string>
|
<string name="title_decrypt">Entschlüsseln</string>
|
||||||
<string name="title_authentication">Passwort</string>
|
<string name="title_unlock">Passwort</string>
|
||||||
<string name="title_add_subkey">Unterschlüssel hinzufügen</string>
|
<string name="title_add_subkey">Unterschlüssel hinzufügen</string>
|
||||||
<string name="title_edit_key">Schlüssel bearbeiten</string>
|
<string name="title_edit_key">Schlüssel bearbeiten</string>
|
||||||
<string name="title_preferences">Einstellungen</string>
|
<string name="title_preferences">Einstellungen</string>
|
||||||
@ -189,7 +189,7 @@
|
|||||||
<string name="passphrase_must_not_be_empty">Bitte ein Passwort eingeben.</string>
|
<string name="passphrase_must_not_be_empty">Bitte ein Passwort eingeben.</string>
|
||||||
<string name="passphrase_for_symmetric_encryption">Symmetrische Verschlüsselung.</string>
|
<string name="passphrase_for_symmetric_encryption">Symmetrische Verschlüsselung.</string>
|
||||||
<string name="passphrase_for">Passwort für \'%s\' eingeben</string>
|
<string name="passphrase_for">Passwort für \'%s\' eingeben</string>
|
||||||
<string name="yubikey_pin">PIN für Zugriff auf Yubikey für \'%s\' eingeben</string>
|
<string name="yubikey_pin_for">PIN für Zugriff auf Yubikey für \'%s\' eingeben</string>
|
||||||
<string name="file_delete_confirmation">%s wirklich löschen?</string>
|
<string name="file_delete_confirmation">%s wirklich löschen?</string>
|
||||||
<string name="file_delete_successful">Erfolgreich gelöscht.</string>
|
<string name="file_delete_successful">Erfolgreich gelöscht.</string>
|
||||||
<string name="no_file_selected">Zuerst eine Datei auswählen.</string>
|
<string name="no_file_selected">Zuerst eine Datei auswählen.</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">Cifrar texto</string>
|
<string name="title_encrypt_text">Cifrar texto</string>
|
||||||
<string name="title_encrypt_files">Cifrar ficheros</string>
|
<string name="title_encrypt_files">Cifrar ficheros</string>
|
||||||
<string name="title_decrypt">Descifrar</string>
|
<string name="title_decrypt">Descifrar</string>
|
||||||
<string name="title_authentication">Frase de contraseña</string>
|
<string name="title_unlock">Frase de contraseña</string>
|
||||||
<string name="title_add_subkey">Añadir subclave</string>
|
<string name="title_add_subkey">Añadir subclave</string>
|
||||||
<string name="title_edit_key"> Editar clave</string>
|
<string name="title_edit_key"> Editar clave</string>
|
||||||
<string name="title_preferences"> Preferencias</string>
|
<string name="title_preferences"> Preferencias</string>
|
||||||
@ -189,7 +189,7 @@
|
|||||||
<string name="passphrase_must_not_be_empty">Por favor, introduce una frase de contraseña.</string>
|
<string name="passphrase_must_not_be_empty">Por favor, introduce una frase de contraseña.</string>
|
||||||
<string name="passphrase_for_symmetric_encryption">Cifrado simétrico.</string>
|
<string name="passphrase_for_symmetric_encryption">Cifrado simétrico.</string>
|
||||||
<string name="passphrase_for">Introducir la frase de contraseña para \'%s\'</string>
|
<string name="passphrase_for">Introducir la frase de contraseña para \'%s\'</string>
|
||||||
<string name="yubikey_pin">Introduzca el PIN de acceso a Yubikey para \'%s\'</string>
|
<string name="yubikey_pin_for">Introduzca el PIN de acceso a Yubikey para \'%s\'</string>
|
||||||
<string name="file_delete_confirmation">¿Está seguro de que quiere eliminar\n%s?</string>
|
<string name="file_delete_confirmation">¿Está seguro de que quiere eliminar\n%s?</string>
|
||||||
<string name="file_delete_successful">Borrado satisfactoriamente.</string>
|
<string name="file_delete_successful">Borrado satisfactoriamente.</string>
|
||||||
<string name="no_file_selected">Selecciona un archivo antes.</string>
|
<string name="no_file_selected">Selecciona un archivo antes.</string>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
http://developer.android.com/guide/topics/resources/string-resource.html (scroll down to "Escaping apostrophes and quotes").-->
|
http://developer.android.com/guide/topics/resources/string-resource.html (scroll down to "Escaping apostrophes and quotes").-->
|
||||||
<!--title-->
|
<!--title-->
|
||||||
<string name="title_decrypt">Dekrüpteeri</string>
|
<string name="title_decrypt">Dekrüpteeri</string>
|
||||||
<string name="title_authentication">Salasõne</string>
|
<string name="title_unlock">Salasõne</string>
|
||||||
<string name="title_edit_key">Muuda võtit</string>
|
<string name="title_edit_key">Muuda võtit</string>
|
||||||
<string name="title_preferences">Seaded</string>
|
<string name="title_preferences">Seaded</string>
|
||||||
<string name="title_key_server_preference">Võtmeserveri seaded</string>
|
<string name="title_key_server_preference">Võtmeserveri seaded</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">Chiffrer un texte</string>
|
<string name="title_encrypt_text">Chiffrer un texte</string>
|
||||||
<string name="title_encrypt_files">Chiffrer des fichiers</string>
|
<string name="title_encrypt_files">Chiffrer des fichiers</string>
|
||||||
<string name="title_decrypt">Déchiffrer</string>
|
<string name="title_decrypt">Déchiffrer</string>
|
||||||
<string name="title_authentication">Phrase de passe</string>
|
<string name="title_unlock">Phrase de passe</string>
|
||||||
<string name="title_add_subkey">Ajouter une sous-clef</string>
|
<string name="title_add_subkey">Ajouter une sous-clef</string>
|
||||||
<string name="title_edit_key">Modifier une clef</string>
|
<string name="title_edit_key">Modifier une clef</string>
|
||||||
<string name="title_preferences">Préférences</string>
|
<string name="title_preferences">Préférences</string>
|
||||||
@ -189,7 +189,7 @@
|
|||||||
<string name="passphrase_must_not_be_empty">Veuillez saisir une phrase de passe</string>
|
<string name="passphrase_must_not_be_empty">Veuillez saisir une phrase de passe</string>
|
||||||
<string name="passphrase_for_symmetric_encryption">Chriffrement symétrique.</string>
|
<string name="passphrase_for_symmetric_encryption">Chriffrement symétrique.</string>
|
||||||
<string name="passphrase_for">Saisir une phrase de passe pour « %s »</string>
|
<string name="passphrase_for">Saisir une phrase de passe pour « %s »</string>
|
||||||
<string name="yubikey_pin">Saisir le NIP pour accéder à la Yubikey pour « %s »</string>
|
<string name="yubikey_pin_for">Saisir le NIP pour accéder à la Yubikey pour « %s »</string>
|
||||||
<string name="file_delete_confirmation">Êtes-vous certain de vouloir supprimer\n%s?</string>
|
<string name="file_delete_confirmation">Êtes-vous certain de vouloir supprimer\n%s?</string>
|
||||||
<string name="file_delete_successful">Supprimé avec succès.</string>
|
<string name="file_delete_successful">Supprimé avec succès.</string>
|
||||||
<string name="no_file_selected">Choisir d\'abord un fichier.</string>
|
<string name="no_file_selected">Choisir d\'abord un fichier.</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">Testo Cifrato</string>
|
<string name="title_encrypt_text">Testo Cifrato</string>
|
||||||
<string name="title_encrypt_files">File Cifrati</string>
|
<string name="title_encrypt_files">File Cifrati</string>
|
||||||
<string name="title_decrypt">Decodifica</string>
|
<string name="title_decrypt">Decodifica</string>
|
||||||
<string name="title_authentication">Frase di accesso</string>
|
<string name="title_unlock">Frase di accesso</string>
|
||||||
<string name="title_add_subkey">Aggiungi Sottochiave</string>
|
<string name="title_add_subkey">Aggiungi Sottochiave</string>
|
||||||
<string name="title_edit_key">Modifica Chiave</string>
|
<string name="title_edit_key">Modifica Chiave</string>
|
||||||
<string name="title_preferences">Preferenze</string>
|
<string name="title_preferences">Preferenze</string>
|
||||||
@ -183,7 +183,7 @@
|
|||||||
<string name="passphrase_must_not_be_empty">Si prega di inserire una frase di accesso.</string>
|
<string name="passphrase_must_not_be_empty">Si prega di inserire una frase di accesso.</string>
|
||||||
<string name="passphrase_for_symmetric_encryption">Codifica Simmetrica.</string>
|
<string name="passphrase_for_symmetric_encryption">Codifica Simmetrica.</string>
|
||||||
<string name="passphrase_for">Inserisci la frase di accesso per \'%s\'</string>
|
<string name="passphrase_for">Inserisci la frase di accesso per \'%s\'</string>
|
||||||
<string name="yubikey_pin">Inserisci il PIN per accedere a Yubikey con \'%s\'</string>
|
<string name="yubikey_pin_for">Inserisci il PIN per accedere a Yubikey con \'%s\'</string>
|
||||||
<string name="file_delete_confirmation">Sei sicuro di voler eliminare\n%s?</string>
|
<string name="file_delete_confirmation">Sei sicuro di voler eliminare\n%s?</string>
|
||||||
<string name="file_delete_successful">Eliminato correttamente.</string>
|
<string name="file_delete_successful">Eliminato correttamente.</string>
|
||||||
<string name="no_file_selected">Seleziona un file prima.</string>
|
<string name="no_file_selected">Seleziona un file prima.</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">テキスト暗号化</string>
|
<string name="title_encrypt_text">テキスト暗号化</string>
|
||||||
<string name="title_encrypt_files">ファイル暗号化</string>
|
<string name="title_encrypt_files">ファイル暗号化</string>
|
||||||
<string name="title_decrypt">復号化</string>
|
<string name="title_decrypt">復号化</string>
|
||||||
<string name="title_authentication">パスフレーズ</string>
|
<string name="title_unlock">パスフレーズ</string>
|
||||||
<string name="title_add_subkey">副鍵の追加</string>
|
<string name="title_add_subkey">副鍵の追加</string>
|
||||||
<string name="title_edit_key">鍵の編集</string>
|
<string name="title_edit_key">鍵の編集</string>
|
||||||
<string name="title_preferences">設定</string>
|
<string name="title_preferences">設定</string>
|
||||||
@ -187,7 +187,7 @@
|
|||||||
<string name="passphrase_must_not_be_empty">パスフレーズを入れてください。</string>
|
<string name="passphrase_must_not_be_empty">パスフレーズを入れてください。</string>
|
||||||
<string name="passphrase_for_symmetric_encryption">対称暗号。</string>
|
<string name="passphrase_for_symmetric_encryption">対称暗号。</string>
|
||||||
<string name="passphrase_for">\'%s\' にパスフレーズを入れてください。</string>
|
<string name="passphrase_for">\'%s\' にパスフレーズを入れてください。</string>
|
||||||
<string name="yubikey_pin">\'%s\' の Yubikey にアクセスするためのPINを入力してください</string>
|
<string name="yubikey_pin_for">\'%s\' の Yubikey にアクセスするためのPINを入力してください</string>
|
||||||
<string name="file_delete_confirmation">%s
|
<string name="file_delete_confirmation">%s
|
||||||
を削除してもかまいませんか?</string>
|
を削除してもかまいませんか?</string>
|
||||||
<string name="file_delete_successful">削除に成功しました。</string>
|
<string name="file_delete_successful">削除に成功しました。</string>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
http://developer.android.com/guide/topics/resources/string-resource.html (scroll down to "Escaping apostrophes and quotes").-->
|
http://developer.android.com/guide/topics/resources/string-resource.html (scroll down to "Escaping apostrophes and quotes").-->
|
||||||
<!--title-->
|
<!--title-->
|
||||||
<string name="title_decrypt">Ontsleutelen</string>
|
<string name="title_decrypt">Ontsleutelen</string>
|
||||||
<string name="title_authentication">Wachtwoord</string>
|
<string name="title_unlock">Wachtwoord</string>
|
||||||
<string name="title_edit_key">Sleutel bewerken</string>
|
<string name="title_edit_key">Sleutel bewerken</string>
|
||||||
<string name="title_preferences">Instellingen</string>
|
<string name="title_preferences">Instellingen</string>
|
||||||
<string name="title_key_server_preference">Sleutelserver Voorkeur</string>
|
<string name="title_key_server_preference">Sleutelserver Voorkeur</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">Szyfruj tekst</string>
|
<string name="title_encrypt_text">Szyfruj tekst</string>
|
||||||
<string name="title_encrypt_files">Szyfruj pliki</string>
|
<string name="title_encrypt_files">Szyfruj pliki</string>
|
||||||
<string name="title_decrypt">Odszyfruj</string>
|
<string name="title_decrypt">Odszyfruj</string>
|
||||||
<string name="title_authentication">Hasło</string>
|
<string name="title_unlock">Hasło</string>
|
||||||
<string name="title_add_subkey">Dodaj pod-klucz</string>
|
<string name="title_add_subkey">Dodaj pod-klucz</string>
|
||||||
<string name="title_edit_key">Edytuj klucz</string>
|
<string name="title_edit_key">Edytuj klucz</string>
|
||||||
<string name="title_preferences">Właściwości</string>
|
<string name="title_preferences">Właściwości</string>
|
||||||
@ -186,7 +186,7 @@
|
|||||||
<string name="passphrase_must_not_be_empty">Podaj hasło.</string>
|
<string name="passphrase_must_not_be_empty">Podaj hasło.</string>
|
||||||
<string name="passphrase_for_symmetric_encryption">Szyfrowanie symetryczne.</string>
|
<string name="passphrase_for_symmetric_encryption">Szyfrowanie symetryczne.</string>
|
||||||
<string name="passphrase_for">Podaj hasło dla \'%s\'</string>
|
<string name="passphrase_for">Podaj hasło dla \'%s\'</string>
|
||||||
<string name="yubikey_pin">Wpisz PIN, aby otworzyć Yubikey dla \'%s\'</string>
|
<string name="yubikey_pin_for">Wpisz PIN, aby otworzyć Yubikey dla \'%s\'</string>
|
||||||
<string name="file_delete_confirmation">Czy jesteś pewny, że chcesz usunąć\n%s?</string>
|
<string name="file_delete_confirmation">Czy jesteś pewny, że chcesz usunąć\n%s?</string>
|
||||||
<string name="file_delete_successful">Usunięto pomyślnie.</string>
|
<string name="file_delete_successful">Usunięto pomyślnie.</string>
|
||||||
<string name="no_file_selected">Najpierw wskaż plik.</string>
|
<string name="no_file_selected">Najpierw wskaż plik.</string>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<string name="title_select_recipients">Выберите ключи</string>
|
<string name="title_select_recipients">Выберите ключи</string>
|
||||||
<string name="title_select_secret_key">Выберите Ваш ключ</string>
|
<string name="title_select_secret_key">Выберите Ваш ключ</string>
|
||||||
<string name="title_decrypt">Расшифровать</string>
|
<string name="title_decrypt">Расшифровать</string>
|
||||||
<string name="title_authentication">Пароль</string>
|
<string name="title_unlock">Пароль</string>
|
||||||
<string name="title_add_subkey">Добавить доп. ключ</string>
|
<string name="title_add_subkey">Добавить доп. ключ</string>
|
||||||
<string name="title_edit_key">Изменить ключ</string>
|
<string name="title_edit_key">Изменить ключ</string>
|
||||||
<string name="title_preferences">Настройки</string>
|
<string name="title_preferences">Настройки</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">Šifriraj besedilo</string>
|
<string name="title_encrypt_text">Šifriraj besedilo</string>
|
||||||
<string name="title_encrypt_files">Šifriraj datoteko</string>
|
<string name="title_encrypt_files">Šifriraj datoteko</string>
|
||||||
<string name="title_decrypt">Dešifriraj</string>
|
<string name="title_decrypt">Dešifriraj</string>
|
||||||
<string name="title_authentication">Geslo</string>
|
<string name="title_unlock">Geslo</string>
|
||||||
<string name="title_add_subkey">Dodaj podključ</string>
|
<string name="title_add_subkey">Dodaj podključ</string>
|
||||||
<string name="title_edit_key">Uredi ključ</string>
|
<string name="title_edit_key">Uredi ključ</string>
|
||||||
<string name="title_preferences">Nastavitve</string>
|
<string name="title_preferences">Nastavitve</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">Шифруј текст</string>
|
<string name="title_encrypt_text">Шифруј текст</string>
|
||||||
<string name="title_encrypt_files">Шифруј фајлове</string>
|
<string name="title_encrypt_files">Шифруј фајлове</string>
|
||||||
<string name="title_decrypt">Дешифруј</string>
|
<string name="title_decrypt">Дешифруј</string>
|
||||||
<string name="title_authentication">Лозинка</string>
|
<string name="title_unlock">Лозинка</string>
|
||||||
<string name="title_add_subkey">Додај поткључ</string>
|
<string name="title_add_subkey">Додај поткључ</string>
|
||||||
<string name="title_edit_key">Уреди кључ</string>
|
<string name="title_edit_key">Уреди кључ</string>
|
||||||
<string name="title_preferences">Поставке</string>
|
<string name="title_preferences">Поставке</string>
|
||||||
@ -191,7 +191,7 @@
|
|||||||
<string name="passphrase_must_not_be_empty">Унесите лозинку.</string>
|
<string name="passphrase_must_not_be_empty">Унесите лозинку.</string>
|
||||||
<string name="passphrase_for_symmetric_encryption">Симетрично шифровање.</string>
|
<string name="passphrase_for_symmetric_encryption">Симетрично шифровање.</string>
|
||||||
<string name="passphrase_for">Унесите лозинку за „%s“</string>
|
<string name="passphrase_for">Унесите лозинку за „%s“</string>
|
||||||
<string name="yubikey_pin">Унесите ПИН за приступ Јубикључу за „%s“</string>
|
<string name="yubikey_pin_for">Унесите ПИН за приступ Јубикључу за „%s“</string>
|
||||||
<string name="file_delete_confirmation">Желите ли заиста да обришете\n%s?</string>
|
<string name="file_delete_confirmation">Желите ли заиста да обришете\n%s?</string>
|
||||||
<string name="file_delete_successful">Брисање је успело.</string>
|
<string name="file_delete_successful">Брисање је успело.</string>
|
||||||
<string name="no_file_selected">Најпре изаберите фајл.</string>
|
<string name="no_file_selected">Најпре изаберите фајл.</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">Kryptera text</string>
|
<string name="title_encrypt_text">Kryptera text</string>
|
||||||
<string name="title_encrypt_files">Kryptera filer</string>
|
<string name="title_encrypt_files">Kryptera filer</string>
|
||||||
<string name="title_decrypt">Dekryptera</string>
|
<string name="title_decrypt">Dekryptera</string>
|
||||||
<string name="title_authentication">Lösenordsfras</string>
|
<string name="title_unlock">Lösenordsfras</string>
|
||||||
<string name="title_add_subkey">Lägg till undernyckel</string>
|
<string name="title_add_subkey">Lägg till undernyckel</string>
|
||||||
<string name="title_edit_key">Redigera nyckel</string>
|
<string name="title_edit_key">Redigera nyckel</string>
|
||||||
<string name="title_preferences">Inställningar</string>
|
<string name="title_preferences">Inställningar</string>
|
||||||
@ -180,7 +180,7 @@
|
|||||||
<string name="passphrase_must_not_be_empty">Ange en lösenordsfras.</string>
|
<string name="passphrase_must_not_be_empty">Ange en lösenordsfras.</string>
|
||||||
<string name="passphrase_for_symmetric_encryption">Symmetrisk kryptering.</string>
|
<string name="passphrase_for_symmetric_encryption">Symmetrisk kryptering.</string>
|
||||||
<string name="passphrase_for">Ange lösenordsfras för \'%s\'</string>
|
<string name="passphrase_for">Ange lösenordsfras för \'%s\'</string>
|
||||||
<string name="yubikey_pin">Ange PIN för att få åtkomst till Yubikey för \'%s\'</string>
|
<string name="yubikey_pin_for">Ange PIN för att få åtkomst till Yubikey för \'%s\'</string>
|
||||||
<string name="file_delete_confirmation">Vill du verkligen radera\n%s?</string>
|
<string name="file_delete_confirmation">Vill du verkligen radera\n%s?</string>
|
||||||
<string name="file_delete_successful">Raderades.</string>
|
<string name="file_delete_successful">Raderades.</string>
|
||||||
<string name="no_file_selected">Välj en nyckel först.</string>
|
<string name="no_file_selected">Välj en nyckel först.</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">Metni Şifrele</string>
|
<string name="title_encrypt_text">Metni Şifrele</string>
|
||||||
<string name="title_encrypt_files">Dosyaları Şifrele</string>
|
<string name="title_encrypt_files">Dosyaları Şifrele</string>
|
||||||
<string name="title_decrypt">Çözümle</string>
|
<string name="title_decrypt">Çözümle</string>
|
||||||
<string name="title_authentication">Parola</string>
|
<string name="title_unlock">Parola</string>
|
||||||
<string name="title_add_subkey">Alt anahtar ekle</string>
|
<string name="title_add_subkey">Alt anahtar ekle</string>
|
||||||
<string name="title_edit_key">Anahtarı düzenle</string>
|
<string name="title_edit_key">Anahtarı düzenle</string>
|
||||||
<string name="title_preferences">Seçenekler</string>
|
<string name="title_preferences">Seçenekler</string>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<string name="title_select_recipients">Вибрати ключі</string>
|
<string name="title_select_recipients">Вибрати ключі</string>
|
||||||
<string name="title_select_secret_key">Виберіть ваш ключ</string>
|
<string name="title_select_secret_key">Виберіть ваш ключ</string>
|
||||||
<string name="title_decrypt">Розшифрувати</string>
|
<string name="title_decrypt">Розшифрувати</string>
|
||||||
<string name="title_authentication">Парольна фраза</string>
|
<string name="title_unlock">Парольна фраза</string>
|
||||||
<string name="title_add_subkey">Додати підключ</string>
|
<string name="title_add_subkey">Додати підключ</string>
|
||||||
<string name="title_edit_key">Редагувати ключ</string>
|
<string name="title_edit_key">Редагувати ключ</string>
|
||||||
<string name="title_preferences">Налаштування</string>
|
<string name="title_preferences">Налаштування</string>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<string name="title_encrypt_text">加密文字</string>
|
<string name="title_encrypt_text">加密文字</string>
|
||||||
<string name="title_encrypt_files">加密檔案</string>
|
<string name="title_encrypt_files">加密檔案</string>
|
||||||
<string name="title_decrypt">解密</string>
|
<string name="title_decrypt">解密</string>
|
||||||
<string name="title_authentication">口令</string>
|
<string name="title_unlock">口令</string>
|
||||||
<string name="title_add_subkey">新增子金鑰</string>
|
<string name="title_add_subkey">新增子金鑰</string>
|
||||||
<string name="title_edit_key">編輯金鑰</string>
|
<string name="title_edit_key">編輯金鑰</string>
|
||||||
<string name="title_preferences">偏好設定</string>
|
<string name="title_preferences">偏好設定</string>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<string name="title_encrypt_text">加密文本</string>
|
<string name="title_encrypt_text">加密文本</string>
|
||||||
<string name="title_encrypt_files">加密文件</string>
|
<string name="title_encrypt_files">加密文件</string>
|
||||||
<string name="title_decrypt">解密</string>
|
<string name="title_decrypt">解密</string>
|
||||||
<string name="title_authentication">密码</string>
|
<string name="title_unlock">密码</string>
|
||||||
<string name="title_edit_key">编辑密钥</string>
|
<string name="title_edit_key">编辑密钥</string>
|
||||||
<string name="title_preferences">参数</string>
|
<string name="title_preferences">参数</string>
|
||||||
<string name="title_api_registered_apps">已注册应用</string>
|
<string name="title_api_registered_apps">已注册应用</string>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
<string name="title_encrypt_text">"Encrypt Text"</string>
|
<string name="title_encrypt_text">"Encrypt Text"</string>
|
||||||
<string name="title_encrypt_files">"Encrypt Files"</string>
|
<string name="title_encrypt_files">"Encrypt Files"</string>
|
||||||
<string name="title_decrypt">"Decrypt"</string>
|
<string name="title_decrypt">"Decrypt"</string>
|
||||||
<string name="title_authentication">"Passphrase"</string>
|
<string name="title_unlock">"Unlock Key"</string>
|
||||||
<string name="title_add_subkey">"Add subkey"</string>
|
<string name="title_add_subkey">"Add subkey"</string>
|
||||||
<string name="title_edit_key">"Edit Key"</string>
|
<string name="title_edit_key">"Edit Key"</string>
|
||||||
<string name="title_preferences">"Preferences"</string>
|
<string name="title_preferences">"Preferences"</string>
|
||||||
@ -205,8 +205,8 @@
|
|||||||
<string name="passphrase_must_not_be_empty">"Please enter a passphrase."</string>
|
<string name="passphrase_must_not_be_empty">"Please enter a passphrase."</string>
|
||||||
<string name="passphrase_for_symmetric_encryption">"Symmetric encryption."</string>
|
<string name="passphrase_for_symmetric_encryption">"Symmetric encryption."</string>
|
||||||
<string name="passphrase_for">"Enter passphrase for '%s'"</string>
|
<string name="passphrase_for">"Enter passphrase for '%s'"</string>
|
||||||
<string name="pin_for">"Enter pin for '%s'"</string>
|
<string name="pin_for">"Enter PIN for '%s'"</string>
|
||||||
<string name="yubikey_pin">"Enter PIN to access YubiKey for '%s'"</string>
|
<string name="yubikey_pin_for">"Enter PIN to access YubiKey for '%s'"</string>
|
||||||
<string name="nfc_text">"Hold YubiKey against the back of your device."</string>
|
<string name="nfc_text">"Hold YubiKey against the back of your device."</string>
|
||||||
<string name="file_delete_confirmation">"Are you sure you want to delete\n%s?"</string>
|
<string name="file_delete_confirmation">"Are you sure you want to delete\n%s?"</string>
|
||||||
<string name="file_delete_successful">"Successfully deleted."</string>
|
<string name="file_delete_successful">"Successfully deleted."</string>
|
||||||
|
1
extern/android-lockpattern
vendored
Submodule
1
extern/android-lockpattern
vendored
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit b9fcb13dcaa978c6d7be2c82cf3d11a233d59735
|
@ -14,4 +14,5 @@ include ':extern:minidns'
|
|||||||
include ':extern:KeybaseLib:Lib'
|
include ':extern:KeybaseLib:Lib'
|
||||||
include ':extern:TokenAutoComplete:library'
|
include ':extern:TokenAutoComplete:library'
|
||||||
include ':extern:safeslinger-exchange'
|
include ':extern:safeslinger-exchange'
|
||||||
|
include ':extern:android-lockpattern:code'
|
||||||
include ':OpenKeychain-Test'
|
include ':OpenKeychain-Test'
|
||||||
|
Loading…
Reference in New Issue
Block a user