From 22d398e56ac7b9b8f99c6ca8a3deee31d8586309 Mon Sep 17 00:00:00 2001 From: Lasta apps Date: Sat, 12 Feb 2022 14:43:17 +0100 Subject: [PATCH] app: Switched to About libraries, Gradle updates --- .gitignore | 1 + app/build.gradle.kts | 22 ++- app/proguard-rules.pro | 4 +- .../ui/dests/others/license/LibraryDetail.kt | 153 ++++++++++++++++ .../ui/dests/others/license/LibraryList.kt | 76 ++++++++ .../ui/dests/others/license/LicenseItem.kt | 80 +++++++++ .../ui/dests/others/license/LicenseLayout.kt | 163 +++++++++--------- .../ui/dests/others/license/LicenseList.kt | 122 ------------- .../ui/dests/others/license/LicenseText.kt | 69 -------- .../dests/others/license/LicenseViewModel.kt | 47 ----- .../menza/ui/layout/main/MainTopBar.kt | 17 +- .../kotlin/cz/lastaapps/menza/ui/root/Root.kt | 1 - app/src/main/main_graphics_aystore.png | Bin 0 -> 122015 bytes app/src/main/res/values-cs/strings.xml | 12 +- app/src/main/res/values/strings.xml | 14 +- build.gradle.kts | 2 +- buildSrc/src/main/kotlin/Versions.kt | 2 +- 17 files changed, 438 insertions(+), 347 deletions(-) create mode 100644 app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LibraryDetail.kt create mode 100644 app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LibraryList.kt create mode 100644 app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseItem.kt delete mode 100644 app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseList.kt delete mode 100644 app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseText.kt delete mode 100644 app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseViewModel.kt create mode 100644 app/src/main/main_graphics_aystore.png diff --git a/.gitignore b/.gitignore index 3ff478c8..907b0c5d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ /.idea/workspace.xml /.idea/navEditor.xml /.idea/assetWizardSettings.xml +/.idea/deploymentTargetDropDown.xml .DS_Store /build /captures diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 93f83d40..65956ae4 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -22,7 +22,7 @@ plugins { id(Plugins.KOTLIN_ANDROID) id(Plugins.KAPT) id(Plugins.DAGGER_HILT) - id(Plugins.OSS_LICENSE) + id(Plugins.ABOUT_LIBRARIES) } project.group = App.GROUP @@ -43,8 +43,12 @@ android { defaultConfig { applicationId = App.APP_ID - versionCode = App.VERSION_CODE - versionName = App.VERSION_NAME + + //have to be specified explicitly for FDroid to work + versionCode = 1000000 // 1x major . 2x minor . 2x path . 2x build diff + versionName = "1.0.0" + assert(versionCode == App.VERSION_CODE) + assert(versionName == App.VERSION_NAME) minSdk = App.MIN_SDK @@ -55,7 +59,15 @@ android { multiDexEnabled = true } - + configurations { + all { + //exclude(group = "org.apache.httpcomponents", module = "httpclient") + exclude(group = "commons-logging", module = "commons-logging") + } + } + lint { + abortOnError = false + } buildTypes { getByName("debug") { applicationIdSuffix = ".debug" @@ -130,7 +142,7 @@ dependencies { implementation(Libs.KOTLINX_DATETIME) implementation(Libs.SKRAPE_IT) implementation(Libs.COIL_COMPOSE_COMPLETE) - implementation(Libs.OSS_LICENSE_ACCESSOR) + implementation(Libs.ABOUT_LIBRARIES_CORE) } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index ff59496d..466966b2 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -14,8 +14,8 @@ # Uncomment this to preserve the line number information for # debugging stack traces. -#-keepattributes SourceFile,LineNumberTable +-keepattributes SourceFile,LineNumberTable # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LibraryDetail.kt b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LibraryDetail.kt new file mode 100644 index 00000000..8f2c7f0f --- /dev/null +++ b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LibraryDetail.kt @@ -0,0 +1,153 @@ +/* + * Copyright 2022, Petr Laštovička as Lasta apps, All rights reserved + * + * This file is part of Menza. + * + * Menza 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. + * + * Menza 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 Menza. If not, see . + */ + +package cz.lastaapps.menza.ui.dests.others.license + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.selection.SelectionContainer +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalUriHandler +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextDecoration +import androidx.compose.ui.unit.dp +import com.mikepenz.aboutlibraries.entity.Library +import com.mikepenz.aboutlibraries.entity.License +import cz.lastaapps.menza.R +import org.lighthousegames.logging.logging + +@Composable +fun LibraryDetailWrapper(library: Library?, modifier: Modifier = Modifier) { + if (library == null) { + Box(modifier, contentAlignment = Alignment.Center) { + Text(stringResource(R.string.license_none_selected), textAlign = TextAlign.Center) + } + } else { + LibraryDetail(library, modifier) + } +} + +@Composable +fun LibraryDetail(library: Library, modifier: Modifier = Modifier) { + SelectionContainer(modifier.verticalScroll(rememberScrollState())) { + Column(Modifier, verticalArrangement = Arrangement.spacedBy(8.dp)) { + + val titleStyle = MaterialTheme.typography.titleMedium + val bodyStyle = MaterialTheme.typography.bodyMedium + + Text(library.name, style = MaterialTheme.typography.headlineSmall) + Text(library.artifactId, style = titleStyle) + + if (library.openSource) { + Text(stringResource(R.string.license_detail_opensource_yes), style = bodyStyle) + } else { + Text(stringResource(R.string.license_detail_opensource_no), style = bodyStyle) + } + + if (library.developers.isNotEmpty()) { + Column { + Text(stringResource(R.string.license_detail_developer), style = titleStyle) + library.developers.forEach { developer -> + developer.name?.let { Text(it, style = bodyStyle) } + } + } + } + + library.website?.let { website -> + Column { + Text(stringResource(R.string.license_detail_link), style = titleStyle) + Uri(website, style = bodyStyle) + } + } + + library.organization?.let { organization -> + Column { + Text(stringResource(R.string.license_detail_organization), style = titleStyle) + Text(organization.name, style = bodyStyle) + } + } + + library.description?.let { description -> + Column { + Text(stringResource(R.string.license_detail_description), style = titleStyle) + Text(description, style = bodyStyle) + } + } + + if (library.licenses.isEmpty()) { + Text(stringResource(R.string.license_detail_no_license)) + } else { + library.licenses.forEach { license -> + LicenseDetail(license, titleStyle = titleStyle, bodyStyle = bodyStyle) + } + } + } + } +} + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +private fun LicenseDetail( + license: License, + modifier: Modifier = Modifier, + titleStyle: TextStyle = MaterialTheme.typography.titleMedium, + bodyStyle: TextStyle = MaterialTheme.typography.bodyMedium, +) { + ElevatedCard( + shape = RoundedCornerShape(8.dp), + modifier = modifier, + ) { + Column(Modifier.padding(8.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Text(license.name, style = titleStyle) + + license.year?.takeIf { it.isNotBlank() }?.let { Text(it, style = bodyStyle) } + license.url?.takeIf { it.isNotBlank() }?.let { Uri(it, style = bodyStyle) } + + license.licenseContent?.takeIf { it.isNotBlank() }?.let { Text(it, style = bodyStyle) } + } + } +} + +@Composable +private fun Uri( + link: String, + modifier: Modifier = Modifier, + style: TextStyle = LocalTextStyle.current, +) { + val handler = LocalUriHandler.current + Text( + link, textDecoration = TextDecoration.Underline, + style = style, + modifier = modifier.clickable { + logging("UriComposable").i { "Opening $link" } + handler.openUri(link) + }, + ) +} \ No newline at end of file diff --git a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LibraryList.kt b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LibraryList.kt new file mode 100644 index 00000000..a02709f9 --- /dev/null +++ b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LibraryList.kt @@ -0,0 +1,76 @@ +/* + * Copyright 2022, Petr Laštovička as Lasta apps, All rights reserved + * + * This file is part of Menza. + * + * Menza 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. + * + * Menza 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 Menza. If not, see . + */ + +package cz.lastaapps.menza.ui.dests.others.license + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedButton +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalUriHandler +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import com.mikepenz.aboutlibraries.entity.Library +import cz.lastaapps.menza.R +import org.lighthousegames.logging.logging + +@Composable +fun LibraryList( + libraries: List, + onLibrarySelected: (Library?) -> Unit, + modifier: Modifier = Modifier, +) { + Column(modifier, verticalArrangement = Arrangement.spacedBy(8.dp)) { + LazyColumn(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { + items(libraries) { library -> + LicenseItem(library, Modifier.clickable { onLibrarySelected(library) }) + } + item { + Spacer(modifier = Modifier.height(64.dp)) + } + } + + AppLicenseButton(Modifier.fillMaxWidth()) + } +} + +@Composable +private fun AppLicenseButton(modifier: Modifier = Modifier) { + val url = LocalUriHandler.current + OutlinedButton( + onClick = { + logging("AppLicenseButton").i { "Opening app license" } + url.openUri("https://github.com/Lastaapps/cvutbus/LICENSE") + }, + modifier = modifier + ) { + Text( + text = stringResource(R.string.license_this_app), + style = MaterialTheme.typography.bodyLarge, + textAlign = TextAlign.Center + ) + } +} + diff --git a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseItem.kt b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseItem.kt new file mode 100644 index 00000000..4cc77c98 --- /dev/null +++ b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseItem.kt @@ -0,0 +1,80 @@ +/* + * Copyright 2022, Petr Laštovička as Lasta apps, All rights reserved + * + * This file is part of Menza. + * + * Menza 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. + * + * Menza 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 Menza. If not, see . + */ + +package cz.lastaapps.menza.ui.dests.others.license + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.ElevatedCard +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.mikepenz.aboutlibraries.entity.Library + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun LicenseItem(library: Library, modifier: Modifier = Modifier) { + ElevatedCard( + shape = RoundedCornerShape(8.dp), + modifier = modifier, + ) { + Column(Modifier.padding(8.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Row(Modifier, horizontalArrangement = Arrangement.spacedBy(8.dp)) { + LicenseName(library.name, Modifier.weight(1f)) + LicenseVersion(library.artifactVersion) + } + library.developers.forEach { developer -> + LicenseDeveloper(developer.name) + } + library.licenses.map { it.name }.forEach { + LicenseLicense(it) + } + } + } +} + +@Composable +private fun LicenseName(name: String, modifier: Modifier = Modifier) { + Text(name, style = MaterialTheme.typography.titleLarge, modifier = modifier) +} + +@Composable +private fun LicenseDeveloper(developer: String?, modifier: Modifier = Modifier) { + if (developer != null) + Text(developer, style = MaterialTheme.typography.bodyLarge, modifier = modifier) +} + +@Composable +private fun LicenseLicense(license: String, modifier: Modifier = Modifier) { + Text(license, style = MaterialTheme.typography.bodyMedium, modifier = modifier) +} + +@Composable +private fun LicenseVersion(version: String?, modifier: Modifier = Modifier) { + if (version != null) + Text(version, style = MaterialTheme.typography.bodyMedium, modifier = modifier) +} + + diff --git a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseLayout.kt b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseLayout.kt index c8761eeb..059c0d98 100644 --- a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseLayout.kt +++ b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseLayout.kt @@ -21,23 +21,28 @@ package cz.lastaapps.menza.ui.dests.others.license import androidx.activity.compose.BackHandler import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.DrawerState import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.SnackbarHostState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue -import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.material3.Surface +import androidx.compose.runtime.* +import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.unit.dp +import androidx.compose.ui.window.Dialog import androidx.navigation.NavController +import com.mikepenz.aboutlibraries.Libs +import com.mikepenz.aboutlibraries.entity.Library +import com.mikepenz.aboutlibraries.util.withContext import cz.lastaapps.entity.menza.MenzaId import cz.lastaapps.menza.ui.LocalWindowWidth import cz.lastaapps.menza.ui.WindowSizeClass import cz.lastaapps.menza.ui.layout.menza.MenzaViewModel import cz.lastaapps.menza.ui.root.AppLayoutCompact import cz.lastaapps.menza.ui.root.AppLayoutExpanded -import cz.lastaapps.menza.ui.root.AppLayoutMedium -import cz.lastaapps.osslicenseaccess.ArtifactLicense import kotlinx.coroutines.launch @OptIn(ExperimentalMaterial3Api::class) @@ -51,11 +56,27 @@ fun LicenseLayout( menzaId: MenzaId?, onMenzaSelected: (MenzaId?) -> Unit, menzaViewModel: MenzaViewModel, - licenseViewModel: LicenseViewModel, ) { - val selected by licenseViewModel.selectedLicense.collectAsState() - val onArtifactSelected: (ArtifactLicense?) -> Unit = { - licenseViewModel.selectLicense(it) + val context = LocalContext.current + var libraries by remember { + mutableStateOf(null) + } + LaunchedEffect(libraries) { + libraries = Libs.Builder().withContext(context).build() + } + + var selectedArtifactUniqueId by rememberSaveable { mutableStateOf(null) } + val selectedLibrary = remember(libraries, selectedArtifactUniqueId) { + libraries?.libraries?.firstOrNull { it.uniqueId == selectedArtifactUniqueId } + } + val onLibrarySelected: (Library?) -> Unit = { selectedArtifactUniqueId = it?.uniqueId } + + if (libraries == null) + return + + val libraryList = remember(libraries) { + // to filter out wrongly named libraries + libraries!!.libraries.filter { !it.name.startsWith("$") } } @Suppress("NON_EXHAUSTIVE_WHEN_STATEMENT") @@ -70,9 +91,9 @@ fun LicenseLayout( menzaId = menzaId, onMenzaSelected = onMenzaSelected, menzaViewModel = menzaViewModel, - selectedArtifact = selected, - onArtifactSelected = onArtifactSelected, - licenseViewModel = licenseViewModel, + libraries = libraryList, + selectedLibrary = selectedLibrary, + onLibrarySelected = onLibrarySelected, ) } WindowSizeClass.MEDIUM -> { @@ -84,10 +105,10 @@ fun LicenseLayout( onExpandedClicked = onExpandedClicked, menzaId = menzaId, onMenzaSelected = onMenzaSelected, - selectedArtifact = selected, - onArtifactSelected = onArtifactSelected, menzaViewModel = menzaViewModel, - licenseViewModel = licenseViewModel, + libraries = libraryList, + selectedLibrary = selectedLibrary, + onLibrarySelected = onLibrarySelected, ) } WindowSizeClass.EXPANDED -> { @@ -100,9 +121,9 @@ fun LicenseLayout( menzaId = menzaId, onMenzaSelected = onMenzaSelected, menzaViewModel = menzaViewModel, - selectedArtifact = selected, - onArtifactSelected = onArtifactSelected, - licenseViewModel = licenseViewModel, + libraries = libraryList, + selectedLibrary = selectedLibrary, + onLibrarySelected = onLibrarySelected, ) } } @@ -119,9 +140,9 @@ fun LicenseLayoutCompact( menzaId: MenzaId?, onMenzaSelected: (MenzaId?) -> Unit, menzaViewModel: MenzaViewModel, - selectedArtifact: ArtifactLicense?, - onArtifactSelected: (ArtifactLicense?) -> Unit, - licenseViewModel: LicenseViewModel, + libraries: List, + selectedLibrary: Library?, + onLibrarySelected: (Library?) -> Unit, ) { val scope = rememberCoroutineScope() @@ -135,29 +156,25 @@ fun LicenseLayoutCompact( expanded = expanded, onExpandedClicked = onExpandedClicked, enableIcon = true, - showHamburgerMenu = selectedArtifact == null, + showHamburgerMenu = selectedLibrary == null, onMenuButtonClicked = { - if (selectedArtifact == null) + if (selectedLibrary == null) scope.launch { drawerState.open() } else - onArtifactSelected(null) + onLibrarySelected(null) }, ) { - BackHandler(enabled = selectedArtifact != null) { - onArtifactSelected(null) + BackHandler(enabled = selectedLibrary != null) { + onLibrarySelected(null) } - if (selectedArtifact == null) { - LicenseList( - licenseViewModel = licenseViewModel, - onArtifactSelected = onArtifactSelected, - Modifier.fillMaxSize() - ) - } else { - LicenseText( - selectedArtifact = selectedArtifact, - licenseViewModel = licenseViewModel, - Modifier.fillMaxSize() - ) + LibraryList(libraries, onLibrarySelected = onLibrarySelected, Modifier.fillMaxSize()) + + if (selectedLibrary != null) { + Dialog(onDismissRequest = { onLibrarySelected(null) }) { + Surface(shape = RoundedCornerShape(16.dp)) { + LibraryDetail(library = selectedLibrary, Modifier.padding(16.dp)) + } + } } } } @@ -173,42 +190,22 @@ fun LicenseLayoutMedium( menzaId: MenzaId?, onMenzaSelected: (MenzaId?) -> Unit, menzaViewModel: MenzaViewModel, - selectedArtifact: ArtifactLicense?, - onArtifactSelected: (ArtifactLicense?) -> Unit, - licenseViewModel: LicenseViewModel, -) { - AppLayoutMedium( - navController = navController, - menzaId = menzaId, - onMenzaSelected = onMenzaSelected, - menzaViewModel = menzaViewModel, - snackbarHostState = snackbarHostState, - drawerState = drawerState, - expanded = expanded, - onExpandedClicked = onExpandedClicked, - showBackButton = selectedArtifact != null, - onBackButtonPressed = { - onArtifactSelected(null) - }, - ) { - BackHandler(enabled = selectedArtifact != null) { - onArtifactSelected(null) - } - if (selectedArtifact == null) { - LicenseList( - licenseViewModel = licenseViewModel, - onArtifactSelected = onArtifactSelected, - Modifier.fillMaxSize() - ) - } else { - LicenseText( - selectedArtifact = selectedArtifact, - licenseViewModel = licenseViewModel, - Modifier.fillMaxSize() - ) - } - } -} + libraries: List, + selectedLibrary: Library?, + onLibrarySelected: (Library?) -> Unit, +) = LicenseLayoutExpanded( + navController = navController, + snackbarHostState = snackbarHostState, + drawerState = drawerState, + expanded = expanded, + onExpandedClicked = onExpandedClicked, + menzaId = menzaId, + onMenzaSelected = onMenzaSelected, + menzaViewModel = menzaViewModel, + libraries = libraries, + selectedLibrary = selectedLibrary, + onLibrarySelected = onLibrarySelected, +) @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -221,9 +218,9 @@ fun LicenseLayoutExpanded( menzaId: MenzaId?, onMenzaSelected: (MenzaId?) -> Unit, menzaViewModel: MenzaViewModel, - selectedArtifact: ArtifactLicense?, - onArtifactSelected: (ArtifactLicense?) -> Unit, - licenseViewModel: LicenseViewModel, + libraries: List, + selectedLibrary: Library?, + onLibrarySelected: (Library?) -> Unit, ) { AppLayoutExpanded( navController = navController, @@ -236,16 +233,14 @@ fun LicenseLayoutExpanded( onExpandedClicked = onExpandedClicked, showBackButton = false, panel1 = { - LicenseList( - licenseViewModel = licenseViewModel, - onArtifactSelected = onArtifactSelected, + LibraryList( + libraries, onLibrarySelected, Modifier.fillMaxSize() ) }, panel2 = { - LicenseText( - selectedArtifact = selectedArtifact, - licenseViewModel = licenseViewModel, + LibraryDetailWrapper( + selectedLibrary, Modifier.fillMaxSize() ) } diff --git a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseList.kt b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseList.kt deleted file mode 100644 index 2a1d33a5..00000000 --- a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseList.kt +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2022, Petr Laštovička as Lasta apps, All rights reserved - * - * This file is part of Menza. - * - * Menza 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. - * - * Menza 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 Menza. If not, see . - */ - -package cz.lastaapps.menza.ui.dests.others.license - -import androidx.compose.foundation.clickable -import androidx.compose.foundation.interaction.MutableInteractionSource -import androidx.compose.foundation.layout.* -import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.items -import androidx.compose.material3.* -import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalUriHandler -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.unit.dp -import cz.lastaapps.menza.R -import cz.lastaapps.osslicenseaccess.ArtifactLicense - -@Composable -fun LicenseList( - licenseViewModel: LicenseViewModel, - onArtifactSelected: (ArtifactLicense?) -> Unit, - modifier: Modifier = Modifier, -) { - val data = remember { - licenseViewModel.getList() - } - LicenseList(data, onArtifactSelected, modifier) -} - -@Composable -fun LicenseList( - data: List, - onArtifactSelected: (ArtifactLicense?) -> Unit, - modifier: Modifier = Modifier, -) { - Column(modifier, verticalArrangement = Arrangement.spacedBy(8.dp)) { - Text( - stringResource(R.string.license_title), - style = MaterialTheme.typography.headlineSmall, - ) - - Box(Modifier.weight(1f)) { - LazyColumn(verticalArrangement = Arrangement.spacedBy(8.dp)) { - items(data) { - Artifact( - artifact = it, - onClick = { onArtifactSelected(it) }, - Modifier.fillMaxWidth() - ) - } - } - } - - ThisApp(Modifier.fillMaxWidth()) - } -} - -@OptIn(ExperimentalMaterial3Api::class) -@Composable -private fun Artifact( - artifact: ArtifactLicense, - onClick: () -> Unit, - modifier: Modifier = Modifier, -) { - val interaction = remember { MutableInteractionSource() } - ElevatedCard( - modifier = modifier.clickable(interaction, null, onClick = onClick), - interactionSource = interaction, - ) { - Box( - Modifier - .padding(8.dp) - .defaultMinSize(minHeight = 32.dp) - .align(Alignment.CenterHorizontally), - contentAlignment = Alignment.CenterStart - ) { - Text(text = artifact.name) - } - } -} - -@Composable -private fun ThisApp( - modifier: Modifier = Modifier -) { - val url = LocalUriHandler.current - OutlinedButton( - onClick = { - url.openUri("https://github.com/Lastaapps/Menza/LICENSE") - }, - modifier = modifier - ) { - Text( - text = stringResource(R.string.license_menza_button), - style = MaterialTheme.typography.bodyLarge, - textAlign = TextAlign.Center - ) - } -} - - diff --git a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseText.kt b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseText.kt deleted file mode 100644 index 10575cc8..00000000 --- a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseText.kt +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2022, Petr Laštovička as Lasta apps, All rights reserved - * - * This file is part of Menza. - * - * Menza 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. - * - * Menza 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 Menza. If not, see . - */ - -package cz.lastaapps.menza.ui.dests.others.license - -import androidx.compose.foundation.layout.* -import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.verticalScroll -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface -import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.unit.dp -import cz.lastaapps.menza.R -import cz.lastaapps.osslicenseaccess.ArtifactLicense - -@Composable -fun LicenseText( - selectedArtifact: ArtifactLicense?, - licenseViewModel: LicenseViewModel, - modifier: Modifier = Modifier, -) { - if (selectedArtifact == null) { - Box(modifier, contentAlignment = Alignment.Center) { - Text(stringResource(R.string.license_none_selected)) - } - } else { - val text = remember(selectedArtifact) { - licenseViewModel.getTextForArtifact(selectedArtifact) - } - Column(modifier, verticalArrangement = Arrangement.spacedBy(8.dp)) { - Surface(Modifier.fillMaxWidth(), color = MaterialTheme.colorScheme.primaryContainer) { - Text( - selectedArtifact.name, - style = MaterialTheme.typography.titleLarge, - modifier = Modifier.padding(8.dp), - ) - } - Surface(Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.tertiaryContainer) { - LinkifyText( - text = text, - Modifier - .verticalScroll(rememberScrollState()) - .padding(8.dp) - ) - } - } - } -} \ No newline at end of file diff --git a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseViewModel.kt b/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseViewModel.kt deleted file mode 100644 index 0b735ede..00000000 --- a/app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/license/LicenseViewModel.kt +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2022, Petr Laštovička as Lasta apps, All rights reserved - * - * This file is part of Menza. - * - * Menza 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. - * - * Menza 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 Menza. If not, see . - */ - -package cz.lastaapps.menza.ui.dests.others.license - -import android.app.Application -import androidx.lifecycle.ViewModel -import cz.lastaapps.osslicenseaccess.ArtifactLicense -import cz.lastaapps.osslicenseaccess.LicenseLoader -import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.StateFlow -import javax.inject.Inject - -@HiltViewModel -class LicenseViewModel @Inject constructor( - private val app: Application -) : ViewModel() { - - val selectedLicense: StateFlow - get() = mSelectedLicense - private val mSelectedLicense = MutableStateFlow(null) - - fun selectLicense(artifact: ArtifactLicense?) { - mSelectedLicense.value = artifact - } - - fun getList() = LicenseLoader.loadLicenses(app).sortedBy { it.name } - fun getTextForArtifact(artifact: ArtifactLicense) = LicenseLoader.loadLicenseText(app, artifact) - -} \ No newline at end of file diff --git a/app/src/main/kotlin/cz/lastaapps/menza/ui/layout/main/MainTopBar.kt b/app/src/main/kotlin/cz/lastaapps/menza/ui/layout/main/MainTopBar.kt index 9159a45a..f5926a2a 100644 --- a/app/src/main/kotlin/cz/lastaapps/menza/ui/layout/main/MainTopBar.kt +++ b/app/src/main/kotlin/cz/lastaapps/menza/ui/layout/main/MainTopBar.kt @@ -21,14 +21,12 @@ package cz.lastaapps.menza.ui.layout.main import androidx.compose.animation.core.animateFloatAsState import androidx.compose.animation.rememberSplineBasedDecay +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.size -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.MoreVert -import androidx.compose.material.icons.filled.Restaurant import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.runtime.saveable.rememberSaveable @@ -36,8 +34,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.rotate import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.navigation.NavController import cz.lastaapps.menza.R @@ -66,8 +64,11 @@ fun MainTopBar( CenterAlignedTopAppBar( title = { - Row(verticalAlignment = Alignment.CenterVertically) { - Box(Modifier.size(48.dp), contentAlignment = Alignment.Center) { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.Center, + ) { + /*Box(Modifier.size(48.dp), contentAlignment = Alignment.Center) { Surface( Modifier.size(32.dp), color = colorResource(R.color.ic_launcher_background), @@ -78,8 +79,8 @@ fun MainTopBar( Icon(Icons.Default.Restaurant, null) } } - } - Text(title) + }*/ + Text(title, textAlign = TextAlign.Center) } }, navigationIcon = { diff --git a/app/src/main/kotlin/cz/lastaapps/menza/ui/root/Root.kt b/app/src/main/kotlin/cz/lastaapps/menza/ui/root/Root.kt index 4177ad2c..1487a0f6 100644 --- a/app/src/main/kotlin/cz/lastaapps/menza/ui/root/Root.kt +++ b/app/src/main/kotlin/cz/lastaapps/menza/ui/root/Root.kt @@ -199,7 +199,6 @@ private fun AppContent(viewModel: MenzaViewModel) { menzaId = menzaId, onMenzaSelected = onMenzaSelected, menzaViewModel = viewModel, - licenseViewModel = hiltViewModel(), ) } composable(Dest.R.osturak) { diff --git a/app/src/main/main_graphics_aystore.png b/app/src/main/main_graphics_aystore.png new file mode 100644 index 0000000000000000000000000000000000000000..16d42ecf3edcf69f3b552c6171abc6dddf49a209 GIT binary patch literal 122015 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

  • +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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 19293da8..97dd901f 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -43,9 +43,6 @@ Vyberte mapovací aplikaci Oznámení Otevírací hodiny - Použité open-source knihovny - Menza je licencovaná pod GNU GPL v3.0 licencí - Není vybrán žádný artifact Zásady ochrany osobních údajů Tato aplikace neshromažďuje žádná (osobní) data. @@ -140,4 +137,13 @@ Použité knihovny Není vybrána žádná menza Seznámit se s ošťurákem + Menza je licencována pod GNU GPL v3.0 licencí + Není vybrána žádná knihovna + Knihovna je opensource + Knihovna není opensource + Vývojář + Odkaz + Společnost + Popis + Není dostupná žádná licence \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a3366666..3f84a765 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -47,10 +47,6 @@ Announcements Opening hours - Used open-source libraries - Menza is licensed under GNU GPL v3.0 license - No artifact selected - Privacy Policy This app doesn\'t collect or send any private data. @@ -159,4 +155,14 @@ No menza selected Find out about ošťurák + Menza is licensed under GNU GPL v3.0 license + No library selected + Library is opensource + Library is not opensource + Developer + Link + Organization + Description + No license available + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index dcada782..a0a6626a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,7 +22,6 @@ buildscript { dependencies { - classpath(Classpath.OSS_LICENSE) classpath(Classpath.DAGGER_HILT) } } @@ -35,6 +34,7 @@ plugins { id(Plugins.LIBRARY) version Versions.GRADLE apply false id(Plugins.KOTLIN) version Versions.KOTLIN apply false id(Plugins.KSP) version Versions.KSP apply false + id(Plugins.ABOUT_LIBRARIES) version Versions.ABOUT_LIBRARIES apply false } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index b0db19aa..d40ffee0 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -95,7 +95,7 @@ object Versions { const val SQLDELIGHT = "1.5.3" const val KM_LOGGING = "1.1.1" const val COIL = "2.0.0-alpha08" - const val SKRAPE_IT = "1.1.7" + const val SKRAPE_IT = "1.2.0" const val ABOUT_LIBRARIES = "10.0.0-rc01" //testing android