@@ -20,7 +20,9 @@ import androidx.appcompat.app.AppCompatActivity
2020import androidx.appcompat.widget.SearchView
2121import androidx.core.text.HtmlCompat
2222import androidx.core.view.MenuProvider
23+ import androidx.core.view.WindowInsetsCompat
2324import androidx.core.view.isVisible
25+ import androidx.core.view.updatePadding
2426import androidx.fragment.app.Fragment
2527import androidx.fragment.app.viewModels
2628import androidx.lifecycle.lifecycleScope
@@ -68,6 +70,7 @@ import org.wordpress.android.mediapicker.util.MediaPickerLinkMovementMethod
6870import org.wordpress.android.mediapicker.util.MediaPickerPermissionUtils
6971import org.wordpress.android.mediapicker.util.MediaUtils
7072import org.wordpress.android.mediapicker.util.UiHelpers
73+ import org.wordpress.android.mediapicker.util.doOnApplyWindowInsets
7174import org.wordpress.android.mediapicker.viewmodel.MediaPickerViewModel
7275import org.wordpress.android.mediapicker.viewmodel.observeEvent
7376import javax.inject.Inject
@@ -225,6 +228,7 @@ internal class MediaPickerFragment : Fragment(), MenuProvider {
225228 }
226229 setupFab(uiState.fabUiModel)
227230 pullToRefresh.isRefreshing = uiState.isRefreshing
231+ applyEdgeToEdgeSettings(this )
228232 }
229233 }
230234
@@ -277,6 +281,18 @@ internal class MediaPickerFragment : Fragment(), MenuProvider {
277281 }
278282 }
279283
284+ private fun applyEdgeToEdgeSettings (binding : MediaPickerLibFragmentBinding ){
285+ binding.root.doOnApplyWindowInsets(
286+ insetsMask = WindowInsetsCompat .Type .navigationBars(),
287+ consumeInsets = true
288+ ) { insets ->
289+ binding.recycler.addItemDecoration(LastItemPaddingDecoration (insets.bottom), 0 )
290+ binding.actionableEmptyView.updatePadding(bottom = insets.bottom)
291+ binding.softAskView.updatePadding(bottom = insets.bottom)
292+ binding.loadingView.updatePadding(bottom = insets.bottom)
293+ }
294+ }
295+
280296 private fun onActionSelected (action : MediaPickerAction ) {
281297 when (action) {
282298 is OpenSystemPicker -> {
0 commit comments