From e17cf37799ed94a59c4685ead0145c262ecf2073 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 19 Jul 2024 12:24:12 -0400 Subject: [PATCH] Allow use of the in-app emoji picker when using system emoji. --- .../securesms/components/ComposeText.java | 6 ------ .../thoughtcrime/securesms/components/InputPanel.java | 9 ++------- .../securesms/conversation/v2/ConversationFragment.kt | 3 +-- .../securesms/keyboard/KeyboardPagerViewModel.kt | 6 +----- .../mediasend/v2/review/AddMessageDialogFragment.kt | 11 +++-------- .../mediasend/v2/review/MediaReviewFragment.kt | 8 +++----- 6 files changed, 10 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/ComposeText.java b/app/src/main/java/org/thoughtcrime/securesms/components/ComposeText.java index 129241bac7..62e1e47f0b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/ComposeText.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/ComposeText.java @@ -210,18 +210,12 @@ public class ComposeText extends EmojiEditText { } public void setMessageSendType(MessageSendType messageSendType) { - final boolean useSystemEmoji = SignalStore.settings().isPreferSystemEmoji(); - int imeOptions = (getImeOptions() & ~EditorInfo.IME_MASK_ACTION) | EditorInfo.IME_ACTION_SEND; int inputType = getInputType(); if (isLandscape()) setImeActionLabel(getContext().getString(messageSendType.getComposeHintRes()), EditorInfo.IME_ACTION_SEND); else setImeActionLabel(null, 0); - if (useSystemEmoji) { - inputType = (inputType & ~InputType.TYPE_MASK_VARIATION) | InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE; - } - setImeOptions(imeOptions); setHint(getContext().getString(messageSendType.getComposeHintRes())); setInputType(inputType); diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java b/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java index 8a05a40645..8ca643e847 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java @@ -174,13 +174,8 @@ public class InputPanel extends ConstraintLayout this.recordLockCancel.setOnClickListener(v -> microphoneRecorderView.cancelAction(true)); - if (SignalStore.settings().isPreferSystemEmoji()) { - mediaKeyboard.setVisibility(View.GONE); - emojiVisible = false; - } else { - mediaKeyboard.setVisibility(View.VISIBLE); - emojiVisible = true; - } + mediaKeyboard.setVisibility(View.VISIBLE); + emojiVisible = true; quoteDismiss.setOnClickListener(v -> clearQuote()); diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt index b65190eb52..1439e5e183 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt @@ -1698,14 +1698,13 @@ class ConversationFragment : } private fun initializeMediaKeyboard() { - val isSystemEmojiPreferred = SignalStore.settings.isPreferSystemEmoji val keyboardMode: TextSecurePreferences.MediaKeyboardMode = TextSecurePreferences.getMediaKeyboardMode(requireContext()) val stickerIntro: Boolean = !TextSecurePreferences.hasSeenStickerIntroTooltip(requireContext()) inputPanel.showMediaKeyboardToggle(true) val keyboardPage = when (keyboardMode) { - TextSecurePreferences.MediaKeyboardMode.EMOJI -> if (isSystemEmojiPreferred) KeyboardPage.STICKER else KeyboardPage.EMOJI + TextSecurePreferences.MediaKeyboardMode.EMOJI -> KeyboardPage.EMOJI TextSecurePreferences.MediaKeyboardMode.STICKER -> KeyboardPage.STICKER TextSecurePreferences.MediaKeyboardMode.GIF -> if (RemoteConfig.gifSearchAvailable) KeyboardPage.GIF else KeyboardPage.STICKER } diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPagerViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPagerViewModel.kt index c15120ebb9..4c68a20537 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPagerViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPagerViewModel.kt @@ -4,7 +4,6 @@ import androidx.annotation.MainThread import androidx.lifecycle.LiveData import androidx.lifecycle.ViewModel import org.signal.core.util.ThreadUtil -import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.stickers.StickerSearchRepository import org.thoughtcrime.securesms.util.DefaultValueLiveData import org.thoughtcrime.securesms.util.RemoteConfig @@ -15,10 +14,7 @@ class KeyboardPagerViewModel : ViewModel() { private val pages: DefaultValueLiveData> init { - val startingPages: MutableSet = KeyboardPage.values().toMutableSet() - if (SignalStore.settings.isPreferSystemEmoji) { - startingPages.remove(KeyboardPage.EMOJI) - } + val startingPages: MutableSet = KeyboardPage.entries.toMutableSet() if (!RemoteConfig.gifSearchAvailable) { startingPages.remove(KeyboardPage.GIF) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/AddMessageDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/AddMessageDialogFragment.kt index 3a239237a9..a5df1fac7e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/AddMessageDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/AddMessageDialogFragment.kt @@ -31,7 +31,6 @@ import org.thoughtcrime.securesms.conversation.ui.mentions.MentionsPickerViewMod import org.thoughtcrime.securesms.databinding.V2MediaAddMessageDialogFragmentBinding import org.thoughtcrime.securesms.keyboard.KeyboardPage import org.thoughtcrime.securesms.keyboard.KeyboardPagerViewModel -import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.mediasend.v2.HudCommand import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionState import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionViewModel @@ -93,13 +92,9 @@ class AddMessageDialogFragment : KeyboardEntryDialogFragment(R.layout.v2_media_a binding.content.addAMessageInput.setText(requireArguments().getCharSequence(ARG_INITIAL_TEXT)) - if (SignalStore.settings.isPreferSystemEmoji) { - binding.content.emojiToggle.visible = false - } else { - binding.content.emojiToggle.setOnClickListener { onEmojiToggleClicked() } - if (requireArguments().getBoolean(ARG_INITIAL_EMOJI_TOGGLE) && view is KeyboardAwareLinearLayout) { - view.addOnKeyboardShownListener(EmojiLaunchListener(view)) - } + binding.content.emojiToggle.setOnClickListener { onEmojiToggleClicked() } + if (requireArguments().getBoolean(ARG_INITIAL_EMOJI_TOGGLE) && view is KeyboardAwareLinearLayout) { + view.addOnKeyboardShownListener(EmojiLaunchListener(view)) } binding.hud.setOnClickListener { dismissAllowingStateLoss() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt index 64b42f915a..df18b34c45 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt @@ -280,10 +280,8 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment), Schedul sharedViewModel.incrementViewOnceState() } - if (!SignalStore.settings.isPreferSystemEmoji) { - emojiButton.setOnClickListener { - AddMessageDialogFragment.show(parentFragmentManager, sharedViewModel.state.value?.message, true) - } + emojiButton.setOnClickListener { + AddMessageDialogFragment.show(parentFragmentManager, sharedViewModel.state.value?.message, true) } addMessageButton.setOnClickListener { @@ -669,7 +667,7 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment), Schedul } private fun computeEmojiButtonAnimators(state: MediaSelectionState): List { - return if (state.isTouchEnabled && !SignalStore.settings.isPreferSystemEmoji && state.viewOnceToggleState != MediaSelectionState.ViewOnceToggleState.ONCE) { + return if (state.isTouchEnabled && state.viewOnceToggleState != MediaSelectionState.ViewOnceToggleState.ONCE) { listOf(MediaReviewAnimatorController.getFadeInAnimator(emojiButton)) } else { listOf(MediaReviewAnimatorController.getFadeOutAnimator(emojiButton))