diff options
| author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-09-20 20:36:37 +0200 | 
|---|---|---|
| committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-09-20 20:36:37 +0200 | 
| commit | b06fe773cf043a97f216dc1073a9c428c4d2f2f8 (patch) | |
| tree | 8c44bc51210a3f09aeefc5529ee2e09ce52a2c4e /OpenKeychain/src | |
| parent | da4a70c5137d37dab41d1ee65627f38ed78204e9 (diff) | |
| download | open-keychain-b06fe773cf043a97f216dc1073a9c428c4d2f2f8.tar.gz open-keychain-b06fe773cf043a97f216dc1073a9c428c4d2f2f8.tar.bz2 open-keychain-b06fe773cf043a97f216dc1073a9c428c4d2f2f8.zip  | |
New key flags icons, subkey adapter redesign, support authanticate flag in database
Diffstat (limited to 'OpenKeychain/src')
34 files changed, 109 insertions, 36 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainContract.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainContract.java index 9722ae5a2..33f51cbf9 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainContract.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainContract.java @@ -43,6 +43,7 @@ public class KeychainContract {          String CAN_SIGN = "can_sign";          String CAN_ENCRYPT = "can_encrypt";          String CAN_CERTIFY = "can_certify"; +        String CAN_AUTHENTICATE = "can_authenticate";          String IS_REVOKED = "is_revoked";          String HAS_SECRET = "has_secret"; @@ -114,6 +115,7 @@ public class KeychainContract {          public static final String HAS_ENCRYPT = "has_encrypt";          public static final String HAS_SIGN = "has_sign";          public static final String HAS_CERTIFY = "has_certify"; +        public static final String HAS_AUTHENTICATE = "has_authenticate";          public static final String PUBKEY_DATA = "pubkey_data";          public static final String PRIVKEY_DATA = "privkey_data"; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java index 4d62f67a9..3da288c86 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java @@ -54,7 +54,7 @@ import java.io.IOException;   */  public class KeychainDatabase extends SQLiteOpenHelper {      private static final String DATABASE_NAME = "openkeychain.db"; -    private static final int DATABASE_VERSION = 4; +    private static final int DATABASE_VERSION = 5;      static Boolean apgHack = false;      private Context mContext; @@ -96,6 +96,7 @@ public class KeychainDatabase extends SQLiteOpenHelper {                  + KeysColumns.CAN_CERTIFY + " BOOLEAN, "                  + KeysColumns.CAN_SIGN + " BOOLEAN, "                  + KeysColumns.CAN_ENCRYPT + " BOOLEAN, " +                + KeysColumns.CAN_AUTHENTICATE + " BOOLEAN, "                  + KeysColumns.IS_REVOKED + " BOOLEAN, "                  + KeysColumns.HAS_SECRET + " BOOLEAN, " @@ -214,21 +215,28 @@ public class KeychainDatabase extends SQLiteOpenHelper {                  // add has_secret for all who are upgrading from a beta version                  try {                      db.execSQL("ALTER TABLE keys ADD COLUMN has_secret BOOLEAN"); -                } catch(Exception e){ +                } catch (Exception e){                      // never mind, the column probably already existed                  }                  // fall through              case 2:                  // ECC support                  try { -                    db.execSQL("ALTER TABLE keys ADD COLUMN " + KeysColumns.KEY_CURVE_OID + " TEXT"); -                } catch(Exception e){ +                    db.execSQL("ALTER TABLE keys ADD COLUMN key_curve_oid TEXT"); +                } catch (Exception e){                      // never mind, the column probably already existed                  }                  // fall through              case 3:                  // better s2k detection, we need consolidate                  // fall through +            case 4: +                try { +                    db.execSQL("ALTER TABLE keys ADD COLUMN can_authenticate BOOLEAN"); +                } catch (Exception e){ +                    // never mind, the column probably already existed +                } +                // fall through          }          // always do consolidate after upgrade diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java index 3cd70df7f..4e63656ec 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java @@ -251,6 +251,7 @@ public class KeychainProvider extends ContentProvider {                  projectionMap.put(KeyRings.CAN_CERTIFY, Tables.KEYS + "." + Keys.CAN_CERTIFY);                  projectionMap.put(KeyRings.CAN_ENCRYPT, Tables.KEYS + "." + Keys.CAN_ENCRYPT);                  projectionMap.put(KeyRings.CAN_SIGN, Tables.KEYS + "." + Keys.CAN_SIGN); +                projectionMap.put(KeyRings.CAN_AUTHENTICATE, Tables.KEYS + "." + Keys.CAN_AUTHENTICATE);                  projectionMap.put(KeyRings.CREATION, Tables.KEYS + "." + Keys.CREATION);                  projectionMap.put(KeyRings.EXPIRY, Tables.KEYS + "." + Keys.EXPIRY);                  projectionMap.put(KeyRings.ALGORITHM, Tables.KEYS + "." + Keys.ALGORITHM); @@ -333,6 +334,16 @@ public class KeychainProvider extends ContentProvider {                                  + " AND ( kS." + Keys.EXPIRY + " IS NULL OR kS." + Keys.EXPIRY                                      + " >= " + new Date().getTime() / 1000 + " )"                              + ")" : "") +                        + (plist.contains(KeyRings.HAS_AUTHENTICATE) ? +                            " LEFT JOIN " + Tables.KEYS + " AS kS ON (" +                                    +"kS." + Keys.MASTER_KEY_ID +                                    + " = " + Tables.KEYS + "." + Keys.MASTER_KEY_ID +                                    + " AND kS." + Keys.IS_REVOKED + " = 0" +                                    + " AND kS." + Keys.CAN_AUTHENTICATE + " = 1" +                                    + " AND kS." + Keys.HAS_SECRET + " > 1" +                                    + " AND ( kS." + Keys.EXPIRY + " IS NULL OR kS." + Keys.EXPIRY +                                    + " >= " + new Date().getTime() / 1000 + " )" +                                    + ")" : "")                          + (plist.contains(KeyRings.HAS_CERTIFY) ?                              " LEFT JOIN " + Tables.KEYS + " AS kC ON ("                                  +"kC." + Keys.MASTER_KEY_ID @@ -424,6 +435,7 @@ public class KeychainProvider extends ContentProvider {                  projectionMap.put(Keys.CAN_CERTIFY, Keys.CAN_CERTIFY);                  projectionMap.put(Keys.CAN_ENCRYPT, Keys.CAN_ENCRYPT);                  projectionMap.put(Keys.CAN_SIGN, Keys.CAN_SIGN); +                projectionMap.put(Keys.CAN_AUTHENTICATE, Keys.CAN_AUTHENTICATE);                  projectionMap.put(Keys.HAS_SECRET, Keys.HAS_SECRET);                  projectionMap.put(Keys.CREATION, Keys.CREATION);                  projectionMap.put(Keys.EXPIRY, Keys.EXPIRY); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java index 8d790110d..3da685ff6 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java @@ -356,10 +356,11 @@ public class ProviderHelper {                      values.put(Keys.ALGORITHM, key.getAlgorithm());                      values.put(Keys.FINGERPRINT, key.getFingerprint()); -                    boolean c = key.canCertify(), e = key.canEncrypt(), s = key.canSign(); +                    boolean c = key.canCertify(), e = key.canEncrypt(), s = key.canSign(), a = key.canAuthenticate();                      values.put(Keys.CAN_CERTIFY, c);                      values.put(Keys.CAN_ENCRYPT, e);                      values.put(Keys.CAN_SIGN, s); +                    values.put(Keys.CAN_AUTHENTICATE, a);                      values.put(Keys.IS_REVOKED, key.isRevoked());                      if (masterKeyId == keyId) {                          if (c) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java index b377e2cc9..7bbd3eee3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java @@ -20,6 +20,7 @@ package org.sufficientlysecure.keychain.ui.adapter;  import android.content.Context;  import android.content.res.ColorStateList;  import android.database.Cursor; +import android.graphics.PorterDuff;  import android.graphics.Typeface;  import android.support.v4.widget.CursorAdapter;  import android.text.Spannable; @@ -62,6 +63,7 @@ public class SubkeysAdapter extends CursorAdapter {              Keys.CAN_CERTIFY,              Keys.CAN_ENCRYPT,              Keys.CAN_SIGN, +            Keys.CAN_AUTHENTICATE,              Keys.IS_REVOKED,              Keys.CREATION,              Keys.EXPIRY, @@ -77,10 +79,11 @@ public class SubkeysAdapter extends CursorAdapter {      private static final int INDEX_CAN_CERTIFY = 7;      private static final int INDEX_CAN_ENCRYPT = 8;      private static final int INDEX_CAN_SIGN = 9; -    private static final int INDEX_IS_REVOKED = 10; -    private static final int INDEX_CREATION = 11; -    private static final int INDEX_EXPIRY = 12; -    private static final int INDEX_FINGERPRINT = 13; +    private static final int INDEX_CAN_AUTHENTICATE = 10; +    private static final int INDEX_IS_REVOKED = 11; +    private static final int INDEX_CREATION = 12; +    private static final int INDEX_EXPIRY = 13; +    private static final int INDEX_FINGERPRINT = 14;      public SubkeysAdapter(Context context, Cursor c, int flags,                            SaveKeyringParcel saveKeyringParcel) { @@ -135,10 +138,11 @@ public class SubkeysAdapter extends CursorAdapter {          TextView vKeyDetails = (TextView) view.findViewById(R.id.subkey_item_details);          TextView vKeyExpiry = (TextView) view.findViewById(R.id.subkey_item_expiry);          ImageView vCertifyIcon = (ImageView) view.findViewById(R.id.subkey_item_ic_certify); -        ImageView vEncryptIcon = (ImageView) view.findViewById(R.id.subkey_item_ic_encrypt);          ImageView vSignIcon = (ImageView) view.findViewById(R.id.subkey_item_ic_sign); -        ImageView vRevokedIcon = (ImageView) view.findViewById(R.id.subkey_item_ic_revoked); +        ImageView vEncryptIcon = (ImageView) view.findViewById(R.id.subkey_item_ic_encrypt); +        ImageView vAuthenticateIcon = (ImageView) view.findViewById(R.id.subkey_item_ic_authenticate);          ImageView vEditImage = (ImageView) view.findViewById(R.id.subkey_item_edit_image); +        ImageView vStatus = (ImageView) view.findViewById(R.id.subkey_item_status);          // not used:          ImageView deleteImage = (ImageView) view.findViewById(R.id.subkey_item_delete_button); @@ -196,7 +200,7 @@ public class SubkeysAdapter extends CursorAdapter {          vCertifyIcon.setVisibility(cursor.getInt(INDEX_CAN_CERTIFY) != 0 ? View.VISIBLE : View.GONE);          vEncryptIcon.setVisibility(cursor.getInt(INDEX_CAN_ENCRYPT) != 0 ? View.VISIBLE : View.GONE);          vSignIcon.setVisibility(cursor.getInt(INDEX_CAN_SIGN) != 0 ? View.VISIBLE : View.GONE); -        // TODO: missing icon for authenticate +        vAuthenticateIcon.setVisibility(cursor.getInt(INDEX_CAN_AUTHENTICATE) != 0 ? View.VISIBLE : View.GONE);          boolean isRevoked = cursor.getInt(INDEX_IS_REVOKED) > 0; @@ -245,22 +249,50 @@ public class SubkeysAdapter extends CursorAdapter {              vKeyExpiry.setText(context.getString(R.string.label_expiry) + ": " + context.getString(R.string.none));          } -        if (isRevoked) { -            vRevokedIcon.setVisibility(View.VISIBLE); -        } else { -            vKeyId.setTextColor(mDefaultTextColor); -            vKeyDetails.setTextColor(mDefaultTextColor); -            vKeyExpiry.setTextColor(mDefaultTextColor); - -            vRevokedIcon.setVisibility(View.GONE); -        } -          // if key is expired or revoked, strike through text          boolean isInvalid = isRevoked || isExpired;          if (isInvalid) { +            vStatus.setVisibility(View.VISIBLE); +              vKeyId.setText(FormattingUtils.strikeOutText(vKeyId.getText()));              vKeyDetails.setText(FormattingUtils.strikeOutText(vKeyDetails.getText()));              vKeyExpiry.setText(FormattingUtils.strikeOutText(vKeyExpiry.getText())); + +            vCertifyIcon.setColorFilter( +                    mContext.getResources().getColor(R.color.bg_gray), +                    PorterDuff.Mode.SRC_IN); +            vSignIcon.setColorFilter( +                    mContext.getResources().getColor(R.color.bg_gray), +                    PorterDuff.Mode.SRC_IN); +            vEncryptIcon.setColorFilter( +                    mContext.getResources().getColor(R.color.bg_gray), +                    PorterDuff.Mode.SRC_IN); +            vAuthenticateIcon.setColorFilter( +                    mContext.getResources().getColor(R.color.bg_gray), +                    PorterDuff.Mode.SRC_IN); + +            if (isRevoked) { +                vStatus.setImageResource(R.drawable.status_signature_revoked_cutout); +                vStatus.setColorFilter( +                        mContext.getResources().getColor(R.color.bg_gray), +                        PorterDuff.Mode.SRC_IN); +            } else if (isExpired) { +                vStatus.setImageResource(R.drawable.status_signature_expired_cutout); +                vStatus.setColorFilter( +                        mContext.getResources().getColor(R.color.bg_gray), +                        PorterDuff.Mode.SRC_IN); +            } +        } else { +            vStatus.setVisibility(View.GONE); + +            vKeyId.setTextColor(mDefaultTextColor); +            vKeyDetails.setTextColor(mDefaultTextColor); +            vKeyExpiry.setTextColor(mDefaultTextColor); + +            vCertifyIcon.clearColorFilter(); +            vSignIcon.clearColorFilter(); +            vEncryptIcon.clearColorFilter(); +            vAuthenticateIcon.clearColorFilter();          }          vKeyId.setEnabled(!isInvalid);          vKeyDetails.setEnabled(!isInvalid); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAddedAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAddedAdapter.java index 009e4c620..a98471122 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAddedAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAddedAdapter.java @@ -53,8 +53,9 @@ public class SubkeysAddedAdapter extends ArrayAdapter<SaveKeyringParcel.SubkeyAd          public TextView vKeyDetails;          public TextView vKeyExpiry;          public ImageView vCertifyIcon; -        public ImageView vEncryptIcon;          public ImageView vSignIcon; +        public ImageView vEncryptIcon; +        public ImageView vAuthenticateIcon;          public ImageButton vDelete;          // also hold a reference to the model item          public SaveKeyringParcel.SubkeyAdd mModel; @@ -69,16 +70,18 @@ public class SubkeysAddedAdapter extends ArrayAdapter<SaveKeyringParcel.SubkeyAd              holder.vKeyDetails = (TextView) convertView.findViewById(R.id.subkey_item_details);              holder.vKeyExpiry = (TextView) convertView.findViewById(R.id.subkey_item_expiry);              holder.vCertifyIcon = (ImageView) convertView.findViewById(R.id.subkey_item_ic_certify); -            holder.vEncryptIcon = (ImageView) convertView.findViewById(R.id.subkey_item_ic_encrypt);              holder.vSignIcon = (ImageView) convertView.findViewById(R.id.subkey_item_ic_sign); +            holder.vEncryptIcon = (ImageView) convertView.findViewById(R.id.subkey_item_ic_encrypt); +            holder.vAuthenticateIcon = (ImageView) convertView.findViewById(R.id.subkey_item_ic_authenticate); +              holder.vDelete = (ImageButton) convertView.findViewById(R.id.subkey_item_delete_button);              holder.vDelete.setVisibility(View.VISIBLE); // always visible              // not used: -            ImageView editImage = (ImageView) convertView.findViewById(R.id.subkey_item_edit_image); -            editImage.setVisibility(View.GONE); -            ImageView revokedIcon = (ImageView) convertView.findViewById(R.id.subkey_item_ic_revoked); -            revokedIcon.setVisibility(View.GONE); +            ImageView vEdit = (ImageView) convertView.findViewById(R.id.subkey_item_edit_image); +            vEdit.setVisibility(View.GONE); +            ImageView vStatus = (ImageView) convertView.findViewById(R.id.subkey_item_status); +            vStatus.setVisibility(View.GONE);              convertView.setTag(holder); @@ -136,7 +139,11 @@ public class SubkeysAddedAdapter extends ArrayAdapter<SaveKeyringParcel.SubkeyAd          } else {              holder.vEncryptIcon.setVisibility(View.GONE);          } -        // TODO: missing icon for authenticate +        if ((flags & KeyFlags.AUTHENTICATION) > 0) { +            holder.vAuthenticateIcon.setVisibility(View.VISIBLE); +        } else { +            holder.vAuthenticateIcon.setVisibility(View.GONE); +        }          return convertView;      } diff --git a/OpenKeychain/src/main/res/drawable-hdpi/certify_small.png b/OpenKeychain/src/main/res/drawable-hdpi/certify_small.png Binary files differdeleted file mode 100644 index 9e54464ed..000000000 --- a/OpenKeychain/src/main/res/drawable-hdpi/certify_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/drawable-hdpi/key_flag_authenticate.png b/OpenKeychain/src/main/res/drawable-hdpi/key_flag_authenticate.png Binary files differnew file mode 100644 index 000000000..9d4ed6e84 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-hdpi/key_flag_authenticate.png diff --git a/OpenKeychain/src/main/res/drawable-hdpi/key_flag_certify.png b/OpenKeychain/src/main/res/drawable-hdpi/key_flag_certify.png Binary files differnew file mode 100644 index 000000000..e76393659 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-hdpi/key_flag_certify.png diff --git a/OpenKeychain/src/main/res/drawable-hdpi/key_flag_encrypt.png b/OpenKeychain/src/main/res/drawable-hdpi/key_flag_encrypt.png Binary files differnew file mode 100644 index 000000000..3c2f8c09c --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-hdpi/key_flag_encrypt.png diff --git a/OpenKeychain/src/main/res/drawable-hdpi/key_flag_sign.png b/OpenKeychain/src/main/res/drawable-hdpi/key_flag_sign.png Binary files differnew file mode 100644 index 000000000..046424643 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-hdpi/key_flag_sign.png diff --git a/OpenKeychain/src/main/res/drawable-hdpi/signed_small.png b/OpenKeychain/src/main/res/drawable-hdpi/signed_small.png Binary files differdeleted file mode 100644 index 54c4906e8..000000000 --- a/OpenKeychain/src/main/res/drawable-hdpi/signed_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/drawable-ldpi/encrypted_small.png b/OpenKeychain/src/main/res/drawable-ldpi/encrypted_small.png Binary files differdeleted file mode 100644 index 5e7294a4b..000000000 --- a/OpenKeychain/src/main/res/drawable-ldpi/encrypted_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/drawable-ldpi/signed_small.png b/OpenKeychain/src/main/res/drawable-ldpi/signed_small.png Binary files differdeleted file mode 100644 index 19d45f8da..000000000 --- a/OpenKeychain/src/main/res/drawable-ldpi/signed_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/drawable-mdpi/certify_small.png b/OpenKeychain/src/main/res/drawable-mdpi/certify_small.png Binary files differdeleted file mode 100644 index 575b2d866..000000000 --- a/OpenKeychain/src/main/res/drawable-mdpi/certify_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/drawable-mdpi/encrypted_small.png b/OpenKeychain/src/main/res/drawable-mdpi/encrypted_small.png Binary files differdeleted file mode 100644 index bcd8cfc8e..000000000 --- a/OpenKeychain/src/main/res/drawable-mdpi/encrypted_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/drawable-mdpi/key_flag_authenticate.png b/OpenKeychain/src/main/res/drawable-mdpi/key_flag_authenticate.png Binary files differnew file mode 100644 index 000000000..ed1ba24d2 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-mdpi/key_flag_authenticate.png diff --git a/OpenKeychain/src/main/res/drawable-mdpi/key_flag_certify.png b/OpenKeychain/src/main/res/drawable-mdpi/key_flag_certify.png Binary files differnew file mode 100644 index 000000000..d54d461fa --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-mdpi/key_flag_certify.png diff --git a/OpenKeychain/src/main/res/drawable-mdpi/key_flag_encrypt.png b/OpenKeychain/src/main/res/drawable-mdpi/key_flag_encrypt.png Binary files differnew file mode 100644 index 000000000..81c1b3dfa --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-mdpi/key_flag_encrypt.png diff --git a/OpenKeychain/src/main/res/drawable-mdpi/key_flag_sign.png b/OpenKeychain/src/main/res/drawable-mdpi/key_flag_sign.png Binary files differnew file mode 100644 index 000000000..9afc43901 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-mdpi/key_flag_sign.png diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_authenticate.png b/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_authenticate.png Binary files differnew file mode 100644 index 000000000..8d36d7202 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_authenticate.png diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_certify.png b/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_certify.png Binary files differnew file mode 100644 index 000000000..01a74bcc0 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_certify.png diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_encrypt.png b/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_encrypt.png Binary files differnew file mode 100644 index 000000000..ff07bd0a4 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_encrypt.png diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_sign.png b/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_sign.png Binary files differnew file mode 100644 index 000000000..b8002162a --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-xhdpi/key_flag_sign.png diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_authenticate.png b/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_authenticate.png Binary files differnew file mode 100644 index 000000000..d786dc72f --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_authenticate.png diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_certify.png b/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_certify.png Binary files differnew file mode 100644 index 000000000..4bb97f992 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_certify.png diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_encrypt.png b/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_encrypt.png Binary files differnew file mode 100644 index 000000000..fe0c8e41b --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_encrypt.png diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_sign.png b/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_sign.png Binary files differnew file mode 100644 index 000000000..51ab367a9 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable-xxhdpi/key_flag_sign.png diff --git a/OpenKeychain/src/main/res/drawable/certify_small.png b/OpenKeychain/src/main/res/drawable/certify_small.png Binary files differdeleted file mode 100644 index 575b2d866..000000000 --- a/OpenKeychain/src/main/res/drawable/certify_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/drawable/encrypted_small.png b/OpenKeychain/src/main/res/drawable/encrypted_small.png Binary files differdeleted file mode 100644 index 7f4ab803f..000000000 --- a/OpenKeychain/src/main/res/drawable/encrypted_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/drawable/key_small.png b/OpenKeychain/src/main/res/drawable/key_small.png Binary files differdeleted file mode 100644 index 121803508..000000000 --- a/OpenKeychain/src/main/res/drawable/key_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/drawable/revoked_key_small.png b/OpenKeychain/src/main/res/drawable/revoked_key_small.png Binary files differdeleted file mode 100644 index f9ed0596f..000000000 --- a/OpenKeychain/src/main/res/drawable/revoked_key_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/drawable/signed_small.png b/OpenKeychain/src/main/res/drawable/signed_small.png Binary files differdeleted file mode 100644 index 590220281..000000000 --- a/OpenKeychain/src/main/res/drawable/signed_small.png +++ /dev/null diff --git a/OpenKeychain/src/main/res/layout/view_key_subkey_item.xml b/OpenKeychain/src/main/res/layout/view_key_subkey_item.xml index cf4b82078..b2875b9e6 100644 --- a/OpenKeychain/src/main/res/layout/view_key_subkey_item.xml +++ b/OpenKeychain/src/main/res/layout/view_key_subkey_item.xml @@ -6,6 +6,16 @@      android:orientation="horizontal"      android:singleLine="true"> +    <ImageView +        android:id="@+id/subkey_item_status" +        android:layout_width="wrap_content" +        android:layout_height="wrap_content" +        android:layout_gravity="center_horizontal" +        android:src="@drawable/status_signature_revoked_cutout" +        android:paddingLeft="8dp" +        android:layout_centerVertical="true" +        android:layout_alignParentStart="true" /> +      <FrameLayout          android:id="@+id/subkey_item_buttons"          android:layout_width="wrap_content" @@ -34,6 +44,7 @@      <LinearLayout          android:orientation="vertical"          android:layout_toLeftOf="@id/subkey_item_buttons" +        android:layout_toRightOf="@id/subkey_item_status"          android:layout_centerVertical="true"          android:layout_width="match_parent"          android:layout_height="wrap_content" @@ -60,31 +71,31 @@                  android:id="@+id/subkey_item_ic_certify"                  android:layout_width="wrap_content"                  android:layout_height="wrap_content" -                android:src="@drawable/certify_small" +                android:src="@drawable/key_flag_certify"                  android:layout_marginLeft="8dp"                  android:layout_gravity="center_vertical" />              <ImageView -                android:id="@+id/subkey_item_ic_encrypt" +                android:id="@+id/subkey_item_ic_sign"                  android:layout_width="wrap_content"                  android:layout_height="wrap_content" -                android:src="@drawable/encrypted_small" +                android:src="@drawable/key_flag_sign"                  android:layout_marginLeft="8dp"                  android:layout_gravity="center_vertical" />              <ImageView -                android:id="@+id/subkey_item_ic_sign" +                android:id="@+id/subkey_item_ic_encrypt"                  android:layout_width="wrap_content"                  android:layout_height="wrap_content" -                android:src="@drawable/signed_small" +                android:src="@drawable/key_flag_encrypt"                  android:layout_marginLeft="8dp"                  android:layout_gravity="center_vertical" />              <ImageView -                android:id="@+id/subkey_item_ic_revoked" +                android:id="@+id/subkey_item_ic_authenticate"                  android:layout_width="wrap_content"                  android:layout_height="wrap_content" -                android:src="@drawable/revoked_key_small" +                android:src="@drawable/key_flag_authenticate"                  android:layout_marginLeft="8dp"                  android:layout_gravity="center_vertical" />  | 
