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.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.enableEdgeToEdge
|
import android.view.View
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
|
@ -53,12 +53,12 @@ class MainActivity : AppCompatActivity() {
|
||||||
@Inject lateinit var uiSettings: UISettings
|
@Inject lateinit var uiSettings: UISettings
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
enableEdgeToEdge()
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setupTheme()
|
setupTheme()
|
||||||
// Inflate the views after setting up the theme so that the theme attributes are applied.
|
// Inflate the views after setting up the theme so that the theme attributes are applied.
|
||||||
val binding = ActivityMainBinding.inflate(layoutInflater)
|
val binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
setupEdgeToEdge(binding.root)
|
||||||
L.d("Activity created")
|
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
|
* Transform an [Intent] given to [MainActivity] into a [DeferredPlayback] that can be used in
|
||||||
* the playback system.
|
* 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"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<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 -->
|
<!-- Replicate extra theme values for widgets -->
|
||||||
<color name="widget_surface">@color/material_dynamic_secondary20</color>
|
<color name="widget_surface">@color/material_dynamic_secondary20</color>
|
||||||
<color name="widget_surface_inverse">@color/material_dynamic_neutral90</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"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<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:windowSplashScreenAnimatedIcon">@drawable/ic_splash_anim</item>
|
||||||
<item name="android:windowSplashScreenAnimationDuration">1000</item>
|
<item name="android:windowSplashScreenAnimationDuration">1000</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<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 -->
|
<!-- Replicate extra theme values for widgets -->
|
||||||
<color name="widget_surface">@color/material_dynamic_primary95</color>
|
<color name="widget_surface">@color/material_dynamic_primary95</color>
|
||||||
<color name="widget_surface_inverse">@color/material_dynamic_neutral20</color>
|
<color name="widget_surface_inverse">@color/material_dynamic_neutral20</color>
|
||||||
|
|
|
@ -2,12 +2,23 @@
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Master parent theme -->
|
<!-- Master parent theme -->
|
||||||
<style name="Theme.Auxio" parent="Theme.Material3.DynamicColors.DayNight" />
|
<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. -->
|
<!-- Adds an animated splash screen. -->
|
||||||
<style name="Theme.Auxio.V31" parent="Theme.Auxio" />
|
<style name="Theme.Auxio.V31" parent="Theme.Auxio.V29" />
|
||||||
|
|
||||||
<!-- Base theme -->
|
<!-- Base theme -->
|
||||||
<style name="Theme.Auxio.Base" parent="Theme.Auxio.V31">
|
<style name="Theme.Auxio.Base" parent="Theme.Auxio.V31">
|
||||||
|
|
||||||
<!-- Material configuration -->
|
<!-- Material configuration -->
|
||||||
|
<!-- <item name="colorOutline">@color/overlay_stroke</item>-->
|
||||||
<item name="toolbarStyle">@style/Widget.Auxio.Toolbar</item>
|
<item name="toolbarStyle">@style/Widget.Auxio.Toolbar</item>
|
||||||
<item name="materialAlertDialogTheme">@style/Theme.Auxio.Dialog</item>
|
<item name="materialAlertDialogTheme">@style/Theme.Auxio.Dialog</item>
|
||||||
<item name="sliderStyle">@style/Widget.Auxio.Slider</item>
|
<item name="sliderStyle">@style/Widget.Auxio.Slider</item>
|
||||||
|
|
Loading…
Reference in a new issue