Fix react with any closing for story direct replies.

fork-5.53.8
Cody Henthorne 2022-04-07 13:33:33 -04:00
rodzic 2d6146351d
commit cb63fe600c
1 zmienionych plików z 13 dodań i 4 usunięć

Wyświetl plik

@ -38,6 +38,8 @@ class StoryDirectReplyDialogFragment :
ReactWithAnyEmojiBottomSheetDialogFragment.Callback {
private val lifecycleDisposable = LifecycleDisposable()
private var isRequestingReactWithAny = false
private var isReactClosingAfterSend = false
private val viewModel: StoryDirectReplyViewModel by viewModels(
factoryProducer = {
@ -92,6 +94,7 @@ class StoryDirectReplyDialogFragment :
override fun onOpenReactionPicker() {
dialog.dismiss()
isRequestingReactWithAny = true
ReactWithAnyEmojiBottomSheetDialogFragment.createForStory().show(childFragmentManager, null)
}
}
@ -120,13 +123,13 @@ class StoryDirectReplyDialogFragment :
override fun onResume() {
super.onResume()
ViewUtil.focusAndShowKeyboard(composer)
ViewUtil.focusAndShowKeyboard(composer.input)
}
override fun onPause() {
super.onPause()
ViewUtil.hideKeyboard(requireContext(), composer)
ViewUtil.hideKeyboard(requireContext(), composer.input)
}
override fun openEmojiSearch() {
@ -134,7 +137,7 @@ class StoryDirectReplyDialogFragment :
}
override fun onKeyboardHidden() {
if (!composer.isRequestingEmojiDrawer) {
if (!composer.isRequestingEmojiDrawer && !isRequestingReactWithAny) {
super.onKeyboardHidden()
}
}
@ -170,10 +173,16 @@ class StoryDirectReplyDialogFragment :
override fun onKeyEvent(keyEvent: KeyEvent?) = Unit
override fun onReactWithAnyEmojiDialogDismissed() = Unit
override fun onReactWithAnyEmojiDialogDismissed() {
isRequestingReactWithAny = false
if (!isReactClosingAfterSend) {
ViewUtil.focusAndShowKeyboard(composer.input)
}
}
override fun onReactWithAnyEmojiSelected(emoji: String) {
sendReaction(emoji)
isReactClosingAfterSend = true
}
private fun sendReaction(emoji: String) {