mirror of
https://github.com/oxen-io/session-android.git
synced 2025-10-24 13:19:12 +00:00
Consolidate user "capability" enums to a single value
// FREEBIE
This commit is contained in:
@@ -30,7 +30,6 @@ import org.thoughtcrime.securesms.notifications.MessageNotifier;
|
||||
import org.thoughtcrime.securesms.push.AccountManagerFactory;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.sms.IncomingJoinedMessage;
|
||||
import org.thoughtcrime.securesms.util.DirectoryHelper.UserCapabilities.Capability;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import org.whispersystems.signalservice.api.SignalServiceAccountManager;
|
||||
import org.whispersystems.signalservice.api.push.ContactTokenDetails;
|
||||
@@ -44,37 +43,8 @@ import java.util.Set;
|
||||
|
||||
public class DirectoryHelper {
|
||||
|
||||
public static class UserCapabilities {
|
||||
|
||||
public static final UserCapabilities UNKNOWN = new UserCapabilities(Capability.UNKNOWN, Capability.UNKNOWN, Capability.UNKNOWN);
|
||||
public static final UserCapabilities UNSUPPORTED = new UserCapabilities(Capability.UNSUPPORTED, Capability.UNSUPPORTED, Capability.UNSUPPORTED);
|
||||
public static final UserCapabilities SUPPORTED = new UserCapabilities(Capability.SUPPORTED, Capability.SUPPORTED, Capability.SUPPORTED);
|
||||
|
||||
public enum Capability {
|
||||
UNKNOWN, SUPPORTED, UNSUPPORTED
|
||||
}
|
||||
|
||||
private final Capability text;
|
||||
private final Capability voice;
|
||||
private final Capability video;
|
||||
|
||||
public UserCapabilities(Capability text, Capability voice, Capability video) {
|
||||
this.text = text;
|
||||
this.voice = voice;
|
||||
this.video = video;
|
||||
}
|
||||
|
||||
public Capability getTextCapability() {
|
||||
return text;
|
||||
}
|
||||
|
||||
public Capability getVoiceCapability() {
|
||||
return voice;
|
||||
}
|
||||
|
||||
public Capability getVideoCapability() {
|
||||
return video;
|
||||
}
|
||||
public enum Capability {
|
||||
UNKNOWN, SUPPORTED, UNSUPPORTED
|
||||
}
|
||||
|
||||
private static final String TAG = DirectoryHelper.class.getSimpleName();
|
||||
@@ -128,9 +98,9 @@ public class DirectoryHelper {
|
||||
return new RefreshResult(new LinkedList<>(), false);
|
||||
}
|
||||
|
||||
public static UserCapabilities refreshDirectoryFor(@NonNull Context context,
|
||||
@Nullable MasterSecret masterSecret,
|
||||
@NonNull Recipient recipient)
|
||||
public static Capability refreshDirectoryFor(@NonNull Context context,
|
||||
@Nullable MasterSecret masterSecret,
|
||||
@NonNull Recipient recipient)
|
||||
throws IOException
|
||||
{
|
||||
RecipientPreferenceDatabase recipientDatabase = DatabaseFactory.getRecipientPreferenceDatabase(context);
|
||||
@@ -151,40 +121,36 @@ public class DirectoryHelper {
|
||||
notifyNewUsers(context, masterSecret, result.getNewUsers());
|
||||
}
|
||||
|
||||
return new UserCapabilities(Capability.SUPPORTED,
|
||||
details.get().isVoice() ? Capability.SUPPORTED : Capability.UNSUPPORTED,
|
||||
details.get().isVideo() ? Capability.SUPPORTED : Capability.UNSUPPORTED);
|
||||
return Capability.SUPPORTED;
|
||||
} else {
|
||||
recipientDatabase.setRegistered(new LinkedList<>(), Util.asList(recipient.getAddress()));
|
||||
return UserCapabilities.UNSUPPORTED;
|
||||
return Capability.UNSUPPORTED;
|
||||
}
|
||||
}
|
||||
|
||||
public static @NonNull UserCapabilities getUserCapabilities(@NonNull Context context,
|
||||
@Nullable Recipient recipient)
|
||||
{
|
||||
public static @NonNull Capability getUserCapabilities(@NonNull Context context, @Nullable Recipient recipient) {
|
||||
if (recipient == null) {
|
||||
return UserCapabilities.UNSUPPORTED;
|
||||
return Capability.UNSUPPORTED;
|
||||
}
|
||||
|
||||
if (!TextSecurePreferences.isPushRegistered(context)) {
|
||||
return UserCapabilities.UNSUPPORTED;
|
||||
return Capability.UNSUPPORTED;
|
||||
}
|
||||
|
||||
if (recipient.isMmsGroupRecipient()) {
|
||||
return UserCapabilities.UNSUPPORTED;
|
||||
return Capability.UNSUPPORTED;
|
||||
}
|
||||
|
||||
if (recipient.isPushGroupRecipient()) {
|
||||
return new UserCapabilities(Capability.SUPPORTED, Capability.UNSUPPORTED, Capability.UNSUPPORTED);
|
||||
return Capability.SUPPORTED;
|
||||
}
|
||||
|
||||
final RecipientPreferenceDatabase recipientDatabase = DatabaseFactory.getRecipientPreferenceDatabase(context);
|
||||
final Optional<RecipientsPreferences> recipientPreferences = recipientDatabase.getRecipientsPreferences(recipient.getAddress());
|
||||
|
||||
if (recipientPreferences.isPresent() && recipientPreferences.get().isRegistered()) return UserCapabilities.SUPPORTED;
|
||||
else if (recipientPreferences.isPresent()) return UserCapabilities.UNSUPPORTED;
|
||||
else return UserCapabilities.UNKNOWN;
|
||||
if (recipientPreferences.isPresent() && recipientPreferences.get().isRegistered()) return Capability.SUPPORTED;
|
||||
else if (recipientPreferences.isPresent()) return Capability.UNSUPPORTED;
|
||||
else return Capability.UNKNOWN;
|
||||
}
|
||||
|
||||
private static @NonNull RefreshResult updateContactsDatabase(@NonNull Context context,
|
||||
|
||||
Reference in New Issue
Block a user