revanced-integrations/app/src/main/java/app/revanced/integrations/youtube/StringTrieSearch.java
LisoUseInAIKyrios 0cbad98205
feat(YouTube - Hide layout components): Filter home/search results by keywords (#584)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2024-03-27 14:07:36 +01:00

35 lines
914 B
Java

package app.revanced.integrations.youtube;
import androidx.annotation.NonNull;
/**
* Text pattern searching using a prefix tree (trie).
*/
public final class StringTrieSearch extends TrieSearch<String> {
private static final class StringTrieNode extends TrieNode<String> {
StringTrieNode() {
super();
}
StringTrieNode(char nodeCharacterValue) {
super(nodeCharacterValue);
}
@Override
TrieNode<String> createNode(char nodeValue) {
return new StringTrieNode(nodeValue);
}
@Override
char getCharValue(String text, int index) {
return text.charAt(index);
}
@Override
int getTextLength(String text) {
return text.length();
}
}
public StringTrieSearch(@NonNull String... patterns) {
super(new StringTrieNode(), patterns);
}
}