diff --git a/Graphics/get-material-icons.sh b/Graphics/get-material-icons.sh
index b6a2515c9..999680751 100755
--- a/Graphics/get-material-icons.sh
+++ b/Graphics/get-material-icons.sh
@@ -4,6 +4,7 @@ python copy OpenKeychain action white search 24
python copy OpenKeychain navigation white arrow_back 24
python copy OpenKeychain navigation white close 24
python copy OpenKeychain navigation white check 24
+python copy OpenKeychain navigation black check 24
python copy OpenKeychain navigation black expand_less 24
python copy OpenKeychain navigation black expand_more 24
python copy OpenKeychain navigation white refresh 24
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyFingerprintFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyFingerprintFragment.java
index d9bc08268..2409523bc 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyFingerprintFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyFingerprintFragment.java
@@ -48,24 +48,26 @@ public class CertifyFingerprintFragment extends LoaderFragment implements
static final int REQUEST_CERTIFY = 1;
public static final String ARG_DATA_URI = "uri";
- public static final String ARG_ENABLE_WORD_CONFIRM = "enable_word_confirm";
+ public static final String ARG_ENABLE_PHRASES_CONFIRM = "enable_word_confirm";
+ private TextView mActionYes;
private TextView mFingerprint;
private TextView mIntro;
+ private TextView mHeader;
private static final int LOADER_ID_UNIFIED = 0;
private Uri mDataUri;
- private boolean mEnableWordConfirm;
+ private boolean mEnablePhrasesConfirm;
/**
* Creates new instance of this fragment
*/
- public static CertifyFingerprintFragment newInstance(Uri dataUri, boolean enableWordConfirm) {
+ public static CertifyFingerprintFragment newInstance(Uri dataUri, boolean enablePhrasesConfirm) {
CertifyFingerprintFragment frag = new CertifyFingerprintFragment();
Bundle args = new Bundle();
args.putParcelable(ARG_DATA_URI, dataUri);
- args.putBoolean(ARG_ENABLE_WORD_CONFIRM, enableWordConfirm);
+ args.putBoolean(ARG_ENABLE_PHRASES_CONFIRM, enablePhrasesConfirm);
frag.setArguments(args);
@@ -77,11 +79,12 @@ public class CertifyFingerprintFragment extends LoaderFragment implements
View root = super.onCreateView(inflater, superContainer, savedInstanceState);
View view = inflater.inflate(R.layout.certify_fingerprint_fragment, getContainer());
- View actionNo = view.findViewById(R.id.certify_fingerprint_button_no);
- View actionYes = view.findViewById(R.id.certify_fingerprint_button_yes);
+ TextView actionNo = (TextView) view.findViewById(R.id.certify_fingerprint_button_no);
+ mActionYes = (TextView) view.findViewById(R.id.certify_fingerprint_button_yes);
mFingerprint = (TextView) view.findViewById(R.id.certify_fingerprint_fingerprint);
mIntro = (TextView) view.findViewById(R.id.certify_fingerprint_intro);
+ mHeader = (TextView) view.findViewById(R.id.certify_fingerprint_fingerprint_header);
actionNo.setOnClickListener(new View.OnClickListener() {
@Override
@@ -89,7 +92,7 @@ public class CertifyFingerprintFragment extends LoaderFragment implements
getActivity().finish();
}
});
- actionYes.setOnClickListener(new View.OnClickListener() {
+ mActionYes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
certify(mDataUri);
@@ -109,10 +112,12 @@ public class CertifyFingerprintFragment extends LoaderFragment implements
getActivity().finish();
return;
}
- mEnableWordConfirm = getArguments().getBoolean(ARG_ENABLE_WORD_CONFIRM);
+ mEnablePhrasesConfirm = getArguments().getBoolean(ARG_ENABLE_PHRASES_CONFIRM);
- if (mEnableWordConfirm) {
- mIntro.setText(R.string.certify_fingerprint_text_words);
+ if (mEnablePhrasesConfirm) {
+ mIntro.setText(R.string.certify_fingerprint_text_phrases);
+ mHeader.setText(R.string.section_phrases);
+ mActionYes.setText(R.string.btn_match_phrases);
}
loadData(dataUri);
@@ -162,7 +167,7 @@ public class CertifyFingerprintFragment extends LoaderFragment implements
if (data.moveToFirst()) {
byte[] fingerprintBlob = data.getBlob(INDEX_UNIFIED_FINGERPRINT);
- if (mEnableWordConfirm) {
+ if (mEnablePhrasesConfirm) {
displayWordConfirm(fingerprintBlob);
} else {
displayHexConfirm(fingerprintBlob);
diff --git a/OpenKeychain/src/main/res/drawable-hdpi/ic_check_black_24dp.png b/OpenKeychain/src/main/res/drawable-hdpi/ic_check_black_24dp.png
new file mode 100644
index 000000000..e802d90ae
Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/ic_check_black_24dp.png differ
diff --git a/OpenKeychain/src/main/res/drawable-mdpi/ic_check_black_24dp.png b/OpenKeychain/src/main/res/drawable-mdpi/ic_check_black_24dp.png
new file mode 100644
index 000000000..1c14c9c44
Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/ic_check_black_24dp.png differ
diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/ic_check_black_24dp.png b/OpenKeychain/src/main/res/drawable-xhdpi/ic_check_black_24dp.png
new file mode 100644
index 000000000..64a4944f7
Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/ic_check_black_24dp.png differ
diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/ic_check_black_24dp.png b/OpenKeychain/src/main/res/drawable-xxhdpi/ic_check_black_24dp.png
new file mode 100644
index 000000000..b26a2c05e
Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/ic_check_black_24dp.png differ
diff --git a/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_check_black_24dp.png b/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_check_black_24dp.png
new file mode 100644
index 000000000..2f6d6386d
Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_check_black_24dp.png differ
diff --git a/OpenKeychain/src/main/res/layout/certify_fingerprint_fragment.xml b/OpenKeychain/src/main/res/layout/certify_fingerprint_fragment.xml
index 239cdcc95..7e2f78531 100644
--- a/OpenKeychain/src/main/res/layout/certify_fingerprint_fragment.xml
+++ b/OpenKeychain/src/main/res/layout/certify_fingerprint_fragment.xml
@@ -1,155 +1,107 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:orientation="vertical"
+ android:padding="16dp">
+ android:layout_marginBottom="32dp"
+ android:layout_marginLeft="8dp"
+ android:layout_marginRight="8dp"
+ android:text="@string/certify_fingerprint_text"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
-
-
-
+ android:layout_gravity="top"
+ app:cardBackgroundColor="?attr/colorCardViewBackground"
+ app:cardCornerRadius="4dp"
+ app:cardElevation="8dp"
+ app:cardUseCompatPadding="true">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
diff --git a/OpenKeychain/src/main/res/menu/key_view.xml b/OpenKeychain/src/main/res/menu/key_view.xml
index 14ea099f4..1bda1463a 100644
--- a/OpenKeychain/src/main/res/menu/key_view.xml
+++ b/OpenKeychain/src/main/res/menu/key_view.xml
@@ -41,7 +41,7 @@
android:id="@+id/menu_key_view_certify_fingerprint_word"
app:showAsAction="never"
android:visible="false"
- android:title="@string/menu_certify_fingerprint_word" />
+ android:title="@string/menu_certify_fingerprint_phrases" />
- "Key"
"Keyserver"
"Fingerprint"
+ "Phrases"
"Encrypt"
"Decrypt / Verify"
"Current expiry"
@@ -83,6 +84,7 @@
"Back"
"No"
"Fingerprints match"
+ "Phrases match"
"Encrypt/sign and share text"
"Encrypt/sign and copy text"
"View certification key"
@@ -99,6 +101,7 @@
"Add"
"Save as default"
"Saved!"
+ "Doesn't match"
"Settings"
@@ -115,7 +118,7 @@
"Update all keys"
"Extended information"
"Confirm via fingerprint"
- "Confirm via phrases"
+ "Confirm via phrases"
"Share Log"
"Add"
@@ -1448,8 +1451,7 @@
"Identities for "
"The keys you are importing contain “identities”: names and email addresses. Select exactly those for confirmation which match what you expected."
"Compare the fingerprint, character by character, with the one displayed on your partners device."
- "Compare the phrases with the ones displayed on your partners device."
- "Do the fingerprints match?"
+ "Compare the phrases with the ones displayed on your partners device."
"Revocation Reason"
"Type"
"Key not found!"