mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-24 11:45:28 +00:00
Disable stickers and gifs when editing message.
This commit is contained in:
@@ -304,6 +304,7 @@ import org.whispersystems.signalservice.api.SignalSessionLock;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
@@ -449,6 +450,7 @@ public class ConversationParentFragment extends Fragment
|
||||
private GroupCallViewModel groupCallViewModel;
|
||||
private VoiceRecorderWakeLock voiceRecorderWakeLock;
|
||||
private DraftViewModel draftViewModel;
|
||||
private KeyboardPagerViewModel keyboardPagerViewModel;
|
||||
private VoiceNoteMediaController voiceNoteMediaController;
|
||||
private VoiceNotePlayerView voiceNotePlayerView;
|
||||
private Material3OnScrollHelper material3OnScrollHelper;
|
||||
@@ -472,6 +474,8 @@ public class ConversationParentFragment extends Fragment
|
||||
|
||||
private ConversationOptionsMenu.Provider menuProvider;
|
||||
|
||||
private Set<KeyboardPage> previousPages;
|
||||
|
||||
public static ConversationParentFragment create(Intent intent) {
|
||||
ConversationParentFragment fragment = new ConversationParentFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
@@ -2724,7 +2728,7 @@ public class ConversationParentFragment extends Fragment
|
||||
}
|
||||
|
||||
private void initializeMediaKeyboardProviders() {
|
||||
KeyboardPagerViewModel keyboardPagerViewModel = new ViewModelProvider(requireActivity()).get(KeyboardPagerViewModel.class);
|
||||
keyboardPagerViewModel = new ViewModelProvider(requireActivity()).get(KeyboardPagerViewModel.class);
|
||||
|
||||
switch (TextSecurePreferences.getMediaKeyboardMode(requireContext())) {
|
||||
case EMOJI:
|
||||
@@ -4234,12 +4238,19 @@ public class ConversationParentFragment extends Fragment
|
||||
@Override
|
||||
public void onEnterEditMode() {
|
||||
updateToggleButtonState();
|
||||
previousPages = keyboardPagerViewModel.pages().getValue();
|
||||
keyboardPagerViewModel.setOnlyPage(KeyboardPage.EMOJI);
|
||||
onKeyboardChanged(KeyboardPage.EMOJI);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExitEditMode() {
|
||||
updateToggleButtonState();
|
||||
draftViewModel.deleteMessageEditDraft();
|
||||
if (previousPages != null) {
|
||||
keyboardPagerViewModel.setPages(previousPages);
|
||||
previousPages = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -37,6 +37,10 @@ class KeyboardPagerViewModel : ViewModel() {
|
||||
fun page(): LiveData<KeyboardPage> = page
|
||||
fun pages(): LiveData<Set<KeyboardPage>> = pages
|
||||
|
||||
fun setPages(pageOverride: Set<KeyboardPage>) {
|
||||
pages.value = pageOverride
|
||||
}
|
||||
|
||||
@MainThread
|
||||
fun setOnlyPage(page: KeyboardPage) {
|
||||
pages.value = setOf(page)
|
||||
|
||||
Reference in New Issue
Block a user