Разделил обои на наборы для темной и светлой темы
This commit is contained in:
@@ -281,6 +281,7 @@ fun ThemeScreen(
|
||||
WallpaperSelectorRow(
|
||||
isDarkTheme = isDarkTheme,
|
||||
selectedWallpaperId = wallpaperId,
|
||||
wallpapers = ThemeWallpapers.forTheme(isDarkTheme),
|
||||
textColor = textColor,
|
||||
secondaryTextColor = secondaryTextColor,
|
||||
onWallpaperSelected = { selectedId ->
|
||||
@@ -292,7 +293,12 @@ fun ThemeScreen(
|
||||
)
|
||||
|
||||
TelegramInfoText(
|
||||
text = "Selected wallpaper is used for chat backgrounds.",
|
||||
text =
|
||||
if (isDarkTheme) {
|
||||
"Showing wallpapers for dark theme. Switch to light mode to choose light wallpapers."
|
||||
} else {
|
||||
"Showing wallpapers for light theme. Switch to dark mode to choose dark wallpapers."
|
||||
},
|
||||
secondaryTextColor = secondaryTextColor
|
||||
)
|
||||
|
||||
@@ -454,6 +460,7 @@ private fun TelegramInfoText(text: String, secondaryTextColor: Color) {
|
||||
private fun WallpaperSelectorRow(
|
||||
isDarkTheme: Boolean,
|
||||
selectedWallpaperId: String,
|
||||
wallpapers: List<ThemeWallpaper>,
|
||||
textColor: Color,
|
||||
secondaryTextColor: Color,
|
||||
onWallpaperSelected: (String) -> Unit
|
||||
@@ -475,7 +482,7 @@ private fun WallpaperSelectorRow(
|
||||
)
|
||||
}
|
||||
|
||||
items(items = ThemeWallpapers.all, key = { it.id }) { wallpaper ->
|
||||
items(items = wallpapers, key = { it.id }) { wallpaper ->
|
||||
WallpaperSelectorItem(
|
||||
title = wallpaper.name,
|
||||
wallpaperResId = wallpaper.drawableRes,
|
||||
|
||||
@@ -6,28 +6,94 @@ import com.rosetta.messenger.R
|
||||
data class ThemeWallpaper(
|
||||
val id: String,
|
||||
val name: String,
|
||||
val preferredTheme: WallpaperTheme,
|
||||
@DrawableRes val drawableRes: Int
|
||||
)
|
||||
|
||||
enum class WallpaperTheme {
|
||||
DARK,
|
||||
LIGHT
|
||||
}
|
||||
|
||||
object ThemeWallpapers {
|
||||
// Desktop parity: keep the same order/mapping as desktop WALLPAPERS.
|
||||
val all: List<ThemeWallpaper> =
|
||||
listOf(
|
||||
ThemeWallpaper(id = "back_3", name = "Wallpaper 1", drawableRes = R.drawable.wallpaper_back_3),
|
||||
ThemeWallpaper(id = "back_4", name = "Wallpaper 2", drawableRes = R.drawable.wallpaper_back_4),
|
||||
ThemeWallpaper(id = "back_5", name = "Wallpaper 3", drawableRes = R.drawable.wallpaper_back_5),
|
||||
ThemeWallpaper(id = "back_6", name = "Wallpaper 4", drawableRes = R.drawable.wallpaper_back_6),
|
||||
ThemeWallpaper(id = "back_7", name = "Wallpaper 5", drawableRes = R.drawable.wallpaper_back_7),
|
||||
ThemeWallpaper(id = "back_8", name = "Wallpaper 6", drawableRes = R.drawable.wallpaper_back_8),
|
||||
ThemeWallpaper(id = "back_9", name = "Wallpaper 7", drawableRes = R.drawable.wallpaper_back_9),
|
||||
ThemeWallpaper(id = "back_10", name = "Wallpaper 8", drawableRes = R.drawable.wallpaper_back_10),
|
||||
ThemeWallpaper(id = "back_11", name = "Wallpaper 9", drawableRes = R.drawable.wallpaper_back_11),
|
||||
ThemeWallpaper(id = "back_1", name = "Wallpaper 10", drawableRes = R.drawable.wallpaper_back_1),
|
||||
ThemeWallpaper(id = "back_2", name = "Wallpaper 11", drawableRes = R.drawable.wallpaper_back_2)
|
||||
ThemeWallpaper(
|
||||
id = "back_3",
|
||||
name = "Wallpaper 1",
|
||||
preferredTheme = WallpaperTheme.DARK,
|
||||
drawableRes = R.drawable.wallpaper_back_3
|
||||
),
|
||||
ThemeWallpaper(
|
||||
id = "back_4",
|
||||
name = "Wallpaper 2",
|
||||
preferredTheme = WallpaperTheme.LIGHT,
|
||||
drawableRes = R.drawable.wallpaper_back_4
|
||||
),
|
||||
ThemeWallpaper(
|
||||
id = "back_5",
|
||||
name = "Wallpaper 3",
|
||||
preferredTheme = WallpaperTheme.DARK,
|
||||
drawableRes = R.drawable.wallpaper_back_5
|
||||
),
|
||||
ThemeWallpaper(
|
||||
id = "back_6",
|
||||
name = "Wallpaper 4",
|
||||
preferredTheme = WallpaperTheme.LIGHT,
|
||||
drawableRes = R.drawable.wallpaper_back_6
|
||||
),
|
||||
ThemeWallpaper(
|
||||
id = "back_7",
|
||||
name = "Wallpaper 5",
|
||||
preferredTheme = WallpaperTheme.LIGHT,
|
||||
drawableRes = R.drawable.wallpaper_back_7
|
||||
),
|
||||
ThemeWallpaper(
|
||||
id = "back_8",
|
||||
name = "Wallpaper 6",
|
||||
preferredTheme = WallpaperTheme.LIGHT,
|
||||
drawableRes = R.drawable.wallpaper_back_8
|
||||
),
|
||||
ThemeWallpaper(
|
||||
id = "back_9",
|
||||
name = "Wallpaper 7",
|
||||
preferredTheme = WallpaperTheme.LIGHT,
|
||||
drawableRes = R.drawable.wallpaper_back_9
|
||||
),
|
||||
ThemeWallpaper(
|
||||
id = "back_10",
|
||||
name = "Wallpaper 8",
|
||||
preferredTheme = WallpaperTheme.LIGHT,
|
||||
drawableRes = R.drawable.wallpaper_back_10
|
||||
),
|
||||
ThemeWallpaper(
|
||||
id = "back_11",
|
||||
name = "Wallpaper 9",
|
||||
preferredTheme = WallpaperTheme.DARK,
|
||||
drawableRes = R.drawable.wallpaper_back_11
|
||||
),
|
||||
ThemeWallpaper(
|
||||
id = "back_1",
|
||||
name = "Wallpaper 10",
|
||||
preferredTheme = WallpaperTheme.LIGHT,
|
||||
drawableRes = R.drawable.wallpaper_back_1
|
||||
),
|
||||
ThemeWallpaper(
|
||||
id = "back_2",
|
||||
name = "Wallpaper 11",
|
||||
preferredTheme = WallpaperTheme.DARK,
|
||||
drawableRes = R.drawable.wallpaper_back_2
|
||||
)
|
||||
)
|
||||
|
||||
fun findById(id: String): ThemeWallpaper? = all.firstOrNull { it.id == id }
|
||||
|
||||
fun forTheme(isDarkTheme: Boolean): List<ThemeWallpaper> {
|
||||
val targetTheme = if (isDarkTheme) WallpaperTheme.DARK else WallpaperTheme.LIGHT
|
||||
return all.filter { it.preferredTheme == targetTheme }
|
||||
}
|
||||
|
||||
@DrawableRes
|
||||
fun drawableResOrNull(id: String): Int? = findById(id)?.drawableRes
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user