mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-13 19:37:00 +05:30
all: migrate logging to Napier
This commit is contained in:
parent
239cfb753f
commit
9b9e924475
7 changed files with 17 additions and 9 deletions
|
@ -1,7 +1,6 @@
|
|||
package dev.msfjarvis.claw.android.injection
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
|
||||
import dagger.Lazy
|
||||
import dagger.Module
|
||||
|
@ -10,6 +9,7 @@ import dagger.hilt.InstallIn
|
|||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import dev.msfjarvis.claw.api.LobstersApi
|
||||
import io.github.aakira.napier.Napier
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.json.Json
|
||||
import okhttp3.Cache
|
||||
|
@ -34,7 +34,7 @@ object ApiModule {
|
|||
.cache(cache.get())
|
||||
.addNetworkInterceptor { chain ->
|
||||
val request = chain.request()
|
||||
Log.d("LobstersApi", "${request.method}: ${request.url}")
|
||||
Napier.d(tag = "LobstersApi") { "${request.method}: ${request.url}" }
|
||||
chain.proceed(request)
|
||||
}
|
||||
.build()
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package dev.msfjarvis.claw.android.viewmodel
|
||||
|
||||
import android.util.Log
|
||||
import app.cash.sqldelight.coroutines.asFlow
|
||||
import app.cash.sqldelight.coroutines.mapToList
|
||||
import dev.msfjarvis.claw.database.LobstersDatabase
|
||||
import dev.msfjarvis.claw.database.local.SavedPost
|
||||
import io.github.aakira.napier.Napier
|
||||
import javax.inject.Inject
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
|
@ -18,12 +18,16 @@ constructor(
|
|||
val savedPosts = savedPostQueries.selectAllPosts().asFlow().mapToList()
|
||||
|
||||
suspend fun savePost(post: SavedPost) {
|
||||
Log.d("SavedPostsRepository", "Saving post: ${post.shortId}")
|
||||
Napier.d(tag = TAG) { "Saving post: ${post.shortId}" }
|
||||
withContext(Dispatchers.IO) { savedPostQueries.insertOrReplacePost(post) }
|
||||
}
|
||||
|
||||
suspend fun removePost(post: SavedPost) {
|
||||
Log.d("SavedPostsRepository", "Removing post: ${post.shortId}")
|
||||
Napier.d(tag = TAG) { "Removing post: ${post.shortId}" }
|
||||
withContext(Dispatchers.IO) { savedPostQueries.deletePost(post.shortId) }
|
||||
}
|
||||
|
||||
private companion object {
|
||||
private const val TAG = "SavedPostsRepository"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ kotlin {
|
|||
api(compose.material3)
|
||||
api(projects.database)
|
||||
api(projects.model)
|
||||
api(libs.napier)
|
||||
implementation(libs.kotlin.coroutines.core)
|
||||
implementation(libs.compose.richtext.markdown)
|
||||
implementation(libs.compose.richtext.material)
|
||||
|
|
|
@ -3,10 +3,10 @@ package dev.msfjarvis.claw.common.urllauncher
|
|||
import android.content.ActivityNotFoundException
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.browser.customtabs.CustomTabsIntent
|
||||
import androidx.compose.ui.platform.UriHandler
|
||||
import io.github.aakira.napier.Napier
|
||||
|
||||
class UrlLauncher(private val context: Context) : UriHandler {
|
||||
override fun openUri(uri: String) {
|
||||
|
@ -20,7 +20,7 @@ class UrlLauncher(private val context: Context) : UriHandler {
|
|||
customTabsIntent.launchUrl(context, Uri.parse(uri))
|
||||
} catch (e: ActivityNotFoundException) {
|
||||
val error = "Failed to open URL: $uri"
|
||||
Log.d("UrlLauncher", error)
|
||||
Napier.d(tag = "UrlLauncher") { error }
|
||||
Toast.makeText(context, error, Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package dev.msfjarvis.claw.common.urllauncher
|
||||
|
||||
import androidx.compose.ui.platform.UriHandler
|
||||
import io.github.aakira.napier.Napier
|
||||
import java.awt.Desktop
|
||||
import java.io.IOException
|
||||
import java.net.URI
|
||||
|
@ -13,7 +14,7 @@ class UrlLauncher : UriHandler {
|
|||
try {
|
||||
desktop.browse(URI(uri))
|
||||
} catch (e: IOException) {
|
||||
println("Failed to open URL: $uri")
|
||||
Napier.d(tag = "UrlLauncher") { "Failed to open URL: $uri" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
|
||||
import dev.msfjarvis.claw.api.LobstersApi
|
||||
import io.github.aakira.napier.Napier
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.json.Json
|
||||
import okhttp3.MediaType
|
||||
|
@ -15,7 +16,7 @@ class Api {
|
|||
return OkHttpClient.Builder()
|
||||
.addNetworkInterceptor { chain ->
|
||||
val request = chain.request()
|
||||
println("LobstersApi: ${request.method()}: ${request.url()}")
|
||||
Napier.d(tag = "LobstersApi") { "${request.method()}: ${request.url()}" }
|
||||
chain.proceed(request)
|
||||
}
|
||||
.build()
|
||||
|
|
|
@ -46,6 +46,7 @@ kotlin-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-co
|
|||
kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "serialization" }
|
||||
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization" }
|
||||
multiplatform-paging = "io.github.kuuuurt:multiplatform-paging:0.4.7"
|
||||
napier = "io.github.aakira:napier:2.5.0"
|
||||
r8 = "com.android.tools:r8:3.3.28"
|
||||
retrofit-kotlinxSerializationConverter = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0"
|
||||
retrofit-lib = "com.squareup.retrofit2:retrofit:2.9.0"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue