diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt index 5a38eef19..221622f33 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatFragment.kt @@ -8,6 +8,8 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import androidx.core.view.isGone import androidx.fragment.app.viewModels import androidx.lifecycle.Lifecycle @@ -140,7 +142,36 @@ open class ChatFragment : BaseFragment() { } } } - binding?.chatBarView?.let { applyScrollContentWindowInsets(it) } + + binding?.root.apply { + ViewCompat.setOnApplyWindowInsetsListener(this!!) { _, insets -> + val ime = insets.getInsets(WindowInsetsCompat.Type.ime()).bottom + val nav = insets.getInsets(WindowInsetsCompat.Type.navigationBars()).bottom + + binding?.chatBarView?.translationY = -ime.toFloat() + binding?.chatBarView?.setPadding( + binding?.chatBarView!!.paddingLeft, + binding?.chatBarView!!.paddingTop, + binding?.chatBarView!!.paddingRight, + nav + ) + + + binding?.recyclerView?.translationY = -ime.toFloat() + + + binding?.recyclerView?.setPadding( + binding?.recyclerView!!.paddingLeft, + binding?.recyclerView!!.paddingTop, + binding?.recyclerView!!.paddingRight, + ime + nav + ) + + insets + } + ViewCompat.requestApplyInsets(this) + } + } override fun onResume() {