Slight cleanup for ConfirmIdentityDialog change.

Closes #3225
// FREEBIE
This commit is contained in:
Moxie Marlinspike
2015-05-26 13:12:11 -07:00
parent 72bd6d5844
commit ec60c24849
3 changed files with 38 additions and 23 deletions

View File

@@ -55,6 +55,7 @@ import org.thoughtcrime.securesms.mms.Slide;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.DateUtils;
import java.util.List;
import java.util.Locale;
import java.util.Set;
@@ -369,22 +370,17 @@ public class ConversationItem extends LinearLayout {
contactPhoto.setAvatar(recipient, true);
contactPhoto.setVisibility(View.VISIBLE);
}
private IdentityKeyMismatch getKeyMismatch(final MessageRecord record) {
if (record.isIdentityMismatchFailure()) {
for (final IdentityKeyMismatch mismatch : record.getIdentityKeyMismatches()) {
if (mismatch.getRecipientId() == record.getIndividualRecipient().getRecipientId()) {
return mismatch;
}
}
}
return null;
}
/// Event handlers
private void handleKeyExchangeClicked() {
new ConfirmIdentityDialog(context, masterSecret, messageRecord, getKeyMismatch(messageRecord)).show();
private void handleApproveIdentity() {
List<IdentityKeyMismatch> mismatches = messageRecord.getIdentityKeyMismatches();
if (mismatches.size() != 1) {
throw new AssertionError("Identity mismatch count: " + mismatches.size());
}
new ConfirmIdentityDialog(context, masterSecret, messageRecord, mismatches.get(0)).show();
}
private class ThumbnailClickListener implements ThumbnailView.ThumbnailClickListener {
@@ -462,12 +458,8 @@ public class ConversationItem extends LinearLayout {
intent.putExtra(MessageDetailsActivity.TYPE_EXTRA, messageRecord.isMms() ? MmsSmsDatabase.MMS_TRANSPORT : MmsSmsDatabase.SMS_TRANSPORT);
intent.putExtra(MessageDetailsActivity.IS_PUSH_GROUP_EXTRA, groupThread && pushDestination);
context.startActivity(intent);
} else if (messageRecord.isKeyExchange() &&
!messageRecord.isOutgoing() &&
!messageRecord.isProcessedKeyExchange() &&
!messageRecord.isStaleKeyExchange())
{
handleKeyExchangeClicked();
} else if (!messageRecord.isOutgoing() && messageRecord.isIdentityMismatchFailure()) {
handleApproveIdentity();
} else if (messageRecord.isPendingInsecureSmsFallback()) {
handleMessageApproval();
}