From 3b2fa5d54201b29e1f6752af3ac65e8d80307e39 Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Wed, 12 Jun 2024 08:22:09 +0700 Subject: [PATCH] chore(deps): Update and Kermit Crashlytics --- CHANGELOG.md | 44 +++----------------- app/build.gradle.kts | 2 +- app/src/main/java/eu/kanade/tachiyomi/App.kt | 6 +++ gradle/libs.versions.toml | 15 ++++--- 4 files changed, 23 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0364e3c64..a2489d05e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,42 +7,10 @@ ## Other ?? Technical stuff, what happened behind the scene --> -## Additions -- Added option to change long tap browse and recents nav behaviour - - Added browse long tap behaviour to open global search (AshbornXS) - - Added recents long tap behaviour to open last read chapter (AshbornXS) -- Added option to backup sensitive settings (such as tracker login tokens) -- Added beta version of "Data and storage" settings (can be accessed by long tapping "Data and storage") - -## Changes -- Remove download location redirection from `Settings > Downloads` -- Moved cache related stuff from `Settings > Advanced` to `Settings > Data and storage` -- Improve webview (AshbornXS) - - Show url as subtitle - - Add option to clear cookies - - Allow zoom -- Handle urls on global search (AshbornXS) -- Improve download queue (AshbornXS) - - Download badge now show download queue count - - Add option to move series to bottom -- Only show "open repo url" button when repo url is not empty - -## Fixes -- Fix potential crashes for some custom Android rom -- Allow MultipartBody.Builder for extensions -- Refresh extension repo now actually refresh extension(s) trust status -- Custom manga info now relink properly upon migration -- Fixed extension repo list did not update when a repo is added via deep link -- Fixed download unread trying to download filtered (by scanlator) chapters -- Fixed extensions not retaining their repo url -- Fixed more NullPointerException crashes -- Fixed split layout caused non-split images to not load - ## Other -- Migrate some StorIO queries to SQLDelight, should improve stability -- Migrate from Timber to Kermit -- Update okhttp monorepo to v5.0.0-alpha.14 -- Refactor backup code - - Migrate backup flags to not use bitwise - - Split it to several smaller classes -- Update androidx.compose.material3:material3 to v1.3.0-beta02 +- Some code refactors +- Update firebase bom to v33.1.0 +- Update dependency co.touchlab:kermit-crashlytics to v3.9.0 +- Update dependency com.google.android.gms:play-services-oss-licenses to v17.1.0 +- Update dependency com.google.gms:google-services to v4.4.2 +- Add crashlytics integration for Kermit diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 98911bdf55..d10ffc13df 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -249,7 +249,7 @@ dependencies { implementation(libs.bundles.coil) // Logging - implementation(libs.kermit) + implementation(libs.bundles.logging) // Sort implementation(libs.java.nat.sort) diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index b33e0a929c..39d3b618b8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -22,6 +22,9 @@ import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.ProcessLifecycleOwner import androidx.lifecycle.lifecycleScope import androidx.multidex.MultiDex +import co.touchlab.kermit.ExperimentalKermitApi +import co.touchlab.kermit.Logger +import co.touchlab.kermit.crashlytics.CrashlyticsLogWriter import coil3.ImageLoader import coil3.PlatformContext import coil3.SingletonImageLoader @@ -70,10 +73,13 @@ open class App : Application(), DefaultLifecycleObserver, SingletonImageLoader.F private val disableIncognitoReceiver = DisableIncognitoReceiver() + @OptIn(ExperimentalKermitApi::class) @SuppressLint("LaunchActivityFromNotification") override fun onCreate() { super.onCreate() + if (!BuildConfig.DEBUG) Logger.addLogWriter(CrashlyticsLogWriter()) + // TLS 1.3 support for Android 10 and below if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { Security.insertProviderAt(Conscrypt.newProvider(), 1) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index afc9f26393..27b981b559 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,6 +9,7 @@ shizuku = "12.1.0" sqlite = "2.4.0" sqldelight = "2.0.2" junit = "5.8.2" +kermit = "2.0.3" [libraries] accompanist-webview = { module = "com.google.accompanist:accompanist-webview", version = "0.30.1" } @@ -28,19 +29,22 @@ directionalviewpager = { module = "com.github.tachiyomiorg:DirectionalViewPager" disklrucache = { module = "com.jakewharton:disklrucache", version = "2.0.2" } fastadapter-extensions-binding = { module = "com.mikepenz:fastadapter-extensions-binding", version.ref = "fast_adapter" } fastadapter = { module = "com.mikepenz:fastadapter", version.ref = "fast_adapter" } -firebase = { module = "com.google.firebase:firebase-bom", version = "33.0.0" } +firebase = { module = "com.google.firebase:firebase-bom", version = "33.1.0" } firebase-analytics = { module = "com.google.firebase:firebase-analytics-ktx" } firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics-ktx" } firebase-crashlytics-gradle = { module = "com.google.firebase:firebase-crashlytics-gradle", version = "3.0.1" } flexbox = { module = "com.google.android.flexbox:flexbox", version = "3.0.0" } flexible-adapter-ui = { module = "com.github.arkon.FlexibleAdapter:flexible-adapter-ui", version.ref = "flexible-adapter" } flexible-adapter = { module = "com.github.arkon.FlexibleAdapter:flexible-adapter", version.ref = "flexible-adapter" } -google-services = { module = "com.google.gms:google-services", version = "4.4.1" } +google-services = { module = "com.google.gms:google-services", version = "4.4.2" } gradle = { module = "com.android.tools.build:gradle", version = "8.2.0" } guava = { module = "com.google.guava:guava", version = "31.1-android" } image-decoder = { module = "com.github.tachiyomiorg:image-decoder", version = "e08e9be535" } injekt-core = { module = "com.github.inorichi.injekt:injekt-core", version = "65b0440" } -kermit = { module = "co.touchlab:kermit", version = "2.0.3" } + +kermit = { module = "co.touchlab:kermit", version.ref = "kermit" } +kermit-crashlytics = { module = "co.touchlab:kermit-crashlytics", version.ref = "kermit" } + material = { module = "com.google.android.material:material", version = "1.12.0" } material-design-dimens = { module = "com.dmitrymalkovich.android:material-design-dimens", version = "1.4" } markwon = { module = "io.noties.markwon:core", version = "4.6.2" } @@ -56,13 +60,13 @@ junit-android = { module = "androidx.test.ext:junit", version = "1.1.5" } junrar = { module = "com.github.junrar:junrar", version = "7.5.5" } loading-button = { module = "br.com.simplepass:loading-button-android", version = "2.2.0" } mockk = { module = "io.mockk:mockk", version = "1.13.11" } -okio = { module = "com.squareup.okio:okio", version = "3.8.0" } +okio = { module = "com.squareup.okio:okio", version = "3.9.0" } okhttp-brotli = { module = "com.squareup.okhttp3:okhttp-brotli", version.ref = "okhttp" } okhttp-dnsoverhttps = { module = "com.squareup.okhttp3:okhttp-dnsoverhttps", version.ref = "okhttp" } okhttp-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" } okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } play-services-gcm = { module = "com.google.android.gms:play-services-gcm", version = "17.0.0" } -play-services-oss-licenses = { module = "com.google.android.gms:play-services-oss-licenses", version = "17.0.1" } +play-services-oss-licenses = { module = "com.google.android.gms:play-services-oss-licenses", version = "17.1.0" } photoview = { module = "com.github.chrisbanes:PhotoView", version = "2.3.0" } quickjs-android = { module = "app.cash.quickjs:quickjs-android", version = "0.9.2" } rxrelay = { module = "com.jakewharton.rxrelay:rxrelay", version = "1.2.0" } @@ -97,6 +101,7 @@ gradle-versions = { id = "com.github.ben-manes.versions", version = "0.42.0" } archive = [ "common-compress", "junrar" ] db = [ "sqldelight-android-driver", "sqldelight-android-paging", "sqldelight-coroutines" ] coil = [ "coil3", "coil3-svg", "coil3-gif", "coil3-okhttp" ] +logging = [ "kermit", "kermit-crashlytics" ] sqlite = [ "sqlite-framework", "sqlite-ktx" ] test = [ "junit-api", "mockk" ] test-android = [ "junit-android" ]