Fix emoji toggle behavior when in emoji search mode.

When in emoji search, toggle would be set to "emoji" state or
act like in "emoji" state. Fix is to show "keyboard" state still
when in emoji search.
main
Cody Henthorne 2022-12-15 13:32:22 -05:00
rodzic 4d47b9c594
commit 3ce5a7da67
4 zmienionych plików z 17 dodań i 5 usunięć

Wyświetl plik

@ -157,7 +157,7 @@ class GiftFlowConfirmationFragment :
viewModel.setAdditionalMessage(it)
},
onEmojiToggleClicked = {
if (inputAwareLayout.isKeyboardOpen || (!inputAwareLayout.isKeyboardOpen && !inputAwareLayout.isInputOpen)) {
if ((inputAwareLayout.isKeyboardOpen && !emojiKeyboard.isEmojiSearchMode) || (!inputAwareLayout.isKeyboardOpen && !inputAwareLayout.isInputOpen)) {
inputAwareLayout.show(it, emojiKeyboard)
emojiToggle.setImageResource(R.drawable.ic_keyboard_24)
} else {

Wyświetl plik

@ -489,6 +489,10 @@ public class InputPanel extends LinearLayout
mediaKeyboard.setToMedia();
}
public void setToIme() {
mediaKeyboard.setToIme();
}
@Override
public void onKeyEvent(KeyEvent keyEvent) {
composeText.dispatchKeyEvent(keyEvent);

Wyświetl plik

@ -1171,8 +1171,12 @@ public class ConversationParentFragment extends Fragment
@Override
public void onKeyboardShown() {
inputPanel.onKeyboardShown();
if (emojiDrawerStub.resolved() && emojiDrawerStub.get().isShowing() && !emojiDrawerStub.get().isEmojiSearchMode()) {
emojiDrawerStub.get().hide(true);
if (emojiDrawerStub.resolved() && emojiDrawerStub.get().isShowing()) {
if (emojiDrawerStub.get().isEmojiSearchMode()) {
inputPanel.setToIme();
} else {
emojiDrawerStub.get().hide(true);
}
}
if (attachmentKeyboardStub.resolved() && attachmentKeyboardStub.get().isShowing()) {
navigationBarBackground.setVisibility(View.GONE);

Wyświetl plik

@ -147,8 +147,12 @@ class AddMessageDialogFragment : KeyboardEntryDialogFragment(R.layout.v2_media_a
override fun onKeyboardShown() {
super.onKeyboardShown()
if (emojiDrawerStub.resolved() && emojiDrawerStub.get().isShowing && !emojiDrawerStub.get().isEmojiSearchMode) {
emojiDrawerStub.get().hide(true)
if (emojiDrawerStub.resolved() && emojiDrawerStub.get().isShowing) {
if (emojiDrawerStub.get().isEmojiSearchMode) {
binding.content.emojiToggle.setToIme()
} else {
emojiDrawerStub.get().hide(true)
}
}
}