Support edge-to-edge rendering on Android Q+ (#146)

* Set nav bars transparent in themes.xml files

* App renders edge-to-edge; need to handle scroll overlaps

* Add fake padding

* Begin version separating

* Edge-to-edge working everywhere except main page

* Finalized

* Cleanup Finalized

* Cleanup Finalized

* Removed redundant values-v29 & optimize imports

* Consolidated insets to Fragment2

* Consolidated insets to Fragment2 (file wasn't staged)
This commit is contained in:
Sean Singh
2023-07-04 12:17:44 +02:00
committed by GitHub
parent fb8ec72825
commit 669fa2fd22
8 changed files with 46 additions and 2 deletions
@@ -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)
}
@@ -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 {
@@ -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" />
+4 -1
View File
@@ -1,4 +1,4 @@
<resources>
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="AppTheme" parent="Theme.Material3.Dark.NoActionBar">
<item name="colorPrimary">@color/md_theme_dark_primary</item>
@@ -27,6 +27,9 @@
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_dark_primaryInverse</item>
<item tools:targetApi="29" name="android:enforceNavigationBarContrast">true</item>
<item tools:targetApi="29" name="android:navigationBarColor">@android:color/transparent</item>
</style>
</resources>
+13 -1
View File
@@ -1,4 +1,4 @@
<resources>
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="AppTheme" parent="Theme.Material3.Light.NoActionBar">
<item name="colorPrimary">@color/md_theme_light_primary</item>
@@ -27,6 +27,11 @@
<item name="colorOnSurfaceInverse">@color/md_theme_light_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/md_theme_light_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_light_primaryInverse</item>
<item tools:targetApi="29" name="android:enforceNavigationBarContrast">true</item>
<item tools:targetApi="29" name="android:navigationBarColor">@android:color/transparent</item>
</style>
<style name="AppThemeFloating" parent="AppTheme">
@@ -37,12 +42,19 @@
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">true</item>
<item tools:targetApi="29" name="android:enforceNavigationBarContrast">true</item>
<item tools:targetApi="29" name="android:navigationBarColor">@android:color/transparent</item>
</style>
<style name="AppThemeSplash" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">#3f7aff</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/splash_screen</item>
<item name="postSplashScreenTheme">@style/AppTheme</item>
<item tools:targetApi="29" name="android:navigationBarColor">@android:color/transparent</item>
</style>
</resources>
@@ -77,6 +77,10 @@
android:summary="@string/settings_debug_description"
android:title="@string/settings_debug_label" />
<Preference
android:summary=""
android:title="" />
</PreferenceCategory>
</PreferenceScreen>