Media.java

 1package eu.siacs.conversations.xmpp.jingle;
 2
 3import androidx.annotation.NonNull;
 4import com.google.common.collect.ImmutableSet;
 5import java.util.Locale;
 6import java.util.Set;
 7
 8public enum Media {
 9    VIDEO,
10    AUDIO,
11    UNKNOWN;
12
13    @Override
14    @NonNull
15    public String toString() {
16        return super.toString().toLowerCase(Locale.ROOT);
17    }
18
19    public static Media of(String value) {
20        try {
21            return value == null ? UNKNOWN : Media.valueOf(value.toUpperCase(Locale.ROOT));
22        } catch (IllegalArgumentException e) {
23            return UNKNOWN;
24        }
25    }
26
27    public static boolean audioOnly(Set<Media> media) {
28        return ImmutableSet.of(AUDIO).equals(media);
29    }
30
31    public static boolean videoOnly(Set<Media> media) {
32        return ImmutableSet.of(VIDEO).equals(media);
33    }
34}