Refactor handleKeyboardInsets()

This commit is contained in:
Ritika Pahwa 2025-10-22 13:43:37 +05:30
parent ec9bb3f89b
commit 3f2c75ce11

View file

@ -166,14 +166,13 @@ fun applyEdgeToEdgeBottomInsets(view: View) = view.applyEdgeToEdgeInsets { inset
* and accounts for navigation bar insets to avoid double offsets. * and accounts for navigation bar insets to avoid double offsets.
*/ */
fun View.handleKeyboardInsets() { fun View.handleKeyboardInsets() {
val existingBottomMargin = if (getTag(R.id.initial_margin_bottom) != null) { ViewCompat.setOnApplyWindowInsetsListener(this) { view, insets ->
getTag(R.id.initial_margin_bottom) as Int val existingBottomMargin = if (view.getTag(R.id.initial_margin_bottom) != null) {
} else { view.getTag(R.id.initial_margin_bottom) as Int
setTag(R.id.initial_margin_bottom, marginBottom) } else {
marginBottom view.setTag(R.id.initial_margin_bottom, marginBottom)
} marginBottom
}
ViewCompat.setOnApplyWindowInsetsListener(this) { _, insets ->
val lp = layoutParams as MarginLayoutParams val lp = layoutParams as MarginLayoutParams
@ -188,11 +187,8 @@ fun View.handleKeyboardInsets() {
layoutParams = lp layoutParams = lp
insets WindowInsetsCompat.CONSUMED
} }
ViewCompat.requestApplyInsets(this)
} }
/** /**