hide fingerprints in UI if encryption is disabled
This commit is contained in:
parent
5137837f6d
commit
83adbb6052
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue