Fix lint errors

main
Alex Baker 15 hours ago
parent 431fdd6e95
commit c0962fc832

@ -1,9 +1,10 @@
package com.todoroo.astrid.ui
import android.app.Activity
import android.content.Context
import android.content.Intent
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.remember
import androidx.fragment.app.viewModels
@ -113,11 +114,14 @@ class StartDateControlSet : TaskEditControlFragment() {
private const val REQUEST_START_DATE = 11011
private const val FRAG_TAG_DATE_PICKER = "frag_tag_date_picker"
internal fun Context.getRelativeDateString(resId: Int, time: Int) =
if (time == NO_TIME) {
getString(resId)
@Composable
internal fun getRelativeDateString(resId: Int, time: Int): String {
val label = stringResource(resId)
return if (time == NO_TIME) {
label
} else {
"${getString(resId)} ${getTimeString(currentTimeMillis().withMillisOfDay(time), this.is24HourFormat)}"
"$label ${getTimeString(currentTimeMillis().withMillisOfDay(time), LocalContext.current.is24HourFormat)}"
}
}
}
}

@ -9,6 +9,7 @@ import androidx.compose.material3.SnackbarHostState
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.viewmodel.compose.viewModel
import dagger.hilt.android.AndroidEntryPoint
@ -51,11 +52,12 @@ class PurchaseActivity : AppCompatActivity(), OnPurchasesUpdated {
skus = state.skus,
snackbarHostState = snackbarHostState,
)
val dismissLabel = stringResource(R.string.dismiss)
LaunchedEffect(state.error) {
if (state.error?.isNotBlank() == true) {
snackbarHostState.showSnackbar(
message = state.error,
actionLabel = context.getString(R.string.dismiss),
actionLabel = dismissLabel,
duration = SnackbarDuration.Long,
)
viewModel.dismissError()

@ -50,7 +50,6 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
@ -309,7 +308,7 @@ object FilterCondition {
)
if (isExtended)
Text(
text = LocalContext.current.getString(R.string.CFA_button_add),
text = stringResource(R.string.CFA_button_add),
modifier = Modifier.padding(end = 16.dp)
)
}

@ -1,8 +1,9 @@
package org.tasks.compose
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.pluralStringResource
import org.tasks.R
import org.tasks.themes.TasksIcons
import java.text.NumberFormat
@ -14,7 +15,7 @@ fun SubtaskChip(
compact: Boolean,
onClick: () -> Unit,
) {
val context = LocalContext.current
val chipColor = colorResource(R.color.default_chip_background).toArgb()
Chip(
icon = if (collapsed)
TasksIcons.KEYBOARD_ARROW_DOWN
@ -23,13 +24,11 @@ fun SubtaskChip(
name = if (compact)
NumberFormat.getInstance().format(children)
else
remember(children) {
context.resources.getQuantityString(R.plurals.subtask_count, children, children)
},
pluralStringResource(R.plurals.subtask_count, children, children),
theme = 0,
showText = true,
showIcon = true,
onClick = onClick,
colorProvider = { context.getColor(R.color.default_chip_background) },
colorProvider = { chipColor },
)
}

@ -8,7 +8,6 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
@ -57,15 +56,14 @@ fun StartDate(
hasDueDate: Boolean,
printDate: () -> String,
) {
val context = LocalContext.current
Text(
text = when (selectedDay) {
StartDatePicker.DUE_DATE -> context.getRelativeDateString(R.string.due_date, selectedTime)
StartDatePicker.DUE_TIME -> context.getString(R.string.due_time)
StartDatePicker.DAY_BEFORE_DUE -> context.getRelativeDateString(R.string.day_before_due, selectedTime)
StartDatePicker.WEEK_BEFORE_DUE -> context.getRelativeDateString(R.string.week_before_due, selectedTime)
StartDatePicker.DUE_DATE -> getRelativeDateString(R.string.due_date, selectedTime)
StartDatePicker.DUE_TIME -> stringResource(R.string.due_time)
StartDatePicker.DAY_BEFORE_DUE -> getRelativeDateString(R.string.day_before_due, selectedTime)
StartDatePicker.WEEK_BEFORE_DUE -> getRelativeDateString(R.string.week_before_due, selectedTime)
in 1..Long.MAX_VALUE -> printDate()
else -> stringResource(id = R.string.no_start_date)
else -> stringResource(R.string.no_start_date)
},
color = when {
selectedDay < 0 && !hasDueDate -> MaterialTheme.colorScheme.error

@ -43,7 +43,6 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.pluralStringResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
@ -138,17 +137,12 @@ fun CustomRecurrence(
number = state.interval,
onTextChanged = setInterval,
)
val context = LocalContext.current
val options by remember(state.interval, state.frequency) {
derivedStateOf {
state.frequencyOptions.map {
context.resources.getQuantityString(
it.plural,
state.interval,
state.interval,
)
}
}
val options = state.frequencyOptions.map {
pluralStringResource(
id = it.plural,
count = state.interval,
state.interval,
)
}
OutlinedSpinner(
text = pluralStringResource(
@ -279,36 +273,37 @@ private fun MonthlyPicker(
modifier = Modifier.padding(vertical = 16.dp),
color = border()
)
val context = LocalContext.current
val options = remember(dayNumber, dayOfWeek, nthWeek, isLastWeek, locale) {
val dayOfWeekDisplayName = remember(dayOfWeek, locale) {
dayOfWeek.getDisplayName(TextStyle.FULL, locale)
}
val onDayNumber = stringResource(R.string.repeat_monthly_on_day_number, dayNumber)
val nth = stringResource(
when (nthWeek - 1) {
0 -> R.string.repeat_monthly_first_week
1 -> R.string.repeat_monthly_second_week
2 -> R.string.repeat_monthly_third_week
3 -> R.string.repeat_monthly_fourth_week
4 -> R.string.repeat_monthly_fifth_week
else -> throw IllegalArgumentException()
}
)
val onNthWeekday = stringResource(
R.string.repeat_monthly_on_the_nth_weekday,
nth,
dayOfWeekDisplayName
)
val lastWeekString = stringResource(R.string.repeat_monthly_last_week)
val onLastWeekday = stringResource(
R.string.repeat_monthly_on_the_nth_weekday,
lastWeekString,
dayOfWeekDisplayName
)
val options = remember(onDayNumber, onNthWeekday, onLastWeekday, isLastWeek) {
ArrayList<String>().apply {
add(context.getString(R.string.repeat_monthly_on_day_number, dayNumber))
val nth = context.getString(
when (nthWeek - 1) {
0 -> R.string.repeat_monthly_first_week
1 -> R.string.repeat_monthly_second_week
2 -> R.string.repeat_monthly_third_week
3 -> R.string.repeat_monthly_fourth_week
4 -> R.string.repeat_monthly_fifth_week
else -> throw IllegalArgumentException()
}
)
val dayOfWeekDisplayName = dayOfWeek.getDisplayName(TextStyle.FULL, locale)
add(
context.getString(
R.string.repeat_monthly_on_the_nth_weekday,
nth,
dayOfWeekDisplayName
)
)
add(onDayNumber)
add(onNthWeekday)
if (isLastWeek) {
add(
context.getString(
R.string.repeat_monthly_on_the_nth_weekday,
context.getString(R.string.repeat_monthly_last_week),
dayOfWeekDisplayName
)
)
add(onLastWeekday)
}
}
}
@ -347,8 +342,7 @@ private fun EndsPicker(
RadioRow(selected = selection == 1, onClick = { setSelection(1) }) {
Text(text = stringResource(id = R.string.repeats_on))
Spacer(modifier = Modifier.width(8.dp))
val context = LocalContext.current
val endDateString by remember(context, endDate) {
val endDateString by remember(endDate) {
derivedStateOf {
runBlocking {
getRelativeDay(endDate)

@ -27,6 +27,7 @@ import androidx.compose.ui.graphics.drawscope.Stroke
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.flask.colorpicker.ColorPickerView
@ -142,7 +143,7 @@ fun SelectColorRow(
},
center = {
Text(
text = LocalContext.current.getString(R.string.color),
text = stringResource(R.string.color),
modifier = Modifier.padding(start = Constants.KEYLINE_FIRST)
)
},

@ -8,6 +8,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import org.tasks.R
import org.tasks.compose.Constants
@ -30,7 +31,7 @@ fun SelectIconRow(icon: String, selectIcon: () -> Unit) =
},
center = {
Text(
text = LocalContext.current.getString(R.string.icon),
text = stringResource(R.string.icon),
modifier = Modifier.padding(start = Constants.KEYLINE_FIRST)
)
}

@ -35,7 +35,8 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.state.ToggleableState
import androidx.compose.ui.text.TextStyle
@ -175,7 +176,6 @@ internal fun SearchBar(
onBack: () -> Unit
) {
val searchPattern = remember { viewModel.searchText }
val invitation = LocalContext.current.getString(R.string.enter_tag_name)
Row(verticalAlignment = Alignment.CenterVertically) {
Icon(
ImageVector.vectorResource(id = R.drawable.ic_outline_arrow_back_24px),
@ -191,7 +191,7 @@ internal fun SearchBar(
onValueChange = { viewModel.search(it) },
placeholder = {
Text(
text = invitation,
text = stringResource(R.string.enter_tag_name),
color = MaterialTheme.colorScheme.onSurface,
)
},
@ -232,11 +232,10 @@ internal fun PickerBox (
LazyColumn {
if (viewModel.tagToCreate.value != "") {
item(key = -1) {
val text = LocalContext.current.getString(R.string.new_tag) + " \"${viewModel.tagToCreate.value}\""
TagRow(
icon = TasksIcons.ADD,
iconColor = Color(LocalContext.current.getColor(R.color.icon_tint_with_alpha)),
text = text,
iconColor = colorResource(R.color.icon_tint_with_alpha),
text = "${stringResource(R.string.new_tag)} \"${viewModel.tagToCreate.value}\"",
onClick = { newItem(viewModel.searchText.value) }
)
}

Loading…
Cancel
Save