Repository: Automattic/pocket-casts-android
File: modules/features/account/src/main/java/au/com/shiftyjelly/pocketcasts/account/onboarding/upgrade/OnboardingUpgradeScreen.kt (Kotlin)

Code before:
    onClosePressed: () -> Unit,
    onSubscribePressed: () -> Unit,
    modifier: Modifier = Modifier,
) {
    val plans = listOf(
        SubscriptionPlan.PlusYearlyPreview,
        SubscriptionPlan.PlusMonthlyPreview,
    )

    var selectedPlan by remember { mutableStateOf(plans[0]) }

    Box(modifier = modifier.background(color = MaterialTheme.colors.background)) {
        IconButton(
            onClick = onClosePressed,
            modifier = Modifier.align(Alignment.TopEnd),
        ) {
            Box(
                modifier = Modifier
                    .size(28.dp)
                    .background(color = MaterialTheme.theme.colors.primaryUi05, shape = CircleShape),
                contentAlignment = Alignment.Center,
            ) {
                Icon(
                    modifier = Modifier.size(24.dp),
                    painter = painterResource(IR.drawable.ic_close),
                    contentDescription = stringResource(au.com.shiftyjelly.pocketcasts.localization.R.string.close),
                    tint = MaterialTheme.theme.colors.primaryIcon01,
                )
            }
        }

        Column(
            modifier = Modifier
                .fillMaxSize()
                .padding(
                    horizontal = 24.dp,
                    vertical = 16.dp,
                ),
        ) {
            UpgradeHeader(selectedPlan = selectedPlan)
            Spacer(modifier = Modifier.height(24.dp))
            UpgradeContent(
                modifier = Modifier.weight(1f),
            )
            Spacer(modifier = Modifier.height(16.dp))
            UpgradeFooter(
                modifier = Modifier
                    .fillMaxWidth(),
                plans = plans,
                selectedPlan = selectedPlan,
                onSelectedChanged = { selectedPlan = it },

Review comment (suggestion):
```suggestion
                    contentDescription = stringResource(LR.string.close),
```

Code after:
import au.com.shiftyjelly.pocketcasts.ui.theme.Theme.ThemeType
import kotlinx.coroutines.launch
import au.com.shiftyjelly.pocketcasts.localization.R as LR

@Composable
fun OnboardingUpgradeScreen(
    onClosePress: () -> Unit,
    onSubscribePress: () -> Unit,
    modifier: Modifier = Modifier,
) {
    val plans = listOf(
        SubscriptionPlan.PlusYearlyPreview,
        SubscriptionPlan.PlusMonthlyPreview,
    )

    var selectedPlan by remember { mutableStateOf(plans[0]) }

    Column(
        modifier = modifier
            .windowInsetsPadding(WindowInsets.statusBars)
            .windowInsetsPadding(WindowInsets.navigationBars)
            .background(color = MaterialTheme.colors.background)
            .fillMaxSize()
            .padding(
                horizontal = 24.dp,
            ),
    ) {
        UpgradeHeader(
            selectedPlan = selectedPlan,
            onClosePress = onClosePress,
        )
        Spacer(modifier = Modifier.height(24.dp))
        UpgradeContent(
            modifier = Modifier.weight(1f),
        )
        Spacer(modifier = Modifier.height(16.dp))
        UpgradeFooter(
            modifier = Modifier
                .fillMaxWidth(),
            plans = plans,
            selectedPlan = selectedPlan,
            onSelectedChange = { selectedPlan = it },
            onClickSubscribe = { onSubscribePress() },
        )
    }
}

@Composable
private fun UpgradeFooter(
    plans: List<SubscriptionPlan.Base>,
    selectedPlan: SubscriptionPlan.Base,