Revert "app: remove custom edge to edge setup"
This reverts commit f134d3e11b
.
This commit is contained in:
parent
b0b55b5069
commit
ad2ec5a655
8 changed files with 76 additions and 4 deletions
|
@ -20,7 +20,7 @@ package org.oxycblt.auxio
|
|||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import android.view.View
|
||||
import androidx.activity.viewModels
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
|
@ -53,12 +53,12 @@ class MainActivity : AppCompatActivity() {
|
|||
@Inject lateinit var uiSettings: UISettings
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
enableEdgeToEdge()
|
||||
super.onCreate(savedInstanceState)
|
||||
setupTheme()
|
||||
// Inflate the views after setting up the theme so that the theme attributes are applied.
|
||||
val binding = ActivityMainBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
setupEdgeToEdge(binding.root)
|
||||
L.d("Activity created")
|
||||
}
|
||||
|
||||
|
@ -95,6 +95,17 @@ class MainActivity : AppCompatActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private fun setupEdgeToEdge(contentView: View) {
|
||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||
contentView.setOnApplyWindowInsetsListener { view, insets ->
|
||||
// Automatically inset the view to the left/right, as component support for
|
||||
// these insets are highly lacking.
|
||||
val bars = insets.systemBarInsetsCompat
|
||||
view.updatePadding(left = bars.left, right = bars.right)
|
||||
insets
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform an [Intent] given to [MainActivity] into a [DeferredPlayback] that can be used in
|
||||
* the playback system.
|
||||
|
|
10
app/src/main/res/values-night-v27/styles_core.xml
Normal file
10
app/src/main/res/values-night-v27/styles_core.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Template theme that handles edge-to-edge on other styles variants -->
|
||||
<style name="Theme.Auxio.V27" parent="Theme.Auxio.V23">
|
||||
<item name="android:navigationBarColor">@color/chrome_transparent_ish</item>
|
||||
<item name="android:statusBarColor">@color/chrome_transparent_ish</item>
|
||||
<item name="android:windowLightStatusBar">false</item>
|
||||
<item name="android:windowLightNavigationBar">false</item>
|
||||
</style>
|
||||
</resources>
|
|
@ -1,5 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!--
|
||||
Used on devices when we can technically use "transparent" system bars, but fully
|
||||
transparent system bars would actually be made translucent by the OS.
|
||||
-->
|
||||
<color name="chrome_transparent_ish">#01000000</color>
|
||||
|
||||
<!-- Replicate extra theme values for widgets -->
|
||||
<color name="widget_surface">@color/material_dynamic_secondary20</color>
|
||||
<color name="widget_surface_inverse">@color/material_dynamic_neutral90</color>
|
||||
|
|
10
app/src/main/res/values-v27/styles_core.xml
Normal file
10
app/src/main/res/values-v27/styles_core.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Theme.Auxio.V27" parent="Theme.Auxio.V23">
|
||||
<item name="android:navigationBarColor">@color/chrome_transparent_ish</item>
|
||||
<item name="android:statusBarColor">@color/chrome_transparent_ish</item>
|
||||
<item name="android:windowLightStatusBar">true</item>
|
||||
<item name="android:windowLightNavigationBar">true</item>
|
||||
</style>
|
||||
</resources>
|
15
app/src/main/res/values-v29/styles_core.xml
Normal file
15
app/src/main/res/values-v29/styles_core.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Theme.Auxio.V29" parent="Theme.Auxio.V27">
|
||||
<!--
|
||||
Android 10 finally allows you to use fully transparent system bars without it automatically
|
||||
forcing contrast.
|
||||
-->
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||
<item name="android:enforceNavigationBarContrast">false</item>
|
||||
<item name="android:enforceStatusBarContrast">false</item>
|
||||
|
||||
</style>
|
||||
</resources>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Theme.Auxio.V31" parent="Theme.Auxio">
|
||||
<style name="Theme.Auxio.V31" parent="Theme.Auxio.V29">
|
||||
<item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_splash_anim</item>
|
||||
<item name="android:windowSplashScreenAnimationDuration">1000</item>
|
||||
</style>
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Used on devices when we cannot set dark/light mode on the system bars. -->
|
||||
<color name="chrome_translucent">#80000000</color>
|
||||
|
||||
<!--
|
||||
Used on devices when we can technically use "transparent" system bars, but fully
|
||||
transparent system bars would actually be made translucent by the OS.
|
||||
-->
|
||||
<color name="chrome_transparent_ish">#01ffffff</color>
|
||||
|
||||
<!-- Replicate extra theme values for widgets -->
|
||||
<color name="widget_surface">@color/material_dynamic_primary95</color>
|
||||
<color name="widget_surface_inverse">@color/material_dynamic_neutral20</color>
|
||||
|
|
|
@ -2,12 +2,23 @@
|
|||
<resources>
|
||||
<!-- Master parent theme -->
|
||||
<style name="Theme.Auxio" parent="Theme.Material3.DynamicColors.DayNight" />
|
||||
<!-- Adds nicer selector attributes not supported on lollipop -->
|
||||
<style name="Theme.Auxio.V23" parent="Theme.Auxio" />
|
||||
<!-- Handles edge-to-edge on other styles variants -->
|
||||
<style name="Theme.Auxio.V27" parent="Theme.Auxio.V23">
|
||||
<item name="android:statusBarColor">@color/chrome_translucent</item>
|
||||
<item name="android:navigationBarColor">@color/chrome_translucent</item>
|
||||
</style>
|
||||
<!-- Adds fully transparent system bars -->
|
||||
<style name="Theme.Auxio.V29" parent="Theme.Auxio.V27" />
|
||||
<!-- Adds an animated splash screen. -->
|
||||
<style name="Theme.Auxio.V31" parent="Theme.Auxio" />
|
||||
<style name="Theme.Auxio.V31" parent="Theme.Auxio.V29" />
|
||||
|
||||
<!-- Base theme -->
|
||||
<style name="Theme.Auxio.Base" parent="Theme.Auxio.V31">
|
||||
|
||||
<!-- Material configuration -->
|
||||
<!-- <item name="colorOutline">@color/overlay_stroke</item>-->
|
||||
<item name="toolbarStyle">@style/Widget.Auxio.Toolbar</item>
|
||||
<item name="materialAlertDialogTheme">@style/Theme.Auxio.Dialog</item>
|
||||
<item name="sliderStyle">@style/Widget.Auxio.Slider</item>
|
||||
|
|
Loading…
Reference in a new issue