--- a/ui/material2/src/androidMain/AndroidManifest.xml Tue May 06 10:39:31 2025 -0400
+++ b/ui/material2/src/androidMain/AndroidManifest.xml Tue May 06 12:50:21 2025 -0400
@@ -24,7 +24,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application>
<activity android:name=".OpenSourceLicensesActivity"
- android:theme="@android:style/Theme.Material.Light.NoActionBar"
+ android:theme="@style/Theme.AboutOss.Material2"
android:label="@string/title_oss_licenses"
android:exported="false"
/>
--- a/ui/material2/src/androidMain/kotlin/OpenSourceLicensesActivity.kt Tue May 06 10:39:31 2025 -0400
+++ b/ui/material2/src/androidMain/kotlin/OpenSourceLicensesActivity.kt Tue May 06 12:50:21 2025 -0400
@@ -23,12 +23,15 @@
import android.os.Bundle
import androidx.activity.compose.setContent
+import androidx.activity.enableEdgeToEdge
import androidx.activity.viewModels
import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.foundation.layout.safeDrawingPadding
import androidx.compose.material.MaterialTheme
import androidx.compose.material.darkColors
import androidx.compose.material.lightColors
import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
import com.geekorum.aboutoss.core.gms.GmsLicenseInfoRepository
import com.geekorum.aboutoss.ui.common.BaseOpensourceLicenseActivity
import com.geekorum.aboutoss.ui.common.Factory
@@ -57,9 +60,11 @@
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
setContent {
themeProvider {
OpenSourceDependenciesNavHost(
+ modifier = Modifier.safeDrawingPadding(),
openSourceLicensesViewModel = viewModel,
navigateUp = {
if (!onNavigateUp()) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/material2/src/androidMain/res/values-night/themes.xml Tue May 06 12:50:21 2025 -0400
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ AboutOss is an utility library to retrieve and display
+ opensource licenses in Android applications.
+
+ Copyright (C) 2023-2025 by Frederic-Charles Barthelery.
+
+ This file is part of AboutOss.
+
+ AboutOss is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ AboutOss is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with AboutOss. If not, see <http://www.gnu.org/licenses/>.
+
+-->
+<resources>
+ <style name="Theme.AboutOss.Material2" parent="android:Theme.Material.NoActionBar"/>
+</resources>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/material2/src/androidMain/res/values/themes.xml Tue May 06 12:50:21 2025 -0400
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ AboutOss is an utility library to retrieve and display
+ opensource licenses in Android applications.
+
+ Copyright (C) 2023-2025 by Frederic-Charles Barthelery.
+
+ This file is part of AboutOss.
+
+ AboutOss is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ AboutOss is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with AboutOss. If not, see <http://www.gnu.org/licenses/>.
+
+-->
+<resources>
+ <style name="Theme.AboutOss.Material2" parent="android:Theme.Material.Light.NoActionBar"/>
+</resources>
\ No newline at end of file
--- a/ui/material2/src/commonMain/kotlin/com/geekorum/aboutoss/ui/material/OpenSourceDependenciesNavHost.kt Tue May 06 10:39:31 2025 -0400
+++ b/ui/material2/src/commonMain/kotlin/com/geekorum/aboutoss/ui/material/OpenSourceDependenciesNavHost.kt Tue May 06 12:50:21 2025 -0400
@@ -22,6 +22,7 @@
package com.geekorum.aboutoss.ui.material
import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
@@ -29,8 +30,12 @@
import com.geekorum.aboutoss.ui.common.OpenSourceLicensesViewModel
import kotlinx.serialization.Serializable
+// should be private but we have a weird IllegalAccessException on Desktop
+// IllegalAccessException: class kotlinx.serialization.internal.PlatformKt
+// cannot access a member of class com.geekorum.aboutoss.ui.material.DependenciesList
+// with modifiers "public static final"
@Serializable
-private object DependenciesList
+internal object DependenciesList
@Serializable
private data class DependencyLicense(
@@ -43,10 +48,11 @@
@Composable
fun OpenSourceDependenciesNavHost(
openSourceLicensesViewModel: OpenSourceLicensesViewModel,
- navigateUp: () -> Unit
+ navigateUp: () -> Unit,
+ modifier: Modifier = Modifier
) {
val navController = rememberNavController()
- NavHost(navController, startDestination = DependenciesList) {
+ NavHost(navController, startDestination = DependenciesList, modifier = modifier) {
composable<DependenciesList> {
OpenSourceDependenciesListScreen(
viewModel = openSourceLicensesViewModel,