Skip to content

Commit

Permalink
MBL-1952 Add dynamic root padding to Message Creator screen (#2192)
Browse files Browse the repository at this point in the history
Co-authored-by: Tony Teate <[email protected]>
  • Loading branch information
tonyteate authored Jan 8, 2025
1 parent 13f486f commit 5806a36
Showing 1 changed file with 23 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@ package com.kickstarter.ui.activities

import android.content.Intent
import android.os.Bundle
import android.view.ViewGroup
import androidx.activity.addCallback
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isGone
import androidx.core.view.updateLayoutParams
import androidx.core.view.updatePadding
import com.kickstarter.R
import com.kickstarter.databinding.ActivityMessageCreatorBinding
import com.kickstarter.libs.KSString
Expand All @@ -19,7 +25,6 @@ import com.kickstarter.ui.extensions.finishWithAnimation
import com.kickstarter.ui.extensions.onChange
import com.kickstarter.ui.extensions.setUpConnectivityStatusCheck
import com.kickstarter.ui.extensions.showSnackbar
import com.kickstarter.utils.WindowInsetsUtil
import com.kickstarter.viewmodels.MessageCreatorViewModel.Factory
import com.kickstarter.viewmodels.MessageCreatorViewModel.MessageCreatorViewModel
import io.reactivex.android.schedulers.AndroidSchedulers
Expand All @@ -35,13 +40,26 @@ class MessageCreatorActivity : AppCompatActivity() {
private var disposables = CompositeDisposable()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
WindowCompat.setDecorFitsSystemWindows(window, false)

binding = ActivityMessageCreatorBinding.inflate(layoutInflater)
WindowInsetsUtil.manageEdgeToEdge(
window,
binding.root
)
setContentView(binding.root)

ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
v.updateLayoutParams<ViewGroup.MarginLayoutParams> {
leftMargin = insets.left
bottomMargin = insets.bottom
rightMargin = insets.right
topMargin = insets.top
}

val imeInsets = windowInsets.getInsets(WindowInsetsCompat.Type.ime())
v.updatePadding(bottom = imeInsets.bottom)

WindowInsetsCompat.CONSUMED
}

setUpConnectivityStatusCheck(lifecycle)

val environment = this.getEnvironment()?.let { env ->
Expand Down

0 comments on commit 5806a36

Please sign in to comment.