Verify identity removed from the convo activity.

This commit is contained in:
Anton Chekulaev 2020-12-14 10:38:51 +11:00
parent 112f77f6ed
commit 5046d1dce6
3 changed files with 30 additions and 74 deletions

View File

@ -98,7 +98,6 @@ import org.thoughtcrime.securesms.MediaOverviewActivity;
import org.thoughtcrime.securesms.MuteDialog; import org.thoughtcrime.securesms.MuteDialog;
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
import org.thoughtcrime.securesms.ShortcutLauncherActivity; import org.thoughtcrime.securesms.ShortcutLauncherActivity;
import org.thoughtcrime.securesms.VerifyIdentityActivity;
import org.thoughtcrime.securesms.audio.AudioRecorder; import org.thoughtcrime.securesms.audio.AudioRecorder;
import org.thoughtcrime.securesms.audio.AudioSlidePlayer; import org.thoughtcrime.securesms.audio.AudioSlidePlayer;
import org.thoughtcrime.securesms.components.AnimatingToggle; import org.thoughtcrime.securesms.components.AnimatingToggle;
@ -1466,15 +1465,16 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
Log.i(TAG, "Got identity records: " + result.first.isUnverified()); Log.i(TAG, "Got identity records: " + result.first.isUnverified());
identityRecords.replaceWith(result.first); identityRecords.replaceWith(result.first);
if (result.second != null) { //TODO Remove it.
Log.d(TAG, "Replacing banner..."); // if (result.second != null) {
unverifiedBannerView.get().display(result.second, result.first.getUnverifiedRecords(), // Log.d(TAG, "Replacing banner...");
new UnverifiedClickedListener(), // unverifiedBannerView.get().display(result.second, result.first.getUnverifiedRecords(),
new UnverifiedDismissedListener()); // new UnverifiedClickedListener(),
} else if (unverifiedBannerView.resolved()) { // new UnverifiedDismissedListener());
Log.d(TAG, "Clearing banner..."); // } else if (unverifiedBannerView.resolved()) {
unverifiedBannerView.get().hide(); // Log.d(TAG, "Clearing banner...");
} // unverifiedBannerView.get().hide();
// }
// titleView.setVerified(isSecureText && identityRecords.isVerified()); // titleView.setVerified(isSecureText && identityRecords.isVerified());
@ -2746,40 +2746,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
} }
} }
private class UnverifiedClickedListener implements UnverifiedBannerView.ClickListener {
@Override
public void onClicked(final List<IdentityRecord> unverifiedIdentities) {
Log.i(TAG, "onClicked: " + unverifiedIdentities.size());
if (unverifiedIdentities.size() == 1) {
Intent intent = new Intent(ConversationActivity.this, VerifyIdentityActivity.class);
intent.putExtra(VerifyIdentityActivity.ADDRESS_EXTRA, unverifiedIdentities.get(0).getAddress());
intent.putExtra(VerifyIdentityActivity.IDENTITY_EXTRA, new IdentityKeyParcelable(unverifiedIdentities.get(0).getIdentityKey()));
intent.putExtra(VerifyIdentityActivity.VERIFIED_EXTRA, false);
startActivity(intent);
} else {
String[] unverifiedNames = new String[unverifiedIdentities.size()];
for (int i=0;i<unverifiedIdentities.size();i++) {
unverifiedNames[i] = Recipient.from(ConversationActivity.this, unverifiedIdentities.get(i).getAddress(), false).toShortString();
}
AlertDialog.Builder builder = new AlertDialog.Builder(ConversationActivity.this);
builder.setIconAttribute(R.attr.dialog_alert_icon);
builder.setTitle("No longer verified");
builder.setItems(unverifiedNames, (dialog, which) -> {
Intent intent = new Intent(ConversationActivity.this, VerifyIdentityActivity.class);
intent.putExtra(VerifyIdentityActivity.ADDRESS_EXTRA, unverifiedIdentities.get(which).getAddress());
intent.putExtra(VerifyIdentityActivity.IDENTITY_EXTRA, new IdentityKeyParcelable(unverifiedIdentities.get(which).getIdentityKey()));
intent.putExtra(VerifyIdentityActivity.VERIFIED_EXTRA, false);
startActivity(intent);
});
builder.show();
}
}
}
private class QuoteRestorationTask extends AsyncTask<Void, Void, MessageRecord> { private class QuoteRestorationTask extends AsyncTask<Void, Void, MessageRecord> {
private final String serialized; private final String serialized;

View File

@ -55,7 +55,6 @@ import com.annimon.stream.Stream;
import org.thoughtcrime.securesms.ApplicationContext; import org.thoughtcrime.securesms.ApplicationContext;
import org.thoughtcrime.securesms.BindableConversationItem; import org.thoughtcrime.securesms.BindableConversationItem;
import org.thoughtcrime.securesms.ConfirmIdentityDialog;
import org.thoughtcrime.securesms.MediaPreviewActivity; import org.thoughtcrime.securesms.MediaPreviewActivity;
import org.thoughtcrime.securesms.MessageDetailsActivity; import org.thoughtcrime.securesms.MessageDetailsActivity;
import org.thoughtcrime.securesms.attachments.DatabaseAttachment; import org.thoughtcrime.securesms.attachments.DatabaseAttachment;
@ -1036,16 +1035,6 @@ public class ConversationItem extends TapJackingProofLinearLayout
/// Event handlers /// Event handlers
private void handleApproveIdentity() {
List<IdentityKeyMismatch> mismatches = messageRecord.getIdentityKeyMismatches();
if (mismatches.size() != 1) {
throw new AssertionError("Identity mismatch count: " + mismatches.size());
}
new ConfirmIdentityDialog(context, messageRecord, mismatches.get(0)).show();
}
private Spannable getLongMessageSpan(@NonNull MessageRecord messageRecord) { private Spannable getLongMessageSpan(@NonNull MessageRecord messageRecord) {
String message; String message;
Runnable action; Runnable action;
@ -1238,7 +1227,7 @@ public class ConversationItem extends TapJackingProofLinearLayout
intent.putExtra(MessageDetailsActivity.ADDRESS_EXTRA, conversationRecipient.getAddress()); intent.putExtra(MessageDetailsActivity.ADDRESS_EXTRA, conversationRecipient.getAddress());
context.startActivity(intent); context.startActivity(intent);
} else if (!messageRecord.isOutgoing() && messageRecord.isIdentityMismatchFailure()) { } else if (!messageRecord.isOutgoing() && messageRecord.isIdentityMismatchFailure()) {
handleApproveIdentity(); // handleApproveIdentity();
} else if (messageRecord.isPendingInsecureSmsFallback()) { } else if (messageRecord.isPendingInsecureSmsFallback()) {
handleMessageApproval(); handleMessageApproval();
} }

View File

@ -39,6 +39,7 @@ import java.util.concurrent.ExecutionException;
import network.loki.messenger.R; import network.loki.messenger.R;
//TODO Remove this class.
public class ConversationUpdateItem extends LinearLayout public class ConversationUpdateItem extends LinearLayout
implements RecipientModifiedListener, BindableConversationItem implements RecipientModifiedListener, BindableConversationItem
{ {
@ -255,24 +256,24 @@ public class ConversationUpdateItem extends LinearLayout
final Recipient sender = ConversationUpdateItem.this.sender; final Recipient sender = ConversationUpdateItem.this.sender;
IdentityUtil.getRemoteIdentityKey(getContext(), sender).addListener(new ListenableFuture.Listener<Optional<IdentityRecord>>() { // IdentityUtil.getRemoteIdentityKey(getContext(), sender).addListener(new ListenableFuture.Listener<Optional<IdentityRecord>>() {
@Override // @Override
public void onSuccess(Optional<IdentityRecord> result) { // public void onSuccess(Optional<IdentityRecord> result) {
if (result.isPresent()) { // if (result.isPresent()) {
Intent intent = new Intent(getContext(), VerifyIdentityActivity.class); // Intent intent = new Intent(getContext(), VerifyIdentityActivity.class);
intent.putExtra(VerifyIdentityActivity.ADDRESS_EXTRA, sender.getAddress()); // intent.putExtra(VerifyIdentityActivity.ADDRESS_EXTRA, sender.getAddress());
intent.putExtra(VerifyIdentityActivity.IDENTITY_EXTRA, new IdentityKeyParcelable(result.get().getIdentityKey())); // intent.putExtra(VerifyIdentityActivity.IDENTITY_EXTRA, new IdentityKeyParcelable(result.get().getIdentityKey()));
intent.putExtra(VerifyIdentityActivity.VERIFIED_EXTRA, result.get().getVerifiedStatus() == IdentityDatabase.VerifiedStatus.VERIFIED); // intent.putExtra(VerifyIdentityActivity.VERIFIED_EXTRA, result.get().getVerifiedStatus() == IdentityDatabase.VerifiedStatus.VERIFIED);
//
getContext().startActivity(intent); // getContext().startActivity(intent);
} // }
} // }
//
@Override // @Override
public void onFailure(ExecutionException e) { // public void onFailure(ExecutionException e) {
Log.w(TAG, e); // Log.w(TAG, e);
} // }
}); // });
} }
} }