refactor: address issues from compose-lint 1.3.x

This commit is contained in:
Harsh Shandilya 2024-01-26 14:54:21 +05:30
parent 800bffbf24
commit e7d5676cb5
8 changed files with 34 additions and 34 deletions

View file

@ -15,6 +15,7 @@ import androidx.activity.SystemBarStyle
import androidx.activity.compose.setContent import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.Stable
import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.platform.LocalUriHandler
import com.deliveryhero.whetstone.Whetstone import com.deliveryhero.whetstone.Whetstone
import dev.msfjarvis.claw.android.viewmodel.ClawViewModel import dev.msfjarvis.claw.android.viewmodel.ClawViewModel
@ -24,6 +25,7 @@ import dev.msfjarvis.claw.common.urllauncher.UrlLauncher
import javax.inject.Inject import javax.inject.Inject
/** A base class that encapsulates all activities used by Claw. */ /** A base class that encapsulates all activities used by Claw. */
@Stable
abstract class BaseActivity : ComponentActivity() { abstract class BaseActivity : ComponentActivity() {
@Inject lateinit var urlLauncher: UrlLauncher @Inject lateinit var urlLauncher: UrlLauncher

View file

@ -29,6 +29,8 @@ import androidx.glance.text.TextStyle
import dev.msfjarvis.claw.common.theme.DarkThemeColors import dev.msfjarvis.claw.common.theme.DarkThemeColors
import dev.msfjarvis.claw.common.theme.LightThemeColors import dev.msfjarvis.claw.common.theme.LightThemeColors
import dev.msfjarvis.claw.database.local.SavedPost import dev.msfjarvis.claw.database.local.SavedPost
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
class SavedPostsWidget(private val posts: List<SavedPost>) : GlanceAppWidget() { class SavedPostsWidget(private val posts: List<SavedPost>) : GlanceAppWidget() {
override suspend fun provideGlance(context: Context, id: GlanceId) { override suspend fun provideGlance(context: Context, id: GlanceId) {
@ -37,18 +39,17 @@ class SavedPostsWidget(private val posts: List<SavedPost>) : GlanceAppWidget() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) GlanceTheme.colors if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) GlanceTheme.colors
else ColorProviders(light = LightThemeColors, dark = DarkThemeColors) else ColorProviders(light = LightThemeColors, dark = DarkThemeColors)
) { ) {
WidgetHost() WidgetHost(posts.toImmutableList())
} }
} }
} }
}
@Composable @Composable
private fun WidgetHost() { fun WidgetHost(posts: ImmutableList<SavedPost>, modifier: GlanceModifier = GlanceModifier) {
LazyColumn( LazyColumn(
modifier = modifier =
GlanceModifier.fillMaxSize() modifier.fillMaxSize().background(GlanceTheme.colors.background).appWidgetBackground(),
.background(GlanceTheme.colors.background)
.appWidgetBackground(),
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,
) { ) {
item { item {
@ -67,5 +68,4 @@ class SavedPostsWidget(private val posts: List<SavedPost>) : GlanceAppWidget() {
} }
items(posts) { post -> WidgetListEntry(post = post) } items(posts) { post -> WidgetListEntry(post = post) }
} }
}
} }

View file

@ -65,7 +65,6 @@ import com.mikepenz.aboutlibraries.ui.compose.m3.LibrariesContainer
import dev.msfjarvis.claw.android.MainActivity import dev.msfjarvis.claw.android.MainActivity
import dev.msfjarvis.claw.android.R import dev.msfjarvis.claw.android.R
import dev.msfjarvis.claw.android.SearchActivity import dev.msfjarvis.claw.android.SearchActivity
import dev.msfjarvis.claw.android.ui.decorations.ClawAppBar
import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationBar import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationBar
import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationRail import dev.msfjarvis.claw.android.ui.decorations.ClawNavigationRail
import dev.msfjarvis.claw.android.ui.decorations.NavigationItem import dev.msfjarvis.claw.android.ui.decorations.NavigationItem
@ -79,6 +78,7 @@ import dev.msfjarvis.claw.android.viewmodel.ClawViewModel
import dev.msfjarvis.claw.api.LobstersApi import dev.msfjarvis.claw.api.LobstersApi
import dev.msfjarvis.claw.common.comments.CommentsPage import dev.msfjarvis.claw.common.comments.CommentsPage
import dev.msfjarvis.claw.common.comments.HTMLConverter import dev.msfjarvis.claw.common.comments.HTMLConverter
import dev.msfjarvis.claw.common.ui.decorations.ClawAppBar
import dev.msfjarvis.claw.common.urllauncher.UrlLauncher import dev.msfjarvis.claw.common.urllauncher.UrlLauncher
import dev.msfjarvis.claw.common.user.UserProfile import dev.msfjarvis.claw.common.user.UserProfile
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentListOf

View file

@ -1,5 +1,5 @@
/* /*
* Copyright © 2023 Harsh Shandilya. * Copyright © 2023-2024 Harsh Shandilya.
* Use of this source code is governed by an MIT-style * Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at * license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT. * https://opensource.org/licenses/MIT.
@ -39,8 +39,6 @@ object LintConfig {
disable += "AndroidGradlePluginVersion" disable += "AndroidGradlePluginVersion"
disable += "GradleDependency" disable += "GradleDependency"
disable += "NewerVersionAvailable" disable += "NewerVersionAvailable"
// Jetpack Compose lints are incompatible with AGP 8.3.0-alpha06
disable += "ObsoleteLintCustomCheck"
} }
fun configureRootProject(project: Project) { fun configureRootProject(project: Project) {

View file

@ -230,7 +230,7 @@ private fun TagText(tag: String, modifier: Modifier = Modifier) {
@ThemePreviews @ThemePreviews
@Composable @Composable
fun LobstersCardPreview() { private fun LobstersCardPreview() {
LobstersTheme { LobstersTheme {
LobstersCard( LobstersCard(
post = post =

View file

@ -70,7 +70,7 @@ fun SearchBar(
@DevicePreviews @DevicePreviews
@ThemePreviews @ThemePreviews
@Composable @Composable
fun SearchBarPreview() { private fun SearchBarPreview() {
LobstersTheme { LobstersTheme {
Box(Modifier.fillMaxWidth().background(MaterialTheme.colorScheme.background).padding(8.dp)) { Box(Modifier.fillMaxWidth().background(MaterialTheme.colorScheme.background).padding(8.dp)) {
var value by remember { mutableStateOf("") } var value by remember { mutableStateOf("") }

View file

@ -4,7 +4,7 @@
* license that can be found in the LICENSE file or at * license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT. * https://opensource.org/licenses/MIT.
*/ */
package dev.msfjarvis.claw.android.ui.decorations package dev.msfjarvis.claw.common.ui.decorations
import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.RowScope
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
@ -45,6 +45,6 @@ fun ClawAppBar(
@DevicePreviews @DevicePreviews
@ThemePreviews @ThemePreviews
@Composable @Composable
fun ClawAppBarPreview() { private fun ClawAppBarPreview() {
LobstersTheme { ClawAppBar(title = { Text("Claw", fontWeight = FontWeight.Bold) }) } LobstersTheme { ClawAppBar(title = { Text("Claw", fontWeight = FontWeight.Bold) }) }
} }

View file

@ -40,6 +40,6 @@ fun MonthHeader(label: String, modifier: Modifier = Modifier) {
@DevicePreviews @DevicePreviews
@ThemePreviews @ThemePreviews
@Composable @Composable
fun MonthHeaderPreview() { private fun MonthHeaderPreview() {
LobstersTheme { MonthHeader("April 2023") } LobstersTheme { MonthHeader("April 2023") }
} }