open trust key screen when download is in progress

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/crypto/axolotl/AxolotlService.java | 2 
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java       | 3 
src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java          | 2 
3 files changed, 4 insertions(+), 3 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/crypto/axolotl/AxolotlService.java 🔗

@@ -1256,7 +1256,7 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded {
 		return verified;
 	}
 
-	public boolean hasPendingKeyFetches(Account account, List<Jid> jids) {
+	public boolean hasPendingKeyFetches(List<Jid> jids) {
 		SignalProtocolAddress ownAddress = new SignalProtocolAddress(account.getJid().asBareJid().toString(), 0);
 		if (fetchStatusMap.getAll(ownAddress.getName()).containsValue(FetchStatus.PENDING)) {
 			return true;

src/main/java/eu/siacs/conversations/ui/ConversationFragment.java 🔗

@@ -745,7 +745,8 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
 		boolean hasUndecidedContacts = !axolotlService.getKeysWithTrust(FingerprintStatus.createActiveUndecided(), targets).isEmpty();
 		boolean hasPendingKeys = !axolotlService.findDevicesWithoutSession(conversation).isEmpty();
 		boolean hasNoTrustedKeys = axolotlService.anyTargetHasNoTrustedKeys(targets);
-		if (hasUndecidedOwn || hasUndecidedContacts || hasPendingKeys || hasNoTrustedKeys || hasUnaccepted) {
+		boolean downloadInProgress = axolotlService.hasPendingKeyFetches(targets);
+		if (hasUndecidedOwn || hasUndecidedContacts || hasPendingKeys || hasNoTrustedKeys || hasUnaccepted || downloadInProgress) {
 			axolotlService.createSessionsIfNeeded(conversation);
 			Intent intent = new Intent(getActivity(), TrustKeysActivity.class);
 			String[] contacts = new String[targets.size()];

src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java 🔗

@@ -353,7 +353,7 @@ public class TrustKeysActivity extends OmemoActivity implements OnKeyStatusUpdat
 	}
 
 	private boolean hasPendingKeyFetches() {
-		return mAccount != null && mAccount.getAxolotlService().hasPendingKeyFetches(mAccount, contactJids);
+		return mAccount != null && mAccount.getAxolotlService().hasPendingKeyFetches(contactJids);
 	}