Fix l10n when searching for "Note to Self".

This commit is contained in:
Rashad Sookram
2022-01-26 16:23:12 -05:00
committed by Cody Henthorne
parent 33f4bb0000
commit 125ff83bac
8 changed files with 43 additions and 22 deletions

View File

@@ -2191,7 +2191,9 @@ public class ConversationParentFragment extends Fragment
}
private void initializeSearchObserver() {
searchViewModel = new ViewModelProvider(this).get(ConversationSearchViewModel.class);
ConversationSearchViewModel.Factory viewModelFactory = new ConversationSearchViewModel.Factory(getString(R.string.note_to_self));
searchViewModel = new ViewModelProvider(this, viewModelFactory).get(ConversationSearchViewModel.class);
searchViewModel.getSearchResults().observe(getViewLifecycleOwner(), result -> {
if (result == null) return;

View File

@@ -1,11 +1,10 @@
package org.thoughtcrime.securesms.conversation;
import android.app.Application;
import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import org.signal.core.util.ThreadUtil;
import org.thoughtcrime.securesms.search.MessageResult;
@@ -15,7 +14,7 @@ import org.thoughtcrime.securesms.util.Debouncer;
import java.util.Collections;
import java.util.List;
public class ConversationSearchViewModel extends AndroidViewModel {
public class ConversationSearchViewModel extends ViewModel {
private final SearchRepository searchRepository;
private final MutableLiveData<SearchResult> result;
@@ -26,11 +25,10 @@ public class ConversationSearchViewModel extends AndroidViewModel {
private String activeQuery;
private long activeThreadId;
public ConversationSearchViewModel(@NonNull Application application) {
super(application);
public ConversationSearchViewModel(@NonNull String noteToSelfTitle) {
result = new MutableLiveData<>();
debouncer = new Debouncer(500);
searchRepository = new SearchRepository();
searchRepository = new SearchRepository(noteToSelfTitle);
}
LiveData<SearchResult> getSearchResults() {
@@ -128,4 +126,19 @@ public class ConversationSearchViewModel extends AndroidViewModel {
return position;
}
}
public static class Factory extends ViewModelProvider.NewInstanceFactory {
private final String noteToSelfTitle;
public Factory(@NonNull String noteToSelfTitle) {
this.noteToSelfTitle = noteToSelfTitle;
}
@Override
public @NonNull <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
//noinspection ConstantConditions
return modelClass.cast(new ConversationSearchViewModel(noteToSelfTitle));
}
}
}