Remove "State<T> as a parameter" of Text.kt

Bug: 292036686
Test: m Settings
Test: unit test
Change-Id: I99b25bca087a81eb527fccc6028b5913f5c3b307
This commit is contained in:
Chaohui Wang
2023-07-20 14:36:04 +08:00
parent 4b238f57da
commit e1a37a879c
4 changed files with 12 additions and 25 deletions

View File

@@ -45,11 +45,10 @@ internal fun BasePreference(
BaseLayout(
title = title,
subTitle = {
if (singleLineSummary) {
SettingsBody(body = summary, maxLines = 1)
} else {
SettingsBody(body = summary)
}
SettingsBody(
body = summary.value,
maxLines = if (singleLineSummary) 1 else Int.MAX_VALUE,
)
},
modifier = modifier,
icon = icon,

View File

@@ -24,7 +24,6 @@ import androidx.compose.foundation.layout.width
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.State
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextOverflow
@@ -34,11 +33,6 @@ import com.android.settingslib.spa.framework.theme.SettingsDimension
import com.android.settingslib.spa.framework.theme.SettingsTheme
import com.android.settingslib.spa.framework.theme.toMediumWeight
@Composable
fun SettingsTitle(title: State<String>, useMediumWeight: Boolean = false) {
SettingsTitle(title.value, useMediumWeight)
}
@Composable
fun SettingsTitle(title: String, useMediumWeight: Boolean = false) {
Text(
@@ -53,14 +47,6 @@ fun SettingsTitle(title: String, useMediumWeight: Boolean = false) {
)
}
@Composable
fun SettingsBody(
body: State<String>,
maxLines: Int = Int.MAX_VALUE,
) {
SettingsBody(body = body.value, maxLines = maxLines)
}
@Composable
fun SettingsBody(
body: String,

View File

@@ -20,7 +20,6 @@ import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithText
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.spa.framework.compose.toState
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -31,14 +30,17 @@ class TextTest {
val composeTestRule = createComposeRule()
@Test
fun testTitle() {
fun settingsTitle() {
composeTestRule.setContent {
SettingsTitle(title = "myTitleValue")
SettingsTitle(title = "myTitleState".toState())
}
composeTestRule.onNodeWithText("myTitleValue").assertIsDisplayed()
}
fun placeholderTitle() {
composeTestRule.setContent {
PlaceholderTitle(title = "myTitlePlaceholder")
}
composeTestRule.onNodeWithText("myTitleState").assertIsDisplayed()
composeTestRule.onNodeWithText("myTitleValue").assertIsDisplayed()
composeTestRule.onNodeWithText("myTitlePlaceholder").assertIsDisplayed()
}
}

View File

@@ -122,5 +122,5 @@ internal fun AppIcon(app: ApplicationInfo, size: Dp) {
@Composable
internal fun AppLabel(app: ApplicationInfo, isClonedAppPage: Boolean = false) {
val appRepository = rememberAppRepository()
SettingsTitle(title = appRepository.produceLabel(app, isClonedAppPage), useMediumWeight = true)
SettingsTitle(appRepository.produceLabel(app, isClonedAppPage).value, useMediumWeight = true)
}