mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-23 20:48:43 +00:00
Fix EmojiView scroll in bottomsheet.
This commit is contained in:
@@ -112,6 +112,12 @@ public class EmojiPageView extends RecyclerView implements VariationSelectorList
|
||||
addItemDecoration(new EmojiItemDecoration(allowVariations, drawable));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean dispatchTouchEvent(MotionEvent ev) {
|
||||
getParent().requestDisallowInterceptTouchEvent(true);
|
||||
return super.dispatchTouchEvent(ev);
|
||||
}
|
||||
|
||||
public void presentForEmojiKeyboard() {
|
||||
setPadding(getPaddingLeft(),
|
||||
getPaddingTop(),
|
||||
|
||||
@@ -3,7 +3,6 @@ package org.thoughtcrime.securesms.stories.viewer.reply.group
|
||||
import android.content.ClipData
|
||||
import android.os.Bundle
|
||||
import android.view.KeyEvent
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.Toast
|
||||
@@ -15,8 +14,6 @@ import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehaviorHack
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.rxjava3.kotlin.subscribeBy
|
||||
@@ -26,7 +23,6 @@ import org.signal.core.util.concurrent.SignalExecutors
|
||||
import org.signal.core.util.getParcelableCompat
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.components.FixedRoundedCornerBottomSheetDialogFragment
|
||||
import org.thoughtcrime.securesms.components.emoji.MediaKeyboard
|
||||
import org.thoughtcrime.securesms.components.mention.MentionAnnotation
|
||||
import org.thoughtcrime.securesms.components.settings.DSLConfiguration
|
||||
@@ -120,18 +116,6 @@ class StoryGroupReplyFragment :
|
||||
ownerProducer = { requireActivity() }
|
||||
)
|
||||
|
||||
private val recyclerListener: RecyclerView.OnItemTouchListener = object : RecyclerView.SimpleOnItemTouchListener() {
|
||||
override fun onInterceptTouchEvent(view: RecyclerView, e: MotionEvent): Boolean {
|
||||
recyclerView.isNestedScrollingEnabled = view == recyclerView
|
||||
composer.emojiPageView?.isNestedScrollingEnabled = view == composer.emojiPageView
|
||||
|
||||
val dialog = (parentFragment as FixedRoundedCornerBottomSheetDialogFragment).dialog as BottomSheetDialog
|
||||
BottomSheetBehaviorHack.setNestedScrollingChild(dialog.behavior, view)
|
||||
dialog.findViewById<View>(com.google.android.material.R.id.design_bottom_sheet)?.invalidate()
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
private val colorizer = Colorizer()
|
||||
private val lifecycleDisposable = LifecycleDisposable()
|
||||
|
||||
@@ -414,13 +398,9 @@ class StoryGroupReplyFragment :
|
||||
|
||||
override fun onShowEmojiKeyboard() {
|
||||
requireListener<Callback>().requestFullScreen(true)
|
||||
recyclerView.addOnItemTouchListener(recyclerListener)
|
||||
composer.emojiPageView?.addOnItemTouchListener(recyclerListener)
|
||||
}
|
||||
|
||||
override fun onHideEmojiKeyboard() {
|
||||
recyclerView.removeOnItemTouchListener(recyclerListener)
|
||||
composer.emojiPageView?.removeOnItemTouchListener(recyclerListener)
|
||||
requireListener<Callback>().requestFullScreen(false)
|
||||
}
|
||||
|
||||
@@ -443,7 +423,7 @@ class StoryGroupReplyFragment :
|
||||
if (savedInstanceState == null) {
|
||||
lifecycleDisposable += isActiveGroup.firstOrError().observeOn(AndroidSchedulers.mainThread()).subscribe { active ->
|
||||
if (active) {
|
||||
ViewUtil.focusAndShowKeyboard(composer)
|
||||
ViewUtil.focusAndShowKeyboard(composer.input)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0"
|
||||
android:overScrollMode="never"
|
||||
android:nestedScrollingEnabled="true"
|
||||
tools:itemCount="0" />
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
|
||||
Reference in New Issue
Block a user