Add updated search hint text when filter is enabled.
This commit is contained in:
parent
54d0df9a05
commit
ec3ec969eb
5 changed files with 23 additions and 0 deletions
|
@ -7,6 +7,7 @@ import android.util.AttributeSet
|
|||
import android.view.View
|
||||
import android.view.ViewAnimationUtils
|
||||
import android.widget.EditText
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.animation.addListener
|
||||
import androidx.core.widget.addTextChangedListener
|
||||
|
@ -49,6 +50,10 @@ class Material3SearchToolbar @JvmOverloads constructor(
|
|||
})
|
||||
}
|
||||
|
||||
fun setSearchInputHint(@StringRes hintStringRes: Int) {
|
||||
input.setHint(hintStringRes)
|
||||
}
|
||||
|
||||
fun display(x: Float, y: Float) {
|
||||
if (Build.VERSION.SDK_INT < 21) {
|
||||
visibility = VISIBLE
|
||||
|
|
|
@ -114,10 +114,12 @@ import org.thoughtcrime.securesms.components.voice.VoiceNotePlayerView;
|
|||
import org.thoughtcrime.securesms.contacts.sync.CdsPermanentErrorBottomSheet;
|
||||
import org.thoughtcrime.securesms.contacts.sync.CdsTemporaryErrorBottomSheet;
|
||||
import org.thoughtcrime.securesms.conversation.ConversationFragment;
|
||||
import org.thoughtcrime.securesms.conversationlist.chatfilter.ConversationFilterRequest;
|
||||
import org.thoughtcrime.securesms.conversationlist.chatfilter.ConversationFilterSource;
|
||||
import org.thoughtcrime.securesms.conversationlist.chatfilter.ConversationListFilterPullView;
|
||||
import org.thoughtcrime.securesms.conversationlist.chatfilter.FilterLerp;
|
||||
import org.thoughtcrime.securesms.conversationlist.model.Conversation;
|
||||
import org.thoughtcrime.securesms.conversationlist.model.ConversationFilter;
|
||||
import org.thoughtcrime.securesms.conversationlist.model.UnreadPayments;
|
||||
import org.thoughtcrime.securesms.database.MessageTable.MarkedMessageInfo;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
|
@ -688,6 +690,8 @@ public class ConversationListFragment extends MainFragment implements ActionMode
|
|||
}
|
||||
|
||||
private void initializeSearchListener() {
|
||||
viewModel.getConversationFilterRequest().observe(getViewLifecycleOwner(), this::updateSearchToolbarHint);
|
||||
|
||||
requireCallback().getSearchAction().setOnClickListener(v -> {
|
||||
fadeOutButtonsAndMegaphone(250);
|
||||
requireCallback().onSearchOpened();
|
||||
|
@ -725,9 +729,16 @@ public class ConversationListFragment extends MainFragment implements ActionMode
|
|||
fadeInButtonsAndMegaphone(250);
|
||||
}
|
||||
});
|
||||
updateSearchToolbarHint(Objects.requireNonNull(viewModel.getConversationFilterRequest().getValue()));
|
||||
});
|
||||
}
|
||||
|
||||
private void updateSearchToolbarHint(@NonNull ConversationFilterRequest conversationFilterRequest) {
|
||||
requireCallback().getSearchToolbar().get().setSearchInputHint(
|
||||
conversationFilterRequest.getFilter() == ConversationFilter.OFF ? R.string.SearchToolbar_search : R.string.SearchToolbar_search_unread_chats
|
||||
);
|
||||
}
|
||||
|
||||
private void initializeVoiceNotePlayer() {
|
||||
mediaControllerOwner.getVoiceNoteMediaController().getVoiceNotePlayerViewState().observe(getViewLifecycleOwner(), state -> {
|
||||
if (state.isPresent()) {
|
||||
|
|
|
@ -175,6 +175,10 @@ class ConversationListViewModel extends ViewModel {
|
|||
return unreadPaymentsLiveData;
|
||||
}
|
||||
|
||||
@NonNull LiveData<ConversationFilterRequest> getConversationFilterRequest() {
|
||||
return conversationFilterRequest;
|
||||
}
|
||||
|
||||
public int getPinnedCount() {
|
||||
return pinnedCount;
|
||||
}
|
||||
|
|
|
@ -106,6 +106,7 @@ class StoriesLandingFragment : DSLSettingsFragment(layoutId = R.layout.stories_l
|
|||
val searchBinder = requireListener<SearchBinder>()
|
||||
searchBinder.getSearchAction().setOnClickListener {
|
||||
searchBinder.onSearchOpened()
|
||||
searchBinder.getSearchToolbar().get().setSearchInputHint(R.string.SearchToolbar_search)
|
||||
|
||||
searchBinder.getSearchToolbar().get().listener = object : Material3SearchToolbar.Listener {
|
||||
override fun onSearchTextChange(text: String) {
|
||||
|
|
|
@ -2074,6 +2074,8 @@
|
|||
|
||||
<!-- SearchToolbar -->
|
||||
<string name="SearchToolbar_search">Search</string>
|
||||
<!-- Hint when searching filtered chat content -->
|
||||
<string name="SearchToolbar_search_unread_chats">Search unread chats</string>
|
||||
<string name="SearchToolbar_search_for_conversations_contacts_and_messages">Search for conversations, contacts, and messages</string>
|
||||
|
||||
<!-- Material3 Search Toolbar -->
|
||||
|
|
Loading…
Add table
Reference in a new issue