diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/DarkSearchView.java b/app/src/main/java/org/thoughtcrime/securesms/components/DarkSearchView.java deleted file mode 100644 index fda02a7ba..000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/components/DarkSearchView.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.thoughtcrime.securesms.components; - -import android.content.Context; -import android.util.AttributeSet; -import android.widget.EditText; - -import androidx.annotation.AttrRes; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; - -import org.thoughtcrime.securesms.R; - -/** - * Custom styled search view that we can insert into ActionBar menus - */ -public class DarkSearchView extends androidx.appcompat.widget.SearchView { - public DarkSearchView(@NonNull Context context) { - this(context, null); - } - - public DarkSearchView(@NonNull Context context, @Nullable AttributeSet attrs) { - this(context, attrs, R.attr.search_view_style_dark); - } - - public DarkSearchView(@NonNull Context context, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr) { - super(context, attrs, defStyleAttr); - - EditText searchText = findViewById(androidx.appcompat.R.id.search_src_text); - searchText.setTextColor(ContextCompat.getColor(context, R.color.signal_text_toolbar_subtitle)); - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/SearchView.java b/app/src/main/java/org/thoughtcrime/securesms/components/SearchView.java index dc8d3779f..c2ad5f94f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/SearchView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/SearchView.java @@ -1,13 +1,17 @@ package org.thoughtcrime.securesms.components; import android.content.Context; +import android.text.InputFilter; import android.util.AttributeSet; +import android.widget.TextView; import androidx.annotation.AttrRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.thoughtcrime.securesms.R; +import org.thoughtcrime.securesms.components.emoji.EmojiFilter; +import org.thoughtcrime.securesms.keyvalue.SignalStore; /** * Custom styled search view that we can insert into ActionBar menus @@ -23,5 +27,31 @@ public class SearchView extends androidx.appcompat.widget.SearchView { public SearchView(@NonNull Context context, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr) { super(context, attrs, defStyleAttr); + initEmojiFilter(); + } + + private void initEmojiFilter() { + if (!isInEditMode() && !SignalStore.settings().isPreferSystemEmoji()) { + TextView searchText = findViewById(androidx.appcompat.R.id.search_src_text); + if (searchText != null) { + searchText.setFilters(appendEmojiFilter(searchText)); + } + } + } + + private InputFilter[] appendEmojiFilter(@NonNull TextView view) { + InputFilter[] originalFilters = view.getFilters(); + InputFilter[] result; + + if (originalFilters != null) { + result = new InputFilter[originalFilters.length + 1]; + System.arraycopy(originalFilters, 0, result, 1, originalFilters.length); + } else { + result = new InputFilter[1]; + } + + result[0] = new EmojiFilter(view); + + return result; } } diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index ee33d02a2..2f8fa6f82 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -3,7 +3,6 @@ - diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index b1a263eef..bce3c03c4 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -356,12 +356,6 @@ @drawable/ic_search_24 - -