mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-27 19:22:14 -05:00
Improve verification result display, close #568
This commit is contained in:
parent
fcb73f4e24
commit
14a8586e8c
@ -31,7 +31,6 @@ import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.beardedhen.androidbootstrap.BootstrapButton;
|
||||
import com.devspark.appmsg.AppMsg;
|
||||
|
||||
import org.openintents.openpgp.OpenPgpSignatureResult;
|
||||
import org.sufficientlysecure.keychain.R;
|
||||
@ -73,11 +72,6 @@ public class DecryptFragment extends Fragment {
|
||||
}
|
||||
});
|
||||
mResultLayout.setVisibility(View.GONE);
|
||||
mResultLayout.setOnClickListener(new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
lookupUnknownKey(mSignatureKeyId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void lookupUnknownKey(long unknownKeyId) {
|
||||
@ -119,7 +113,7 @@ public class DecryptFragment extends Fragment {
|
||||
String userId = signatureResult.getUserId();
|
||||
String[] userIdSplit = PgpKeyHelper.splitUserId(userId);
|
||||
if (userIdSplit[0] != null) {
|
||||
mUserId.setText(userId);
|
||||
mUserId.setText(userIdSplit[0]);
|
||||
} else {
|
||||
mUserId.setText(R.string.user_id_no_name);
|
||||
}
|
||||
@ -132,37 +126,63 @@ public class DecryptFragment extends Fragment {
|
||||
|
||||
switch (signatureResult.getStatus()) {
|
||||
case OpenPgpSignatureResult.SIGNATURE_SUCCESS_CERTIFIED: {
|
||||
mResultText.setText(R.string.decrypt_verified_successful);
|
||||
if (signatureResult.isSignatureOnly()) {
|
||||
mResultText.setText(R.string.decrypt_result_signature_certified);
|
||||
} else {
|
||||
mResultText.setText(R.string.decrypt_result_decrypted_and_signature_certified);
|
||||
}
|
||||
|
||||
mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_green));
|
||||
mSignatureStatusImage.setImageResource(R.drawable.overlay_ok);
|
||||
mSignatureLayout.setVisibility(View.VISIBLE);
|
||||
mLookupKey.setVisibility(View.GONE);
|
||||
break;
|
||||
}
|
||||
|
||||
case OpenPgpSignatureResult.SIGNATURE_SUCCESS_UNCERTIFIED: {
|
||||
mResultText.setText(R.string.decrypt_verified_successful);
|
||||
if (signatureResult.isSignatureOnly()) {
|
||||
mResultText.setText(R.string.decrypt_result_signature_uncertified);
|
||||
} else {
|
||||
mResultText.setText(R.string.decrypt_result_decrypted_and_signature_uncertified);
|
||||
}
|
||||
|
||||
mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_orange));
|
||||
mSignatureStatusImage.setImageResource(R.drawable.overlay_ok);
|
||||
mSignatureLayout.setVisibility(View.VISIBLE);
|
||||
mLookupKey.setVisibility(View.GONE);
|
||||
break;
|
||||
}
|
||||
|
||||
case OpenPgpSignatureResult.SIGNATURE_UNKNOWN_PUB_KEY: {
|
||||
mResultText.setText(R.string.unknown_signature);
|
||||
if (signatureResult.isSignatureOnly()) {
|
||||
mResultText.setText(R.string.decrypt_result_signature_unknown_pub_key);
|
||||
} else {
|
||||
mResultText.setText(R.string.decrypt_result_decrypted_unknown_pub_key);
|
||||
}
|
||||
|
||||
mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_orange));
|
||||
mSignatureStatusImage.setImageResource(R.drawable.overlay_error);
|
||||
mSignatureLayout.setVisibility(View.VISIBLE);
|
||||
mLookupKey.setVisibility(View.VISIBLE);
|
||||
break;
|
||||
}
|
||||
|
||||
case OpenPgpSignatureResult.SIGNATURE_ERROR: {
|
||||
mResultText.setText(R.string.decrypt_result_invalid_signature);
|
||||
|
||||
mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_red));
|
||||
mSignatureStatusImage.setImageResource(R.drawable.overlay_error);
|
||||
mSignatureLayout.setVisibility(View.GONE);
|
||||
mLookupKey.setVisibility(View.GONE);
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
mResultText.setText(R.string.error);
|
||||
|
||||
mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_red));
|
||||
mSignatureStatusImage.setImageResource(R.drawable.overlay_error);
|
||||
mSignatureLayout.setVisibility(View.GONE);
|
||||
mLookupKey.setVisibility(View.GONE);
|
||||
break;
|
||||
}
|
||||
@ -172,7 +192,7 @@ public class DecryptFragment extends Fragment {
|
||||
|
||||
// only successful decryption
|
||||
mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_blue));
|
||||
mResultText.setText(R.string.decrypt_successful);
|
||||
mResultText.setText(R.string.decrypt_result_decrypted);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,13 +8,24 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include layout="@layout/decrypt_result_include" />
|
||||
|
||||
<View
|
||||
android:id="@+id/status_divider"
|
||||
android:layout_height="1dip"
|
||||
android:layout_width="match_parent"
|
||||
android:background="?android:attr/listDivider" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include layout="@layout/decrypt_signature_include" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@ -78,4 +89,5 @@
|
||||
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
@ -8,12 +8,24 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include layout="@layout/decrypt_result_include" />
|
||||
|
||||
<View
|
||||
android:id="@+id/status_divider"
|
||||
android:layout_height="1dip"
|
||||
android:layout_width="match_parent"
|
||||
android:background="?android:attr/listDivider" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include layout="@layout/decrypt_signature_include" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/message"
|
||||
@ -63,4 +75,5 @@
|
||||
bootstrapbutton:bb_type="info" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
@ -5,16 +5,19 @@
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="4dp"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="10dp">
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:background="@color/result_blue">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/result_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:text="result text" />
|
||||
android:text="result text"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/result_signature"
|
||||
@ -26,7 +29,7 @@
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/relativeLayout">
|
||||
android:id="@+id/result_signature_image">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ic_signature"
|
||||
@ -45,20 +48,24 @@
|
||||
android:id="@+id/mainUserId"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:layout_gravity="left"
|
||||
android:text="@string/label_main_user_id"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_toRightOf="@+id/relativeLayout" />
|
||||
android:layout_toRightOf="@+id/result_signature_image"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/mainUserIdRest"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:layout_gravity="left"
|
||||
android:text="Main User Id Rest"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:layout_below="@+id/mainUserId"
|
||||
android:layout_toRightOf="@+id/relativeLayout" />
|
||||
android:layout_toRightOf="@+id/result_signature_image"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
<com.beardedhen.androidbootstrap.BootstrapButton
|
||||
android:id="@+id/lookup_key"
|
||||
@ -74,4 +81,5 @@
|
||||
android:layout_alignParentEnd="true" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</LinearLayout>
|
@ -4,8 +4,8 @@
|
||||
<color name="emphasis">#31b6e7</color>
|
||||
<color name="bg_gray">#cecbce</color>
|
||||
|
||||
<color name="result_red">#CC0000</color>
|
||||
<color name="result_orange">#FF8800</color>
|
||||
<color name="result_green">#669900</color>
|
||||
<color name="result_blue">#336699</color>
|
||||
<color name="result_red">#FF4444</color>
|
||||
<color name="result_orange">#FFBB33</color>
|
||||
<color name="result_green">#99CC00</color>
|
||||
<color name="result_blue">#33B5E5</color>
|
||||
</resources>
|
@ -209,8 +209,6 @@
|
||||
<string name="file_delete_confirmation">Are you sure you want to delete\n%s?</string>
|
||||
<string name="file_delete_successful">Successfully deleted.</string>
|
||||
<string name="no_file_selected">Select a file first.</string>
|
||||
<string name="decrypt_successful">Successfully decrypted.</string>
|
||||
<string name="decrypt_verified_successful">Successfully decrypted and/or verified.</string>
|
||||
<string name="encrypt_sign_successful">Successfully signed and/or encrypted.</string>
|
||||
<string name="encrypt_sign_clipboard_successful">Successfully signed and/or encrypted to clipboard.</string>
|
||||
<string name="enter_passphrase_twice">Enter the passphrase twice.</string>
|
||||
@ -258,7 +256,6 @@
|
||||
<item quantity="other">Found %d keys.</item>
|
||||
</plurals>
|
||||
|
||||
<string name="unknown_signature">Unknown signature, click button to lookup the missing key.</string>
|
||||
|
||||
<plurals name="bad_keys_encountered">
|
||||
<item quantity="one">%d bad secret key ignored. Perhaps you exported with the option\n --export-secret-subkeys\nMake sure you export with\n --export-secret-keys\ninstead.</item>
|
||||
@ -295,7 +292,6 @@
|
||||
<string name="error_main_user_id_must_not_be_empty">main user id must not be empty</string>
|
||||
<string name="error_key_needs_master_key">need at least a master key</string>
|
||||
<string name="error_no_encryption_keys_or_passphrase">no encryption keys or passphrase given</string>
|
||||
<string name="error_signature_failed">signature failed</string>
|
||||
<string name="error_no_signature_passphrase">no passphrase given</string>
|
||||
<string name="error_no_signature_key">no signature key given</string>
|
||||
<string name="error_invalid_data">not valid encryption data</string>
|
||||
@ -305,14 +301,16 @@
|
||||
<string name="error_wrong_passphrase">wrong passphrase</string>
|
||||
<string name="error_saving_keys">error saving some keys</string>
|
||||
<string name="error_could_not_extract_private_key">could not extract private key</string>
|
||||
<string name="error_only_files_are_supported">Direct binary data without actual file in filesystem is not supported. This is only supported by ACTION_ENCRYPT_STREAM_AND_RETURN.</string>
|
||||
<string name="error_jelly_bean_needed">You need Android 4.1 alias Jelly Bean to use Androids NFC Beam feature!</string>
|
||||
<string name="error_nfc_needed">NFC is not available on your device!</string>
|
||||
<string name="error_nothing_import">Nothing to import!</string>
|
||||
<string name="error_expiry_must_come_after_creation">expiry date must come after creation date</string>
|
||||
<string name="error_save_first">please save the keyring first</string>
|
||||
<string name="error_can_not_delete_contact">you can not delete this contact because it is your own.</string>
|
||||
<string name="error_can_not_delete_contacts">you can not delete the following contacts because they are your own:\n%s</string>
|
||||
|
||||
<!-- errors without preceeding Error: -->
|
||||
<string name="error_only_files_are_supported">Direct binary data without actual file in filesystem is not supported. This is only supported by ACTION_ENCRYPT_STREAM_AND_RETURN.</string>
|
||||
<string name="error_jelly_bean_needed">You need Android 4.1 alias Jelly Bean to use Androids NFC Beam feature!</string>
|
||||
<string name="error_nfc_needed">NFC is not available on your device!</string>
|
||||
<string name="error_nothing_import">Nothing to import!</string>
|
||||
<string name="error_keyserver_insufficient_query">Insufficient server query</string>
|
||||
<string name="error_keyserver_query">Querying keyserver failed</string>
|
||||
<string name="error_keyserver_too_many_responses">Too many responses</string>
|
||||
@ -328,6 +326,16 @@
|
||||
</plurals>
|
||||
<string name="error_change_something_first">You must make changes to the keyring before you can save it</string>
|
||||
|
||||
<!-- results shown after decryption/verification -->
|
||||
<string name="decrypt_result_invalid_signature">Invalid signature!</string>
|
||||
<string name="decrypt_result_signature_unknown_pub_key">Unknown public key</string>
|
||||
<string name="decrypt_result_signature_uncertified">Valid signature (uncertified)</string>
|
||||
<string name="decrypt_result_signature_certified">Valid signature (certified)</string>
|
||||
<string name="decrypt_result_decrypted">Successfully decrypted</string>
|
||||
<string name="decrypt_result_decrypted_unknown_pub_key">Successfully decrypted but unknown public key</string>
|
||||
<string name="decrypt_result_decrypted_and_signature_uncertified">Successfully decrypted and valid signature (uncertified)</string>
|
||||
<string name="decrypt_result_decrypted_and_signature_certified">Successfully decrypted and valid signature (certified)</string>
|
||||
|
||||
<!-- progress dialogs, usually ending in '…' -->
|
||||
<string name="progress_done">Done.</string>
|
||||
<string name="progress_cancel">Cancel</string>
|
||||
|
Loading…
Reference in New Issue
Block a user