Update tracker icons (#2773)

(cherry picked from commit 876c3f951b7e9782054d8f788ab39772ae6cf440)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/Shikimori.kt
This commit is contained in:
AntsyLich
2025-12-10 15:19:46 +06:00
committed by Jobobby04
parent d282df6973
commit d977614b7a
33 changed files with 343 additions and 70 deletions
@@ -1,15 +1,11 @@
package eu.kanade.presentation.track.components
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.PreviewLightDark
import androidx.compose.ui.tooling.preview.PreviewParameter
@@ -30,18 +26,13 @@ fun TrackLogoIcon(
Modifier
}
Box(
Image(
painter = painterResource(tracker.getLogo()),
contentDescription = tracker.name,
modifier = modifier
.size(48.dp)
.background(color = Color(tracker.getLogoColor()), shape = MaterialTheme.shapes.medium)
.padding(4.dp),
contentAlignment = Alignment.Center,
) {
Image(
painter = painterResource(tracker.getLogo()),
contentDescription = tracker.name,
)
}
.clip(MaterialTheme.shapes.medium),
)
}
@PreviewLightDark
@@ -1,8 +1,6 @@
package eu.kanade.presentation.track.components
import android.graphics.Color
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.track.Tracker
import eu.kanade.test.DummyTracker
@@ -13,8 +11,6 @@ internal class TrackLogoIconPreviewProvider : PreviewParameterProvider<Tracker>
DummyTracker(
id = 1L,
name = "Dummy Tracker",
valLogoColor = Color.rgb(18, 25, 35),
valLogo = R.drawable.ic_tracker_anilist,
),
)
}
@@ -1,7 +1,6 @@
package eu.kanade.tachiyomi.data.track
import androidx.annotation.CallSuper
import androidx.annotation.ColorInt
import androidx.annotation.DrawableRes
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.data.database.models.Track
@@ -25,9 +24,6 @@ interface Tracker {
val supportsPrivateTracking: Boolean
@ColorInt
fun getLogoColor(): Int
@DrawableRes
fun getLogo(): Int
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.track.anilist
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.domain.track.model.toDbTrack
import eu.kanade.tachiyomi.R
@@ -57,9 +56,7 @@ class Anilist(id: Long) : BaseTracker(id, "AniList"), DeletableTracker {
}
}
override fun getLogo() = R.drawable.ic_tracker_anilist
override fun getLogoColor() = Color.rgb(18, 25, 35)
override fun getLogo() = R.drawable.brand_anilist
override fun getStatusList(): List<Long> {
return listOf(READING, COMPLETED, ON_HOLD, DROPPED, PLAN_TO_READ, REREADING)
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.track.bangumi
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track
@@ -84,9 +83,7 @@ class Bangumi(id: Long) : BaseTracker(id, "Bangumi") {
return track
}
override fun getLogo() = R.drawable.ic_tracker_bangumi
override fun getLogoColor() = Color.rgb(240, 145, 153)
override fun getLogo() = R.drawable.brand_bangumi
override fun getStatusList(): List<Long> {
return listOf(READING, COMPLETED, ON_HOLD, DROPPED, PLAN_TO_READ)
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.track.kavita
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track
@@ -34,9 +33,7 @@ class Kavita(id: Long) : BaseTracker(id, "Kavita"), EnhancedTracker {
private val sourceManager: SourceManager by injectLazy()
override fun getLogo(): Int = R.drawable.ic_tracker_kavita
override fun getLogoColor() = Color.rgb(74, 198, 148)
override fun getLogo(): Int = R.drawable.brand_kavita
override fun getStatusList(): List<Long> = listOf(UNREAD, READING, COMPLETED)
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.track.kitsu
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track
@@ -37,9 +36,7 @@ class Kitsu(id: Long) : BaseTracker(id, "Kitsu"), DeletableTracker {
private val api by lazy { KitsuApi(client, interceptor) }
override fun getLogo() = R.drawable.ic_tracker_kitsu
override fun getLogoColor() = Color.rgb(51, 37, 50)
override fun getLogo() = R.drawable.brand_kitsu
override fun getStatusList(): List<Long> {
return listOf(READING, COMPLETED, ON_HOLD, DROPPED, PLAN_TO_READ)
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.track.komga
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track
@@ -31,9 +30,7 @@ class Komga(id: Long) : BaseTracker(id, "Komga"), EnhancedTracker {
val api by lazy { KomgaApi(id, client) }
override fun getLogo() = R.drawable.ic_tracker_komga
override fun getLogoColor() = Color.rgb(51, 37, 50)
override fun getLogo() = R.drawable.brand_komga
override fun getStatusList(): List<Long> = listOf(UNREAD, READING, COMPLETED)
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.track.mangaupdates
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track
@@ -44,9 +43,7 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker
private val api by lazy { MangaUpdatesApi(interceptor, client) }
override fun getLogo(): Int = R.drawable.ic_manga_updates
override fun getLogoColor(): Int = Color.rgb(146, 160, 173)
override fun getLogo(): Int = R.drawable.brand_mangaupdates
override fun getStatusList(): List<Long> {
return listOf(READING_LIST, COMPLETE_LIST, ON_HOLD_LIST, UNFINISHED_LIST, WISH_LIST)
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.track.mdlist
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.domain.track.model.toDbTrack
import eu.kanade.tachiyomi.R
@@ -33,11 +32,7 @@ class MdList(id: Long) : BaseTracker(id, "MDList") {
val interceptor = MangaDexAuthInterceptor(trackPreferences, this)
override fun getLogo(): Int {
return R.drawable.ic_tracker_mangadex_logo
}
override fun getLogoColor(): Int {
return Color.rgb(43, 48, 53)
return R.drawable.brand_mangadex
}
override fun getStatusList(): List<Long> {
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.track.myanimelist
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track
@@ -41,9 +40,7 @@ class MyAnimeList(id: Long) : BaseTracker(id, "MyAnimeList"), DeletableTracker {
override val supportsReadingDates: Boolean = true
override fun getLogo() = R.drawable.ic_tracker_mal
override fun getLogoColor() = Color.rgb(46, 81, 162)
override fun getLogo() = R.drawable.brand_myanimelist
override fun getStatusList(): List<Long> {
return listOf(READING, COMPLETED, ON_HOLD, DROPPED, PLAN_TO_READ, REREADING)
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.track.shikimori
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track
@@ -102,9 +101,7 @@ class Shikimori(id: Long) : BaseTracker(id, "Shikimori"), DeletableTracker {
return api.getMangaMetadata(track)
}
override fun getLogo() = R.drawable.ic_tracker_shikimori
override fun getLogoColor() = Color.rgb(40, 40, 40)
override fun getLogo() = R.drawable.brand_shikimori
override fun getStatusList(): List<Long> {
return listOf(READING, COMPLETED, ON_HOLD, DROPPED, PLAN_TO_READ, REREADING)
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.track.suwayomi
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track
@@ -18,9 +17,7 @@ class Suwayomi(id: Long) : BaseTracker(id, "Suwayomi"), EnhancedTracker {
val api by lazy { SuwayomiApi(id) }
override fun getLogo() = R.drawable.ic_tracker_suwayomi
override fun getLogoColor() = Color.rgb(255, 35, 35) // TODO
override fun getLogo() = R.drawable.brand_suwayomi
companion object {
const val UNREAD = 1L
@@ -1,6 +1,5 @@
package eu.kanade.test
import android.graphics.Color
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.track.Tracker
@@ -20,8 +19,7 @@ data class DummyTracker(
override val supportsPrivateTracking: Boolean = false,
override val isLoggedIn: Boolean = false,
override val isLoggedInFlow: Flow<Boolean> = flowOf(false),
val valLogoColor: Int = Color.rgb(18, 25, 35),
val valLogo: Int = R.drawable.ic_tracker_anilist,
val valLogo: Int = R.drawable.brand_anilist,
val valStatuses: List<Long> = (1L..6L).toList(),
val valReadingStatus: Long = 1L,
val valRereadingStatus: Long = 1L,
@@ -34,8 +32,6 @@ data class DummyTracker(
override val client: OkHttpClient
get() = TODO("Not yet implemented")
override fun getLogoColor(): Int = valLogoColor
override fun getLogo(): Int = valLogo
override fun getStatusList(): List<Long> = valStatuses