discord-jadx/app/src/main/java/androidx/core/content/MimeTypeFilter.java

76 lines
2.8 KiB
Java
Raw Normal View History

2021-07-24 02:37:17 +00:00
package androidx.core.content;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
2021-08-10 10:47:20 +00:00
import com.discord.widgets.chat.input.autocomplete.AutocompleteViewModel;
2021-07-24 02:37:17 +00:00
import java.util.ArrayList;
public final class MimeTypeFilter {
private MimeTypeFilter() {
}
@Nullable
public static String matches(@Nullable String str, @NonNull String[] strArr) {
if (str == null) {
return null;
}
2021-08-10 10:47:20 +00:00
String[] split = str.split(AutocompleteViewModel.COMMAND_DISCOVER_TOKEN);
2021-07-24 02:37:17 +00:00
for (String str2 : strArr) {
2021-08-10 10:47:20 +00:00
if (mimeTypeAgainstFilter(split, str2.split(AutocompleteViewModel.COMMAND_DISCOVER_TOKEN))) {
2021-07-24 02:37:17 +00:00
return str2;
}
}
return null;
}
@Nullable
public static String matches(@Nullable String[] strArr, @NonNull String str) {
if (strArr == null) {
return null;
}
2021-08-10 10:47:20 +00:00
String[] split = str.split(AutocompleteViewModel.COMMAND_DISCOVER_TOKEN);
2021-07-24 02:37:17 +00:00
for (String str2 : strArr) {
2021-08-10 10:47:20 +00:00
if (mimeTypeAgainstFilter(str2.split(AutocompleteViewModel.COMMAND_DISCOVER_TOKEN), split)) {
2021-07-24 02:37:17 +00:00
return str2;
}
}
return null;
}
public static boolean matches(@Nullable String str, @NonNull String str2) {
if (str == null) {
return false;
}
2021-08-10 10:47:20 +00:00
return mimeTypeAgainstFilter(str.split(AutocompleteViewModel.COMMAND_DISCOVER_TOKEN), str2.split(AutocompleteViewModel.COMMAND_DISCOVER_TOKEN));
2021-07-24 02:37:17 +00:00
}
@NonNull
public static String[] matchesMany(@Nullable String[] strArr, @NonNull String str) {
if (strArr == null) {
return new String[0];
}
ArrayList arrayList = new ArrayList();
2021-08-10 10:47:20 +00:00
String[] split = str.split(AutocompleteViewModel.COMMAND_DISCOVER_TOKEN);
2021-07-24 02:37:17 +00:00
for (String str2 : strArr) {
2021-08-10 10:47:20 +00:00
if (mimeTypeAgainstFilter(str2.split(AutocompleteViewModel.COMMAND_DISCOVER_TOKEN), split)) {
2021-07-24 02:37:17 +00:00
arrayList.add(str2);
}
}
return (String[]) arrayList.toArray(new String[arrayList.size()]);
}
private static boolean mimeTypeAgainstFilter(@NonNull String[] strArr, @NonNull String[] strArr2) {
if (strArr2.length != 2) {
throw new IllegalArgumentException("Ill-formatted MIME type filter. Must be type/subtype.");
} else if (strArr2[0].isEmpty() || strArr2[1].isEmpty()) {
throw new IllegalArgumentException("Ill-formatted MIME type filter. Type or subtype empty.");
} else if (strArr.length != 2) {
return false;
} else {
if ("*".equals(strArr2[0]) || strArr2[0].equals(strArr[0])) {
return "*".equals(strArr2[1]) || strArr2[1].equals(strArr[1]);
}
return false;
}
}
}