32 lines
1.2 KiB
Java
32 lines
1.2 KiB
Java
package org.thoughtcrime.securesms.crypto;
|
|
|
|
import android.content.Context;
|
|
import androidx.annotation.NonNull;
|
|
|
|
import org.thoughtcrime.securesms.crypto.storage.TextSecureSessionStore;
|
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
|
import org.thoughtcrime.securesms.recipients.RecipientId;
|
|
import org.whispersystems.libsignal.SignalProtocolAddress;
|
|
import org.whispersystems.libsignal.state.SessionStore;
|
|
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
|
|
|
|
public class SessionUtil {
|
|
|
|
public static boolean hasSession(@NonNull Context context, @NonNull RecipientId id) {
|
|
SessionStore sessionStore = new TextSecureSessionStore(context);
|
|
SignalProtocolAddress axolotlAddress = new SignalProtocolAddress(Recipient.resolved(id).requireServiceId(), SignalServiceAddress.DEFAULT_DEVICE_ID);
|
|
|
|
return sessionStore.containsSession(axolotlAddress);
|
|
}
|
|
|
|
public static void archiveSiblingSessions(Context context, SignalProtocolAddress address) {
|
|
TextSecureSessionStore sessionStore = new TextSecureSessionStore(context);
|
|
sessionStore.archiveSiblingSessions(address);
|
|
}
|
|
|
|
public static void archiveAllSessions(Context context) {
|
|
new TextSecureSessionStore(context).archiveAllSessions();
|
|
}
|
|
|
|
}
|