chore(deps): update dependency com.facebook:ktfmt to v0.47

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
renovate[bot] 2024-01-17 20:23:00 +00:00 committed by Harsh Shandilya
parent 050007ff1b
commit a187752659
33 changed files with 118 additions and 290 deletions

View file

@ -42,16 +42,8 @@ abstract class BaseActivity : ComponentActivity() {
preLaunch()
Whetstone.inject(this)
enableEdgeToEdge(
statusBarStyle =
SystemBarStyle.light(
Color.TRANSPARENT,
Color.TRANSPARENT,
),
navigationBarStyle =
SystemBarStyle.light(
Color.TRANSPARENT,
Color.TRANSPARENT,
),
statusBarStyle = SystemBarStyle.light(Color.TRANSPARENT, Color.TRANSPARENT),
navigationBarStyle = SystemBarStyle.light(Color.TRANSPARENT, Color.TRANSPARENT),
)
setContent {
LobstersTheme(

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
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -30,9 +30,7 @@ import dev.msfjarvis.claw.common.theme.DarkThemeColors
import dev.msfjarvis.claw.common.theme.LightThemeColors
import dev.msfjarvis.claw.database.local.SavedPost
class SavedPostsWidget(
private val posts: List<SavedPost>,
) : GlanceAppWidget() {
class SavedPostsWidget(private val posts: List<SavedPost>) : GlanceAppWidget() {
override suspend fun provideGlance(context: Context, id: GlanceId) {
provideContent {
GlanceTheme(
@ -51,7 +49,7 @@ class SavedPostsWidget(
GlanceModifier.fillMaxSize()
.background(GlanceTheme.colors.background)
.appWidgetBackground(),
horizontalAlignment = Alignment.CenterHorizontally
horizontalAlignment = Alignment.CenterHorizontally,
) {
item {
val style = MaterialTheme.typography.titleLarge

View file

@ -39,10 +39,7 @@ private val destinationKey = Key<String>(NAVIGATION_KEY)
@Composable
@GlanceComposable
fun WidgetListEntry(
post: SavedPost,
modifier: GlanceModifier = GlanceModifier,
) {
fun WidgetListEntry(post: SavedPost, modifier: GlanceModifier = GlanceModifier) {
val titleStyle = MaterialTheme.typography.titleMedium
val commentsAction =
actionStartActivity<MainActivity>(actionParametersOf(destinationKey to post.shortId))
@ -67,12 +64,12 @@ fun WidgetListEntry(
fontSize = titleStyle.fontSize,
fontWeight = titleStyle.fontWeight.toGlance(),
fontStyle = titleStyle.fontStyle.toGlance(),
)
),
)
Image(
provider = ImageProvider(R.drawable.ic_comment),
contentDescription = "${post.commentCount ?: 0} comments",
modifier = GlanceModifier.padding(end = 4.dp).clickable(commentsAction)
modifier = GlanceModifier.padding(end = 4.dp).clickable(commentsAction),
)
}
}

View file

@ -1,5 +1,5 @@
/*
* Copyright © 2021-2023 Harsh Shandilya.
* Copyright © 2021-2024 Harsh Shandilya.
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -32,13 +32,7 @@ object MetadataExtractorModule {
}
@Provides
fun provideUnfurler(
okHttpClient: OkHttpClient,
logger: UnfurlLogger,
): Unfurler {
return Unfurler(
httpClient = okHttpClient,
logger = logger,
)
fun provideUnfurler(okHttpClient: OkHttpClient, logger: UnfurlLogger): Unfurler {
return Unfurler(httpClient = okHttpClient, logger = logger)
}
}

View file

@ -1,5 +1,5 @@
/*
* Copyright © 2022 Harsh Shandilya.
* Copyright © 2022-2024 Harsh Shandilya.
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -17,18 +17,14 @@ import dev.msfjarvis.claw.core.injection.AppPlugin
import javax.inject.Inject
@ContributesMultibinding(ApplicationScope::class)
class WorkManagerPlugin
@Inject
constructor(
private val workerFactory: WorkerFactory,
) : AppPlugin {
class WorkManagerPlugin @Inject constructor(private val workerFactory: WorkerFactory) : AppPlugin {
override fun apply(application: Application) {
WorkManager.initialize(
application,
Configuration.Builder()
.setWorkerFactory(workerFactory)
.setMinimumLoggingLevel(Log.DEBUG)
.build()
.build(),
)
}
}

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
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -145,11 +145,7 @@ private fun GenericExportOption(
}
}
}
SettingsActionItem(
title = title,
description = description,
icon = icon,
) {
SettingsActionItem(title = title, description = description, icon = icon) {
exportAction.launch(fileName)
}
}
@ -167,11 +163,7 @@ private fun SettingsActionItem(
supportingContent = { description?.let { Text(it) } },
leadingContent = {
icon?.let {
Icon(
imageVector = icon,
contentDescription = null,
modifier = Modifier.height(32.dp),
)
Icon(imageVector = icon, contentDescription = null, modifier = Modifier.height(32.dp))
}
},
modifier = modifier.clickable { onClick?.invoke() },
@ -179,9 +171,7 @@ private fun SettingsActionItem(
}
/** Shows a Snackbar but dismisses any existing ones first. */
private suspend fun SnackbarHostState.showSnackbarDismissing(
text: String,
) {
private suspend fun SnackbarHostState.showSnackbarDismissing(text: String) {
currentSnackbarData?.dismiss()
showSnackbar(text)
}

View file

@ -1,5 +1,5 @@
/*
* Copyright © 2021-2023 Harsh Shandilya.
* Copyright © 2021-2024 Harsh Shandilya.
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -46,9 +46,5 @@ fun ClawAppBar(
@ThemePreviews
@Composable
fun ClawAppBarPreview() {
LobstersTheme {
ClawAppBar(
title = { Text("Claw", fontWeight = FontWeight.Bold) },
)
}
LobstersTheme { ClawAppBar(title = { Text("Claw", fontWeight = FontWeight.Bold) }) }
}

View file

@ -53,11 +53,7 @@ fun DatabasePosts(
LazyColumn(state = listState) {
items.forEach { (month, posts) ->
stickyHeader(contentType = "month-header") { MonthHeader(label = month) }
items(
items = posts,
key = { it.shortId },
contentType = { "LobstersItem" },
) { item ->
items(items = posts, key = { it.shortId }, contentType = { "LobstersItem" }) { item ->
LobstersListItem(
item = item,
isSaved = { true },

View file

@ -1,5 +1,5 @@
/*
* Copyright © 2021-2023 Harsh Shandilya.
* Copyright © 2021-2024 Harsh Shandilya.
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -35,9 +35,7 @@ fun LobstersListItem(
background = MaterialTheme.colorScheme.tertiary,
onSwipe = { postActions.viewCommentsPage(item.commentsUrl) },
)
SwipeableActionsBox(
endActions = listOf(commentsAction),
) {
SwipeableActionsBox(endActions = listOf(commentsAction)) {
LobstersCard(
post = item,
isSaved = isSaved(item),

View file

@ -1,5 +1,5 @@
/*
* Copyright © 2021-2023 Harsh Shandilya.
* Copyright © 2021-2024 Harsh Shandilya.
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -56,9 +56,7 @@ fun NetworkPosts(
modifier = Modifier.align(Alignment.Center),
)
} else {
LazyColumn(
state = listState,
) {
LazyColumn(state = listState) {
items(
count = lazyPagingItems.itemCount,
key = lazyPagingItems.itemKey { it.shortId },
@ -83,7 +81,7 @@ fun NetworkPosts(
modifier =
Modifier.fillMaxWidth()
.wrapContentWidth(Alignment.CenterHorizontally)
.padding(vertical = 16.dp),
.padding(vertical = 16.dp)
)
}
}

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
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -20,9 +20,7 @@ import okhttp3.HttpUrl.Companion.toHttpUrl
@Suppress("Unused")
@Composable
fun LobstersLoginWebView(
modifier: Modifier = Modifier,
) {
fun LobstersLoginWebView(modifier: Modifier = Modifier) {
val state = rememberWebViewState(url = "https://lobste.rs/login")
val webClient = remember {
object : AccompanistWebViewClient() {
@ -43,10 +41,5 @@ fun LobstersLoginWebView(
}
}
}
WebView(
state = state,
client = webClient,
modifier = modifier,
captureBackPresses = false,
)
WebView(state = state, client = webClient, modifier = modifier, captureBackPresses = false)
}

View file

@ -1,5 +1,5 @@
/*
* Copyright © 2021-2023 Harsh Shandilya.
* Copyright © 2021-2024 Harsh Shandilya.
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -162,7 +162,7 @@ fun LobstersPostsScreen(
navItems.none { it.route == currentDestination }
) {
IconButton(
onClick = { if (!navController.popBackStack()) context.getActivity()?.finish() },
onClick = { if (!navController.popBackStack()) context.getActivity()?.finish() }
) {
Icon(
imageVector = Icons.AutoMirrored.Filled.ArrowBack,
@ -202,7 +202,7 @@ fun LobstersPostsScreen(
imageVector = Icons.Filled.ImportExport,
contentDescription = "Data transfer options",
)
}
},
)
DropdownMenuItem(
text = { Text("Search posts") },
@ -211,11 +211,8 @@ fun LobstersPostsScreen(
expanded = false
},
leadingIcon = {
Icon(
imageVector = Icons.Filled.Search,
contentDescription = "Search posts",
)
}
Icon(imageVector = Icons.Filled.Search, contentDescription = "Search posts")
},
)
}
}
@ -273,11 +270,7 @@ fun LobstersPostsScreen(
}
composable(route = Destinations.Saved.route) {
setWebUri(null)
DatabasePosts(
items = savedPosts,
listState = savedListState,
postActions = postActions,
)
DatabasePosts(items = savedPosts, listState = savedListState, postActions = postActions)
}
composable(
route = Destinations.Comments.route,
@ -304,18 +297,14 @@ fun LobstersPostsScreen(
composable(
route = Destinations.User.route,
arguments = listOf(navArgument("username") { type = NavType.StringType }),
deepLinks =
listOf(navDeepLink { uriPattern = "$uri/u/${Destinations.User.PLACEHOLDER}" }),
deepLinks = listOf(navDeepLink { uriPattern = "$uri/u/${Destinations.User.PLACEHOLDER}" }),
) { backStackEntry ->
val username =
requireNotNull(backStackEntry.arguments?.getString("username")) {
"Navigating to ${Destinations.User.route} without necessary 'username' argument"
}
setWebUri("https://lobste.rs/u/$username")
UserProfile(
username = username,
getProfile = viewModel::getUserProfile,
)
UserProfile(username = username, getProfile = viewModel::getUserProfile)
}
composable(route = Destinations.DataTransfer.route) {
DataTransferScreen(

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
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -37,12 +37,7 @@ constructor(
suspend fun importPosts(input: InputStream) {
val posts: List<SavedPost> =
withContext(ioDispatcher) {
json.decodeFromStream(
serializer,
input,
)
}
withContext(ioDispatcher) { json.decodeFromStream(serializer, input) }
withContext(dbDispatcher) {
savedPostQueries.transaction { posts.forEach(savedPostQueries::insertOrReplacePost) }
}