diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java index 3e6454da5..05a7476fc 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java @@ -148,8 +148,8 @@ public final class Constants { public static final class Theme { public static final String AUTO = "auto"; - public static final String LIGHT = "light"; public static final String DARK = "dark"; + public static final String LIGHT = "light"; public static final String DEFAULT = Constants.Pref.Theme.AUTO; } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java index a149ccc57..faf8f7a27 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java @@ -39,6 +39,20 @@ public class RequiredInputParcel implements Parcelable { return new String(mInputData[0]); } + public boolean isTextInput() { + switch (mType) { + case BACKUP_CODE: + case NUMERIC_9X4: + case NUMERIC_9X4_AUTOCRYPT: + case PASSPHRASE: + case PASSPHRASE_AUTH: + case PASSPHRASE_SYMMETRIC: + return true; + default: + return false; + } + } + public enum RequiredInputType { PASSPHRASE, PASSPHRASE_SYMMETRIC, PASSPHRASE_AUTH, BACKUP_CODE, NUMERIC_9X4, NUMERIC_9X4_AUTOCRYPT, 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 9c3f01212..61ee62cdf 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java @@ -107,7 +107,7 @@ public class PassphraseDialogActivity extends FragmentActivity { // this activity itself has no content view (see manifest) RequiredInputParcel requiredInput = getIntent().getParcelableExtra(EXTRA_REQUIRED_INPUT); - if (requiredInput.mType != RequiredInputType.PASSPHRASE) { + if (!requiredInput.isTextInput()) { return; } @@ -115,7 +115,9 @@ public class PassphraseDialogActivity extends FragmentActivity { try { KeyRepository keyRepository = KeyRepository.create(this); // use empty passphrase for empty passphrase - if (keyRepository.getSecretKeyType(requiredInput.getSubKeyId()) == SecretKeyType.PASSPHRASE_EMPTY) { + Long subKeyId = requiredInput.getSubKeyId(); + if (subKeyId != null && + keyRepository.getSecretKeyType(subKeyId) == SecretKeyType.PASSPHRASE_EMPTY) { // also return passphrase back to activity Intent returnIntent = new Intent(); cryptoInputParcel = cryptoInputParcel.withPassphrase(new Passphrase(""), requiredInput.getSubKeyId()); diff --git a/OpenKeychain/src/main/res/values/arrays.xml b/OpenKeychain/src/main/res/values/arrays.xml index bf43600e6..bbf38d3e2 100644 --- a/OpenKeychain/src/main/res/values/arrays.xml +++ b/OpenKeychain/src/main/res/values/arrays.xml @@ -33,8 +33,8 @@ @string/theme_auto - @string/theme_light @string/theme_dark + @string/theme_light "auto"