mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-23 11:15:44 +00:00
Allow use of the in-app emoji picker when using system emoji.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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<Set<KeyboardPage>>
|
||||
|
||||
init {
|
||||
val startingPages: MutableSet<KeyboardPage> = KeyboardPage.values().toMutableSet()
|
||||
if (SignalStore.settings.isPreferSystemEmoji) {
|
||||
startingPages.remove(KeyboardPage.EMOJI)
|
||||
}
|
||||
val startingPages: MutableSet<KeyboardPage> = KeyboardPage.entries.toMutableSet()
|
||||
|
||||
if (!RemoteConfig.gifSearchAvailable) {
|
||||
startingPages.remove(KeyboardPage.GIF)
|
||||
|
||||
@@ -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() }
|
||||
|
||||
@@ -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<Animator> {
|
||||
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))
|
||||
|
||||
Reference in New Issue
Block a user