File tree Expand file tree Collapse file tree
project/app/src/main/java/org/owntracks/android/ui Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package org.owntracks.android.ui.preferences
22
33import android.os.Bundle
4+ import android.view.View
5+ import androidx.core.view.ViewCompat
6+ import androidx.core.view.WindowInsetsCompat
7+ import androidx.core.view.updatePadding
48import androidx.preference.PreferenceFragmentCompat
59import javax.inject.Inject
610import org.owntracks.android.R
@@ -17,6 +21,16 @@ abstract class AbstractPreferenceFragment : PreferenceFragmentCompat() {
1721 preferenceManager.preferenceDataStore = preferenceDataStore
1822 }
1923
24+ override fun onViewCreated (view : View , savedInstanceState : Bundle ? ) {
25+ super .onViewCreated(view, savedInstanceState)
26+ ViewCompat .setOnApplyWindowInsetsListener(listView) { v, insets ->
27+ val systemBarsInsets = insets.getInsets(WindowInsetsCompat .Type .systemBars())
28+ v.updatePadding(bottom = systemBarsInsets.bottom)
29+ insets
30+ }
31+ ViewCompat .requestApplyInsets(view)
32+ }
33+
2034 protected val connectionMode: String
2135 get() =
2236 when (preferences.mode) {
Original file line number Diff line number Diff line change @@ -12,8 +12,10 @@ import androidx.activity.viewModels
1212import androidx.appcompat.app.AppCompatActivity
1313import androidx.core.app.ShareCompat
1414import androidx.core.net.toUri
15+ import androidx.coordinatorlayout.widget.CoordinatorLayout
1516import androidx.core.view.ViewCompat
1617import androidx.core.view.WindowInsetsCompat
18+ import androidx.core.view.updateLayoutParams
1719import androidx.core.view.updatePadding
1820import androidx.databinding.DataBindingUtil
1921import androidx.lifecycle.Lifecycle
@@ -57,9 +59,14 @@ class LogViewerActivity : AppCompatActivity() {
5759 setSupportActionBar(appbar.toolbar)
5860
5961 // Handle window insets for edge-to-edge
62+ val fabBaseMarginBottom =
63+ (shareFab.layoutParams as CoordinatorLayout .LayoutParams ).bottomMargin
6064 ViewCompat .setOnApplyWindowInsetsListener(frame) { _, windowInsets ->
6165 val insets = windowInsets.getInsets(WindowInsetsCompat .Type .systemBars())
6266 appbar.root.updatePadding(top = insets.top)
67+ shareFab.updateLayoutParams<CoordinatorLayout .LayoutParams > {
68+ bottomMargin = fabBaseMarginBottom + insets.bottom
69+ }
6370 WindowInsetsCompat .CONSUMED
6471 }
6572 }
You can’t perform that action at this time.
0 commit comments