aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2016-11-22 12:03:21 +0100
committerDaniel Gultsch <daniel@gultsch.de>2016-11-22 12:03:21 +0100
commitd76b0a3104f0bf259472c54d253fc214c3238765 (patch)
tree494549b60baebdf25192c7f006258afe9951600b /src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
parent1a7e0fd15389d018258b2cdddc05f7ccf9582bce (diff)
offer verification directly from the trust keys screen
Diffstat (limited to 'src/main/java/eu/siacs/conversations/services/XmppConnectionService.java')
-rw-r--r--src/main/java/eu/siacs/conversations/services/XmppConnectionService.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
index c8a19019..c69dd2db 100644
--- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
+++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
@@ -3617,17 +3617,20 @@ public class XmppConnectionService extends Service {
});
}
- public void verifyFingerprints(Contact contact, List<XmppUri.Fingerprint> fingerprints) {
+ public boolean verifyFingerprints(Contact contact, List<XmppUri.Fingerprint> fingerprints) {
boolean needsRosterWrite = false;
+ boolean performedVerification = false;
final AxolotlService axolotlService = contact.getAccount().getAxolotlService();
for(XmppUri.Fingerprint fp : fingerprints) {
if (fp.type == XmppUri.FingerprintType.OTR) {
- needsRosterWrite |= contact.addOtrFingerprint(fp.fingerprint);
+ performedVerification |= contact.addOtrFingerprint(fp.fingerprint);
+ needsRosterWrite |= performedVerification;
} else if (fp.type == XmppUri.FingerprintType.OMEMO) {
String fingerprint = "05"+fp.fingerprint.replaceAll("\\s","");
FingerprintStatus fingerprintStatus = axolotlService.getFingerprintTrust(fingerprint);
if (fingerprintStatus != null) {
if (!fingerprintStatus.isVerified()) {
+ performedVerification = true;
axolotlService.setFingerprintTrust(fingerprint,fingerprintStatus.toVerified());
}
} else {
@@ -3638,6 +3641,7 @@ public class XmppConnectionService extends Service {
if (needsRosterWrite) {
syncRosterToDisk(contact.getAccount());
}
+ return performedVerification;
}
public boolean verifyFingerprints(Account account, List<XmppUri.Fingerprint> fingerprints) {