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

@ -12,8 +12,8 @@ class LicensesActivity : BaseActivity() {
setContent {
YaYaTheme {
LicensesScreen(
onBack = { finishWithSlideBack() }
)
onBack = { finishWithSlideBack() }
)
}
}
}

View File

@ -16,11 +16,14 @@ data class LicenseItem(
*/
val licenses = listOf(
LicenseItem("AndroidX Activity Compose", "Apache-2.0"),
LicenseItem("AndroidX CameraX", "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 Multiplatform", "Apache-2.0"),
LicenseItem("Kotlin", "Apache-2.0"),
LicenseItem("kotlinx-datetime", "Apache-2.0"),
LicenseItem("Sketch", "Apache-2.0"),
LicenseItem("tyme4kt", "MIT"),
LicenseItem("ZoomImage", "Apache-2.0"),
)

View File

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