refactor(ui): 补全开放源代码许可依赖项并优化页面组件
This commit is contained in:
parent
adc149c462
commit
4f6dc2f36a
@ -12,8 +12,8 @@ class LicensesActivity : BaseActivity() {
|
|||||||
setContent {
|
setContent {
|
||||||
YaYaTheme {
|
YaYaTheme {
|
||||||
LicensesScreen(
|
LicensesScreen(
|
||||||
onBack = { finishWithSlideBack() }
|
onBack = { finishWithSlideBack() }
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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"),
|
||||||
)
|
)
|
||||||
|
|||||||
@ -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
|
||||||
),
|
),
|
||||||
|
|||||||
31
core/src/test/kotlin/plus/rua/project/ui/LicensesTest.kt
Normal file
31
core/src/test/kotlin/plus/rua/project/ui/LicensesTest.kt
Normal 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"))
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user