diff options
| author | Vincent Breitmoser <valodim@mugenguild.com> | 2014-12-30 13:09:27 +0100 | 
|---|---|---|
| committer | Vincent Breitmoser <valodim@mugenguild.com> | 2014-12-30 13:09:27 +0100 | 
| commit | 9e663237b6dc4880bcdb1c763374c44f9f4416d2 (patch) | |
| tree | 3c317cf8a9e320db0b6ff5c451b82e7b32014627 | |
| parent | 2223cdd4056341576a540b065bcb34a1e579b141 (diff) | |
| parent | ccde6add70ea9b5c559910d42dfb2e0bf79f5989 (diff) | |
| download | open-keychain-9e663237b6dc4880bcdb1c763374c44f9f4416d2.tar.gz open-keychain-9e663237b6dc4880bcdb1c763374c44f9f4416d2.tar.bz2 open-keychain-9e663237b6dc4880bcdb1c763374c44f9f4416d2.zip | |
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
25 files changed, 129 insertions, 62 deletions
| diff --git a/.gitmodules b/.gitmodules index f8db64f0a..a971b6060 100644 --- a/.gitmodules +++ b/.gitmodules @@ -34,3 +34,6 @@  [submodule "extern/safeslinger-exchange"]  	path = extern/safeslinger-exchange  	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 diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle index 6bea6954e..ff3a63fd7 100644 --- a/OpenKeychain/build.gradle +++ b/OpenKeychain/build.gradle @@ -20,6 +20,7 @@ dependencies {      compile project(':extern:KeybaseLib:Lib')      compile project(':extern:TokenAutoComplete:library')      compile project(':extern:safeslinger-exchange') +    compile project(':extern:android-lockpattern:code')  }  android { diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml index 100f584c1..193d3863f 100644 --- a/OpenKeychain/src/main/AndroidManifest.xml +++ b/OpenKeychain/src/main/AndroidManifest.xml @@ -659,6 +659,12 @@          <activity              android:name=".ui.PassphraseDialogActivity"              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.                Then, all NFC intents will be broadcasted to onNewIntent() of this activity! diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java index 5c99a9854..42e59b3bc 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java @@ -84,7 +84,8 @@ public class CanonicalizedSecretKey extends CanonicalizedPublicKey {      }      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; @@ -104,6 +105,8 @@ public class CanonicalizedSecretKey extends CanonicalizedPublicKey {                      return DIVERT_TO_CARD;                  case 5:                      return PIN; +                case 6: +                    return PATTERN;                  // if this case happens, it's probably a check from a database value                  default:                      return UNAVAILABLE; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java index 4bd413778..cd564551a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java @@ -41,6 +41,8 @@ import android.widget.EditText;  import android.widget.TextView;  import android.widget.Toast; +import com.haibison.android.lockpattern.LockPatternActivity; +  import org.sufficientlysecure.keychain.Constants;  import org.sufficientlysecure.keychain.R;  import org.sufficientlysecure.keychain.compatibility.DialogFragmentWorkaround; @@ -68,6 +70,8 @@ public class PassphraseDialogActivity extends FragmentActivity {      // special extra for OpenPgpService      public static final String EXTRA_DATA = "data"; +    private static final int REQUEST_CODE_ENTER_PATTERN = 2; +      @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState); @@ -90,6 +94,40 @@ public class PassphraseDialogActivity extends FragmentActivity {          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       * 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); -            alert.setTitle(R.string.title_authentication); +            alert.setTitle(R.string.title_unlock);              String userId;              CanonicalizedSecretKey.SecretKeyType keyType = CanonicalizedSecretKey.SecretKeyType.PASSPHRASE; @@ -174,7 +212,10 @@ public class PassphraseDialogActivity extends FragmentActivity {                              message = getString(R.string.pin_for, userId);                              break;                          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;                          default:                              message = "This should not happen!"; @@ -212,40 +253,52 @@ 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; + +            if (keyType == CanonicalizedSecretKey.SecretKeyType.PATTERN) { +                // start pattern dialog and show progress circle here... +                Intent patternActivity = new Intent(getActivity(), LockPatternActivity.class); +                patternActivity.putExtra(LockPatternActivity.EXTRA_PATTERN, "123"); +                startActivityForResult(patternActivity, REQUEST_CODE_ENTER_PATTERN); +                mInput.setVisibility(View.GONE); +                mProgress.setVisibility(View.VISIBLE); +            } else { +                // 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);                              } -                            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); +                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.requestFocus(); -            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 { -                mPassphraseEditText.setRawInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); +                mPassphraseEditText.setTransformationMethod(PasswordTransformationMethod.getInstance());              } -            mPassphraseEditText.setTransformationMethod(PasswordTransformationMethod.getInstance()); -              AlertDialog dialog = alert.create();              dialog.setButton(DialogInterface.BUTTON_POSITIVE,                      activity.getString(android.R.string.ok), (DialogInterface.OnClickListener) null); @@ -267,7 +320,7 @@ public class PassphraseDialogActivity extends FragmentActivity {                      // Early breakout if we are dealing with a symmetric key                      if (mSecretRing == null) {                          PassphraseCacheService.addCachedPassphrase(getActivity(), -                                Constants.key.symmetric, Constants.key.symmetric,  passphrase, +                                Constants.key.symmetric, Constants.key.symmetric, passphrase,                                  getString(R.string.passp_cache_notif_pwd));                          finishCaching(passphrase); diff --git a/OpenKeychain/src/main/res/values-cs/strings.xml b/OpenKeychain/src/main/res/values-cs/strings.xml index 4243ee68b..301f4a92a 100644 --- a/OpenKeychain/src/main/res/values-cs/strings.xml +++ b/OpenKeychain/src/main/res/values-cs/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">Zašifrovat text</string>    <string name="title_encrypt_files">Zašifrovat soubory</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_edit_key">Editovat klíč</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_for_symmetric_encryption">Symetrická šifra.</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_successful">Úspěšně smazáno.</string>    <string name="no_file_selected">Nejprve vyberte soubor.</string> diff --git a/OpenKeychain/src/main/res/values-de/strings.xml b/OpenKeychain/src/main/res/values-de/strings.xml index ecc3d7d37..fa74b287b 100644 --- a/OpenKeychain/src/main/res/values-de/strings.xml +++ b/OpenKeychain/src/main/res/values-de/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">Text Verschlüsseln</string>    <string name="title_encrypt_files">Dateien verschlü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_edit_key">Schlüssel bearbeiten</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_for_symmetric_encryption">Symmetrische Verschlüsselung.</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_successful">Erfolgreich gelöscht.</string>    <string name="no_file_selected">Zuerst eine Datei auswählen.</string> diff --git a/OpenKeychain/src/main/res/values-es/strings.xml b/OpenKeychain/src/main/res/values-es/strings.xml index 3de5efb80..afae20592 100644 --- a/OpenKeychain/src/main/res/values-es/strings.xml +++ b/OpenKeychain/src/main/res/values-es/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">Cifrar texto</string>    <string name="title_encrypt_files">Cifrar ficheros</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_edit_key"> Editar clave</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_for_symmetric_encryption">Cifrado simétrico.</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_successful">Borrado satisfactoriamente.</string>    <string name="no_file_selected">Selecciona un archivo antes.</string> diff --git a/OpenKeychain/src/main/res/values-et/strings.xml b/OpenKeychain/src/main/res/values-et/strings.xml index 985035f34..c811a12f0 100644 --- a/OpenKeychain/src/main/res/values-et/strings.xml +++ b/OpenKeychain/src/main/res/values-et/strings.xml @@ -4,7 +4,7 @@      http://developer.android.com/guide/topics/resources/string-resource.html (scroll down to "Escaping apostrophes and quotes").-->    <!--title-->    <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_preferences">Seaded</string>    <string name="title_key_server_preference">Võtmeserveri seaded</string> diff --git a/OpenKeychain/src/main/res/values-fr/strings.xml b/OpenKeychain/src/main/res/values-fr/strings.xml index ed54f8d16..60b7a3bcf 100644 --- a/OpenKeychain/src/main/res/values-fr/strings.xml +++ b/OpenKeychain/src/main/res/values-fr/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">Chiffrer un texte</string>    <string name="title_encrypt_files">Chiffrer des fichiers</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_edit_key">Modifier une clef</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_for_symmetric_encryption">Chriffrement symétrique.</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_successful">Supprimé avec succès.</string>    <string name="no_file_selected">Choisir d\'abord un fichier.</string> diff --git a/OpenKeychain/src/main/res/values-it/strings.xml b/OpenKeychain/src/main/res/values-it/strings.xml index cfe1253e2..6a33e25f1 100644 --- a/OpenKeychain/src/main/res/values-it/strings.xml +++ b/OpenKeychain/src/main/res/values-it/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">Testo Cifrato</string>    <string name="title_encrypt_files">File Cifrati</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_edit_key">Modifica Chiave</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_for_symmetric_encryption">Codifica Simmetrica.</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_successful">Eliminato correttamente.</string>    <string name="no_file_selected">Seleziona un file prima.</string> diff --git a/OpenKeychain/src/main/res/values-ja/strings.xml b/OpenKeychain/src/main/res/values-ja/strings.xml index a4e1d4275..5ed93c931 100644 --- a/OpenKeychain/src/main/res/values-ja/strings.xml +++ b/OpenKeychain/src/main/res/values-ja/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">テキスト暗号化</string>    <string name="title_encrypt_files">ファイル暗号化</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_edit_key">鍵の編集</string>    <string name="title_preferences">設定</string> @@ -187,7 +187,7 @@    <string name="passphrase_must_not_be_empty">パスフレーズを入れてください。</string>    <string name="passphrase_for_symmetric_encryption">対称暗号。</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>    <string name="file_delete_successful">削除に成功しました。</string> diff --git a/OpenKeychain/src/main/res/values-nl/strings.xml b/OpenKeychain/src/main/res/values-nl/strings.xml index f777977bb..d4eb02932 100644 --- a/OpenKeychain/src/main/res/values-nl/strings.xml +++ b/OpenKeychain/src/main/res/values-nl/strings.xml @@ -4,7 +4,7 @@      http://developer.android.com/guide/topics/resources/string-resource.html (scroll down to "Escaping apostrophes and quotes").-->    <!--title-->    <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_preferences">Instellingen</string>    <string name="title_key_server_preference">Sleutelserver Voorkeur</string> diff --git a/OpenKeychain/src/main/res/values-pl/strings.xml b/OpenKeychain/src/main/res/values-pl/strings.xml index 8b114d5c9..fed8ac224 100644 --- a/OpenKeychain/src/main/res/values-pl/strings.xml +++ b/OpenKeychain/src/main/res/values-pl/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">Szyfruj tekst</string>    <string name="title_encrypt_files">Szyfruj pliki</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_edit_key">Edytuj klucz</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_for_symmetric_encryption">Szyfrowanie symetryczne.</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_successful">Usunięto pomyślnie.</string>    <string name="no_file_selected">Najpierw wskaż plik.</string> diff --git a/OpenKeychain/src/main/res/values-ru/strings.xml b/OpenKeychain/src/main/res/values-ru/strings.xml index a41953a12..3e9f3a234 100644 --- a/OpenKeychain/src/main/res/values-ru/strings.xml +++ b/OpenKeychain/src/main/res/values-ru/strings.xml @@ -6,7 +6,7 @@    <string name="title_select_recipients">Выберите ключи</string>    <string name="title_select_secret_key">Выберите Ваш ключ</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_edit_key">Изменить ключ</string>    <string name="title_preferences">Настройки</string> diff --git a/OpenKeychain/src/main/res/values-sl/strings.xml b/OpenKeychain/src/main/res/values-sl/strings.xml index c30fd87b5..1841ee46b 100644 --- a/OpenKeychain/src/main/res/values-sl/strings.xml +++ b/OpenKeychain/src/main/res/values-sl/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">Šifriraj besedilo</string>    <string name="title_encrypt_files">Šifriraj datoteko</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_edit_key">Uredi ključ</string>    <string name="title_preferences">Nastavitve</string> diff --git a/OpenKeychain/src/main/res/values-sr/strings.xml b/OpenKeychain/src/main/res/values-sr/strings.xml index 31ed39440..5ba833972 100644 --- a/OpenKeychain/src/main/res/values-sr/strings.xml +++ b/OpenKeychain/src/main/res/values-sr/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">Шифруј текст</string>    <string name="title_encrypt_files">Шифруј фајлове</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_edit_key">Уреди кључ</string>    <string name="title_preferences">Поставке</string> @@ -191,7 +191,7 @@    <string name="passphrase_must_not_be_empty">Унесите лозинку.</string>    <string name="passphrase_for_symmetric_encryption">Симетрично шифровање.</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_successful">Брисање је успело.</string>    <string name="no_file_selected">Најпре изаберите фајл.</string> diff --git a/OpenKeychain/src/main/res/values-sv/strings.xml b/OpenKeychain/src/main/res/values-sv/strings.xml index c76c6c356..fda0ace11 100644 --- a/OpenKeychain/src/main/res/values-sv/strings.xml +++ b/OpenKeychain/src/main/res/values-sv/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">Kryptera text</string>    <string name="title_encrypt_files">Kryptera filer</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_edit_key">Redigera nyckel</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_for_symmetric_encryption">Symmetrisk kryptering.</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_successful">Raderades.</string>    <string name="no_file_selected">Välj en nyckel först.</string> diff --git a/OpenKeychain/src/main/res/values-tr/strings.xml b/OpenKeychain/src/main/res/values-tr/strings.xml index 83f996392..c2aaaa741 100644 --- a/OpenKeychain/src/main/res/values-tr/strings.xml +++ b/OpenKeychain/src/main/res/values-tr/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">Metni Şifrele</string>    <string name="title_encrypt_files">Dosyaları Şifrele</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_edit_key">Anahtarı düzenle</string>    <string name="title_preferences">Seçenekler</string> diff --git a/OpenKeychain/src/main/res/values-uk/strings.xml b/OpenKeychain/src/main/res/values-uk/strings.xml index 67230fbed..80e920b8b 100644 --- a/OpenKeychain/src/main/res/values-uk/strings.xml +++ b/OpenKeychain/src/main/res/values-uk/strings.xml @@ -6,7 +6,7 @@    <string name="title_select_recipients">Вибрати ключі</string>    <string name="title_select_secret_key">Виберіть ваш ключ</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_edit_key">Редагувати ключ</string>    <string name="title_preferences">Налаштування</string> diff --git a/OpenKeychain/src/main/res/values-zh-rTW/strings.xml b/OpenKeychain/src/main/res/values-zh-rTW/strings.xml index 744aac20d..86fd2b4ac 100644 --- a/OpenKeychain/src/main/res/values-zh-rTW/strings.xml +++ b/OpenKeychain/src/main/res/values-zh-rTW/strings.xml @@ -9,7 +9,7 @@    <string name="title_encrypt_text">加密文字</string>    <string name="title_encrypt_files">加密檔案</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_edit_key">編輯金鑰</string>    <string name="title_preferences">偏好設定</string> diff --git a/OpenKeychain/src/main/res/values-zh/strings.xml b/OpenKeychain/src/main/res/values-zh/strings.xml index e9bdae446..8dd85050d 100644 --- a/OpenKeychain/src/main/res/values-zh/strings.xml +++ b/OpenKeychain/src/main/res/values-zh/strings.xml @@ -7,7 +7,7 @@    <string name="title_encrypt_text">加密文本</string>    <string name="title_encrypt_files">加密文件</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_preferences">参数</string>    <string name="title_api_registered_apps">已注册应用</string> diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index f22e4f27a..05ea2a99a 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -14,7 +14,7 @@      <string name="title_encrypt_text">"Encrypt Text"</string>      <string name="title_encrypt_files">"Encrypt Files"</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_edit_key">"Edit Key"</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_for_symmetric_encryption">"Symmetric encryption."</string>      <string name="passphrase_for">"Enter passphrase 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="pin_for">"Enter PIN 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="file_delete_confirmation">"Are you sure you want to delete\n%s?"</string>      <string name="file_delete_successful">"Successfully deleted."</string> diff --git a/extern/android-lockpattern b/extern/android-lockpattern new file mode 160000 +Subproject b9fcb13dcaa978c6d7be2c82cf3d11a233d5973 diff --git a/settings.gradle b/settings.gradle index 7afbe219a..2439d70e4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -14,4 +14,5 @@ include ':extern:minidns'  include ':extern:KeybaseLib:Lib'  include ':extern:TokenAutoComplete:library'  include ':extern:safeslinger-exchange' +include ':extern:android-lockpattern:code'  include ':OpenKeychain-Test' | 
