refactor(ui): 补全开放源代码许可依赖项并优化页面组件

This commit is contained in:
xfy 2026-07-24 13:28:48 +08:00
parent adc149c462
commit 4f6dc2f36a
4 changed files with 37 additions and 7 deletions

View File

@ -16,11 +16,14 @@ data class LicenseItem(
*/ */
val licenses = listOf( val licenses = listOf(
LicenseItem("AndroidX Activity Compose", "Apache-2.0"), LicenseItem("AndroidX Activity Compose", "Apache-2.0"),
LicenseItem("AndroidX CameraX", "Apache-2.0"),
LicenseItem("AndroidX Lifecycle", "Apache-2.0"), LicenseItem("AndroidX Lifecycle", "Apache-2.0"),
LicenseItem("AndroidX Media3 (ExoPlayer)", "Apache-2.0"),
LicenseItem("AndroidX Room", "Apache-2.0"),
LicenseItem("Compose Material 3", "Apache-2.0"), LicenseItem("Compose Material 3", "Apache-2.0"),
LicenseItem("Compose Multiplatform", "Apache-2.0"),
LicenseItem("Kotlin", "Apache-2.0"), LicenseItem("Kotlin", "Apache-2.0"),
LicenseItem("kotlinx-datetime", "Apache-2.0"), LicenseItem("kotlinx-datetime", "Apache-2.0"),
LicenseItem("Sketch", "Apache-2.0"), LicenseItem("Sketch", "Apache-2.0"),
LicenseItem("tyme4kt", "MIT"), LicenseItem("tyme4kt", "MIT"),
LicenseItem("ZoomImage", "Apache-2.0"),
) )

View File

@ -1,6 +1,5 @@
package plus.rua.project.ui package plus.rua.project.ui
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
@ -10,7 +9,6 @@ import androidx.compose.material.icons.filled.ChevronLeft
import androidx.compose.material3.Card import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults import androidx.compose.material3.CardDefaults
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.ListItem import androidx.compose.material3.ListItem
@ -21,7 +19,6 @@ import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
/** /**
* 开放源代码许可页面展示项目使用的第三方库及其许可证 * 开放源代码许可页面展示项目使用的第三方库及其许可证
* *
@ -57,7 +54,6 @@ fun LicensesScreen(
) { ) {
items(licenses) { item -> items(licenses) { item ->
Card( Card(
onClick = {},
colors = CardDefaults.cardColors( colors = CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surfaceContainerHigh containerColor = MaterialTheme.colorScheme.surfaceContainerHigh
), ),

View File

@ -0,0 +1,31 @@
package plus.rua.project.ui
import kotlin.test.Test
import kotlin.test.assertTrue
/**
* 开放源代码许可列表测试
*/
class LicensesTest {
@Test
fun `licenses list is non empty and contains valid library names and licenses`() {
assertTrue(licenses.isNotEmpty(), "许可列表不应为空")
licenses.forEach { item ->
assertTrue(item.library.isNotBlank(), "库名称不应为空")
assertTrue(item.license.isNotBlank(), "许可证名称不应为空")
}
}
@Test
fun `licenses list contains core dependencies`() {
val libraries = licenses.map { it.library }
assertTrue(libraries.contains("AndroidX Activity Compose"))
assertTrue(libraries.contains("Kotlin"))
assertTrue(libraries.contains("kotlinx-datetime"))
assertTrue(libraries.contains("tyme4kt"))
assertTrue(libraries.contains("Sketch"))
assertTrue(libraries.contains("ZoomImage"))
assertTrue(libraries.contains("AndroidX Room"))
}
}