diff --git a/app-common/src/main/java/eu/darken/capod/common/uix/Activity2.kt b/app-common/src/main/java/eu/darken/capod/common/uix/Activity2.kt index 3a7b642f..0f73ed04 100644 --- a/app-common/src/main/java/eu/darken/capod/common/uix/Activity2.kt +++ b/app-common/src/main/java/eu/darken/capod/common/uix/Activity2.kt @@ -3,6 +3,7 @@ package eu.darken.capod.common.uix import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.WindowCompat import androidx.lifecycle.LiveData import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE import eu.darken.capod.common.debug.logging.log @@ -15,6 +16,8 @@ abstract class Activity2 : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { log(tag, VERBOSE) { "onCreate(savedInstanceState=$savedInstanceState)" } super.onCreate(savedInstanceState) + + WindowCompat.setDecorFitsSystemWindows( window, false ) } override fun onResume() { diff --git a/app-common/src/main/java/eu/darken/capod/common/uix/Fragment2.kt b/app-common/src/main/java/eu/darken/capod/common/uix/Fragment2.kt index bb4f8f3b..8eb977ee 100644 --- a/app-common/src/main/java/eu/darken/capod/common/uix/Fragment2.kt +++ b/app-common/src/main/java/eu/darken/capod/common/uix/Fragment2.kt @@ -7,6 +7,8 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.annotation.LayoutRes +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import androidx.fragment.app.Fragment import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE import eu.darken.capod.common.debug.logging.log @@ -40,6 +42,17 @@ abstract class Fragment2(@LayoutRes val layoutRes: Int?) : Fragment(layoutRes ?: override fun onViewCreated(view: View, savedInstanceState: Bundle?) { log(tag, VERBOSE) { "onViewCreated(view=$view, savedInstanceState=$savedInstanceState)" } super.onViewCreated(view, savedInstanceState) + + ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets -> + val systemWindowInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding( + v.paddingLeft, + systemWindowInsets.top, + v.paddingRight, + 0 + ) + insets + } } override fun onActivityCreated(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/eu/darken/capod/main/ui/overview/OverviewFragment.kt b/app/src/main/java/eu/darken/capod/main/ui/overview/OverviewFragment.kt index 3b2df596..d4966bad 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/overview/OverviewFragment.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/overview/OverviewFragment.kt @@ -8,6 +8,8 @@ import android.text.SpannableStringBuilder import android.view.View import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import androidx.fragment.app.viewModels import dagger.hilt.android.AndroidEntryPoint import eu.darken.capod.BuildConfig @@ -147,6 +149,7 @@ class OverviewFragment : Fragment3(R.layout.main_fragment) { vm.launchUpgradeFlow.observe2 { it(requireActivity()) } + super.onViewCreated(view, savedInstanceState) } diff --git a/app/src/main/java/eu/darken/capod/main/ui/settings/SettingsFragment.kt b/app/src/main/java/eu/darken/capod/main/ui/settings/SettingsFragment.kt index b4361f55..699d5740 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/settings/SettingsFragment.kt @@ -2,7 +2,10 @@ package eu.darken.capod.main.ui.settings import android.os.Bundle import android.os.Parcelable +import android.view.LayoutInflater import android.view.View +import android.view.ViewGroup +import android.widget.ListView import androidx.appcompat.widget.Toolbar import androidx.fragment.app.viewModels import androidx.preference.Preference @@ -15,6 +18,7 @@ import eu.darken.capod.common.viewbinding.viewBinding import eu.darken.capod.databinding.SettingsFragmentBinding import kotlinx.parcelize.Parcelize + @AndroidEntryPoint class SettingsFragment : Fragment2(R.layout.settings_fragment), PreferenceFragmentCompat.OnPreferenceStartFragmentCallback { diff --git a/app/src/main/res/layout/main_fragment.xml b/app/src/main/res/layout/main_fragment.xml index f812bf12..ea87905b 100644 --- a/app/src/main/res/layout/main_fragment.xml +++ b/app/src/main/res/layout/main_fragment.xml @@ -22,6 +22,8 @@ android:layout_height="0dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" + android:paddingBottom="48dp" + android:clipToPadding="false" tools:listitem="@layout/overview_pods_dual_item" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/toolbar" /> diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index d69a4b5b..e15be6da 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index b9adb822..603ee9dc 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/app/src/main/res/xml/preferences_general.xml b/app/src/main/res/xml/preferences_general.xml index 0870e624..69dcad93 100644 --- a/app/src/main/res/xml/preferences_general.xml +++ b/app/src/main/res/xml/preferences_general.xml @@ -77,6 +77,10 @@ android:summary="@string/settings_debug_description" android:title="@string/settings_debug_label" /> + + \ No newline at end of file