From 16f924eef3de6c79f8257f56b60f8812125757d1 Mon Sep 17 00:00:00 2001 From: Abraham Philip Date: Fri, 9 Jan 2015 05:07:50 +0530 Subject: fixed crash when file scheme is passed, broadened deletion scope --- .../ui/dialog/DeleteFileDialogFragment.java | 35 +++++++++++++++++----- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java index 42e21cd57..0926de1d0 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java @@ -18,6 +18,7 @@ package org.sufficientlysecure.keychain.ui.dialog; import android.app.Dialog; +import android.content.ContentResolver; import android.content.DialogInterface; import android.net.Uri; import android.os.Build; @@ -27,9 +28,12 @@ import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentActivity; import android.widget.Toast; +import org.apache.http.conn.scheme.Scheme; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.util.FileHelper; +import java.io.File; + public class DeleteFileDialogFragment extends DialogFragment { private static final String ARG_DELETE_URI = "delete_uri"; @@ -69,21 +73,38 @@ public class DeleteFileDialogFragment extends DialogFragment { @Override public void onClick(DialogInterface dialog, int id) { dismiss(); + String scheme = deleteUri.getScheme(); - // We can not securely delete Uris, so just use usual delete on them - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { - if (DocumentsContract.deleteDocument(getActivity().getContentResolver(), deleteUri)) { + if(scheme.equals(ContentResolver.SCHEME_FILE)) { + if(new File(deleteUri.getPath()).delete()) { Toast.makeText(getActivity(), R.string.file_delete_successful, Toast.LENGTH_SHORT).show(); return; } } + else if(scheme.equals(ContentResolver.SCHEME_CONTENT)) { + // We can not securely delete Uris, so just use usual delete on them + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + if (DocumentsContract.deleteDocument(getActivity().getContentResolver(), deleteUri)) { + Toast.makeText(getActivity(), R.string.file_delete_successful, Toast.LENGTH_SHORT).show(); + return; + } + } - if (getActivity().getContentResolver().delete(deleteUri, null, null) > 0) { - Toast.makeText(getActivity(), R.string.file_delete_successful, Toast.LENGTH_SHORT).show(); - return; + if (getActivity().getContentResolver().delete(deleteUri, null, null) > 0) { + Toast.makeText(getActivity(), R.string.file_delete_successful, Toast.LENGTH_SHORT).show(); + return; + } + + // some Uri's a ContentResolver fails to delete is handled by the java.io.File's delete + // via the path of the Uri + if(new File(deleteUri.getPath()).delete()) { + Toast.makeText(getActivity(), R.string.file_delete_successful, Toast.LENGTH_SHORT).show(); + return; + } } - Toast.makeText(getActivity(), getActivity().getString(R.string.error_file_delete_failed, deleteFilename), Toast.LENGTH_SHORT).show(); + Toast.makeText(getActivity(), getActivity().getString(R.string.error_file_delete_failed, + deleteFilename), Toast.LENGTH_SHORT).show(); // Note: We can't delete every file... // If possible we should find out if deletion is possible before even showing the option to do so. -- cgit v1.2.3 From 374de7ed9681a0995e627c3b17bcb7ff2e94e657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 12 Jan 2015 15:37:41 +0100 Subject: Update safeslinger lib --- extern/safeslinger-exchange | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/safeslinger-exchange b/extern/safeslinger-exchange index 80beccbe1..96f7c8935 160000 --- a/extern/safeslinger-exchange +++ b/extern/safeslinger-exchange @@ -1 +1 @@ -Subproject commit 80beccbe1b95437040b201a37f40cdb50053c06a +Subproject commit 96f7c893565e3a8badd740b2035beea87d8bffb3 -- cgit v1.2.3 From fc3397de5dabf23fac0de3fd297bcc4125864861 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Mon, 12 Jan 2015 20:03:03 +0100 Subject: add support for user attributes (during canonicalization) --- .../operations/results/OperationResult.java | 15 ++ .../keychain/pgp/UncachedKeyRing.java | 166 +++++++++++++++++++++ .../keychain/pgp/WrappedSignature.java | 9 ++ .../keychain/pgp/affirmation/LinkedIdentity.java | 160 ++++++++++++++++++++ OpenKeychain/src/main/res/values/strings.xml | 17 ++- 5 files changed, 366 insertions(+), 1 deletion(-) create mode 100644 OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/affirmation/LinkedIdentity.java diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/OperationResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/OperationResult.java index 1388c0eac..5884dd2d5 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/OperationResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/OperationResult.java @@ -416,6 +416,21 @@ public abstract class OperationResult implements Parcelable { MSG_KC_UID_REVOKE_OLD (LogLevel.DEBUG, R.string.msg_kc_uid_revoke_old), MSG_KC_UID_REMOVE (LogLevel.DEBUG, R.string.msg_kc_uid_remove), MSG_KC_UID_WARN_ENCODING (LogLevel.WARN, R.string.msg_kc_uid_warn_encoding), + MSG_KC_UAT_JPEG (LogLevel.DEBUG, R.string.msg_kc_uat_jpeg), + MSG_KC_UAT_UNKNOWN (LogLevel.DEBUG, R.string.msg_kc_uat_unknown), + MSG_KC_UAT_BAD_ERR (LogLevel.WARN, R.string.msg_kc_uat_bad_err), + MSG_KC_UAT_BAD_LOCAL (LogLevel.WARN, R.string.msg_kc_uat_bad_local), + MSG_KC_UAT_BAD_TIME (LogLevel.WARN, R.string.msg_kc_uat_bad_time), + MSG_KC_UAT_BAD_TYPE (LogLevel.WARN, R.string.msg_kc_uat_bad_type), + MSG_KC_UAT_BAD (LogLevel.WARN, R.string.msg_kc_uat_bad), + MSG_KC_UAT_CERT_DUP (LogLevel.DEBUG, R.string.msg_kc_uat_cert_dup), + MSG_KC_UAT_DUP (LogLevel.DEBUG, R.string.msg_kc_uat_dup), + MSG_KC_UAT_FOREIGN (LogLevel.DEBUG, R.string.msg_kc_uat_foreign), + MSG_KC_UAT_NO_CERT (LogLevel.DEBUG, R.string.msg_kc_uat_no_cert), + MSG_KC_UAT_REVOKE_DUP (LogLevel.DEBUG, R.string.msg_kc_uat_revoke_dup), + MSG_KC_UAT_REVOKE_OLD (LogLevel.DEBUG, R.string.msg_kc_uat_revoke_old), + MSG_KC_UAT_REMOVE (LogLevel.DEBUG, R.string.msg_kc_uat_remove), + MSG_KC_UAT_WARN_ENCODING (LogLevel.WARN, R.string.msg_kc_uat_warn_encoding), // keyring consolidation diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java index a445e161f..404228a3e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java @@ -21,6 +21,7 @@ package org.sufficientlysecure.keychain.pgp; import org.spongycastle.bcpg.ArmoredOutputStream; import org.spongycastle.bcpg.PublicKeyAlgorithmTags; import org.spongycastle.bcpg.SignatureSubpacketTags; +import org.spongycastle.bcpg.UserAttributeSubpacketTags; import org.spongycastle.bcpg.sig.KeyFlags; import org.spongycastle.openpgp.PGPKeyRing; import org.spongycastle.openpgp.PGPObjectFactory; @@ -30,6 +31,7 @@ import org.spongycastle.openpgp.PGPSecretKey; import org.spongycastle.openpgp.PGPSecretKeyRing; import org.spongycastle.openpgp.PGPSignature; import org.spongycastle.openpgp.PGPSignatureList; +import org.spongycastle.openpgp.PGPUserAttributeSubpacketVector; import org.spongycastle.openpgp.PGPUtil; import org.spongycastle.openpgp.operator.jcajce.JcaKeyFingerprintCalculator; import org.sufficientlysecure.keychain.Constants; @@ -605,6 +607,170 @@ public class UncachedKeyRing { return null; } + ArrayList processedUserAttributes = new ArrayList<>(); + for (PGPUserAttributeSubpacketVector userAttribute : + new IterableIterator(masterKey.getUserAttributes())) { + + if (userAttribute.getSubpacket(UserAttributeSubpacketTags.IMAGE_ATTRIBUTE) != null) { + log.add(LogType.MSG_KC_UAT_JPEG, indent); + } else { + log.add(LogType.MSG_KC_UAT_UNKNOWN, indent); + } + + try { + indent += 1; + + // check for duplicate user attributes + if (processedUserAttributes.contains(userAttribute)) { + log.add(LogType.MSG_KC_UAT_DUP, indent); + // strip out the first found user id with this name + modified = PGPPublicKey.removeCertification(modified, userAttribute); + } + processedUserAttributes.add(userAttribute); + + PGPSignature selfCert = null; + revocation = null; + + // look through signatures for this specific user id + @SuppressWarnings("unchecked") + Iterator signaturesIt = masterKey.getSignaturesForUserAttribute(userAttribute); + if (signaturesIt != null) { + for (PGPSignature zert : new IterableIterator(signaturesIt)) { + WrappedSignature cert = new WrappedSignature(zert); + long certId = cert.getKeyId(); + + int type = zert.getSignatureType(); + if (type != PGPSignature.DEFAULT_CERTIFICATION + && type != PGPSignature.NO_CERTIFICATION + && type != PGPSignature.CASUAL_CERTIFICATION + && type != PGPSignature.POSITIVE_CERTIFICATION + && type != PGPSignature.CERTIFICATION_REVOCATION) { + log.add(LogType.MSG_KC_UAT_BAD_TYPE, + indent, "0x" + Integer.toString(zert.getSignatureType(), 16)); + modified = PGPPublicKey.removeCertification(modified, userAttribute, zert); + badCerts += 1; + continue; + } + + if (cert.getCreationTime().after(nowPlusOneDay)) { + // Creation date in the future? No way! + log.add(LogType.MSG_KC_UAT_BAD_TIME, indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute, zert); + badCerts += 1; + continue; + } + + if (cert.isLocal()) { + // Creation date in the future? No way! + log.add(LogType.MSG_KC_UAT_BAD_LOCAL, indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute, zert); + badCerts += 1; + continue; + } + + // If this is a foreign signature, ... + if (certId != masterKeyId) { + // never mind any further for public keys, but remove them from secret ones + if (isSecret()) { + log.add(LogType.MSG_KC_UAT_FOREIGN, + indent, KeyFormattingUtils.convertKeyIdToHex(certId)); + modified = PGPPublicKey.removeCertification(modified, userAttribute, zert); + badCerts += 1; + } + continue; + } + + // Otherwise, first make sure it checks out + try { + cert.init(masterKey); + if (!cert.verifySignature(masterKey, userAttribute)) { + log.add(LogType.MSG_KC_UAT_BAD, + indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute, zert); + badCerts += 1; + continue; + } + } catch (PgpGeneralException e) { + log.add(LogType.MSG_KC_UAT_BAD_ERR, + indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute, zert); + badCerts += 1; + continue; + } + + switch (type) { + case PGPSignature.DEFAULT_CERTIFICATION: + case PGPSignature.NO_CERTIFICATION: + case PGPSignature.CASUAL_CERTIFICATION: + case PGPSignature.POSITIVE_CERTIFICATION: + if (selfCert == null) { + selfCert = zert; + } else if (selfCert.getCreationTime().before(cert.getCreationTime())) { + log.add(LogType.MSG_KC_UAT_CERT_DUP, + indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute, selfCert); + redundantCerts += 1; + selfCert = zert; + } else { + log.add(LogType.MSG_KC_UAT_CERT_DUP, + indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute, zert); + redundantCerts += 1; + } + // If there is a revocation certificate, and it's older than this, drop it + if (revocation != null + && revocation.getCreationTime().before(selfCert.getCreationTime())) { + log.add(LogType.MSG_KC_UAT_REVOKE_OLD, + indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute, revocation); + revocation = null; + redundantCerts += 1; + } + break; + + case PGPSignature.CERTIFICATION_REVOCATION: + // If this is older than the (latest) self cert, drop it + if (selfCert != null && selfCert.getCreationTime().after(zert.getCreationTime())) { + log.add(LogType.MSG_KC_UAT_REVOKE_OLD, + indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute, zert); + redundantCerts += 1; + continue; + } + // first revocation? remember it. + if (revocation == null) { + revocation = zert; + // more revocations? at least one is superfluous, then. + } else if (revocation.getCreationTime().before(cert.getCreationTime())) { + log.add(LogType.MSG_KC_UAT_REVOKE_DUP, + indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute, revocation); + redundantCerts += 1; + revocation = zert; + } else { + log.add(LogType.MSG_KC_UAT_REVOKE_DUP, + indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute, zert); + redundantCerts += 1; + } + break; + } + } + } + + // If no valid certificate (if only a revocation) remains, drop it + if (selfCert == null && revocation == null) { + log.add(LogType.MSG_KC_UAT_REMOVE, + indent); + modified = PGPPublicKey.removeCertification(modified, userAttribute); + } + + } finally { + indent -= 1; + } + } + + // Replace modified key in the keyring ring = replacePublicKey(ring, modified); indent -= 1; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedSignature.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedSignature.java index c395ca52d..3dc02d3ed 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedSignature.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedSignature.java @@ -29,6 +29,7 @@ import org.spongycastle.openpgp.PGPObjectFactory; import org.spongycastle.openpgp.PGPPublicKey; import org.spongycastle.openpgp.PGPSignature; import org.spongycastle.openpgp.PGPSignatureList; +import org.spongycastle.openpgp.PGPUserAttributeSubpacketVector; import org.spongycastle.openpgp.operator.jcajce.JcaPGPContentVerifierBuilderProvider; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; @@ -199,6 +200,14 @@ public class WrappedSignature { } } + boolean verifySignature(PGPPublicKey key, PGPUserAttributeSubpacketVector attribute) throws PgpGeneralException { + try { + return mSig.verifyCertification(attribute, key); + } catch (PGPException e) { + throw new PgpGeneralException("Error!", e); + } + } + public boolean verifySignature(UncachedPublicKey key, byte[] rawUserId) throws PgpGeneralException { return verifySignature(key.getPublicKey(), rawUserId); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/affirmation/LinkedIdentity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/affirmation/LinkedIdentity.java new file mode 100644 index 000000000..dcbaa1c1c --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/affirmation/LinkedIdentity.java @@ -0,0 +1,160 @@ +package org.sufficientlysecure.keychain.pgp.affirmation; + +import org.spongycastle.bcpg.UserAttributeSubpacket; +import org.spongycastle.util.Strings; +import org.spongycastle.util.encoders.Hex; +import org.sufficientlysecure.keychain.Constants; +import org.sufficientlysecure.keychain.util.Log; + +import java.net.URI; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map.Entry; +import java.util.Set; + +public class LinkedIdentity { + + protected byte[] mData; + public final String mNonce; + public final URI mSubUri; + final Set mFlags; + final HashMap mParams; + + protected LinkedIdentity(byte[] data, String nonce, Set flags, + HashMap params, URI subUri) { + if ( ! nonce.matches("[0-9a-zA-Z]+")) { + throw new AssertionError("bug: nonce must be hexstring!"); + } + + mData = data; + mNonce = nonce; + mFlags = flags; + mParams = params; + mSubUri = subUri; + } + + LinkedIdentity(String nonce, Set flags, + HashMap params, URI subUri) { + this(null, nonce, flags, params, subUri); + } + + public byte[] encode() { + if (mData != null) { + return mData; + } + + StringBuilder b = new StringBuilder(); + b.append("pgpid:"); + + // add flags + if (mFlags != null) { + boolean first = true; + for (String flag : mFlags) { + if (!first) { + b.append(";"); + } + first = false; + b.append(flag); + } + } + + // add parameters + if (mParams != null) { + boolean first = true; + Iterator> it = mParams.entrySet().iterator(); + while (it.hasNext()) { + if (!first) { + b.append(";"); + } + first = false; + Entry entry = it.next(); + b.append(entry.getKey()).append("=").append(entry.getValue()); + } + } + + b.append("@"); + b.append(mSubUri); + + byte[] nonceBytes = Hex.decode(mNonce); + byte[] data = Strings.toUTF8ByteArray(b.toString()); + + byte[] result = new byte[data.length+12]; + System.arraycopy(nonceBytes, 0, result, 0, 12); + System.arraycopy(data, 0, result, 12, result.length); + + return result; + } + + /** This method parses an affirmation from a UserAttributeSubpacket, or returns null if the + * subpacket can not be parsed as a valid affirmation. + */ + public static LinkedIdentity parseAffirmation(UserAttributeSubpacket subpacket) { + if (subpacket.getType() != 100) { + return null; + } + + byte[] data = subpacket.getData(); + String nonce = Hex.toHexString(data, 0, 12); + + try { + return parseUri(nonce, Strings.fromUTF8ByteArray(Arrays.copyOfRange(data, 12, data.length))); + + } catch (IllegalArgumentException e) { + Log.e(Constants.TAG, "error parsing uri in (suspected) affirmation packet"); + return null; + } + } + + protected static LinkedIdentity parseUri (String nonce, String uriString) { + URI uri = URI.create(uriString); + + if ("pgpid".equals(uri.getScheme())) { + Log.e(Constants.TAG, "unknown uri scheme in (suspected) affirmation packet"); + return null; + } + + if (!uri.isOpaque()) { + Log.e(Constants.TAG, "non-opaque uri in (suspected) affirmation packet"); + return null; + } + + String specific = uri.getSchemeSpecificPart(); + if (!specific.contains("@")) { + Log.e(Constants.TAG, "unknown uri scheme in affirmation packet"); + return null; + } + + String[] pieces = specific.split("@", 2); + URI subUri = URI.create(pieces[1]); + + Set flags = new HashSet(); + HashMap params = new HashMap(); + { + String[] rawParams = pieces[0].split(";"); + for (String param : rawParams) { + String[] p = param.split("=", 2); + if (p.length == 1) { + flags.add(param); + } else { + params.put(p[0], p[1]); + } + } + } + + return new LinkedIdentity(nonce, flags, params, subUri); + + } + + public static String generateNonce() { + // TODO make this actually random + // byte[] data = new byte[96]; + // new SecureRandom().nextBytes(data); + // return Hex.toHexString(data); + + // debug for now + return "0123456789ABCDEF01234567"; + } + +} diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 301de0be1..4b5c46a5f 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -760,8 +760,23 @@ "Removing outdated revocation certificate for user ID '%s'" "No valid self-certificate found for user ID '%s', removing from ring" "Removing invalid user ID '%s'" - "Removing duplicate user ID '%s'. The secret key contained two of them. This may result in missing certificates!" + "Removing duplicate user ID '%s'. The keyring contained two of them. This may result in missing certificates!" "User id does not verify as UTF-8!" + "Processing user attribute of type JPEG" + "Processing user attribute of unknown type" + "Removing bad self certificate for user attribute" + "Removing user attribute certificate with 'local' flag" + "Removing user attribute with future timestamp" + "Removing user attribute certificate of unknown type (%s)" + "Removing bad self certificate for user attribute" + "Removing outdated self certificate for user attribute" + "Removing duplicate user attribute. The keyring contained two of them. This may result in missing certificates!" + "Removing foreign user attribute certificate by" + "Removing redundant revocation certificate for user attribute" + "Removing outdated revocation certificate for user attribute" + "No valid self-certificate found for user attribute, removing from ring" + "Removing invalid user attribute" + "User id does not verify as UTF-8!" "New public subkey found, but secret subkey dummy generation is not supported!" -- cgit v1.2.3 From fc85ef71a87032e97d2fc3d83baa7fc507f0fd7b Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Tue, 13 Jan 2015 00:10:59 +0100 Subject: remove LinkedIdentity (committed earlier by accident) --- .../keychain/pgp/affirmation/LinkedIdentity.java | 160 --------------------- 1 file changed, 160 deletions(-) delete mode 100644 OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/affirmation/LinkedIdentity.java diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/affirmation/LinkedIdentity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/affirmation/LinkedIdentity.java deleted file mode 100644 index dcbaa1c1c..000000000 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/affirmation/LinkedIdentity.java +++ /dev/null @@ -1,160 +0,0 @@ -package org.sufficientlysecure.keychain.pgp.affirmation; - -import org.spongycastle.bcpg.UserAttributeSubpacket; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Hex; -import org.sufficientlysecure.keychain.Constants; -import org.sufficientlysecure.keychain.util.Log; - -import java.net.URI; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Map.Entry; -import java.util.Set; - -public class LinkedIdentity { - - protected byte[] mData; - public final String mNonce; - public final URI mSubUri; - final Set mFlags; - final HashMap mParams; - - protected LinkedIdentity(byte[] data, String nonce, Set flags, - HashMap params, URI subUri) { - if ( ! nonce.matches("[0-9a-zA-Z]+")) { - throw new AssertionError("bug: nonce must be hexstring!"); - } - - mData = data; - mNonce = nonce; - mFlags = flags; - mParams = params; - mSubUri = subUri; - } - - LinkedIdentity(String nonce, Set flags, - HashMap params, URI subUri) { - this(null, nonce, flags, params, subUri); - } - - public byte[] encode() { - if (mData != null) { - return mData; - } - - StringBuilder b = new StringBuilder(); - b.append("pgpid:"); - - // add flags - if (mFlags != null) { - boolean first = true; - for (String flag : mFlags) { - if (!first) { - b.append(";"); - } - first = false; - b.append(flag); - } - } - - // add parameters - if (mParams != null) { - boolean first = true; - Iterator> it = mParams.entrySet().iterator(); - while (it.hasNext()) { - if (!first) { - b.append(";"); - } - first = false; - Entry entry = it.next(); - b.append(entry.getKey()).append("=").append(entry.getValue()); - } - } - - b.append("@"); - b.append(mSubUri); - - byte[] nonceBytes = Hex.decode(mNonce); - byte[] data = Strings.toUTF8ByteArray(b.toString()); - - byte[] result = new byte[data.length+12]; - System.arraycopy(nonceBytes, 0, result, 0, 12); - System.arraycopy(data, 0, result, 12, result.length); - - return result; - } - - /** This method parses an affirmation from a UserAttributeSubpacket, or returns null if the - * subpacket can not be parsed as a valid affirmation. - */ - public static LinkedIdentity parseAffirmation(UserAttributeSubpacket subpacket) { - if (subpacket.getType() != 100) { - return null; - } - - byte[] data = subpacket.getData(); - String nonce = Hex.toHexString(data, 0, 12); - - try { - return parseUri(nonce, Strings.fromUTF8ByteArray(Arrays.copyOfRange(data, 12, data.length))); - - } catch (IllegalArgumentException e) { - Log.e(Constants.TAG, "error parsing uri in (suspected) affirmation packet"); - return null; - } - } - - protected static LinkedIdentity parseUri (String nonce, String uriString) { - URI uri = URI.create(uriString); - - if ("pgpid".equals(uri.getScheme())) { - Log.e(Constants.TAG, "unknown uri scheme in (suspected) affirmation packet"); - return null; - } - - if (!uri.isOpaque()) { - Log.e(Constants.TAG, "non-opaque uri in (suspected) affirmation packet"); - return null; - } - - String specific = uri.getSchemeSpecificPart(); - if (!specific.contains("@")) { - Log.e(Constants.TAG, "unknown uri scheme in affirmation packet"); - return null; - } - - String[] pieces = specific.split("@", 2); - URI subUri = URI.create(pieces[1]); - - Set flags = new HashSet(); - HashMap params = new HashMap(); - { - String[] rawParams = pieces[0].split(";"); - for (String param : rawParams) { - String[] p = param.split("=", 2); - if (p.length == 1) { - flags.add(param); - } else { - params.put(p[0], p[1]); - } - } - } - - return new LinkedIdentity(nonce, flags, params, subUri); - - } - - public static String generateNonce() { - // TODO make this actually random - // byte[] data = new byte[96]; - // new SecureRandom().nextBytes(data); - // return Hex.toHexString(data); - - // debug for now - return "0123456789ABCDEF01234567"; - } - -} -- cgit v1.2.3 From 2f0eb3fbd644291272829c15165193e0edb0906f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 13 Jan 2015 19:05:26 +0100 Subject: Set minSdk to 14 --- OpenKeychain/build.gradle | 6 +++--- OpenKeychain/src/main/AndroidManifest.xml | 5 +---- extern/openpgp-api-lib | 2 +- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle index ff3a63fd7..1c3fed303 100644 --- a/OpenKeychain/build.gradle +++ b/OpenKeychain/build.gradle @@ -3,8 +3,8 @@ apply plugin: 'com.android.application' dependencies { // NOTE: Always use fixed version codes not dynamic ones, e.g. 0.7.3 instead of 0.7.+, see README for more information - compile 'com.android.support:support-v4:21.0.2' - compile 'com.android.support:appcompat-v7:21.0.2' + compile 'com.android.support:support-v4:21.0.3' + compile 'com.android.support:appcompat-v7:21.0.3' compile project(':extern:openpgp-api-lib') compile project(':extern:openkeychain-api-lib') compile project(':extern:html-textview') @@ -28,7 +28,7 @@ android { buildToolsVersion '21.1.1' defaultConfig { - minSdkVersion 9 + minSdkVersion 14 targetSdkVersion 21 } diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml index 9fc79e6f1..ab6c4334b 100644 --- a/OpenKeychain/src/main/AndroidManifest.xml +++ b/OpenKeychain/src/main/AndroidManifest.xml @@ -31,10 +31,7 @@ For OI Filemanager it makes no difference, gpg files can't be associated --> - - - - + Date: Tue, 13 Jan 2015 20:35:27 +0100 Subject: add support for user attributes in merge() routine --- .../keychain/pgp/UncachedKeyRing.java | 30 ++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java index 404228a3e..04fb955fa 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java @@ -1018,8 +1018,8 @@ public class UncachedKeyRing { /** This operation merges information from a different keyring, returning a combined * UncachedKeyRing. * - * The combined keyring contains the subkeys and user ids of both input keyrings, but it does - * not necessarily have the canonicalized property. + * The combined keyring contains the subkeys, user ids and user attributes of both input + * keyrings, but it does not necessarily have the canonicalized property. * * @param other The UncachedKeyRing to merge. Must not be empty, and of the same masterKeyId * @return A consolidated UncachedKeyRing with the data of both input keyrings. Same type as @@ -1139,6 +1139,32 @@ public class UncachedKeyRing { modified = PGPPublicKey.addCertification(modified, rawUserId, cert); } } + + // Copy over all user attribute certificates + for (PGPUserAttributeSubpacketVector vector : + new IterableIterator(key.getUserAttributes())) { + @SuppressWarnings("unchecked") + Iterator signaturesIt = key.getSignaturesForUserAttribute(vector); + // no signatures for this user attribute attribute, skip it + if (signaturesIt == null) { + continue; + } + for (PGPSignature cert : new IterableIterator(signaturesIt)) { + // Don't merge foreign stuff into secret keys + if (cert.getKeyID() != masterKeyId && isSecret()) { + continue; + } + byte[] encoded = cert.getEncoded(); + // Known cert, skip it + if (certs.contains(encoded)) { + continue; + } + newCerts += 1; + certs.add(encoded); + modified = PGPPublicKey.addCertification(modified, vector, cert); + } + } + // If anything changed, save the updated (sub)key if (modified != resultKey) { result = replacePublicKey(result, modified); -- cgit v1.2.3 From 84eece622bb321c316a230432b85559ab2067084 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Mon, 12 Jan 2015 20:59:37 +0100 Subject: support addition of user attributes Conflicts: OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java OpenKeychain/src/main/res/values/strings.xml --- .../operations/results/OperationResult.java | 2 + .../keychain/pgp/PgpKeyOperation.java | 52 ++++++++++++++++++++-- .../keychain/service/SaveKeyringParcel.java | 6 +++ OpenKeychain/src/main/res/values/strings.xml | 3 ++ 4 files changed, 60 insertions(+), 3 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/OperationResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/OperationResult.java index 5884dd2d5..9824173f5 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/OperationResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/OperationResult.java @@ -495,6 +495,8 @@ public abstract class OperationResult implements Parcelable { MSG_MF_UID_PRIMARY (LogLevel.INFO, R.string.msg_mf_uid_primary), MSG_MF_UID_REVOKE (LogLevel.INFO, R.string.msg_mf_uid_revoke), MSG_MF_UID_ERROR_EMPTY (LogLevel.ERROR, R.string.msg_mf_uid_error_empty), + MSG_MF_UAT_ADD_IMAGE (LogLevel.INFO, R.string.msg_mf_uat_add_image), + MSG_MF_UAT_ADD_UNKNOWN (LogLevel.INFO, R.string.msg_mf_uat_add_unknown), MSG_MF_UNLOCK_ERROR (LogLevel.ERROR, R.string.msg_mf_unlock_error), MSG_MF_UNLOCK (LogLevel.DEBUG, R.string.msg_mf_unlock), diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java index 128928bb3..8facbfd2a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java @@ -34,6 +34,7 @@ import org.spongycastle.openpgp.PGPSecretKeyRing; import org.spongycastle.openpgp.PGPSignature; import org.spongycastle.openpgp.PGPSignatureGenerator; import org.spongycastle.openpgp.PGPSignatureSubpacketGenerator; +import org.spongycastle.openpgp.PGPUserAttributeSubpacketVector; import org.spongycastle.openpgp.operator.PBESecretKeyDecryptor; import org.spongycastle.openpgp.operator.PBESecretKeyEncryptor; import org.spongycastle.openpgp.operator.PGPContentSignerBuilder; @@ -478,7 +479,7 @@ public class PgpKeyOperation { PGPPublicKey modifiedPublicKey = masterPublicKey; // 2a. Add certificates for new user ids - subProgressPush(15, 25); + subProgressPush(15, 23); for (int i = 0; i < saveParcel.mAddUserIds.size(); i++) { progress(R.string.progress_modify_adduid, (i - 1) * (100 / saveParcel.mAddUserIds.size())); @@ -522,8 +523,33 @@ public class PgpKeyOperation { } subProgressPop(); - // 2b. Add revocations for revoked user ids - subProgressPush(25, 40); + // 2b. Add certificates for new user ids + subProgressPush(23, 32); + for (int i = 0; i < saveParcel.mAddUserAttribute.size(); i++) { + + progress(R.string.progress_modify_adduat, (i - 1) * (100 / saveParcel.mAddUserAttribute.size())); + WrappedUserAttribute attribute = saveParcel.mAddUserAttribute.get(i); + + switch (attribute.getType()) { + case WrappedUserAttribute.UAT_UNKNOWN: + log.add(LogType.MSG_MF_UAT_ADD_UNKNOWN, indent); + break; + case WrappedUserAttribute.UAT_IMAGE: + log.add(LogType.MSG_MF_UAT_ADD_IMAGE, indent); + break; + } + + PGPUserAttributeSubpacketVector vector = attribute.getVector(); + + // generate and add new certificate + PGPSignature cert = generateUserAttributeSignature(masterPrivateKey, + masterPublicKey, vector); + modifiedPublicKey = PGPPublicKey.addCertification(modifiedPublicKey, vector, cert); + } + subProgressPop(); + + // 2c. Add revocations for revoked user ids + subProgressPush(32, 40); for (int i = 0; i < saveParcel.mRevokeUserIds.size(); i++) { progress(R.string.progress_modify_revokeuid, (i - 1) * (100 / saveParcel.mRevokeUserIds.size())); @@ -1174,6 +1200,26 @@ public class PgpKeyOperation { return sGen.generateCertification(userId, pKey); } + private static PGPSignature generateUserAttributeSignature( + PGPPrivateKey masterPrivateKey, PGPPublicKey pKey, + PGPUserAttributeSubpacketVector vector) + throws IOException, PGPException, SignatureException { + PGPContentSignerBuilder signerBuilder = new JcaPGPContentSignerBuilder( + masterPrivateKey.getPublicKeyPacket().getAlgorithm(), HashAlgorithmTags.SHA512) + .setProvider(Constants.BOUNCY_CASTLE_PROVIDER_NAME); + PGPSignatureGenerator sGen = new PGPSignatureGenerator(signerBuilder); + + PGPSignatureSubpacketGenerator hashedPacketsGen = new PGPSignatureSubpacketGenerator(); + { + /* critical subpackets: we consider those important for a modern pgp implementation */ + hashedPacketsGen.setSignatureCreationTime(true, new Date()); + } + + sGen.setHashedSubpackets(hashedPacketsGen.generate()); + sGen.init(PGPSignature.POSITIVE_CERTIFICATION, masterPrivateKey); + return sGen.generateCertification(vector, pKey); + } + private static PGPSignature generateRevocationSignature( PGPPrivateKey masterPrivateKey, PGPPublicKey pKey, String userId) throws IOException, PGPException, SignatureException { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java index 810190fee..a314c8768 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java @@ -21,6 +21,7 @@ package org.sufficientlysecure.keychain.service; import android.os.Parcel; import android.os.Parcelable; +import org.sufficientlysecure.keychain.pgp.WrappedUserAttribute; import java.io.Serializable; import java.util.ArrayList; @@ -49,6 +50,7 @@ public class SaveKeyringParcel implements Parcelable { public ChangeUnlockParcel mNewUnlock; public ArrayList mAddUserIds; + public ArrayList mAddUserAttribute; public ArrayList mAddSubKeys; public ArrayList mChangeSubKeys; @@ -71,6 +73,7 @@ public class SaveKeyringParcel implements Parcelable { public void reset() { mNewUnlock = null; mAddUserIds = new ArrayList(); + mAddUserAttribute = new ArrayList(); mAddSubKeys = new ArrayList(); mChangePrimaryUserId = null; mChangeSubKeys = new ArrayList(); @@ -162,6 +165,7 @@ public class SaveKeyringParcel implements Parcelable { mNewUnlock = source.readParcelable(getClass().getClassLoader()); mAddUserIds = source.createStringArrayList(); + mAddUserAttribute = (ArrayList) source.readSerializable(); mAddSubKeys = (ArrayList) source.readSerializable(); mChangeSubKeys = (ArrayList) source.readSerializable(); @@ -184,6 +188,7 @@ public class SaveKeyringParcel implements Parcelable { destination.writeParcelable(mNewUnlock, 0); destination.writeStringList(mAddUserIds); + destination.writeSerializable(mAddUserAttribute); destination.writeSerializable(mAddSubKeys); destination.writeSerializable(mChangeSubKeys); @@ -214,6 +219,7 @@ public class SaveKeyringParcel implements Parcelable { String out = "mMasterKeyId: " + mMasterKeyId + "\n"; out += "mNewUnlock: " + mNewUnlock + "\n"; out += "mAddUserIds: " + mAddUserIds + "\n"; + out += "mAddUserAttribute: " + mAddUserAttribute + "\n"; out += "mAddSubKeys: " + mAddSubKeys + "\n"; out += "mChangeSubKeys: " + mChangeSubKeys + "\n"; out += "mChangePrimaryUserId: " + mChangePrimaryUserId + "\n"; diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 4b5c46a5f..6e2b84642 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -309,6 +309,7 @@ "unlocking keyring…" "adding user IDs…" + "adding user attributes…" "revoking user IDs…" "changing primary user ID…" "modifying subkeys…" @@ -839,6 +840,8 @@ "Changing primary user ID to %s" "Revoking user ID %s" "User ID must not be empty!" + "Adding user attribute of type image" + "Adding user attribute of unknown type" "Error unlocking keyring!" "Unlocking keyring" -- cgit v1.2.3 From abd12116134a07a79672d38d040c16f2e2dd20b4 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Tue, 13 Jan 2015 20:34:19 +0100 Subject: hack to make WrappedUserAttribute serializable Conflicts: OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedUserAttribute.java --- .../keychain/pgp/WrappedUserAttribute.java | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedUserAttribute.java diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedUserAttribute.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedUserAttribute.java new file mode 100644 index 000000000..2359d48ac --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/WrappedUserAttribute.java @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2014 Vincent Breitmoser + * + * This program is free software: you can redistribute it and/or modify + * 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 . + */ + +package org.sufficientlysecure.keychain.pgp; + +import org.spongycastle.bcpg.BCPGInputStream; +import org.spongycastle.bcpg.BCPGOutputStream; +import org.spongycastle.bcpg.Packet; +import org.spongycastle.bcpg.UserAttributePacket; +import org.spongycastle.bcpg.UserAttributeSubpacket; +import org.spongycastle.bcpg.UserAttributeSubpacketTags; +import org.spongycastle.openpgp.PGPUserAttributeSubpacketVector; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectStreamException; +import java.io.Serializable; + +public class WrappedUserAttribute implements Serializable { + + public static final int UAT_UNKNOWN = 0; + public static final int UAT_IMAGE = UserAttributeSubpacketTags.IMAGE_ATTRIBUTE; + + private PGPUserAttributeSubpacketVector mVector; + + WrappedUserAttribute(PGPUserAttributeSubpacketVector vector) { + mVector = vector; + } + + PGPUserAttributeSubpacketVector getVector() { + return mVector; + } + + public int getType() { + if (mVector.getSubpacket(UserAttributeSubpacketTags.IMAGE_ATTRIBUTE) != null) { + return UAT_IMAGE; + } + return 0; + } + + public static WrappedUserAttribute fromSubpacket (int type, byte[] data) { + UserAttributeSubpacket subpacket = new UserAttributeSubpacket(type, data); + PGPUserAttributeSubpacketVector vector = new PGPUserAttributeSubpacketVector( + new UserAttributeSubpacket[] { subpacket }); + + return new WrappedUserAttribute(vector); + + } + + /** Writes this object to an ObjectOutputStream. */ + private void writeObject(java.io.ObjectOutputStream out) throws IOException { + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + BCPGOutputStream bcpg = new BCPGOutputStream(baos); + bcpg.writePacket(new UserAttributePacket(mVector.toSubpacketArray())); + out.writeObject(baos.toByteArray()); + + } + + private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { + + byte[] data = (byte[]) in.readObject(); + BCPGInputStream bcpg = new BCPGInputStream(new ByteArrayInputStream(data)); + Packet p = bcpg.readPacket(); + if ( ! UserAttributePacket.class.isInstance(p)) { + throw new IOException("Could not decode UserAttributePacket!"); + } + mVector = new PGPUserAttributeSubpacketVector(((UserAttributePacket) p).getSubpackets()); + + } + + private void readObjectNoData() throws ObjectStreamException { + } + +} -- cgit v1.2.3 From 33ab8562143173a2ea8418298ee5883999234d16 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Tue, 13 Jan 2015 20:53:38 +0100 Subject: update spongycastle with more public methods for WrappedUserAttribute --- extern/spongycastle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/spongycastle b/extern/spongycastle index 1d9ee197d..f13d9c202 160000 --- a/extern/spongycastle +++ b/extern/spongycastle @@ -1 +1 @@ -Subproject commit 1d9ee197d8fcc18dcdd1ae9649a5dc53e910b18c +Subproject commit f13d9c202f7470ede75f2c02cc8c578acd3acee9 -- cgit v1.2.3 From 2e3545949ba9ab48ed21cb2198c9f0d2b8691ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 13 Jan 2015 21:55:53 +0100 Subject: Start working on Material Design --- OpenKeychain/build.gradle | 1 + .../keychain/remote/ui/AppsListActivity.java | 7 +- .../keychain/ui/BaseActivity.java | 48 ++++++++++++++ .../keychain/ui/DecryptActivity.java | 7 +- .../keychain/ui/DrawerActivity.java | 7 +- .../keychain/ui/EncryptFilesActivity.java | 7 +- .../keychain/ui/EncryptTextActivity.java | 7 +- .../keychain/ui/KeyListActivity.java | 10 ++- .../keychain/ui/SafeSlingerActivity.java | 50 +++------------ .../main/res/layout-v11/safe_slinger_activity.xml | 75 ---------------------- .../main/res/layout/create_key_final_fragment.xml | 4 +- .../src/main/res/layout/key_list_content.xml | 69 +++++++++++--------- .../src/main/res/layout/safe_slinger_activity.xml | 11 ++-- OpenKeychain/src/main/res/layout/toolbar.xml | 9 +++ .../main/res/values-v11/themes_keychaintheme.xml | 2 +- OpenKeychain/src/main/res/values-v21/themes.xml | 11 ++++ OpenKeychain/src/main/res/values/colors.xml | 53 +++++++++++---- OpenKeychain/src/main/res/values/styles.xml | 33 +++++++++- OpenKeychain/src/main/res/values/themes.xml | 12 ++++ Resources/material_icons_list.txt | 4 ++ 20 files changed, 247 insertions(+), 180 deletions(-) create mode 100644 OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/BaseActivity.java delete mode 100644 OpenKeychain/src/main/res/layout-v11/safe_slinger_activity.xml create mode 100644 OpenKeychain/src/main/res/layout/toolbar.xml create mode 100644 OpenKeychain/src/main/res/values-v21/themes.xml create mode 100644 OpenKeychain/src/main/res/values/themes.xml create mode 100644 Resources/material_icons_list.txt diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle index 1c3fed303..2eba50e4e 100644 --- a/OpenKeychain/build.gradle +++ b/OpenKeychain/build.gradle @@ -5,6 +5,7 @@ dependencies { compile 'com.android.support:support-v4:21.0.3' compile 'com.android.support:appcompat-v7:21.0.3' + compile 'com.android.support:recyclerview-v7:21.0.3' compile project(':extern:openpgp-api-lib') compile project(':extern:openkeychain-api-lib') compile project(':extern:html-textview') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppsListActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppsListActivity.java index 11b0deb33..ba27b22f2 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppsListActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AppsListActivity.java @@ -28,9 +28,12 @@ public class AppsListActivity extends DrawerActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.api_apps_list_activity); - activateDrawerNavigation(savedInstanceState); } + @Override + protected int getLayoutResource() { + return R.layout.api_apps_list_activity; + } + } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/BaseActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/BaseActivity.java new file mode 100644 index 000000000..6e83f6101 --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/BaseActivity.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2015 Dominik Schürmann + * + * This program is free software: you can redistribute it and/or modify + * 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 . + */ + +package org.sufficientlysecure.keychain.ui; + +import android.os.Bundle; +import android.support.v7.app.ActionBarActivity; +import android.support.v7.widget.Toolbar; + +import org.sufficientlysecure.keychain.R; + +/** + * Sets action bar + */ +public abstract class BaseActivity extends ActionBarActivity { + private Toolbar toolbar; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(getLayoutResource()); + toolbar = (Toolbar) findViewById(R.id.toolbar); + if (toolbar != null) { + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + } + } + + protected abstract int getLayoutResource(); + + protected void setActionBarIcon(int iconRes) { + toolbar.setNavigationIcon(iconRes); + } +} diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java index 681e22e1e..ccff3fd6a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptActivity.java @@ -40,8 +40,6 @@ public class DecryptActivity extends DrawerActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.decrypt_activity); - activateDrawerNavigation(savedInstanceState); View actionFile = findViewById(R.id.decrypt_files); @@ -66,6 +64,11 @@ public class DecryptActivity extends DrawerActivity { }); } + @Override + protected int getLayoutResource() { + return R.layout.decrypt_activity; + } + @TargetApi(VERSION_CODES.HONEYCOMB) @Override protected void onResume() { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DrawerActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DrawerActivity.java index da46de486..5bf0e75dd 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DrawerActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DrawerActivity.java @@ -42,7 +42,7 @@ import android.widget.TextView; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; -public class DrawerActivity extends ActionBarActivity { +public abstract class DrawerActivity extends BaseActivity { private FixedDrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; @@ -96,8 +96,9 @@ public class DrawerActivity extends ActionBarActivity { // enable ActionBar app icon to behave as action to toggle nav drawer // if the drawer is not locked if (!mIsDrawerLocked) { - getSupportActionBar().setDisplayHomeAsUpEnabled(true); - getSupportActionBar().setHomeButtonEnabled(true); + // TODO +// getSupportActionBar().setDisplayHomeAsUpEnabled(true); +// getSupportActionBar().setHomeButtonEnabled(true); } // ActionBarDrawerToggle ties together the the proper interactions diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesActivity.java index 054d85323..d0e66156c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesActivity.java @@ -309,8 +309,6 @@ public class EncryptFilesActivity extends EncryptActivity implements EncryptActi public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.encrypt_files_activity); - // if called with an intent action, do not init drawer navigation if (ACTION_ENCRYPT_DATA.equals(getIntent().getAction())) { // lock drawer @@ -327,6 +325,11 @@ public class EncryptFilesActivity extends EncryptActivity implements EncryptActi mUseArmor = Preferences.getPreferences(this).getDefaultAsciiArmor(); } + @Override + protected int getLayoutResource() { + return R.layout.encrypt_files_activity; + } + @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.encrypt_file_activity, menu); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java index 958daa122..0850ead3b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextActivity.java @@ -288,8 +288,6 @@ public class EncryptTextActivity extends EncryptActivity implements EncryptActiv public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.encrypt_text_activity); - // if called with an intent action, do not init drawer navigation if (ACTION_ENCRYPT_TEXT.equals(getIntent().getAction())) { // lock drawer @@ -304,6 +302,11 @@ public class EncryptTextActivity extends EncryptActivity implements EncryptActiv updateModeFragment(); } + @Override + protected int getLayoutResource() { + return R.layout.encrypt_text_activity; + } + @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.encrypt_text_activity, menu); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java index ba03400d7..6b3cf5fe4 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java @@ -50,6 +50,7 @@ public class KeyListActivity extends DrawerActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); +// setActionBarIcon(R.drawable.ic_ab_drawer); setTitle(R.string.nav_keys); @@ -63,10 +64,13 @@ public class KeyListActivity extends DrawerActivity { mExportHelper = new ExportHelper(this); - setContentView(R.layout.key_list_activity); - // now setup navigation drawer in DrawerActivity... - activateDrawerNavigation(savedInstanceState); +// activateDrawerNavigation(savedInstanceState); + } + + @Override + protected int getLayoutResource() { + return R.layout.key_list_activity; } @Override diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java index 20e1bbe97..c91d91ad9 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java @@ -73,47 +73,15 @@ public class SafeSlingerActivity extends ActionBarActivity { mMasterKeyId = getIntent().getLongExtra(EXTRA_MASTER_KEY_ID, 0); - // NOTE: there are two versions of this layout, for API >= 11 and one for < 11 - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { - NumberPicker picker = (NumberPicker) findViewById(R.id.safe_slinger_picker); - picker.setMinValue(2); - picker.setMaxValue(10); - picker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { - @Override - public void onValueChange(NumberPicker picker, int oldVal, int newVal) { - mSelectedNumber = newVal; - } - }); - } else { - Spinner spinner = (Spinner) findViewById(R.id.safe_slinger_spinner); - - List list = new ArrayList(); - list.add("2"); - list.add("3"); - list.add("4"); - list.add("5"); - list.add("6"); - list.add("7"); - list.add("8"); - list.add("9"); - list.add("10"); - - ArrayAdapter dataAdapter = new ArrayAdapter(this, - android.R.layout.simple_spinner_item, list); - dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - spinner.setAdapter(dataAdapter); - spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected(AdapterView parent, View view, int position, long id) { - mSelectedNumber = position + 2; - } - - @Override - public void onNothingSelected(AdapterView parent) { - - } - }); - } + NumberPicker picker = (NumberPicker) findViewById(R.id.safe_slinger_picker); + picker.setMinValue(2); + picker.setMaxValue(10); + picker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + mSelectedNumber = newVal; + } + }); ImageView buttonIcon = (ImageView) findViewById(R.id.safe_slinger_button_image); buttonIcon.setColorFilter(getResources().getColor(R.color.tertiary_text_light), diff --git a/OpenKeychain/src/main/res/layout-v11/safe_slinger_activity.xml b/OpenKeychain/src/main/res/layout-v11/safe_slinger_activity.xml deleted file mode 100644 index 7e4410f85..000000000 --- a/OpenKeychain/src/main/res/layout-v11/safe_slinger_activity.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/layout/create_key_final_fragment.xml b/OpenKeychain/src/main/res/layout/create_key_final_fragment.xml index 7f7b2cdce..189579f91 100644 --- a/OpenKeychain/src/main/res/layout/create_key_final_fragment.xml +++ b/OpenKeychain/src/main/res/layout/create_key_final_fragment.xml @@ -86,7 +86,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/create_key_rsa" - android:textColor="@color/android_green_dark" + android:textColor="@color/android_green_light" android:textAppearance="?android:attr/textAppearanceMedium" android:minHeight="?android:attr/listPreferredItemHeight" android:clickable="true" @@ -128,7 +128,7 @@ android:layout_marginTop="16dp" android:layout_marginBottom="8dp" android:text="@string/create_key_final_robot_text" - android:textColor="@color/android_green_dark" + android:textColor="@color/android_green_light" android:textAppearance="?android:attr/textAppearanceMedium" android:drawableLeft="@drawable/create_key_robot" android:drawablePadding="8dp" /> diff --git a/OpenKeychain/src/main/res/layout/key_list_content.xml b/OpenKeychain/src/main/res/layout/key_list_content.xml index dd230806f..7179793b5 100644 --- a/OpenKeychain/src/main/res/layout/key_list_content.xml +++ b/OpenKeychain/src/main/res/layout/key_list_content.xml @@ -1,47 +1,56 @@ - - + - + + - - --> - - + android:layout_height="0dp" + android:layout_weight="1" /> + - - \ No newline at end of file + diff --git a/OpenKeychain/src/main/res/layout/safe_slinger_activity.xml b/OpenKeychain/src/main/res/layout/safe_slinger_activity.xml index 39f4b7238..7e4410f85 100644 --- a/OpenKeychain/src/main/res/layout/safe_slinger_activity.xml +++ b/OpenKeychain/src/main/res/layout/safe_slinger_activity.xml @@ -16,17 +16,18 @@ + android:layout_weight="1" + android:gravity="center_vertical"/> - + android:id="@+id/safe_slinger_picker" + /> diff --git a/OpenKeychain/src/main/res/layout/toolbar.xml b/OpenKeychain/src/main/res/layout/toolbar.xml new file mode 100644 index 000000000..d0c5e4f99 --- /dev/null +++ b/OpenKeychain/src/main/res/layout/toolbar.xml @@ -0,0 +1,9 @@ + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/values-v11/themes_keychaintheme.xml b/OpenKeychain/src/main/res/values-v11/themes_keychaintheme.xml index 4f13f81c6..6db455383 100644 --- a/OpenKeychain/src/main/res/values-v11/themes_keychaintheme.xml +++ b/OpenKeychain/src/main/res/values-v11/themes_keychaintheme.xml @@ -3,7 +3,7 @@ - + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/values/colors.xml b/OpenKeychain/src/main/res/values/colors.xml index a21f949d1..353e33058 100644 --- a/OpenKeychain/src/main/res/values/colors.xml +++ b/OpenKeychain/src/main/res/values/colors.xml @@ -1,8 +1,35 @@ - #aa66cc - #9933cc + + + + + + @color/material_deep_teal_200 + @color/material_deep_teal_500 + + #80000000 + + + #4CAF50 + #388E3C + + + #4CAF50 + #388E3C + #C8E6C9 + #536DFE + #212121 + #727272 + #FFFFFF + #B6B6B6 + + + + #212121 + #727272 + #cecbce #808080 #ffdd3333 @@ -10,14 +37,18 @@ #33999999 #33CCCCCC - - #ffff4444 - #ffCC0000 - #ffffbb33 - #ffFF8800 - #ff99cc00 - #ff669900 - #ffaa66cc - #ff9933CC + + #f44336 + #b71c1c + #ff9800 + #e65100 + #4caf50 + #1b5e20 + #673ab7 + #311b92 diff --git a/OpenKeychain/src/main/res/values/styles.xml b/OpenKeychain/src/main/res/values/styles.xml index 27cd1546a..11d2bfde4 100644 --- a/OpenKeychain/src/main/res/values/styles.xml +++ b/OpenKeychain/src/main/res/values/styles.xml @@ -2,7 +2,7 @@ - @@ -34,4 +34,35 @@ @drawable/selector_transparent_button + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/values/themes.xml b/OpenKeychain/src/main/res/values/themes.xml new file mode 100644 index 000000000..864e2805c --- /dev/null +++ b/OpenKeychain/src/main/res/values/themes.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/Resources/material_icons_list.txt b/Resources/material_icons_list.txt new file mode 100644 index 000000000..5204bab86 --- /dev/null +++ b/Resources/material_icons_list.txt @@ -0,0 +1,4 @@ +https://github.com/google/material-design-icons + +action: +ic_search_white_24dp.png -- cgit v1.2.3 From 862d1f1971a16d639dec47bd60226a959efe76b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 13 Jan 2015 22:18:40 +0100 Subject: Green --- .../apptheme_fastscroll_thumb_default_holo.png | Bin 260 -> 0 bytes .../apptheme_fastscroll_thumb_pressed_holo.png | Bin 467 -> 0 bytes ...e_btn_check_off_disabled_focused_holo_light.png | Bin 402 -> 398 bytes ...chaintheme_btn_check_off_focused_holo_light.png | Bin 413 -> 413 bytes ...me_btn_check_on_disabled_focused_holo_light.png | Bin 800 -> 792 bytes ...ychaintheme_btn_check_on_focused_holo_light.png | Bin 1699 -> 1668 bytes .../keychaintheme_btn_check_on_holo_light.png | Bin 1519 -> 1483 bytes ...e_btn_default_disabled_focused_holo_light.9.png | Bin 330 -> 327 bytes ...chaintheme_btn_default_focused_holo_light.9.png | Bin 400 -> 398 bytes ...e_btn_radio_off_disabled_focused_holo_light.png | Bin 1398 -> 1420 bytes ...chaintheme_btn_radio_off_focused_holo_light.png | Bin 1467 -> 1507 bytes .../keychaintheme_btn_radio_off_holo_light.png | Bin 736 -> 790 bytes ...me_btn_radio_on_disabled_focused_holo_light.png | Bin 2383 -> 2366 bytes ...ychaintheme_btn_radio_on_focused_holo_light.png | Bin 2199 -> 2253 bytes .../keychaintheme_btn_radio_on_holo_light.png | Bin 1402 -> 1409 bytes ...tn_toggle_off_disabled_focused_holo_light.9.png | Bin 0 -> 395 bytes ...ntheme_btn_toggle_off_disabled_holo_light.9.png | Bin 0 -> 419 bytes ...intheme_btn_toggle_off_focused_holo_light.9.png | Bin 0 -> 387 bytes ...aintheme_btn_toggle_off_normal_holo_light.9.png | Bin 0 -> 459 bytes ...intheme_btn_toggle_off_pressed_holo_light.9.png | Bin 0 -> 419 bytes ...btn_toggle_on_disabled_focused_holo_light.9.png | Bin 0 -> 420 bytes ...intheme_btn_toggle_on_disabled_holo_light.9.png | Bin 0 -> 514 bytes ...aintheme_btn_toggle_on_focused_holo_light.9.png | Bin 0 -> 428 bytes ...haintheme_btn_toggle_on_normal_holo_light.9.png | Bin 0 -> 523 bytes ...aintheme_btn_toggle_on_pressed_holo_light.9.png | Bin 0 -> 556 bytes ...keychaintheme_fastscroll_thumb_default_holo.png | Bin 0 -> 260 bytes ...keychaintheme_fastscroll_thumb_pressed_holo.png | Bin 0 -> 467 bytes .../keychaintheme_list_activated_holo.9.png | Bin 115 -> 115 bytes .../keychaintheme_list_focused_holo.9.png | Bin 139 -> 139 bytes ...keychaintheme_progress_primary_holo_light.9.png | Bin 381 -> 384 bytes ...ychaintheme_progress_secondary_holo_light.9.png | Bin 149 -> 149 bytes ...ychaintheme_progressbar_indeterminate_holo1.png | Bin 729 -> 785 bytes ...ychaintheme_progressbar_indeterminate_holo2.png | Bin 810 -> 866 bytes ...ychaintheme_progressbar_indeterminate_holo3.png | Bin 913 -> 977 bytes ...ychaintheme_progressbar_indeterminate_holo4.png | Bin 954 -> 1022 bytes ...ychaintheme_progressbar_indeterminate_holo5.png | Bin 840 -> 928 bytes ...ychaintheme_progressbar_indeterminate_holo6.png | Bin 960 -> 1037 bytes ...ychaintheme_progressbar_indeterminate_holo7.png | Bin 761 -> 812 bytes ...ychaintheme_progressbar_indeterminate_holo8.png | Bin 832 -> 886 bytes ...eychaintheme_scrubber_control_disabled_holo.png | Bin 0 -> 845 bytes ...keychaintheme_scrubber_control_focused_holo.png | Bin 0 -> 1108 bytes .../keychaintheme_scrubber_control_normal_holo.png | Bin 0 -> 1371 bytes ...keychaintheme_scrubber_control_pressed_holo.png | Bin 0 -> 1721 bytes .../keychaintheme_scrubber_primary_holo.9.png | Bin 0 -> 148 bytes .../keychaintheme_scrubber_secondary_holo.9.png | Bin 0 -> 147 bytes .../keychaintheme_scrubber_track_holo_light.9.png | Bin 0 -> 169 bytes .../keychaintheme_spinner_default_holo_light.9.png | Bin 304 -> 312 bytes .../keychaintheme_spinner_focused_holo_light.9.png | Bin 499 -> 481 bytes .../keychaintheme_text_select_handle_left.png | Bin 0 -> 1376 bytes .../keychaintheme_text_select_handle_middle.png | Bin 0 -> 1495 bytes .../keychaintheme_text_select_handle_right.png | Bin 0 -> 1502 bytes ...chaintheme_textfield_activated_holo_light.9.png | Bin 199 -> 198 bytes ...eychaintheme_textfield_default_holo_light.9.png | Bin 187 -> 227 bytes ...eychaintheme_textfield_focused_holo_light.9.png | Bin 298 -> 295 bytes .../apptheme_fastscroll_thumb_default_holo.png | Bin 169 -> 0 bytes .../apptheme_fastscroll_thumb_pressed_holo.png | Bin 306 -> 0 bytes ...e_btn_check_off_disabled_focused_holo_light.png | Bin 300 -> 298 bytes ...chaintheme_btn_check_off_focused_holo_light.png | Bin 319 -> 318 bytes ...me_btn_check_on_disabled_focused_holo_light.png | Bin 592 -> 570 bytes ...ychaintheme_btn_check_on_focused_holo_light.png | Bin 1100 -> 1077 bytes .../keychaintheme_btn_check_on_holo_light.png | Bin 1004 -> 982 bytes ...e_btn_default_disabled_focused_holo_light.9.png | Bin 232 -> 232 bytes ...chaintheme_btn_default_focused_holo_light.9.png | Bin 286 -> 293 bytes ...ychaintheme_btn_default_normal_holo_light.9.png | Bin 276 -> 286 bytes ...e_btn_radio_off_disabled_focused_holo_light.png | Bin 778 -> 770 bytes ...chaintheme_btn_radio_off_focused_holo_light.png | Bin 802 -> 785 bytes .../keychaintheme_btn_radio_off_holo_light.png | Bin 451 -> 428 bytes ...me_btn_radio_on_disabled_focused_holo_light.png | Bin 1278 -> 1256 bytes ...ychaintheme_btn_radio_on_focused_holo_light.png | Bin 1184 -> 1155 bytes .../keychaintheme_btn_radio_on_holo_light.png | Bin 847 -> 829 bytes ...tn_toggle_off_disabled_focused_holo_light.9.png | Bin 0 -> 334 bytes ...ntheme_btn_toggle_off_disabled_holo_light.9.png | Bin 0 -> 331 bytes ...intheme_btn_toggle_off_focused_holo_light.9.png | Bin 0 -> 382 bytes ...aintheme_btn_toggle_off_normal_holo_light.9.png | Bin 0 -> 344 bytes ...intheme_btn_toggle_off_pressed_holo_light.9.png | Bin 0 -> 298 bytes ...btn_toggle_on_disabled_focused_holo_light.9.png | Bin 0 -> 307 bytes ...intheme_btn_toggle_on_disabled_holo_light.9.png | Bin 0 -> 346 bytes ...aintheme_btn_toggle_on_focused_holo_light.9.png | Bin 0 -> 324 bytes ...haintheme_btn_toggle_on_normal_holo_light.9.png | Bin 0 -> 397 bytes ...aintheme_btn_toggle_on_pressed_holo_light.9.png | Bin 0 -> 361 bytes ...keychaintheme_fastscroll_thumb_default_holo.png | Bin 0 -> 170 bytes ...keychaintheme_fastscroll_thumb_pressed_holo.png | Bin 0 -> 306 bytes .../keychaintheme_list_activated_holo.9.png | Bin 110 -> 110 bytes .../keychaintheme_list_focused_holo.9.png | Bin 117 -> 117 bytes ...keychaintheme_progress_primary_holo_light.9.png | Bin 270 -> 273 bytes ...ychaintheme_progress_secondary_holo_light.9.png | Bin 135 -> 135 bytes ...ychaintheme_progressbar_indeterminate_holo1.png | Bin 413 -> 457 bytes ...ychaintheme_progressbar_indeterminate_holo2.png | Bin 485 -> 526 bytes ...ychaintheme_progressbar_indeterminate_holo3.png | Bin 539 -> 589 bytes ...ychaintheme_progressbar_indeterminate_holo4.png | Bin 521 -> 573 bytes ...ychaintheme_progressbar_indeterminate_holo5.png | Bin 506 -> 545 bytes ...ychaintheme_progressbar_indeterminate_holo6.png | Bin 538 -> 584 bytes ...ychaintheme_progressbar_indeterminate_holo7.png | Bin 489 -> 535 bytes ...ychaintheme_progressbar_indeterminate_holo8.png | Bin 507 -> 553 bytes ...eychaintheme_scrubber_control_disabled_holo.png | Bin 0 -> 520 bytes ...keychaintheme_scrubber_control_focused_holo.png | Bin 0 -> 694 bytes .../keychaintheme_scrubber_control_normal_holo.png | Bin 0 -> 815 bytes ...keychaintheme_scrubber_control_pressed_holo.png | Bin 0 -> 983 bytes .../keychaintheme_scrubber_primary_holo.9.png | Bin 0 -> 138 bytes .../keychaintheme_scrubber_secondary_holo.9.png | Bin 0 -> 138 bytes .../keychaintheme_scrubber_track_holo_light.9.png | Bin 0 -> 163 bytes .../keychaintheme_spinner_default_holo_light.9.png | Bin 237 -> 263 bytes .../keychaintheme_spinner_focused_holo_light.9.png | Bin 390 -> 375 bytes .../keychaintheme_text_select_handle_left.png | Bin 0 -> 861 bytes .../keychaintheme_text_select_handle_middle.png | Bin 0 -> 885 bytes .../keychaintheme_text_select_handle_right.png | Bin 0 -> 959 bytes ...chaintheme_textfield_activated_holo_light.9.png | Bin 165 -> 165 bytes ...eychaintheme_textfield_default_holo_light.9.png | Bin 151 -> 182 bytes ...eychaintheme_textfield_focused_holo_light.9.png | Bin 264 -> 261 bytes .../apptheme_fastscroll_thumb_default_holo.png | Bin 324 -> 0 bytes .../apptheme_fastscroll_thumb_pressed_holo.png | Bin 613 -> 0 bytes ...e_btn_check_off_disabled_focused_holo_light.png | Bin 462 -> 470 bytes ...chaintheme_btn_check_off_focused_holo_light.png | Bin 479 -> 483 bytes ...me_btn_check_on_disabled_focused_holo_light.png | Bin 1059 -> 1054 bytes ...ychaintheme_btn_check_on_focused_holo_light.png | Bin 2921 -> 2891 bytes .../keychaintheme_btn_check_on_holo_light.png | Bin 2651 -> 2617 bytes ...e_btn_default_disabled_focused_holo_light.9.png | Bin 390 -> 385 bytes ...chaintheme_btn_default_focused_holo_light.9.png | Bin 443 -> 451 bytes ...ychaintheme_btn_default_normal_holo_light.9.png | Bin 520 -> 528 bytes ...e_btn_radio_off_disabled_focused_holo_light.png | Bin 2082 -> 2109 bytes ...chaintheme_btn_radio_off_focused_holo_light.png | Bin 2161 -> 2200 bytes .../keychaintheme_btn_radio_off_holo_light.png | Bin 950 -> 1043 bytes ...me_btn_radio_on_disabled_focused_holo_light.png | Bin 3484 -> 3537 bytes ...ychaintheme_btn_radio_on_focused_holo_light.png | Bin 3568 -> 3670 bytes .../keychaintheme_btn_radio_on_holo_light.png | Bin 2467 -> 2416 bytes ...tn_toggle_off_disabled_focused_holo_light.9.png | Bin 0 -> 420 bytes ...ntheme_btn_toggle_off_disabled_holo_light.9.png | Bin 0 -> 528 bytes ...intheme_btn_toggle_off_focused_holo_light.9.png | Bin 0 -> 452 bytes ...aintheme_btn_toggle_off_normal_holo_light.9.png | Bin 0 -> 574 bytes ...intheme_btn_toggle_off_pressed_holo_light.9.png | Bin 0 -> 546 bytes ...btn_toggle_on_disabled_focused_holo_light.9.png | Bin 0 -> 452 bytes ...intheme_btn_toggle_on_disabled_holo_light.9.png | Bin 0 -> 633 bytes ...aintheme_btn_toggle_on_focused_holo_light.9.png | Bin 0 -> 525 bytes ...haintheme_btn_toggle_on_normal_holo_light.9.png | Bin 0 -> 567 bytes ...aintheme_btn_toggle_on_pressed_holo_light.9.png | Bin 0 -> 721 bytes ...keychaintheme_fastscroll_thumb_default_holo.png | Bin 0 -> 323 bytes ...keychaintheme_fastscroll_thumb_pressed_holo.png | Bin 0 -> 611 bytes .../keychaintheme_list_activated_holo.9.png | Bin 121 -> 121 bytes .../keychaintheme_list_focused_holo.9.png | Bin 154 -> 154 bytes ...keychaintheme_progress_primary_holo_light.9.png | Bin 477 -> 476 bytes ...ychaintheme_progress_secondary_holo_light.9.png | Bin 150 -> 150 bytes ...ychaintheme_progressbar_indeterminate_holo1.png | Bin 821 -> 889 bytes ...ychaintheme_progressbar_indeterminate_holo2.png | Bin 989 -> 1068 bytes ...ychaintheme_progressbar_indeterminate_holo3.png | Bin 1187 -> 1262 bytes ...ychaintheme_progressbar_indeterminate_holo4.png | Bin 1135 -> 1218 bytes ...ychaintheme_progressbar_indeterminate_holo5.png | Bin 1083 -> 1183 bytes ...ychaintheme_progressbar_indeterminate_holo6.png | Bin 1190 -> 1297 bytes ...ychaintheme_progressbar_indeterminate_holo7.png | Bin 1069 -> 1155 bytes ...ychaintheme_progressbar_indeterminate_holo8.png | Bin 1055 -> 1139 bytes ...eychaintheme_scrubber_control_disabled_holo.png | Bin 0 -> 1101 bytes ...keychaintheme_scrubber_control_focused_holo.png | Bin 0 -> 1392 bytes .../keychaintheme_scrubber_control_normal_holo.png | Bin 0 -> 1610 bytes ...keychaintheme_scrubber_control_pressed_holo.png | Bin 0 -> 2366 bytes .../keychaintheme_scrubber_primary_holo.9.png | Bin 0 -> 156 bytes .../keychaintheme_scrubber_secondary_holo.9.png | Bin 0 -> 154 bytes .../keychaintheme_scrubber_track_holo_light.9.png | Bin 0 -> 175 bytes .../keychaintheme_spinner_default_holo_light.9.png | Bin 392 -> 408 bytes .../keychaintheme_spinner_focused_holo_light.9.png | Bin 659 -> 645 bytes .../keychaintheme_text_select_handle_left.png | Bin 0 -> 1859 bytes .../keychaintheme_text_select_handle_middle.png | Bin 0 -> 2075 bytes .../keychaintheme_text_select_handle_right.png | Bin 0 -> 2065 bytes ...chaintheme_textfield_activated_holo_light.9.png | Bin 237 -> 234 bytes ...eychaintheme_textfield_focused_holo_light.9.png | Bin 434 -> 432 bytes .../apptheme_fastscroll_thumb_default_holo.png | Bin 600 -> 0 bytes .../apptheme_fastscroll_thumb_pressed_holo.png | Bin 911 -> 0 bytes ...e_btn_check_off_disabled_focused_holo_light.png | Bin 455 -> 455 bytes ...chaintheme_btn_check_off_focused_holo_light.png | Bin 538 -> 541 bytes .../keychaintheme_btn_check_off_holo_light.png | Bin 329 -> 443 bytes ...me_btn_check_on_disabled_focused_holo_light.png | Bin 1117 -> 1112 bytes ...ychaintheme_btn_check_on_focused_holo_light.png | Bin 3942 -> 3906 bytes .../keychaintheme_btn_check_on_holo_light.png | Bin 3606 -> 3595 bytes ...e_btn_default_disabled_focused_holo_light.9.png | Bin 544 -> 542 bytes ...chaintheme_btn_default_focused_holo_light.9.png | Bin 834 -> 826 bytes ...ychaintheme_btn_default_normal_holo_light.9.png | Bin 890 -> 972 bytes ...e_btn_radio_off_disabled_focused_holo_light.png | Bin 2511 -> 2512 bytes ...chaintheme_btn_radio_off_focused_holo_light.png | Bin 2720 -> 2706 bytes .../keychaintheme_btn_radio_off_holo_light.png | Bin 1490 -> 1660 bytes ...me_btn_radio_on_disabled_focused_holo_light.png | Bin 4515 -> 4512 bytes ...ychaintheme_btn_radio_on_focused_holo_light.png | Bin 4895 -> 4769 bytes .../keychaintheme_btn_radio_on_holo_light.png | Bin 3657 -> 3485 bytes ...tn_toggle_off_disabled_focused_holo_light.9.png | Bin 0 -> 633 bytes ...ntheme_btn_toggle_off_disabled_holo_light.9.png | Bin 0 -> 1662 bytes ...intheme_btn_toggle_off_focused_holo_light.9.png | Bin 0 -> 653 bytes ...aintheme_btn_toggle_off_normal_holo_light.9.png | Bin 0 -> 852 bytes ...intheme_btn_toggle_off_pressed_holo_light.9.png | Bin 0 -> 869 bytes ...btn_toggle_on_disabled_focused_holo_light.9.png | Bin 0 -> 703 bytes ...intheme_btn_toggle_on_disabled_holo_light.9.png | Bin 0 -> 1033 bytes ...aintheme_btn_toggle_on_focused_holo_light.9.png | Bin 0 -> 781 bytes ...haintheme_btn_toggle_on_normal_holo_light.9.png | Bin 0 -> 847 bytes ...aintheme_btn_toggle_on_pressed_holo_light.9.png | Bin 0 -> 1197 bytes ...keychaintheme_fastscroll_thumb_default_holo.png | Bin 0 -> 623 bytes ...keychaintheme_fastscroll_thumb_pressed_holo.png | Bin 0 -> 980 bytes .../keychaintheme_list_activated_holo.9.png | Bin 133 -> 133 bytes .../keychaintheme_list_focused_holo.9.png | Bin 158 -> 158 bytes ...keychaintheme_progress_primary_holo_light.9.png | Bin 847 -> 847 bytes ...ychaintheme_progress_secondary_holo_light.9.png | Bin 147 -> 145 bytes ...ychaintheme_progressbar_indeterminate_holo1.png | Bin 1328 -> 1351 bytes ...ychaintheme_progressbar_indeterminate_holo2.png | Bin 1631 -> 1654 bytes ...ychaintheme_progressbar_indeterminate_holo3.png | Bin 1909 -> 1926 bytes ...ychaintheme_progressbar_indeterminate_holo4.png | Bin 1906 -> 1924 bytes ...ychaintheme_progressbar_indeterminate_holo5.png | Bin 1801 -> 1857 bytes ...ychaintheme_progressbar_indeterminate_holo6.png | Bin 1947 -> 1991 bytes ...ychaintheme_progressbar_indeterminate_holo7.png | Bin 1745 -> 1771 bytes ...ychaintheme_progressbar_indeterminate_holo8.png | Bin 1748 -> 1772 bytes ...eychaintheme_scrubber_control_disabled_holo.png | Bin 0 -> 1403 bytes ...keychaintheme_scrubber_control_focused_holo.png | Bin 0 -> 2105 bytes .../keychaintheme_scrubber_control_normal_holo.png | Bin 0 -> 2534 bytes ...keychaintheme_scrubber_control_pressed_holo.png | Bin 0 -> 2720 bytes .../keychaintheme_scrubber_primary_holo.9.png | Bin 0 -> 149 bytes .../keychaintheme_scrubber_secondary_holo.9.png | Bin 0 -> 150 bytes .../keychaintheme_scrubber_track_holo_light.9.png | Bin 0 -> 1095 bytes .../keychaintheme_spinner_default_holo_light.9.png | Bin 443 -> 473 bytes .../keychaintheme_spinner_focused_holo_light.9.png | Bin 696 -> 691 bytes .../keychaintheme_text_select_handle_left.png | Bin 0 -> 2823 bytes .../keychaintheme_text_select_handle_middle.png | Bin 0 -> 3098 bytes .../keychaintheme_text_select_handle_right.png | Bin 0 -> 2712 bytes ...chaintheme_textfield_activated_holo_light.9.png | Bin 338 -> 334 bytes ...eychaintheme_textfield_focused_holo_light.9.png | Bin 513 -> 511 bytes .../drawable/apptheme_fastscroll_thumb_holo.xml | 20 --------- .../keychaintheme_btn_toggle_holo_light.xml | 50 +++++++++++++++++++++ .../keychaintheme_fastscroll_thumb_holo.xml | 20 +++++++++ ...ntheme_scrubber_control_selector_holo_light.xml | 22 +++++++++ ...eme_scrubber_progress_horizontal_holo_light.xml | 28 ++++++++++++ .../main/res/values-v11/styles_keychaintheme.xml | 35 --------------- .../main/res/values-v11/themes_keychaintheme.xml | 32 ------------- .../src/main/res/values/colors_keychaintheme.xml | 4 ++ .../src/main/res/values/styles_keychaintheme.xml | 39 ++++++++++++++++ OpenKeychain/src/main/res/values/themes.xml | 2 +- .../src/main/res/values/themes_keychaintheme.xml | 43 ++++++++++++++++++ 229 files changed, 207 insertions(+), 88 deletions(-) delete mode 100644 OpenKeychain/src/main/res/drawable-hdpi/apptheme_fastscroll_thumb_default_holo.png delete mode 100644 OpenKeychain/src/main/res/drawable-hdpi/apptheme_fastscroll_thumb_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_fastscroll_thumb_default_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_fastscroll_thumb_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_disabled_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_focused_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_normal_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_primary_holo.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_secondary_holo.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_track_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_left.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_middle.png create mode 100644 OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_right.png delete mode 100644 OpenKeychain/src/main/res/drawable-mdpi/apptheme_fastscroll_thumb_default_holo.png delete mode 100644 OpenKeychain/src/main/res/drawable-mdpi/apptheme_fastscroll_thumb_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_fastscroll_thumb_default_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_fastscroll_thumb_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_disabled_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_focused_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_normal_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_primary_holo.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_secondary_holo.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_track_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_left.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_middle.png create mode 100644 OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_right.png delete mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/apptheme_fastscroll_thumb_default_holo.png delete mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/apptheme_fastscroll_thumb_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_fastscroll_thumb_default_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_fastscroll_thumb_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_disabled_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_focused_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_normal_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_primary_holo.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_secondary_holo.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_track_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_left.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_middle.png create mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_right.png delete mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/apptheme_fastscroll_thumb_default_holo.png delete mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/apptheme_fastscroll_thumb_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_fastscroll_thumb_default_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_fastscroll_thumb_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_disabled_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_focused_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_normal_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_pressed_holo.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_primary_holo.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_secondary_holo.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_track_holo_light.9.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_left.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_middle.png create mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_right.png delete mode 100644 OpenKeychain/src/main/res/drawable/apptheme_fastscroll_thumb_holo.xml create mode 100644 OpenKeychain/src/main/res/drawable/keychaintheme_btn_toggle_holo_light.xml create mode 100644 OpenKeychain/src/main/res/drawable/keychaintheme_fastscroll_thumb_holo.xml create mode 100644 OpenKeychain/src/main/res/drawable/keychaintheme_scrubber_control_selector_holo_light.xml create mode 100644 OpenKeychain/src/main/res/drawable/keychaintheme_scrubber_progress_horizontal_holo_light.xml delete mode 100644 OpenKeychain/src/main/res/values-v11/styles_keychaintheme.xml delete mode 100644 OpenKeychain/src/main/res/values-v11/themes_keychaintheme.xml create mode 100644 OpenKeychain/src/main/res/values/colors_keychaintheme.xml create mode 100644 OpenKeychain/src/main/res/values/styles_keychaintheme.xml create mode 100644 OpenKeychain/src/main/res/values/themes_keychaintheme.xml diff --git a/OpenKeychain/src/main/res/drawable-hdpi/apptheme_fastscroll_thumb_default_holo.png b/OpenKeychain/src/main/res/drawable-hdpi/apptheme_fastscroll_thumb_default_holo.png deleted file mode 100644 index 0ddafab03..000000000 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/apptheme_fastscroll_thumb_default_holo.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/apptheme_fastscroll_thumb_pressed_holo.png b/OpenKeychain/src/main/res/drawable-hdpi/apptheme_fastscroll_thumb_pressed_holo.png deleted file mode 100644 index c062b17f8..000000000 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/apptheme_fastscroll_thumb_pressed_holo.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png index f74fcdd8d..964832508 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_off_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_off_focused_holo_light.png index 58a99014e..6f221e7cb 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_off_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_off_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png index 1d06ee46f..cd3de280a 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_focused_holo_light.png index 0f9718950..e271afeff 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_holo_light.png index 8db606b56..0d06ce453 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_check_on_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png index 8ee0aa89c..d1e8f795f 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_default_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_default_focused_holo_light.9.png index e6ce2835c..5b295174b 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_default_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_default_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png index 0dc2a75ab..0d079e5fe 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_focused_holo_light.png index 0c22251f3..7ef86d832 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_holo_light.png index 932257123..5021bb434 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_off_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png index 82eb795b8..e1e75b295 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_focused_holo_light.png index fbee3366d..c627a6247 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_holo_light.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_holo_light.png index eda8002eb..0a45b94a4 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_holo_light.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_radio_on_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png new file mode 100644 index 000000000..49343edc3 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png new file mode 100644 index 000000000..a7e6bc3c5 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png new file mode 100644 index 000000000..c31f805bd Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png new file mode 100644 index 000000000..aba55810b Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png new file mode 100644 index 000000000..9f68344ab Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png new file mode 100644 index 000000000..0cb6fcfef Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png new file mode 100644 index 000000000..aed04dd6c Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png new file mode 100644 index 000000000..43329514c Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png new file mode 100644 index 000000000..1d7474560 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png new file mode 100644 index 000000000..a0d649d24 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_fastscroll_thumb_default_holo.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_fastscroll_thumb_default_holo.png new file mode 100644 index 000000000..5ea146b28 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_fastscroll_thumb_default_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_fastscroll_thumb_pressed_holo.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_fastscroll_thumb_pressed_holo.png new file mode 100644 index 000000000..25ad77295 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_fastscroll_thumb_pressed_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_list_activated_holo.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_list_activated_holo.9.png index e98c2a4d2..63c53a343 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_list_activated_holo.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_list_activated_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_list_focused_holo.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_list_focused_holo.9.png index 84d9006eb..59d605fba 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_list_focused_holo.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_list_focused_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progress_primary_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progress_primary_holo_light.9.png index c14605dab..e3ce6fd56 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progress_primary_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progress_primary_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progress_secondary_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progress_secondary_holo_light.9.png index 60aefe181..ade0f6d82 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progress_secondary_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progress_secondary_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo1.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo1.png index b9977dedb..3889a0e92 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo1.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo1.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo2.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo2.png index 88601174a..d4ca8797f 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo2.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo2.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo3.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo3.png index 6cd634a91..099ba55de 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo3.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo3.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo4.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo4.png index 9456cf4e1..99c38df70 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo4.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo4.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo5.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo5.png index fc6c57e16..cd380c371 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo5.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo5.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo6.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo6.png index 3c2e03356..ddba06e81 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo6.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo6.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo7.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo7.png index 2618d0e50..cef58060d 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo7.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo7.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo8.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo8.png index 56745c26b..74b6d01ae 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo8.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_progressbar_indeterminate_holo8.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_disabled_holo.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_disabled_holo.png new file mode 100644 index 000000000..1a9ced650 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_disabled_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_focused_holo.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_focused_holo.png new file mode 100644 index 000000000..b873aeb30 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_focused_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_normal_holo.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_normal_holo.png new file mode 100644 index 000000000..6451fe6e4 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_normal_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_pressed_holo.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_pressed_holo.png new file mode 100644 index 000000000..480786ac4 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_control_pressed_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_primary_holo.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_primary_holo.9.png new file mode 100644 index 000000000..6bc032e27 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_primary_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_secondary_holo.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_secondary_holo.9.png new file mode 100644 index 000000000..880456b02 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_secondary_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_track_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_track_holo_light.9.png new file mode 100644 index 000000000..90528b130 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_scrubber_track_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_spinner_default_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_spinner_default_holo_light.9.png index a02ebb450..a5fd6ca04 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_spinner_default_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_spinner_default_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_spinner_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_spinner_focused_holo_light.9.png index 12c3cd5af..ae4ba5fc1 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_spinner_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_spinner_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_left.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_left.png new file mode 100644 index 000000000..5f262c9d4 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_left.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_middle.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_middle.png new file mode 100644 index 000000000..e4f292ff6 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_middle.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_right.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_right.png new file mode 100644 index 000000000..5f5e7f173 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_text_select_handle_right.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_activated_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_activated_holo_light.9.png index 70691cddc..9f400ba30 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_activated_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_activated_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_default_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_default_holo_light.9.png index d5ac69c23..5fa1d0315 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_default_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_default_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_focused_holo_light.9.png index 257eba9a0..96109c07b 100644 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-hdpi/keychaintheme_textfield_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/apptheme_fastscroll_thumb_default_holo.png b/OpenKeychain/src/main/res/drawable-mdpi/apptheme_fastscroll_thumb_default_holo.png deleted file mode 100644 index ebffb16a0..000000000 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/apptheme_fastscroll_thumb_default_holo.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/apptheme_fastscroll_thumb_pressed_holo.png b/OpenKeychain/src/main/res/drawable-mdpi/apptheme_fastscroll_thumb_pressed_holo.png deleted file mode 100644 index b6739b564..000000000 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/apptheme_fastscroll_thumb_pressed_holo.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png index d7be4f996..10a3e55fa 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_off_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_off_focused_holo_light.png index 2c5949eb9..bd65c9fd5 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_off_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_off_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png index d5e0ef543..3d5364179 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_focused_holo_light.png index d12f33b7d..cae17c8da 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_holo_light.png index 517ea4302..d0ade76a2 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_check_on_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png index c6a653217..6cf3e64d9 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_focused_holo_light.9.png index dca8db91f..0edd1628a 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_normal_holo_light.9.png index 502f762af..bbe7baafc 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_normal_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_default_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png index ef648d9df..e61c664c5 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_focused_holo_light.png index aefa6e2c7..325125494 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_holo_light.png index 590c37c6c..0d81a6ad4 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_off_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png index fa981c2f4..72f7f3717 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_focused_holo_light.png index b7421f31a..0599c3d62 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_holo_light.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_holo_light.png index 0f3beeea6..247f8c19d 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_holo_light.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_radio_on_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png new file mode 100644 index 000000000..bf6992195 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png new file mode 100644 index 000000000..3a35a4e3e Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png new file mode 100644 index 000000000..0516d15e5 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png new file mode 100644 index 000000000..37f70c55d Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png new file mode 100644 index 000000000..98a9f10ac Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png new file mode 100644 index 000000000..f54b70ffd Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png new file mode 100644 index 000000000..603cb3f30 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png new file mode 100644 index 000000000..e9c001eed Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png new file mode 100644 index 000000000..36b6534b5 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png new file mode 100644 index 000000000..54f56e187 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_fastscroll_thumb_default_holo.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_fastscroll_thumb_default_holo.png new file mode 100644 index 000000000..00c08d808 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_fastscroll_thumb_default_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_fastscroll_thumb_pressed_holo.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_fastscroll_thumb_pressed_holo.png new file mode 100644 index 000000000..2532f32dc Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_fastscroll_thumb_pressed_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_list_activated_holo.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_list_activated_holo.9.png index aa1130332..b6862ea33 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_list_activated_holo.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_list_activated_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_list_focused_holo.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_list_focused_holo.9.png index 8d1b4af83..cd4d77dc2 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_list_focused_holo.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_list_focused_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progress_primary_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progress_primary_holo_light.9.png index fdb236d7c..c1ec11fb9 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progress_primary_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progress_primary_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progress_secondary_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progress_secondary_holo_light.9.png index 64b72e8ee..14b87c197 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progress_secondary_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progress_secondary_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo1.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo1.png index 0cff52503..3331b051d 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo1.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo1.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo2.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo2.png index 3a290e871..c0540bb6d 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo2.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo2.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo3.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo3.png index d6b4a1326..fb502a712 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo3.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo3.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo4.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo4.png index 98061c845..184a0aceb 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo4.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo4.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo5.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo5.png index cf130fdf2..39115cb49 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo5.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo5.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo6.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo6.png index 72d43ea01..c70815d42 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo6.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo6.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo7.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo7.png index 6a7307dcf..48f0571fe 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo7.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo7.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo8.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo8.png index 0d3cb5fe7..242297424 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo8.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_progressbar_indeterminate_holo8.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_disabled_holo.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_disabled_holo.png new file mode 100644 index 000000000..97a637c1b Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_disabled_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_focused_holo.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_focused_holo.png new file mode 100644 index 000000000..60874b80c Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_focused_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_normal_holo.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_normal_holo.png new file mode 100644 index 000000000..5020b7947 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_normal_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_pressed_holo.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_pressed_holo.png new file mode 100644 index 000000000..e2beb812a Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_control_pressed_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_primary_holo.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_primary_holo.9.png new file mode 100644 index 000000000..55b07371f Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_primary_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_secondary_holo.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_secondary_holo.9.png new file mode 100644 index 000000000..9bfdf2318 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_secondary_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_track_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_track_holo_light.9.png new file mode 100644 index 000000000..359ae4a1b Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_scrubber_track_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_spinner_default_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_spinner_default_holo_light.9.png index 574ea43ba..5303d6ef4 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_spinner_default_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_spinner_default_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_spinner_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_spinner_focused_holo_light.9.png index 33c452dcd..add105bbb 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_spinner_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_spinner_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_left.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_left.png new file mode 100644 index 000000000..5cb13d1ac Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_left.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_middle.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_middle.png new file mode 100644 index 000000000..6a7607826 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_middle.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_right.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_right.png new file mode 100644 index 000000000..c354870e4 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_text_select_handle_right.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_activated_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_activated_holo_light.9.png index 4569d71a9..5358a857a 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_activated_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_activated_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_default_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_default_holo_light.9.png index 47302c93e..15efce9bb 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_default_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_default_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_focused_holo_light.9.png index 39ca1ffda..96a1ac5a2 100644 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-mdpi/keychaintheme_textfield_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/apptheme_fastscroll_thumb_default_holo.png b/OpenKeychain/src/main/res/drawable-xhdpi/apptheme_fastscroll_thumb_default_holo.png deleted file mode 100644 index 7c5e21eeb..000000000 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/apptheme_fastscroll_thumb_default_holo.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/apptheme_fastscroll_thumb_pressed_holo.png b/OpenKeychain/src/main/res/drawable-xhdpi/apptheme_fastscroll_thumb_pressed_holo.png deleted file mode 100644 index 86814b45d..000000000 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/apptheme_fastscroll_thumb_pressed_holo.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png index 0b0606462..8c444bb97 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_off_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_off_focused_holo_light.png index 65d850957..f0e76edea 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_off_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_off_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png index 80ad53ff0..74347750d 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_focused_holo_light.png index b72dea7f8..eb8004be8 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_holo_light.png index f24991826..00fe90604 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_check_on_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png index 5c122118e..73106561c 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_focused_holo_light.9.png index e738f8218..0611a95e6 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_normal_holo_light.9.png index 8bb32617b..908d601f7 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_normal_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_default_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png index 83af2dcc3..edcca62f9 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_focused_holo_light.png index b02c9b6d1..697ca2ca7 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_holo_light.png index 2360f30be..08b65d235 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_off_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png index 1a2ed89db..28a808de5 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_focused_holo_light.png index 306e47e71..8454a0e2a 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_holo_light.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_holo_light.png index d22876cb2..330b85e4f 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_holo_light.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_radio_on_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png new file mode 100644 index 000000000..bc74c108c Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png new file mode 100644 index 000000000..61230cbdc Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png new file mode 100644 index 000000000..2abf70dcf Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png new file mode 100644 index 000000000..54e5e8eb7 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png new file mode 100644 index 000000000..a096c03ca Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png new file mode 100644 index 000000000..fd43d3779 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png new file mode 100644 index 000000000..a1a66fbb0 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png new file mode 100644 index 000000000..0bd49f267 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png new file mode 100644 index 000000000..7d1ba0c4a Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png new file mode 100644 index 000000000..7490663c6 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_fastscroll_thumb_default_holo.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_fastscroll_thumb_default_holo.png new file mode 100644 index 000000000..da5a4cdb5 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_fastscroll_thumb_default_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_fastscroll_thumb_pressed_holo.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_fastscroll_thumb_pressed_holo.png new file mode 100644 index 000000000..bea07662b Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_fastscroll_thumb_pressed_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_list_activated_holo.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_list_activated_holo.9.png index 6a24d21e7..053686014 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_list_activated_holo.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_list_activated_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_list_focused_holo.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_list_focused_holo.9.png index 430387245..75c9e3340 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_list_focused_holo.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_list_focused_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progress_primary_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progress_primary_holo_light.9.png index 9e08305f5..582d3a05e 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progress_primary_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progress_primary_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progress_secondary_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progress_secondary_holo_light.9.png index 95c75a6db..c5e146368 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progress_secondary_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progress_secondary_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo1.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo1.png index 06f79cba3..f5ce0144a 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo1.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo1.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo2.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo2.png index f7bae4cef..0289af47c 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo2.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo2.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo3.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo3.png index fc5808cbf..60fc76e51 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo3.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo3.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo4.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo4.png index ef108bdf4..ffffb0478 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo4.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo4.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo5.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo5.png index f826eee36..9d4354800 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo5.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo5.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo6.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo6.png index dfd468fe9..b9bd4c6ec 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo6.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo6.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo7.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo7.png index 6a223873c..b33d3eec2 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo7.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo7.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo8.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo8.png index 27a2832af..1df288012 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo8.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_progressbar_indeterminate_holo8.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_disabled_holo.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_disabled_holo.png new file mode 100644 index 000000000..c3389745f Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_disabled_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_focused_holo.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_focused_holo.png new file mode 100644 index 000000000..971f70f9f Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_focused_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_normal_holo.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_normal_holo.png new file mode 100644 index 000000000..e97197c5a Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_normal_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_pressed_holo.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_pressed_holo.png new file mode 100644 index 000000000..afa8bcdc2 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_control_pressed_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_primary_holo.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_primary_holo.9.png new file mode 100644 index 000000000..2f81fdcac Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_primary_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_secondary_holo.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_secondary_holo.9.png new file mode 100644 index 000000000..51d99830f Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_secondary_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_track_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_track_holo_light.9.png new file mode 100644 index 000000000..a7d396de2 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_scrubber_track_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_spinner_default_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_spinner_default_holo_light.9.png index 10458c01a..8c469f65d 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_spinner_default_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_spinner_default_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_spinner_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_spinner_focused_holo_light.9.png index e4d7abf4d..4de02f1ff 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_spinner_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_spinner_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_left.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_left.png new file mode 100644 index 000000000..1d7ea81b1 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_left.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_middle.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_middle.png new file mode 100644 index 000000000..e66240fe2 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_middle.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_right.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_right.png new file mode 100644 index 000000000..92ae3058b Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_text_select_handle_right.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_textfield_activated_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_textfield_activated_holo_light.9.png index dc19219cf..d133f4614 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_textfield_activated_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_textfield_activated_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_textfield_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_textfield_focused_holo_light.9.png index b84a6fed1..88fe46270 100644 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_textfield_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xhdpi/keychaintheme_textfield_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/apptheme_fastscroll_thumb_default_holo.png b/OpenKeychain/src/main/res/drawable-xxhdpi/apptheme_fastscroll_thumb_default_holo.png deleted file mode 100644 index 5e4818bfc..000000000 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/apptheme_fastscroll_thumb_default_holo.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/apptheme_fastscroll_thumb_pressed_holo.png b/OpenKeychain/src/main/res/drawable-xxhdpi/apptheme_fastscroll_thumb_pressed_holo.png deleted file mode 100644 index 7dd89e1f4..000000000 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/apptheme_fastscroll_thumb_pressed_holo.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png index c0fdc45b0..645a7bf93 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_focused_holo_light.png index 911bad8a3..bcadf4553 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_holo_light.png index 310ab257c..441cd8660 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_off_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png index 456471129..ed742229d 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_focused_holo_light.png index e67994690..6ac275165 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_holo_light.png index 0c5038fc0..c40b01964 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_check_on_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png index e90491aee..2268fd1cd 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_focused_holo_light.9.png index a0ba2a3a2..9cfe77d71 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_normal_holo_light.9.png index 24daa6b8a..ee4d44903 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_normal_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_default_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png index 78ab31858..1575dcdaf 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_focused_holo_light.png index 2af5bf37b..2438d4e96 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_holo_light.png index 7d6fa76cd..6112308fa 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_off_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png index 01e04d15e..90163e927 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_disabled_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_focused_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_focused_holo_light.png index 90c4cac28..f9ade3353 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_focused_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_focused_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_holo_light.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_holo_light.png index 7860fc848..df1188084 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_holo_light.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_radio_on_holo_light.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png new file mode 100644 index 000000000..0e343f7be Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png new file mode 100644 index 000000000..9b3900a77 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_disabled_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png new file mode 100644 index 000000000..e4742d90e Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png new file mode 100644 index 000000000..d3ef0e1a6 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png new file mode 100644 index 000000000..c9edf5c87 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_off_pressed_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png new file mode 100644 index 000000000..71a96f167 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_disabled_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png new file mode 100644 index 000000000..f0d3a6c97 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_disabled_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png new file mode 100644 index 000000000..90423ce4e Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png new file mode 100644 index 000000000..4c95cf030 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_normal_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png new file mode 100644 index 000000000..f907579a0 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_btn_toggle_on_pressed_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_fastscroll_thumb_default_holo.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_fastscroll_thumb_default_holo.png new file mode 100644 index 000000000..bb03584f3 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_fastscroll_thumb_default_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_fastscroll_thumb_pressed_holo.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_fastscroll_thumb_pressed_holo.png new file mode 100644 index 000000000..6167f00a5 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_fastscroll_thumb_pressed_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_list_activated_holo.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_list_activated_holo.9.png index b3b0da723..b6b64d316 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_list_activated_holo.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_list_activated_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_list_focused_holo.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_list_focused_holo.9.png index 0458c7f37..443ba5db5 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_list_focused_holo.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_list_focused_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progress_primary_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progress_primary_holo_light.9.png index f89b6477b..16a92d086 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progress_primary_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progress_primary_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progress_secondary_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progress_secondary_holo_light.9.png index 30a079d6e..f9622cb95 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progress_secondary_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progress_secondary_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo1.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo1.png index ca952535f..a7cd41efa 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo1.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo1.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo2.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo2.png index 88804968f..ee8b812aa 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo2.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo2.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo3.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo3.png index 580a9cf9c..9ef2f180b 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo3.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo3.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo4.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo4.png index 8ce77b135..46dddfa8d 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo4.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo4.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo5.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo5.png index 9c17f17a2..808d452ce 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo5.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo5.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo6.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo6.png index 2cab8426e..49858655c 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo6.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo6.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo7.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo7.png index 18d252948..c9ad3229b 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo7.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo7.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo8.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo8.png index d0632ca2d..158279fbd 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo8.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_progressbar_indeterminate_holo8.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_disabled_holo.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_disabled_holo.png new file mode 100644 index 000000000..6c4fe4e8e Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_disabled_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_focused_holo.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_focused_holo.png new file mode 100644 index 000000000..37055e319 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_focused_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_normal_holo.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_normal_holo.png new file mode 100644 index 000000000..f6eeaa9e5 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_normal_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_pressed_holo.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_pressed_holo.png new file mode 100644 index 000000000..43eca997b Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_control_pressed_holo.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_primary_holo.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_primary_holo.9.png new file mode 100644 index 000000000..cac367df7 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_primary_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_secondary_holo.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_secondary_holo.9.png new file mode 100644 index 000000000..a9cef40e2 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_secondary_holo.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_track_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_track_holo_light.9.png new file mode 100644 index 000000000..1a6f577fc Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_scrubber_track_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_spinner_default_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_spinner_default_holo_light.9.png index f9facd05d..dfcd63db7 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_spinner_default_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_spinner_default_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_spinner_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_spinner_focused_holo_light.9.png index f7a9f7c55..e3e6c8c0f 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_spinner_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_spinner_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_left.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_left.png new file mode 100644 index 000000000..f55d53bb5 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_left.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_middle.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_middle.png new file mode 100644 index 000000000..212d020b0 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_middle.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_right.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_right.png new file mode 100644 index 000000000..cdffc3863 Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_text_select_handle_right.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_textfield_activated_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_textfield_activated_holo_light.9.png index 733255647..f445e8b33 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_textfield_activated_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_textfield_activated_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_textfield_focused_holo_light.9.png b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_textfield_focused_holo_light.9.png index 01af8180e..e019443f9 100644 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_textfield_focused_holo_light.9.png and b/OpenKeychain/src/main/res/drawable-xxhdpi/keychaintheme_textfield_focused_holo_light.9.png differ diff --git a/OpenKeychain/src/main/res/drawable/apptheme_fastscroll_thumb_holo.xml b/OpenKeychain/src/main/res/drawable/apptheme_fastscroll_thumb_holo.xml deleted file mode 100644 index e7121f083..000000000 --- a/OpenKeychain/src/main/res/drawable/apptheme_fastscroll_thumb_holo.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_btn_toggle_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_btn_toggle_holo_light.xml new file mode 100644 index 000000000..733728e79 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable/keychaintheme_btn_toggle_holo_light.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_fastscroll_thumb_holo.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_fastscroll_thumb_holo.xml new file mode 100644 index 000000000..51b376345 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable/keychaintheme_fastscroll_thumb_holo.xml @@ -0,0 +1,20 @@ + + + + + + + diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_scrubber_control_selector_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_scrubber_control_selector_holo_light.xml new file mode 100644 index 000000000..a3b3530ac --- /dev/null +++ b/OpenKeychain/src/main/res/drawable/keychaintheme_scrubber_control_selector_holo_light.xml @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_scrubber_progress_horizontal_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_scrubber_progress_horizontal_holo_light.xml new file mode 100644 index 000000000..4ecf8a6c1 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable/keychaintheme_scrubber_progress_horizontal_holo_light.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + diff --git a/OpenKeychain/src/main/res/values-v11/styles_keychaintheme.xml b/OpenKeychain/src/main/res/values-v11/styles_keychaintheme.xml deleted file mode 100644 index 0b6c4c4f5..000000000 --- a/OpenKeychain/src/main/res/values-v11/styles_keychaintheme.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/values-v11/themes_keychaintheme.xml b/OpenKeychain/src/main/res/values-v11/themes_keychaintheme.xml deleted file mode 100644 index 6db455383..000000000 --- a/OpenKeychain/src/main/res/values-v11/themes_keychaintheme.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - diff --git a/OpenKeychain/src/main/res/values/colors_keychaintheme.xml b/OpenKeychain/src/main/res/values/colors_keychaintheme.xml new file mode 100644 index 000000000..e9b8c9350 --- /dev/null +++ b/OpenKeychain/src/main/res/values/colors_keychaintheme.xml @@ -0,0 +1,4 @@ + + + #4caf50 + diff --git a/OpenKeychain/src/main/res/values/styles_keychaintheme.xml b/OpenKeychain/src/main/res/values/styles_keychaintheme.xml new file mode 100644 index 000000000..2913ad4c1 --- /dev/null +++ b/OpenKeychain/src/main/res/values/styles_keychaintheme.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/values/themes.xml b/OpenKeychain/src/main/res/values/themes.xml index 864e2805c..2f5577f00 100644 --- a/OpenKeychain/src/main/res/values/themes.xml +++ b/OpenKeychain/src/main/res/values/themes.xml @@ -3,7 +3,7 @@ + + \ No newline at end of file -- cgit v1.2.3 From d8ff737fc5392362707ad70fbe964ac9e299457f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 13 Jan 2015 23:15:13 +0100 Subject: Use Toolbar and new BaseActivity --- .../keychain/ui/CertifyKeyActivity.java | 8 +- .../keychain/ui/CreateKeyActivity.java | 9 +- .../keychain/ui/EditKeyActivity.java | 9 +- .../keychain/ui/FirstTimeActivity.java | 8 +- .../keychain/ui/HelpActivity.java | 9 +- .../keychain/ui/ImportKeysActivity.java | 9 +- .../keychain/ui/LogDisplayActivity.java | 7 +- .../keychain/ui/NfcActivity.java | 9 +- .../keychain/ui/NfcIntentActivity.java | 8 +- .../keychain/ui/QrCodeViewActivity.java | 9 +- .../keychain/ui/SafeSlingerActivity.java | 9 +- .../keychain/ui/SelectPublicKeyActivity.java | 9 +- .../keychain/ui/UploadKeyActivity.java | 9 +- .../keychain/ui/ViewCertActivity.java | 9 +- .../keychain/ui/ViewKeyActivity.java | 11 +- .../keychain/ui/ViewKeyAdvancedActivity.java | 9 +- .../res/layout/api_account_settings_activity.xml | 41 +- .../main/res/layout/api_app_settings_activity.xml | 62 +-- .../src/main/res/layout/api_apps_list_content.xml | 18 +- .../main/res/layout/api_remote_create_account.xml | 63 +-- .../main/res/layout/api_remote_error_message.xml | 37 +- .../main/res/layout/api_remote_register_app.xml | 53 ++- .../main/res/layout/api_remote_select_pub_keys.xml | 45 ++- .../src/main/res/layout/certify_key_activity.xml | 37 +- .../src/main/res/layout/create_key_activity.xml | 27 +- .../src/main/res/layout/decrypt_content.xml | 184 ++++----- .../src/main/res/layout/decrypt_text_activity.xml | 26 +- .../src/main/res/layout/edit_key_activity.xml | 26 +- .../res/layout/encrypt_content_adv_settings.xml | 31 +- .../src/main/res/layout/encrypt_files_content.xml | 42 +- .../src/main/res/layout/encrypt_text_content.xml | 37 +- OpenKeychain/src/main/res/layout/help_activity.xml | 33 +- .../src/main/res/layout/import_keys_activity.xml | 112 +++--- .../src/main/res/layout/key_server_preference.xml | 142 +++---- .../src/main/res/layout/log_display_activity.xml | 32 +- OpenKeychain/src/main/res/layout/nfc_activity.xml | 49 ++- .../src/main/res/layout/qr_code_activity.xml | 26 +- .../src/main/res/layout/safe_slinger_activity.xml | 125 +++--- .../main/res/layout/select_public_key_activity.xml | 20 +- .../src/main/res/layout/upload_key_activity.xml | 112 +++--- .../src/main/res/layout/view_cert_activity.xml | 423 +++++++++++---------- .../src/main/res/layout/view_key_activity.xml | 94 +++-- .../main/res/layout/view_key_advanced_activity.xml | 30 +- 43 files changed, 1190 insertions(+), 878 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java index a97e73934..24d002368 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyActivity.java @@ -26,17 +26,15 @@ import org.sufficientlysecure.keychain.R; /** * Signs the specified public key with the specified secret master key */ -public class CertifyKeyActivity extends ActionBarActivity { +public class CertifyKeyActivity extends BaseActivity { public static final String EXTRA_RESULT = "operation_result"; public static final String EXTRA_KEY_IDS = "extra_key_ids"; public static final String EXTRA_CERTIFY_KEY_ID = "certify_key_id"; @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - setContentView(R.layout.certify_key_activity); + protected int getLayoutResource() { + return R.layout.certify_key_activity; } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java index 534ac5811..c95ad90a1 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyActivity.java @@ -24,7 +24,7 @@ import android.support.v7.app.ActionBarActivity; import org.sufficientlysecure.keychain.R; -public class CreateKeyActivity extends ActionBarActivity { +public class CreateKeyActivity extends BaseActivity { public static final String EXTRA_NAME = "name"; public static final String EXTRA_EMAIL = "email"; @@ -37,8 +37,6 @@ public class CreateKeyActivity extends ActionBarActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.create_key_activity); - // pass extras into fragment CreateKeyInputFragment frag = CreateKeyInputFragment.newInstance( @@ -48,6 +46,11 @@ public class CreateKeyActivity extends ActionBarActivity { loadFragment(null, frag, FRAG_ACTION_START); } + @Override + protected int getLayoutResource() { + return R.layout.create_key_activity; + } + public void loadFragment(Bundle savedInstanceState, Fragment fragment, int action) { // However, if we're being restored from a previous state, // then we don't need to do anything and should return or else diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java index 98049d89b..1615430e7 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java @@ -26,7 +26,7 @@ import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.service.SaveKeyringParcel; import org.sufficientlysecure.keychain.util.Log; -public class EditKeyActivity extends ActionBarActivity { +public class EditKeyActivity extends BaseActivity { public static final String EXTRA_SAVE_KEYRING_PARCEL = "save_keyring_parcel"; @@ -36,8 +36,6 @@ public class EditKeyActivity extends ActionBarActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.edit_key_activity); - Uri dataUri = getIntent().getData(); SaveKeyringParcel saveKeyringParcel = getIntent().getParcelableExtra(EXTRA_SAVE_KEYRING_PARCEL); if (dataUri == null && saveKeyringParcel == null) { @@ -49,6 +47,11 @@ public class EditKeyActivity extends ActionBarActivity { loadFragment(savedInstanceState, dataUri, saveKeyringParcel); } + @Override + protected int getLayoutResource() { + return R.layout.edit_key_activity; + } + private void loadFragment(Bundle savedInstanceState, Uri dataUri, SaveKeyringParcel saveKeyringParcel) { // However, if we're being restored from a previous state, // then we don't need to do anything and should return or else diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/FirstTimeActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/FirstTimeActivity.java index f18e475fc..277b08c48 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/FirstTimeActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/FirstTimeActivity.java @@ -29,7 +29,7 @@ import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.util.Preferences; import org.sufficientlysecure.keychain.util.Log; -public class FirstTimeActivity extends ActionBarActivity { +public class FirstTimeActivity extends BaseActivity { View mCreateKey; View mImportKey; @@ -43,8 +43,6 @@ public class FirstTimeActivity extends ActionBarActivity { super.onCreate(savedInstanceState); - setContentView(R.layout.first_time_activity); - mCreateKey = findViewById(R.id.first_time_create_key); mImportKey = findViewById(R.id.first_time_import_key); mSkipSetup = findViewById(R.id.first_time_cancel); @@ -72,7 +70,11 @@ public class FirstTimeActivity extends ActionBarActivity { startActivityForResult(intent, REQUEST_CODE_CREATE_OR_IMPORT_KEY); } }); + } + @Override + protected int getLayoutResource() { + return R.layout.first_time_activity; } @Override diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java index bbc1e4b1f..412de9984 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/HelpActivity.java @@ -27,7 +27,7 @@ import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.ui.adapter.PagerTabStripAdapter; import org.sufficientlysecure.keychain.ui.widget.SlidingTabLayout; -public class HelpActivity extends ActionBarActivity { +public class HelpActivity extends BaseActivity { public static final String EXTRA_SELECTED_TAB = "selected_tab"; public static final int TAB_START = 0; @@ -49,8 +49,6 @@ public class HelpActivity extends ActionBarActivity { actionBar.setDisplayHomeAsUpEnabled(false); actionBar.setHomeButtonEnabled(false); - setContentView(R.layout.help_activity); - mViewPager = (ViewPager) findViewById(R.id.pager); SlidingTabLayout slidingTabLayout = (SlidingTabLayout) findViewById(R.id.sliding_tab_layout); @@ -98,4 +96,9 @@ public class HelpActivity extends ActionBarActivity { // switch to tab selected by extra mViewPager.setCurrentItem(selectedTab); } + + @Override + protected int getLayoutResource() { + return R.layout.help_activity; + } } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java index dfb7b3056..1e413f5ac 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java @@ -51,7 +51,7 @@ import org.sufficientlysecure.keychain.util.ParcelableFileCache.IteratorWithSize import java.io.IOException; import java.util.ArrayList; -public class ImportKeysActivity extends ActionBarActivity { +public class ImportKeysActivity extends BaseActivity { public static final String ACTION_IMPORT_KEY = OpenKeychainIntents.IMPORT_KEY; public static final String ACTION_IMPORT_KEY_FROM_KEYSERVER = OpenKeychainIntents.IMPORT_KEY_FROM_KEYSERVER; public static final String ACTION_IMPORT_KEY_FROM_KEYSERVER_AND_RETURN_RESULT = @@ -90,8 +90,6 @@ public class ImportKeysActivity extends ActionBarActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.import_keys_activity); - mImportButton = findViewById(R.id.import_import); mImportButton.setOnClickListener(new OnClickListener() { @Override @@ -103,6 +101,11 @@ public class ImportKeysActivity extends ActionBarActivity { handleActions(savedInstanceState, getIntent()); } + @Override + protected int getLayoutResource() { + return R.layout.import_keys_activity; + } + protected void handleActions(Bundle savedInstanceState, Intent intent) { String action = intent.getAction(); Bundle extras = intent.getExtras(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/LogDisplayActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/LogDisplayActivity.java index 4a2b88518..f5eac09b1 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/LogDisplayActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/LogDisplayActivity.java @@ -25,7 +25,7 @@ import android.view.View; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.ui.util.ActionBarHelper; -public class LogDisplayActivity extends ActionBarActivity { +public class LogDisplayActivity extends BaseActivity { @Override public void onCreate(Bundle savedInstanceState) { @@ -42,8 +42,11 @@ public class LogDisplayActivity extends ActionBarActivity { } } ); + } - setContentView(R.layout.log_display_activity); + @Override + protected int getLayoutResource() { + return R.layout.log_display_activity; } } \ No newline at end of file diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcActivity.java index d0e40a9b8..53b17654c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcActivity.java @@ -38,7 +38,7 @@ import java.util.Locale; * For the full specs, see http://g10code.com/docs/openpgp-card-2.0.pdf */ @TargetApi(Build.VERSION_CODES.GINGERBREAD_MR1) -public class NfcActivity extends ActionBarActivity { +public class NfcActivity extends BaseActivity { // actions public static final String ACTION_SIGN_HASH = "sign_hash"; @@ -82,8 +82,6 @@ public class NfcActivity extends ActionBarActivity { getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - setContentView(R.layout.nfc_activity); - Intent intent = getIntent(); Bundle data = intent.getExtras(); String action = intent.getAction(); @@ -123,6 +121,11 @@ public class NfcActivity extends ActionBarActivity { } } + @Override + protected int getLayoutResource() { + return R.layout.nfc_activity; + } + /** * Called when the system is about to start resuming a previous activity, * disables NFC Foreground Dispatch diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcIntentActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcIntentActivity.java index cb15dbec2..bb5277119 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcIntentActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcIntentActivity.java @@ -36,7 +36,7 @@ import java.nio.ByteBuffer; * For the full specs, see http://g10code.com/docs/openpgp-card-2.0.pdf */ @TargetApi(Build.VERSION_CODES.GINGERBREAD_MR1) -public class NfcIntentActivity extends ActionBarActivity { +public class NfcIntentActivity extends BaseActivity { // special extra for OpenPgpService public static final String EXTRA_DATA = "data"; @@ -54,8 +54,6 @@ public class NfcIntentActivity extends ActionBarActivity { getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - setContentView(R.layout.nfc_activity); - Intent intent = getIntent(); Bundle data = intent.getExtras(); String action = intent.getAction(); @@ -87,7 +85,11 @@ public class NfcIntentActivity extends ActionBarActivity { Log.e(Constants.TAG, "IOException!", e); finish(); } + } + @Override + protected int getLayoutResource() { + return R.layout.nfc_activity; } /** diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/QrCodeViewActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/QrCodeViewActivity.java index cf0c3eb88..b0343a961 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/QrCodeViewActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/QrCodeViewActivity.java @@ -36,7 +36,7 @@ import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.ui.util.Notify.Style; import org.sufficientlysecure.keychain.ui.util.QrCodeUtils; -public class QrCodeViewActivity extends ActionBarActivity { +public class QrCodeViewActivity extends BaseActivity { private ImageView mFingerprintQrCode; @@ -56,8 +56,6 @@ public class QrCodeViewActivity extends ActionBarActivity { } ); - setContentView(R.layout.qr_code_activity); - Uri dataUri = getIntent().getData(); if (dataUri == null) { Log.e(Constants.TAG, "Data missing. Should be Uri of key!"); @@ -108,6 +106,11 @@ public class QrCodeViewActivity extends ActionBarActivity { } } + @Override + protected int getLayoutResource() { + return R.layout.qr_code_activity; + } + @Override protected void onResume() { super.onResume(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java index c91d91ad9..deecffeea 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java @@ -56,7 +56,7 @@ import edu.cmu.cylab.starslinger.exchange.ExchangeActivity; import edu.cmu.cylab.starslinger.exchange.ExchangeConfig; @TargetApi(Build.VERSION_CODES.HONEYCOMB) -public class SafeSlingerActivity extends ActionBarActivity { +public class SafeSlingerActivity extends BaseActivity { private static final int REQUEST_CODE_SAFE_SLINGER = 211; @@ -69,8 +69,6 @@ public class SafeSlingerActivity extends ActionBarActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.safe_slinger_activity); - mMasterKeyId = getIntent().getLongExtra(EXTRA_MASTER_KEY_ID, 0); NumberPicker picker = (NumberPicker) findViewById(R.id.safe_slinger_picker); @@ -96,6 +94,11 @@ public class SafeSlingerActivity extends ActionBarActivity { }); } + @Override + protected int getLayoutResource() { + return R.layout.safe_slinger_activity; + } + private void startExchange(long masterKeyId, int number) { // retrieve public key blob and start SafeSlinger Uri uri = KeychainContract.KeyRingData.buildPublicKeyRingUri(masterKeyId); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java index 148aa7d67..3ee1e14cc 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java @@ -27,7 +27,7 @@ import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.ui.util.ActionBarHelper; -public class SelectPublicKeyActivity extends ActionBarActivity { +public class SelectPublicKeyActivity extends BaseActivity { // Actions for internal use only: public static final String ACTION_SELECT_PUBLIC_KEYS = Constants.INTENT_PREFIX @@ -63,8 +63,6 @@ public class SelectPublicKeyActivity extends ActionBarActivity { } ); - setContentView(R.layout.select_public_key_activity); - setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL); handleIntent(getIntent()); @@ -101,6 +99,11 @@ public class SelectPublicKeyActivity extends ActionBarActivity { } + @Override + protected int getLayoutResource() { + return R.layout.select_public_key_activity; + } + @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java index 497486a5e..297a35eb5 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java @@ -44,7 +44,7 @@ import org.sufficientlysecure.keychain.util.Log; /** * Sends the selected public key to a keyserver */ -public class UploadKeyActivity extends ActionBarActivity { +public class UploadKeyActivity extends BaseActivity { private View mUploadButton; private Spinner mKeyServerSpinner; @@ -54,8 +54,6 @@ public class UploadKeyActivity extends ActionBarActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.upload_key_activity); - mUploadButton = findViewById(R.id.upload_key_action_upload); mKeyServerSpinner = (Spinner) findViewById(R.id.upload_key_keyserver); @@ -86,6 +84,11 @@ public class UploadKeyActivity extends ActionBarActivity { } } + @Override + protected int getLayoutResource() { + return R.layout.upload_key_activity; + } + private void uploadKey() { // Send all information needed to service to upload key in other thread Intent intent = new Intent(this, KeychainIntentService.class); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewCertActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewCertActivity.java index 34c08a6c7..5dede6627 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewCertActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewCertActivity.java @@ -49,7 +49,7 @@ import org.sufficientlysecure.keychain.util.Log; import java.util.Date; -public class ViewCertActivity extends ActionBarActivity +public class ViewCertActivity extends BaseActivity implements LoaderManager.LoaderCallbacks { // These are the rows that we will retrieve. @@ -86,8 +86,6 @@ public class ViewCertActivity extends ActionBarActivity ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); - setContentView(R.layout.view_cert_activity); - mSigneeKey = (TextView) findViewById(R.id.signee_key); mSigneeUid = (TextView) findViewById(R.id.signee_uid); mAlgorithm = (TextView) findViewById(R.id.algorithm); @@ -112,6 +110,11 @@ public class ViewCertActivity extends ActionBarActivity getSupportLoaderManager().initLoader(0, null, this); } + @Override + protected int getLayoutResource() { + return R.layout.view_cert_activity; + } + @Override public Loader onCreateLoader(int id, Bundle args) { // Now create and return a CursorLoader that will take care of diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java index 0bc75b3a9..e441ff414 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java @@ -67,7 +67,7 @@ import org.sufficientlysecure.keychain.ui.util.Notify; import java.util.Date; import java.util.HashMap; -public class ViewKeyActivity extends ActionBarActivity implements +public class ViewKeyActivity extends BaseActivity implements LoaderManager.LoaderCallbacks { ExportHelper mExportHelper; @@ -111,8 +111,6 @@ public class ViewKeyActivity extends ActionBarActivity implements actionBar.setIcon(android.R.color.transparent); actionBar.setHomeButtonEnabled(true); - setContentView(R.layout.view_key_activity); - mStatusLayout = (LinearLayout) findViewById(R.id.view_key_status_layout); mStatusText = (TextView) findViewById(R.id.view_key_status_text); mStatusImage = (ImageView) findViewById(R.id.view_key_status_image); @@ -124,7 +122,7 @@ public class ViewKeyActivity extends ActionBarActivity implements mSlidingTabLayout.setCustomTabColorizer(new TabColorizer() { @Override public int getIndicatorColor(int position) { - return 0xFFAA66CC; + return 0xFF4caf50; } @Override @@ -169,6 +167,11 @@ public class ViewKeyActivity extends ActionBarActivity implements mViewPager.setCurrentItem(switchToTab); } + @Override + protected int getLayoutResource() { + return R.layout.view_key_activity; + } + private void initTabs(Uri dataUri) { mTabsAdapter = new PagerTabStripAdapter(this); mViewPager.setAdapter(mTabsAdapter); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvancedActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvancedActivity.java index f49f8e7cf..9fdcaaaf9 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvancedActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvancedActivity.java @@ -31,7 +31,7 @@ import org.sufficientlysecure.keychain.ui.util.ActionBarHelper; import org.sufficientlysecure.keychain.util.ExportHelper; import org.sufficientlysecure.keychain.util.Log; -public class ViewKeyAdvancedActivity extends ActionBarActivity { +public class ViewKeyAdvancedActivity extends BaseActivity { ExportHelper mExportHelper; ProviderHelper mProviderHelper; @@ -55,8 +55,6 @@ public class ViewKeyAdvancedActivity extends ActionBarActivity { } ); - setContentView(R.layout.view_key_advanced_activity); - Uri dataUri = getIntent().getData(); if (dataUri == null) { Log.e(Constants.TAG, "Data missing. Should be uri of key!"); @@ -69,6 +67,11 @@ public class ViewKeyAdvancedActivity extends ActionBarActivity { startFragment(savedInstanceState, dataUri); } + @Override + protected int getLayoutResource() { + return R.layout.view_key_advanced_activity; + } + private void startFragment(Bundle savedInstanceState, Uri dataUri) { // However, if we're being restored from a previous state, diff --git a/OpenKeychain/src/main/res/layout/api_account_settings_activity.xml b/OpenKeychain/src/main/res/layout/api_account_settings_activity.xml index b2a9c11f5..763504f54 100644 --- a/OpenKeychain/src/main/res/layout/api_account_settings_activity.xml +++ b/OpenKeychain/src/main/res/layout/api_account_settings_activity.xml @@ -1,28 +1,37 @@ - - + - - + + + android:layout_height="match_parent"> - + android:layout_height="wrap_content" + android:padding="16dp" + android:orientation="vertical"> + + - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml b/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml index dae9de1f2..800e2eb87 100644 --- a/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml +++ b/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml @@ -1,41 +1,51 @@ - - + - - + + + android:layout_height="match_parent"> - + android:padding="16dp" + android:orientation="vertical"> - + - + + + - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_apps_list_content.xml b/OpenKeychain/src/main/res/layout/api_apps_list_content.xml index 9f9b99045..e1922079c 100644 --- a/OpenKeychain/src/main/res/layout/api_apps_list_content.xml +++ b/OpenKeychain/src/main/res/layout/api_apps_list_content.xml @@ -1,14 +1,24 @@ - + + + + - - \ No newline at end of file + android:layout_height="match_parent" /> + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_remote_create_account.xml b/OpenKeychain/src/main/res/layout/api_remote_create_account.xml index a6a39b1ad..7ae0a0e1e 100644 --- a/OpenKeychain/src/main/res/layout/api_remote_create_account.xml +++ b/OpenKeychain/src/main/res/layout/api_remote_create_account.xml @@ -1,37 +1,48 @@ - + android:layout_height="match_parent"> - + - + android:layout_height="match_parent" + android:orientation="vertical"> - + - + - + android:padding="16dp" + android:orientation="vertical"> + + + + - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_remote_error_message.xml b/OpenKeychain/src/main/res/layout/api_remote_error_message.xml index 3d69a25b3..8483222ad 100644 --- a/OpenKeychain/src/main/res/layout/api_remote_error_message.xml +++ b/OpenKeychain/src/main/res/layout/api_remote_error_message.xml @@ -1,16 +1,27 @@ - + - + - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_remote_register_app.xml b/OpenKeychain/src/main/res/layout/api_remote_register_app.xml index f85f3b8f7..19981f59e 100644 --- a/OpenKeychain/src/main/res/layout/api_remote_register_app.xml +++ b/OpenKeychain/src/main/res/layout/api_remote_register_app.xml @@ -1,29 +1,40 @@ - + android:layout_height="match_parent"> - + - + - + android:padding="16dp" + android:orientation="vertical"> + + + + - - + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_remote_select_pub_keys.xml b/OpenKeychain/src/main/res/layout/api_remote_select_pub_keys.xml index bf4d0a70d..db54e4a44 100644 --- a/OpenKeychain/src/main/res/layout/api_remote_select_pub_keys.xml +++ b/OpenKeychain/src/main/res/layout/api_remote_select_pub_keys.xml @@ -1,21 +1,32 @@ - + - + - + - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/certify_key_activity.xml b/OpenKeychain/src/main/res/layout/certify_key_activity.xml index 2bf2c4197..3a4c343bb 100644 --- a/OpenKeychain/src/main/res/layout/certify_key_activity.xml +++ b/OpenKeychain/src/main/res/layout/certify_key_activity.xml @@ -1,21 +1,32 @@ - + - + - - + + - + android:layout_height="match_parent"> + + + - \ No newline at end of file + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/create_key_activity.xml b/OpenKeychain/src/main/res/layout/create_key_activity.xml index 0bd053c49..5225d4d77 100644 --- a/OpenKeychain/src/main/res/layout/create_key_activity.xml +++ b/OpenKeychain/src/main/res/layout/create_key_activity.xml @@ -1,15 +1,26 @@ - - + - + android:layout_height="match_parent"> - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/decrypt_content.xml b/OpenKeychain/src/main/res/layout/decrypt_content.xml index 5e7cda4f9..8944c821f 100644 --- a/OpenKeychain/src/main/res/layout/decrypt_content.xml +++ b/OpenKeychain/src/main/res/layout/decrypt_content.xml @@ -1,109 +1,117 @@ - + android:layout_height="match_parent"> - + - - - - - - - - + + android:layout_height="match_parent" + android:paddingTop="4dp" + android:paddingLeft="16dp" + android:paddingRight="16dp" + android:orientation="vertical"> + + + + + + + + + - - - - + style="@style/SelectableItem" + android:orientation="horizontal"> + + + + + + + + + + - + - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/decrypt_text_activity.xml b/OpenKeychain/src/main/res/layout/decrypt_text_activity.xml index e08ecb39e..5098d7ffa 100644 --- a/OpenKeychain/src/main/res/layout/decrypt_text_activity.xml +++ b/OpenKeychain/src/main/res/layout/decrypt_text_activity.xml @@ -1,14 +1,24 @@ - + android:layout_height="match_parent"> - + - + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/edit_key_activity.xml b/OpenKeychain/src/main/res/layout/edit_key_activity.xml index 7e71ccf53..dfc12f328 100644 --- a/OpenKeychain/src/main/res/layout/edit_key_activity.xml +++ b/OpenKeychain/src/main/res/layout/edit_key_activity.xml @@ -1,15 +1,25 @@ - - + - + android:layout_height="match_parent"> - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/encrypt_content_adv_settings.xml b/OpenKeychain/src/main/res/layout/encrypt_content_adv_settings.xml index 67f7032c1..d14828ef7 100644 --- a/OpenKeychain/src/main/res/layout/encrypt_content_adv_settings.xml +++ b/OpenKeychain/src/main/res/layout/encrypt_content_adv_settings.xml @@ -1,24 +1,25 @@ + + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + android:id="@+id/label_fileCompression" + android:layout_width="0dip" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:layout_weight="1" + android:paddingRight="10dip" + android:text="@string/label_file_compression" + android:textAppearance="?android:attr/textAppearanceSmall" /> + android:id="@+id/fileCompression" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" /> diff --git a/OpenKeychain/src/main/res/layout/encrypt_files_content.xml b/OpenKeychain/src/main/res/layout/encrypt_files_content.xml index b44a2bc4d..61c7e69c9 100644 --- a/OpenKeychain/src/main/res/layout/encrypt_files_content.xml +++ b/OpenKeychain/src/main/res/layout/encrypt_files_content.xml @@ -1,23 +1,33 @@ - + android:layout_height="match_parent"> - + - + android:layout_height="match_parent" + android:orientation="vertical"> - + + + + + - \ No newline at end of file + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/encrypt_text_content.xml b/OpenKeychain/src/main/res/layout/encrypt_text_content.xml index 809f00204..31ebef798 100644 --- a/OpenKeychain/src/main/res/layout/encrypt_text_content.xml +++ b/OpenKeychain/src/main/res/layout/encrypt_text_content.xml @@ -1,24 +1,33 @@ - + + + + - + - + - + - \ No newline at end of file + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/help_activity.xml b/OpenKeychain/src/main/res/layout/help_activity.xml index 3ad087da3..794964adb 100644 --- a/OpenKeychain/src/main/res/layout/help_activity.xml +++ b/OpenKeychain/src/main/res/layout/help_activity.xml @@ -1,17 +1,28 @@ - + android:layout_height="match_parent"> - + + + + android:layout_height="match_parent" + android:orientation="vertical"> + + + + - \ No newline at end of file + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/import_keys_activity.xml b/OpenKeychain/src/main/res/layout/import_keys_activity.xml index 35818e4ea..78eaed02d 100644 --- a/OpenKeychain/src/main/res/layout/import_keys_activity.xml +++ b/OpenKeychain/src/main/res/layout/import_keys_activity.xml @@ -1,68 +1,78 @@ - + android:layout_height="match_parent"> - + - + android:layout_height="match_parent" + android:orientation="vertical"> - + - - - + - + - + - + android:layout_height="0dp" + android:orientation="vertical" + android:layout_weight="1" + android:background="@android:color/white" /> + + + + + + + - \ No newline at end of file + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/key_server_preference.xml b/OpenKeychain/src/main/res/layout/key_server_preference.xml index 33866f746..259763e48 100644 --- a/OpenKeychain/src/main/res/layout/key_server_preference.xml +++ b/OpenKeychain/src/main/res/layout/key_server_preference.xml @@ -1,82 +1,94 @@ - + + + + android:layout_height="fill_parent" + android:orientation="vertical"> + android:gravity="center_vertical" + android:minHeight="?android:attr/listPreferredItemHeight" + android:orientation="horizontal"> - + android:layout_marginBottom="6sp" + android:layout_marginLeft="16sp" + android:layout_marginRight="6sp" + android:layout_marginTop="6sp" + android:layout_weight="1" + android:background="@android:drawable/menuitem_background" + android:orientation="vertical" + android:focusable="true"> + + + + + - + + + android:layout_gravity="center_vertical" + android:layout_margin="10dp" + android:src="@drawable/plus" + android:background="@drawable/button_rounded_green" /> -