mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-15 01:47:03 +05:30
refactor: address issues from compose-lint 1.3.x
This commit is contained in:
parent
800bffbf24
commit
e7d5676cb5
8 changed files with 34 additions and 34 deletions
|
@ -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
|
||||||
|
|
|
@ -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,35 +39,33 @@ 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)
|
horizontalAlignment = Alignment.CenterHorizontally,
|
||||||
.appWidgetBackground(),
|
) {
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
item {
|
||||||
) {
|
val style = MaterialTheme.typography.titleLarge
|
||||||
item {
|
Text(
|
||||||
val style = MaterialTheme.typography.titleLarge
|
text = "Saved posts",
|
||||||
Text(
|
style =
|
||||||
text = "Saved posts",
|
TextStyle(
|
||||||
style =
|
color = GlanceTheme.colors.onBackground,
|
||||||
TextStyle(
|
fontSize = style.fontSize,
|
||||||
color = GlanceTheme.colors.onBackground,
|
fontWeight = style.fontWeight.toGlance(),
|
||||||
fontSize = style.fontSize,
|
fontStyle = style.fontStyle.toGlance(),
|
||||||
fontWeight = style.fontWeight.toGlance(),
|
),
|
||||||
fontStyle = style.fontStyle.toGlance(),
|
modifier = GlanceModifier.padding(vertical = 8.dp),
|
||||||
),
|
)
|
||||||
modifier = GlanceModifier.padding(vertical = 8.dp),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
items(posts) { post -> WidgetListEntry(post = post) }
|
|
||||||
}
|
}
|
||||||
|
items(posts) { post -> WidgetListEntry(post = post) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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 =
|
||||||
|
|
|
@ -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("") }
|
||||||
|
|
|
@ -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) }) }
|
||||||
}
|
}
|
|
@ -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") }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue