diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2016-05-25 22:12:13 +0200 |
---|---|---|
committer | Daniel Gultsch <daniel@gultsch.de> | 2016-05-25 22:12:13 +0200 |
commit | 83adbb6052104be0c5519e9a8312a1a780718442 (patch) | |
tree | cbbe2be7eec1673204d15ab425e2401dc92424fa | |
parent | 5137837f6d99ea5c9cc2b1b50515f545da0f7b0f (diff) |
hide fingerprints in UI if encryption is disabled
4 files changed, 44 insertions, 37 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java index f8f8fc590..de0979a60 100644 --- a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java @@ -390,35 +390,39 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd keys.removeAllViews(); boolean hasKeys = false; LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); - for(final String otrFingerprint : contact.getOtrFingerprints()) { - hasKeys = true; - View view = inflater.inflate(R.layout.contact_key, keys, false); - TextView key = (TextView) view.findViewById(R.id.key); - TextView keyType = (TextView) view.findViewById(R.id.key_type); - ImageButton removeButton = (ImageButton) view - .findViewById(R.id.button_remove); - removeButton.setVisibility(View.VISIBLE); - keyType.setText("OTR Fingerprint"); - key.setText(CryptoHelper.prettifyFingerprint(otrFingerprint)); - keys.addView(view); - removeButton.setOnClickListener(new OnClickListener() { + if (Config.supportOtr()) { + for (final String otrFingerprint : contact.getOtrFingerprints()) { + hasKeys = true; + View view = inflater.inflate(R.layout.contact_key, keys, false); + TextView key = (TextView) view.findViewById(R.id.key); + TextView keyType = (TextView) view.findViewById(R.id.key_type); + ImageButton removeButton = (ImageButton) view + .findViewById(R.id.button_remove); + removeButton.setVisibility(View.VISIBLE); + keyType.setText("OTR Fingerprint"); + key.setText(CryptoHelper.prettifyFingerprint(otrFingerprint)); + keys.addView(view); + removeButton.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - confirmToDeleteFingerprint(otrFingerprint); - } - }); + @Override + public void onClick(View v) { + confirmToDeleteFingerprint(otrFingerprint); + } + }); + } } - for (final String fingerprint : contact.getAccount().getAxolotlService().getFingerprintsForContact(contact)) { - boolean highlight = fingerprint.equals(messageFingerprint); - hasKeys |= addFingerprintRow(keys, contact.getAccount(), fingerprint, highlight, new OnClickListener() { - @Override - public void onClick(View v) { - onOmemoKeyClicked(contact.getAccount(), fingerprint); - } - }); + if (Config.supportOmemo()) { + for (final String fingerprint : contact.getAccount().getAxolotlService().getFingerprintsForContact(contact)) { + boolean highlight = fingerprint.equals(messageFingerprint); + hasKeys |= addFingerprintRow(keys, contact.getAccount(), fingerprint, highlight, new OnClickListener() { + @Override + public void onClick(View v) { + onOmemoKeyClicked(contact.getAccount(), fingerprint); + } + }); + } } - if (contact.getPgpKeyId() != 0) { + if (Config.supportOpenPgp() && contact.getPgpKeyId() != 0) { hasKeys = true; View view = inflater.inflate(R.layout.contact_key, keys, false); TextView key = (TextView) view.findViewById(R.id.key); diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 60514d205..5d5e4c297 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -390,8 +390,11 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa } else { switch (conversation.getNextEncryption()) { case Message.ENCRYPTION_NONE: - mEditMessage - .setHint(getString(R.string.send_unencrypted_message)); + if (Config.multipleEncryptionChoices()) { + mEditMessage.setHint(getString(R.string.send_unencrypted_message)); + } else { + mEditMessage.setHint(getString(R.string.send_message_to_x,conversation.getName())); + } break; case Message.ENCRYPTION_OTR: mEditMessage.setHint(getString(R.string.send_otr_message)); diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java index 1ba7dd3d0..dbd820b2c 100644 --- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java @@ -523,7 +523,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate } mamPrefs.setVisible(mAccount.getXmppConnection().getFeatures().mam()); Set<Integer> otherDevices = mAccount.getAxolotlService().getOwnDeviceIds(); - if (otherDevices == null || otherDevices.isEmpty()) { + if (otherDevices == null || otherDevices.isEmpty() || Config.supportOmemo()) { clearDevices.setVisible(false); } changePresence.setVisible(manuallyChangePresence()); @@ -776,7 +776,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate this.mServerInfoPush.setText(R.string.server_info_unavailable); } final String otrFingerprint = this.mAccount.getOtrFingerprint(); - if (otrFingerprint != null) { + if (otrFingerprint != null && Config.supportOtr()) { this.mOtrFingerprintBox.setVisibility(View.VISIBLE); this.mOtrFingerprint.setText(CryptoHelper.prettifyFingerprint(otrFingerprint)); this.mOtrFingerprintToClipboardButton @@ -798,10 +798,10 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate } else { this.mOtrFingerprintBox.setVisibility(View.GONE); } - final String axolotlFingerprint = this.mAccount.getAxolotlService().getOwnFingerprint(); - if (axolotlFingerprint != null) { + final String ownAxolotlFingerprint = this.mAccount.getAxolotlService().getOwnFingerprint(); + if (ownAxolotlFingerprint != null && Config.supportOmemo()) { this.mAxolotlFingerprintBox.setVisibility(View.VISIBLE); - this.mAxolotlFingerprint.setText(CryptoHelper.prettifyFingerprint(axolotlFingerprint.substring(2))); + this.mAxolotlFingerprint.setText(CryptoHelper.prettifyFingerprint(ownAxolotlFingerprint.substring(2))); this.mAxolotlFingerprintToClipboardButton .setVisibility(View.VISIBLE); this.mAxolotlFingerprintToClipboardButton @@ -810,7 +810,7 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate @Override public void onClick(final View v) { - if (copyTextToClipboard(axolotlFingerprint.substring(2), R.string.omemo_fingerprint)) { + if (copyTextToClipboard(ownAxolotlFingerprint.substring(2), R.string.omemo_fingerprint)) { Toast.makeText( EditAccountActivity.this, R.string.toast_message_omemo_fingerprint, @@ -833,17 +833,16 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate } else { this.mAxolotlFingerprintBox.setVisibility(View.GONE); } - final String ownFingerprint = mAccount.getAxolotlService().getOwnFingerprint(); boolean hasKeys = false; keys.removeAllViews(); for (final String fingerprint : mAccount.getAxolotlService().getFingerprintsForOwnSessions()) { - if (ownFingerprint.equals(fingerprint)) { + if (ownAxolotlFingerprint.equals(fingerprint)) { continue; } boolean highlight = fingerprint.equals(messageFingerprint); hasKeys |= addFingerprintRow(keys, mAccount, fingerprint, highlight, null); } - if (hasKeys) { + if (hasKeys && Config.supportOmemo()) { keysCard.setVisibility(View.VISIBLE); } else { keysCard.setVisibility(View.GONE); diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index f50c3a70b..6c6a46f0b 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -81,6 +81,7 @@ <string name="also_end_conversation">End this conversation afterwards</string> <string name="choose_presence">Choose presence to contact</string> <string name="send_unencrypted_message">Send unencrypted message</string> + <string name="send_message_to_x">Send message to %s</string> <string name="send_otr_message">Send OTR encrypted message</string> <string name="send_omemo_message">Send OMEMO encrypted message</string> <string name="send_omemo_x509_message">Send v\\OMEMO encrypted message</string> |