Merge pull request 'Rebrand the Android TV app as Wolfskin' (#16) from fm/wolfskin-2-rebrand into main
|
|
@ -6,6 +6,8 @@ Licensed under GPL-2.0, the same licence as upstream (see [LICENSE](LICENSE)).
|
|||
|
||||
Wolfskin is an Android TV client for one household. It is released through Forgejo releases on this repo, and it tracks upstream by merging each upstream release tag.
|
||||
|
||||
The app uses Wolfskin launcher artwork and a lilac-on-`#07070a` theme by default on a fresh install. Existing theme choices and all upstream colour themes remain available under Settings → App theme. Settings → About credits and links to Wholphin by damontecres.
|
||||
|
||||
---
|
||||
|
||||
# Wholphin - an OSS Android TV client for Jellyfin
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name" translatable="false">Wholphin (Debug)</string>
|
||||
<string name="app_name" translatable="false">Wolfskin (Debug)</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 209 KiB |
|
|
@ -63,7 +63,7 @@ import com.github.damontecres.wholphin.ui.nav.Destination
|
|||
import com.github.damontecres.wholphin.ui.playback.PlayExternalViewModel
|
||||
import com.github.damontecres.wholphin.ui.showToast
|
||||
import com.github.damontecres.wholphin.ui.theme.WholphinTheme
|
||||
import com.github.damontecres.wholphin.ui.theme.colors.PurpleThemeColors
|
||||
import com.github.damontecres.wholphin.ui.theme.colors.WolfskinThemeColors
|
||||
import com.github.damontecres.wholphin.ui.util.ProvideLocalClock
|
||||
import com.github.damontecres.wholphin.util.DebugLogTree
|
||||
import com.github.damontecres.wholphin.util.ExceptionHandler
|
||||
|
|
@ -230,7 +230,7 @@ class MainActivity : AppCompatActivity() {
|
|||
|
||||
viewModel.appStart(intent)
|
||||
setContent {
|
||||
MaterialTheme(colorScheme = PurpleThemeColors.darkScheme) {
|
||||
MaterialTheme(colorScheme = WolfskinThemeColors.darkScheme) {
|
||||
Surface(Modifier.fillMaxSize()) {
|
||||
val userPreferences by userPreferencesService.flow.collectAsState(null)
|
||||
if (userPreferences == null) {
|
||||
|
|
|
|||
|
|
@ -506,7 +506,7 @@ sealed interface AppPreference<Pref, T> {
|
|||
val ThemeColors =
|
||||
AppChoicePreference<AppPreferences, AppThemeColors>(
|
||||
title = R.string.app_theme,
|
||||
defaultValue = AppThemeColors.PURPLE,
|
||||
defaultValue = AppThemeColors.WOLFSKIN,
|
||||
getter = { it.interfacePreferences.appThemeColors },
|
||||
setter = { prefs, value ->
|
||||
prefs.updateInterfacePreferences { appThemeColors = value }
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ fun WatchedIconBackground(): Color =
|
|||
when (LocalTheme.current) {
|
||||
AppThemeColors.UNRECOGNIZED,
|
||||
AppThemeColors.PURPLE,
|
||||
AppThemeColors.WOLFSKIN,
|
||||
AppThemeColors.BLUE,
|
||||
AppThemeColors.GREEN,
|
||||
AppThemeColors.ORANGE,
|
||||
|
|
@ -55,6 +56,8 @@ fun WatchedIconBackground(): Color =
|
|||
@Composable
|
||||
fun WatchedIconColor(): Color =
|
||||
when (LocalTheme.current) {
|
||||
AppThemeColors.WOLFSKIN -> MaterialTheme.colorScheme.onPrimary
|
||||
|
||||
AppThemeColors.UNRECOGNIZED,
|
||||
AppThemeColors.PURPLE,
|
||||
AppThemeColors.BLUE,
|
||||
|
|
|
|||
|
|
@ -143,6 +143,7 @@ fun sliderActiveColor(focused: Boolean): Color {
|
|||
return when (theme) {
|
||||
AppThemeColors.UNRECOGNIZED,
|
||||
AppThemeColors.PURPLE,
|
||||
AppThemeColors.WOLFSKIN,
|
||||
AppThemeColors.BLUE,
|
||||
AppThemeColors.GREEN,
|
||||
AppThemeColors.ORANGE,
|
||||
|
|
@ -179,6 +180,7 @@ fun sliderInactiveColor(focused: Boolean): Color {
|
|||
return when (theme) {
|
||||
AppThemeColors.UNRECOGNIZED,
|
||||
AppThemeColors.PURPLE,
|
||||
AppThemeColors.WOLFSKIN,
|
||||
-> {
|
||||
MaterialTheme.colorScheme.border
|
||||
.copy(alpha = .25f)
|
||||
|
|
|
|||
|
|
@ -769,6 +769,7 @@ fun navItemColor(
|
|||
when (theme) {
|
||||
AppThemeColors.UNRECOGNIZED,
|
||||
AppThemeColors.PURPLE,
|
||||
AppThemeColors.WOLFSKIN,
|
||||
AppThemeColors.BLUE,
|
||||
AppThemeColors.GREEN,
|
||||
AppThemeColors.ORANGE,
|
||||
|
|
|
|||
|
|
@ -271,6 +271,9 @@ fun PreferencesContent(
|
|||
.fillMaxWidth()
|
||||
.padding(top = 8.dp, bottom = 4.dp),
|
||||
)
|
||||
if (group.title == R.string.about) {
|
||||
WolfskinAbout()
|
||||
}
|
||||
}
|
||||
val groupPreferences =
|
||||
group.preferences +
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ fun SwitchColors(): SwitchColors {
|
|||
return when (theme) {
|
||||
AppThemeColors.UNRECOGNIZED,
|
||||
AppThemeColors.PURPLE,
|
||||
AppThemeColors.WOLFSKIN,
|
||||
AppThemeColors.BLUE,
|
||||
-> {
|
||||
SwitchDefaults.colors()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
package com.github.damontecres.wholphin.ui.preferences
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalUriHandler
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.tv.material3.MaterialTheme
|
||||
import androidx.tv.material3.Text
|
||||
import com.github.damontecres.wholphin.R
|
||||
import com.github.damontecres.wholphin.ui.components.TextButton
|
||||
|
||||
/** Fork identity and a focusable link to the upstream project. */
|
||||
@Composable
|
||||
fun WolfskinAbout() {
|
||||
val uriHandler = LocalUriHandler.current
|
||||
val upstreamUrl = stringResource(R.string.wolfskin_upstream_url)
|
||||
Column(verticalArrangement = Arrangement.spacedBy(8.dp)) {
|
||||
Text(
|
||||
text = stringResource(R.string.app_name_long),
|
||||
style = MaterialTheme.typography.headlineMedium,
|
||||
)
|
||||
TextButton(onClick = { uriHandler.openUri(upstreamUrl) }) {
|
||||
Text(stringResource(R.string.wolfskin_upstream_credit))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -13,9 +13,10 @@ import com.github.damontecres.wholphin.ui.theme.colors.OledThemeColors
|
|||
import com.github.damontecres.wholphin.ui.theme.colors.OrangeThemeColors
|
||||
import com.github.damontecres.wholphin.ui.theme.colors.PurpleThemeColors
|
||||
import com.github.damontecres.wholphin.ui.theme.colors.RedThemeColors
|
||||
import com.github.damontecres.wholphin.ui.theme.colors.WolfskinThemeColors
|
||||
|
||||
val LocalTheme =
|
||||
compositionLocalOf<AppThemeColors> { AppThemeColors.PURPLE }
|
||||
compositionLocalOf<AppThemeColors> { AppThemeColors.WOLFSKIN }
|
||||
|
||||
fun getThemeColors(appThemeColors: AppThemeColors): ThemeColors =
|
||||
when (appThemeColors) {
|
||||
|
|
@ -27,13 +28,14 @@ fun getThemeColors(appThemeColors: AppThemeColors): ThemeColors =
|
|||
AppThemeColors.BOLD_BLUE -> BoldBlueThemeColors
|
||||
AppThemeColors.RED -> RedThemeColors
|
||||
AppThemeColors.BROWN -> BrownThemeColors
|
||||
AppThemeColors.UNRECOGNIZED -> PurpleThemeColors
|
||||
AppThemeColors.WOLFSKIN -> WolfskinThemeColors
|
||||
AppThemeColors.UNRECOGNIZED -> WolfskinThemeColors
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun WholphinTheme(
|
||||
darkTheme: Boolean = true,
|
||||
appThemeColors: AppThemeColors = AppThemeColors.PURPLE,
|
||||
appThemeColors: AppThemeColors = AppThemeColors.WOLFSKIN,
|
||||
content: @Composable () -> Unit,
|
||||
) {
|
||||
val themeColors = getThemeColors(appThemeColors)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,59 @@
|
|||
package com.github.damontecres.wholphin.ui.theme.colors
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import com.github.damontecres.wholphin.ui.theme.ThemeColors
|
||||
|
||||
/** Lilac accents on near-black surfaces, with upstream Purple available separately. */
|
||||
val WolfskinThemeColors =
|
||||
object : ThemeColors {
|
||||
private val background = Color(0xFF07070A)
|
||||
private val lilac = Color(0xFFD2BCFF)
|
||||
private val onLilac = Color(0xFF241334)
|
||||
private val container = Color(0xFF382A49)
|
||||
private val onContainer = Color(0xFFEADCFF)
|
||||
private val surfaceVariant = Color(0xFF24202D)
|
||||
|
||||
override val lightSchemeMaterial = PurpleThemeColors.lightSchemeMaterial
|
||||
override val lightScheme = PurpleThemeColors.lightScheme
|
||||
|
||||
override val darkSchemeMaterial =
|
||||
PurpleThemeColors.darkSchemeMaterial.copy(
|
||||
primary = lilac,
|
||||
onPrimary = onLilac,
|
||||
primaryContainer = container,
|
||||
onPrimaryContainer = onContainer,
|
||||
secondary = lilac,
|
||||
onSecondary = onLilac,
|
||||
secondaryContainer = container,
|
||||
onSecondaryContainer = onContainer,
|
||||
tertiary = lilac,
|
||||
onTertiary = onLilac,
|
||||
tertiaryContainer = container,
|
||||
onTertiaryContainer = onContainer,
|
||||
background = background,
|
||||
surface = background,
|
||||
surfaceVariant = surfaceVariant,
|
||||
inversePrimary = Color(0xFF705090),
|
||||
)
|
||||
|
||||
override val darkScheme =
|
||||
PurpleThemeColors.darkScheme.copy(
|
||||
primary = lilac,
|
||||
onPrimary = onLilac,
|
||||
primaryContainer = container,
|
||||
onPrimaryContainer = onContainer,
|
||||
secondary = lilac,
|
||||
onSecondary = onLilac,
|
||||
secondaryContainer = container,
|
||||
onSecondaryContainer = onContainer,
|
||||
tertiary = lilac,
|
||||
onTertiary = onLilac,
|
||||
tertiaryContainer = container,
|
||||
onTertiaryContainer = onContainer,
|
||||
background = background,
|
||||
surface = background,
|
||||
surfaceVariant = surfaceVariant,
|
||||
inversePrimary = Color(0xFF705090),
|
||||
border = lilac.copy(alpha = .75f),
|
||||
)
|
||||
}
|
||||
|
|
@ -123,6 +123,7 @@ enum AppThemeColors {
|
|||
OLED_BLACK = 5;
|
||||
RED = 6;
|
||||
BROWN = 7;
|
||||
WOLFSKIN = 8;
|
||||
}
|
||||
|
||||
enum EdgeStyle{
|
||||
|
|
|
|||
|
|
@ -1,9 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_banner_background"/>
|
||||
<foreground>
|
||||
<inset
|
||||
android:inset="18%"
|
||||
android:drawable="@mipmap/ic_banner_foreground"/>
|
||||
</foreground>
|
||||
</adaptive-icon>
|
||||
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:src="@mipmap/ic_banner_foreground"
|
||||
android:gravity="fill" />
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 3 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 7 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 22 KiB |
|
|
@ -489,8 +489,8 @@
|
|||
<string name="content_scale_fill">Vyplnit</string>
|
||||
<string name="content_scale_fill_width">Vyplnit šířku</string>
|
||||
<string name="content_scale_fill_height">Vyplnit výšku</string>
|
||||
<string name="display_preset_default">Výchozí předvolba Wholphin</string>
|
||||
<string name="display_preset_compact">Wholphin kompaktní</string>
|
||||
<string name="display_preset_default">Výchozí předvolba Wolfskin</string>
|
||||
<string name="display_preset_compact">Wolfskin kompaktní</string>
|
||||
<string name="display_preset_series_thumb">Obrázky náhledů seriálů</string>
|
||||
<string name="display_preset_episode_thumbnails">Obrázky náhledů epizod</string>
|
||||
<string name="volume_lowest">Nejnižší</string>
|
||||
|
|
|
|||
|
|
@ -538,8 +538,8 @@
|
|||
<string name="content_scale_fill">Fyld</string>
|
||||
<string name="content_scale_fill_width">Fyld bredde</string>
|
||||
<string name="content_scale_fill_height">Fyld højde</string>
|
||||
<string name="display_preset_default">Wholphin-standard</string>
|
||||
<string name="display_preset_compact">Wholphin kompakt</string>
|
||||
<string name="display_preset_default">Wolfskin-standard</string>
|
||||
<string name="display_preset_compact">Wolfskin kompakt</string>
|
||||
<string name="display_preset_series_thumb">Seriens miniaturebilleder</string>
|
||||
<string name="display_preset_episode_thumbnails">Episode-miniaturebilleder</string>
|
||||
<string name="volume_lowest">Laveste</string>
|
||||
|
|
@ -637,7 +637,7 @@
|
|||
<string name="select_all">Vælg alle</string>
|
||||
<string name="separate_types">Adskil typer</string>
|
||||
<string name="prefer_logos">Foretræk logoer som titler</string>
|
||||
<string name="updated_toast">Wholphin er opdateret til %s</string>
|
||||
<string name="updated_toast">Wolfskin er opdateret til %s</string>
|
||||
<string name="remove_continue_watching">Fjern fra Fortsæt med at se</string>
|
||||
<string name="remove_next_up">Fjern serien fra Næste</string>
|
||||
<string name="view_removed_next_up">Vis serier fjernet fra Næste</string>
|
||||
|
|
|
|||
|
|
@ -511,8 +511,8 @@
|
|||
<string name="animate">Animieren</string>
|
||||
<string name="content_scale_fill_width">Breite ausfüllen</string>
|
||||
<string name="content_scale_fill_height">Höhe ausfüllen</string>
|
||||
<string name="display_preset_default">Wholphin Standard</string>
|
||||
<string name="display_preset_compact">Wholphin Kompakt</string>
|
||||
<string name="display_preset_default">Wolfskin Standard</string>
|
||||
<string name="display_preset_compact">Wolfskin Kompakt</string>
|
||||
<string name="volume_lowest">Niedrigste</string>
|
||||
<string name="volume_low">Niedrig</string>
|
||||
<string name="volume_medium">Mittel</string>
|
||||
|
|
@ -580,7 +580,7 @@
|
|||
<string name="continue_string">Fortfahren</string>
|
||||
<string name="separate_types">Verschiedene Arten</string>
|
||||
<string name="prefer_logos">Bevorzugt Logo statt Titel anzeigen</string>
|
||||
<string name="updated_toast">Wholphin aktualisiert auf %s</string>
|
||||
<string name="updated_toast">Wolfskin aktualisiert auf %s</string>
|
||||
<string name="remove_continue_watching">Von \"Weiterschauen\" entfernen</string>
|
||||
<string name="remove_next_up">Serie aus \"Als Nächstes anschauen\" entfernen</string>
|
||||
<string name="view_more">Mehr anzeigen</string>
|
||||
|
|
|
|||
|
|
@ -599,7 +599,7 @@
|
|||
<string name="remove_from_queue">Eliminar de la cola</string>
|
||||
<string name="separate_types">Separar por tipos</string>
|
||||
<string name="prefer_logos">Preferir logotipos para los títulos</string>
|
||||
<string name="updated_toast">Wholphin se ha actualizado a la versión %s</string>
|
||||
<string name="updated_toast">Wolfskin se ha actualizado a la versión %s</string>
|
||||
<string name="view_more">Ver más</string>
|
||||
<string name="discover_tv">Descubrir series</string>
|
||||
<string name="discover_movies">Descubrir películas</string>
|
||||
|
|
|
|||
|
|
@ -535,8 +535,8 @@
|
|||
<string name="content_scale_fill">Täida</string>
|
||||
<string name="content_scale_fill_width">Täida laiuses</string>
|
||||
<string name="content_scale_fill_height">Täida kõrguses</string>
|
||||
<string name="display_preset_default">Wholphini vaikeseadistus</string>
|
||||
<string name="display_preset_compact">Wholphini kompaktne vaade</string>
|
||||
<string name="display_preset_default">Wolfskini vaikeseadistus</string>
|
||||
<string name="display_preset_compact">Wolfskini kompaktne vaade</string>
|
||||
<string name="display_preset_series_thumb">Sarja pisipildid</string>
|
||||
<string name="display_preset_episode_thumbnails">Osa pisipildid</string>
|
||||
<string name="volume_lowest">Vaikseim</string>
|
||||
|
|
@ -580,7 +580,7 @@
|
|||
<string name="continue_string">Jätka</string>
|
||||
<string name="separate_types">Eraldi tüübid</string>
|
||||
<string name="prefer_logos">Pealkirjade puhul eelista logode kuvamist</string>
|
||||
<string name="updated_toast">Wholphin on uuendatud versioonini %s</string>
|
||||
<string name="updated_toast">Wolfskin on uuendatud versioonini %s</string>
|
||||
<string name="remove_continue_watching">Eemalda „Jätka vaatamist“ valikust</string>
|
||||
<string name="remove_next_up">Eemalda sari valikust „Järgmisena esitamisel“</string>
|
||||
<string name="view_removed_next_up">Vaata sarja, mis sai eemaldatud valikust „Järgmisena esitamisel“</string>
|
||||
|
|
|
|||
|
|
@ -507,8 +507,8 @@
|
|||
<string name="content_scale_fill">Remplir</string>
|
||||
<string name="content_scale_fill_width">Largeur de remplissage</string>
|
||||
<string name="content_scale_fill_height">Hauteur de remplissage</string>
|
||||
<string name="display_preset_default">Wholphin Par défaut</string>
|
||||
<string name="display_preset_compact">Wholphin Compact</string>
|
||||
<string name="display_preset_default">Wolfskin Par défaut</string>
|
||||
<string name="display_preset_compact">Wolfskin Compact</string>
|
||||
<string name="display_preset_series_thumb">Images miniatures de la série</string>
|
||||
<string name="display_preset_episode_thumbnails">Images miniatures de l\'épisode</string>
|
||||
<string name="volume_lowest">Le plus bas</string>
|
||||
|
|
@ -599,7 +599,7 @@
|
|||
<string name="continue_string">Suivant</string>
|
||||
<string name="separate_types">Séparer par types</string>
|
||||
<string name="prefer_logos">Préférer les logos pour les titres</string>
|
||||
<string name="updated_toast">Wholphin a été mis à jour vers la version %s</string>
|
||||
<string name="updated_toast">Wolfskin a été mis à jour vers la version %s</string>
|
||||
<string name="view_more">Voir plus</string>
|
||||
<string name="discover_tv">Parcourir les séries</string>
|
||||
<string name="discover_movies">Parcourir les films</string>
|
||||
|
|
|
|||
|
|
@ -593,8 +593,8 @@
|
|||
<string name="content_scale_fill">Ispuni</string>
|
||||
<string name="content_scale_fill_width">Ispuni širinu</string>
|
||||
<string name="content_scale_fill_height">Ispuni visinu</string>
|
||||
<string name="display_preset_default">Wholphin zadani</string>
|
||||
<string name="display_preset_compact">Wholphin zbijeni</string>
|
||||
<string name="display_preset_default">Wolfskin zadani</string>
|
||||
<string name="display_preset_compact">Wolfskin zbijeni</string>
|
||||
<string name="display_preset_series_thumb">Slike sličica serije</string>
|
||||
<string name="display_preset_episode_thumbnails">Slike sličica epizoda</string>
|
||||
<string name="volume_lowest">Najniža</string>
|
||||
|
|
@ -653,7 +653,7 @@
|
|||
<string name="select_all">Odaberi sve</string>
|
||||
<string name="separate_types">Odvojene vrste</string>
|
||||
<string name="prefer_logos">Preferiraj prikaz logotipa za naslove</string>
|
||||
<string name="updated_toast">Wholphin ažuriran na %s</string>
|
||||
<string name="updated_toast">Wolfskin ažuriran na %s</string>
|
||||
<string name="remove_continue_watching">Ukloni iz \"Nastavi gledanje\"</string>
|
||||
<string name="remove_next_up">Ukloni seriju iz \"Slijedi\"</string>
|
||||
<string name="view_removed_next_up">Prikaži serije uklonjene iz \"Slijedi\"</string>
|
||||
|
|
|
|||
|
|
@ -465,8 +465,8 @@
|
|||
<string name="photos">Foto</string>
|
||||
<string name="include_types">Sertakan jenis</string>
|
||||
<string name="include_types_summary">Tampilkan gambar untuk jenis item</string>
|
||||
<string name="display_preset_default">Wholphin Bawaan</string>
|
||||
<string name="display_preset_compact">Wholphin Ringkas</string>
|
||||
<string name="display_preset_default">Wolfskin Bawaan</string>
|
||||
<string name="display_preset_compact">Wolfskin Ringkas</string>
|
||||
<string name="display_preset_series_thumb">Gambar Thumbnail Seri</string>
|
||||
<string name="display_preset_episode_thumbnails">Gambar Thumbnail Episode</string>
|
||||
<string name="volume_lowest">Terendah</string>
|
||||
|
|
@ -561,7 +561,7 @@
|
|||
<string name="separate_types">Pisahkan jenis</string>
|
||||
<string name="go_to_artist">Buka artis</string>
|
||||
<string name="go_to_album">Buka album</string>
|
||||
<string name="updated_toast">Wholphin diperbarui ke %s</string>
|
||||
<string name="updated_toast">Wolfskin diperbarui ke %s</string>
|
||||
<string name="remove_continue_watching">Hapus dari \"Lanjutkan menonton\"</string>
|
||||
<string name="remove_next_up">Hapus seri dari \"Berikutnya\"</string>
|
||||
<string name="view_removed_next_up">Lihat seri yang dihapus dari \"Berikutnya\"</string>
|
||||
|
|
|
|||
|
|
@ -489,8 +489,8 @@
|
|||
<string name="content_scale_fill">Riempi</string>
|
||||
<string name="content_scale_fill_width">Riempi larghezza</string>
|
||||
<string name="content_scale_fill_height">Riempi altezza</string>
|
||||
<string name="display_preset_default">Wholphin predefinito</string>
|
||||
<string name="display_preset_compact">Wholphin Compatto</string>
|
||||
<string name="display_preset_default">Wolfskin predefinito</string>
|
||||
<string name="display_preset_compact">Wolfskin Compatto</string>
|
||||
<string name="display_preset_series_thumb">Immagini miniatura serie</string>
|
||||
<string name="display_preset_episode_thumbnails">Immagini miniatura episodio</string>
|
||||
<string name="volume_lowest">Minimo</string>
|
||||
|
|
@ -599,7 +599,7 @@
|
|||
<string name="continue_string">Continua</string>
|
||||
<string name="separate_types">Tipi separati</string>
|
||||
<string name="prefer_logos">Preferisci mostrare i loghi per i titoli</string>
|
||||
<string name="updated_toast">Wholphin aggiornato a %s</string>
|
||||
<string name="updated_toast">Wolfskin aggiornato a %s</string>
|
||||
<string name="remove_continue_watching">Rimuovi da Continua a guardare</string>
|
||||
<string name="remove_next_up">Rimuovi serie da Prossimo</string>
|
||||
<string name="view_removed_next_up">Visualizza serie rimosse da Prossimo</string>
|
||||
|
|
|
|||
|
|
@ -517,8 +517,8 @@
|
|||
<string name="content_scale_fill">מתיחה לתצוגה</string>
|
||||
<string name="content_scale_fill_width">מתיחה לרוחב</string>
|
||||
<string name="content_scale_fill_height">מתיחה לגובה</string>
|
||||
<string name="display_preset_default">ברירת המחדל של Wholphin</string>
|
||||
<string name="display_preset_compact">Wholphin קומפקטי</string>
|
||||
<string name="display_preset_default">ברירת המחדל של Wolfskin</string>
|
||||
<string name="display_preset_compact">Wolfskin קומפקטי</string>
|
||||
<string name="display_preset_series_thumb">תמונות־ממוזערות של סדרה</string>
|
||||
<string name="display_preset_episode_thumbnails">תמונות־ממוזערות של פרק</string>
|
||||
<string name="bold_blue">כחול עז</string>
|
||||
|
|
@ -594,7 +594,7 @@
|
|||
<string name="select_all">בחר הכול</string>
|
||||
<string name="separate_types">סוגים נפרדים</string>
|
||||
<string name="prefer_logos">העדף להציג לוגו על פני כותרת</string>
|
||||
<string name="updated_toast">Wholphin עודכן ל־%s</string>
|
||||
<string name="updated_toast">Wolfskin עודכן ל־%s</string>
|
||||
<string name="remove_continue_watching">מחק מהמשך צפייה</string>
|
||||
<string name="remove_next_up">מחק סדרה מ־\"הבא בתור\"</string>
|
||||
<string name="view_removed_next_up">הצג סדרות שנמחקו מ־\"הבא בתור\"</string>
|
||||
|
|
|
|||
|
|
@ -483,8 +483,8 @@
|
|||
<string name="content_scale_fill">Fyll</string>
|
||||
<string name="content_scale_fill_width">Fyll bredde</string>
|
||||
<string name="content_scale_fill_height">Fyll høyde</string>
|
||||
<string name="display_preset_default">Wholphin Standard</string>
|
||||
<string name="display_preset_compact">Wholphin Kompakt</string>
|
||||
<string name="display_preset_default">Wolfskin Standard</string>
|
||||
<string name="display_preset_compact">Wolfskin Kompakt</string>
|
||||
<string name="display_preset_series_thumb">Serieminiatyrbilder</string>
|
||||
<string name="display_preset_episode_thumbnails">Episodeminiatyrbilder</string>
|
||||
<string name="volume_lowest">Lavest</string>
|
||||
|
|
@ -573,7 +573,7 @@
|
|||
<string name="select_all">Velg alle</string>
|
||||
<string name="separate_types">Seperate typer</string>
|
||||
<string name="prefer_logos">Foretrekk å vise logoer for titler</string>
|
||||
<string name="updated_toast">Wholphin oppdatert til %s</string>
|
||||
<string name="updated_toast">Wolfskin oppdatert til %s</string>
|
||||
<string name="remove_continue_watching">Fjern fra fortsett å se</string>
|
||||
<string name="remove_next_up">Fjern serier fra neste</string>
|
||||
<string name="view_removed_next_up">Vis serier fjernet fra neste</string>
|
||||
|
|
|
|||
|
|
@ -480,8 +480,8 @@
|
|||
<string name="content_scale_fill">Vullen</string>
|
||||
<string name="content_scale_fill_width">Vulbreedte</string>
|
||||
<string name="content_scale_fill_height">Vulhoogte</string>
|
||||
<string name="display_preset_default">Wholphin standaard</string>
|
||||
<string name="display_preset_compact">Wholphin compact</string>
|
||||
<string name="display_preset_default">Wolfskin standaard</string>
|
||||
<string name="display_preset_compact">Wolfskin compact</string>
|
||||
<string name="volume_low">Laag</string>
|
||||
<string name="volume_medium">Middel</string>
|
||||
<string name="volume_high">Hoog</string>
|
||||
|
|
@ -603,7 +603,7 @@
|
|||
<string name="confirm_enable_experimental_title">Experimentele instellingen inschakelen?</string>
|
||||
<string name="experimental_settings">Experimentele instellingen</string>
|
||||
<string name="search_and_download_subtitles"><![CDATA[Zoek & download ondertiteling]]></string>
|
||||
<string name="updated_toast">Wholphin is geüpdatet naar %s</string>
|
||||
<string name="updated_toast">Wolfskin is geüpdatet naar %s</string>
|
||||
<string name="last_played">Laatst afgespeeld</string>
|
||||
<string name="ass_subtitle_mode_exoplayer">Direct afspelen met de ingebouwde ExoPlayer</string>
|
||||
<string name="ass_subtitle_mode_transcode">Ondertitels inbranden/transcoderen op de server</string>
|
||||
|
|
|
|||
|
|
@ -478,8 +478,8 @@
|
|||
<string name="content_scale_fill">Fyll</string>
|
||||
<string name="content_scale_fill_width">Fyll breidde</string>
|
||||
<string name="content_scale_fill_height">Fyll høgde</string>
|
||||
<string name="display_preset_default">Wholphin-standard</string>
|
||||
<string name="display_preset_compact">Wholphin-kompakt</string>
|
||||
<string name="display_preset_default">Wolfskin-standard</string>
|
||||
<string name="display_preset_compact">Wolfskin-kompakt</string>
|
||||
<string name="display_preset_series_thumb">Miniatyrbilete for seriar</string>
|
||||
<string name="display_preset_episode_thumbnails">Miniatyrbilete for episodar</string>
|
||||
<string name="volume_lowest">Lågast</string>
|
||||
|
|
|
|||
|
|
@ -386,8 +386,8 @@
|
|||
<string name="content_scale_fill">Wypełnij</string>
|
||||
<string name="content_scale_fill_width">Pełna szerokość</string>
|
||||
<string name="content_scale_fill_height">Pełna wysokość</string>
|
||||
<string name="display_preset_default">Domyślny Wholphin</string>
|
||||
<string name="display_preset_compact">Kompaktowy Wholphin</string>
|
||||
<string name="display_preset_default">Domyślny Wolfskin</string>
|
||||
<string name="display_preset_compact">Kompaktowy Wolfskin</string>
|
||||
<string name="display_preset_series_thumb">Miniatury seriali</string>
|
||||
<string name="display_preset_episode_thumbnails">Zdjęcie odcinków</string>
|
||||
<string name="volume_lowest">Najniższa</string>
|
||||
|
|
@ -576,7 +576,7 @@
|
|||
<string name="select_all">Wybierz wszystkie</string>
|
||||
<string name="separate_types">Oddzielne typy</string>
|
||||
<string name="prefer_logos">Wyświetlanie logo zamiast tytułu</string>
|
||||
<string name="updated_toast">Wholphin zaktualizowany do %s</string>
|
||||
<string name="updated_toast">Wolfskin zaktualizowany do %s</string>
|
||||
<string name="remove_continue_watching">Usuń z Kontynuuj oglądanie</string>
|
||||
<string name="remove_next_up">Usuń serial z Następnie</string>
|
||||
<string name="view_removed_next_up">Zobacz serię usuniętą z Następnie</string>
|
||||
|
|
|
|||
|
|
@ -498,8 +498,8 @@
|
|||
<string name="content_scale_fill">Preencher</string>
|
||||
<string name="content_scale_fill_width">Preencher largura</string>
|
||||
<string name="content_scale_fill_height">Preencher altura</string>
|
||||
<string name="display_preset_default">Padrão do Wholphin</string>
|
||||
<string name="display_preset_compact">Wholphin Compacto</string>
|
||||
<string name="display_preset_default">Padrão do Wolfskin</string>
|
||||
<string name="display_preset_compact">Wolfskin Compacto</string>
|
||||
<string name="display_preset_series_thumb">Prévia das imagens das séries</string>
|
||||
<string name="display_preset_episode_thumbnails">Prévias das imagens do episódio</string>
|
||||
<string name="volume_lowest">Mais baixo</string>
|
||||
|
|
@ -605,7 +605,7 @@
|
|||
<string name="select_all">Selecionar todos</string>
|
||||
<string name="separate_types">Tipos separados</string>
|
||||
<string name="prefer_logos">Preferir a exibição de logos para títulos</string>
|
||||
<string name="updated_toast">Wholphin atualizado para %s</string>
|
||||
<string name="updated_toast">Wolfskin atualizado para %s</string>
|
||||
<string name="remove_continue_watching">Remover de continuar assistindo</string>
|
||||
<string name="remove_next_up">Remover série de a seguir</string>
|
||||
<string name="view_removed_next_up">Ver séries removidas de a seguir</string>
|
||||
|
|
|
|||
|
|
@ -507,8 +507,8 @@
|
|||
<string name="content_scale_fill">Preencher</string>
|
||||
<string name="content_scale_fill_width">Preencher largura</string>
|
||||
<string name="content_scale_fill_height">Preencher altura</string>
|
||||
<string name="display_preset_default">Padrão do Wholphin</string>
|
||||
<string name="display_preset_compact">Wholphin Compacto</string>
|
||||
<string name="display_preset_default">Padrão do Wolfskin</string>
|
||||
<string name="display_preset_compact">Wolfskin Compacto</string>
|
||||
<string name="display_preset_series_thumb">Imagens em miniatura da série</string>
|
||||
<string name="display_preset_episode_thumbnails">Imagens em miniatura do episódio</string>
|
||||
<string name="volume_lowest">Mínimo</string>
|
||||
|
|
@ -599,7 +599,7 @@
|
|||
<string name="continue_string">Continuar</string>
|
||||
<string name="separate_types">Separar por tipos</string>
|
||||
<string name="prefer_logos">Prefiro mostrar logótipos nos títulos</string>
|
||||
<string name="updated_toast">Wholphin foi atualizado para %s</string>
|
||||
<string name="updated_toast">Wolfskin foi atualizado para %s</string>
|
||||
<string name="remove_continue_watching">Remover de «Continuar a ver»</string>
|
||||
<string name="remove_next_up">Remover série do «Continuar a ver»</string>
|
||||
<string name="view_removed_next_up">Ver séries removidas do «Continuar a ver»</string>
|
||||
|
|
|
|||
|
|
@ -605,8 +605,8 @@
|
|||
<string name="content_scale_fill">Растянуть</string>
|
||||
<string name="content_scale_fill_width">По ширине</string>
|
||||
<string name="content_scale_fill_height">По высоте</string>
|
||||
<string name="display_preset_default">Wholphin по умолчанию</string>
|
||||
<string name="display_preset_compact">Wholphin компактный</string>
|
||||
<string name="display_preset_default">Wolfskin по умолчанию</string>
|
||||
<string name="display_preset_compact">Wolfskin компактный</string>
|
||||
<string name="display_preset_series_thumb">Миниатюры сериалов</string>
|
||||
<string name="display_preset_episode_thumbnails">Миниатюры эпизодов</string>
|
||||
<string name="volume_lowest">Самая низкая</string>
|
||||
|
|
@ -683,7 +683,7 @@
|
|||
<string name="continue_string">Продолжить</string>
|
||||
<string name="separate_types">Разделять по типам</string>
|
||||
<string name="prefer_logos">Показывать логотипы вместо текстовых названий</string>
|
||||
<string name="updated_toast">Wholphin обновлён до версии %s</string>
|
||||
<string name="updated_toast">Wolfskin обновлён до версии %s</string>
|
||||
<string name="remove_continue_watching">Убрать из «Продолжить просмотр»</string>
|
||||
<string name="remove_next_up">Убрать сериал из «Далее»</string>
|
||||
<string name="view_removed_next_up">Показать сериалы, убранные из «Далее»</string>
|
||||
|
|
|
|||
|
|
@ -526,8 +526,8 @@
|
|||
<string name="content_scale_fill">Vyplniť</string>
|
||||
<string name="content_scale_fill_width">Vyplniť na šírku</string>
|
||||
<string name="content_scale_fill_height">Vyplniť na výšku</string>
|
||||
<string name="display_preset_default">Wholphin predvolené</string>
|
||||
<string name="display_preset_compact">Wholphin kompaktné</string>
|
||||
<string name="display_preset_default">Wolfskin predvolené</string>
|
||||
<string name="display_preset_compact">Wolfskin kompaktné</string>
|
||||
<string name="display_preset_series_thumb">Náhľadové obrázky seriálov</string>
|
||||
<string name="display_preset_episode_thumbnails">Náhľadové obrázky epizód</string>
|
||||
<string name="image_type_thumb">Náhľad</string>
|
||||
|
|
@ -662,7 +662,7 @@
|
|||
<string name="continue_string">Pokračovať</string>
|
||||
<string name="separate_types">Oddeliť typy</string>
|
||||
<string name="prefer_logos">Uprednostniť zobrazovanie log namiesto názvov</string>
|
||||
<string name="updated_toast">Wholphin bol aktualizovaný na verziu %s</string>
|
||||
<string name="updated_toast">Wolfskin bol aktualizovaný na verziu %s</string>
|
||||
<string name="remove_continue_watching">Odstrániť z Pokračovať v pozeraní</string>
|
||||
<string name="remove_next_up">Odstrániť seriál zo sekcie Nasleduje</string>
|
||||
<string name="view_removed_next_up">Zobraziť seriály odstránené zo sekcie Nasleduje</string>
|
||||
|
|
|
|||
|
|
@ -600,7 +600,7 @@
|
|||
<string name="select_all">Izberi vse</string>
|
||||
<string name="separate_types">Ločene vrste</string>
|
||||
<string name="prefer_logos">Prikazuj logotipe za naslove</string>
|
||||
<string name="updated_toast">Wholphin posodobljen na %s</string>
|
||||
<string name="updated_toast">Wolfskin posodobljen na %s</string>
|
||||
<string name="remove_continue_watching">Odstrani iz nadaljevanja gledanja</string>
|
||||
<string name="remove_next_up">Odstrani serijo iz nadaljevanja gledanja</string>
|
||||
<string name="view_removed_next_up">Ogled serije, odstranjene iz naslednjega gledanja</string>
|
||||
|
|
|
|||
|
|
@ -424,8 +424,8 @@
|
|||
<string name="customize_home_summary">Välj rader och bilder på startsidan</string>
|
||||
<string name="delete_item">Är du säker på att du vill radera detta objekt?</string>
|
||||
<string name="discover">Upptäck</string>
|
||||
<string name="display_preset_compact">Wholphin Kompakt</string>
|
||||
<string name="display_preset_default">Wholphin Standard</string>
|
||||
<string name="display_preset_compact">Wolfskin Kompakt</string>
|
||||
<string name="display_preset_default">Wolfskin Standard</string>
|
||||
<string name="display_presets">Visningsförinställningar</string>
|
||||
<string name="display_presets_description">Inbyggda förinställningar för att snabbt styla alla rader</string>
|
||||
<string name="display_preset_episode_thumbnails">Avsnittsminiatyrer</string>
|
||||
|
|
@ -595,7 +595,7 @@
|
|||
<string name="include_types_summary">Vilka typer av objekt ska bilder visas för</string>
|
||||
<string name="song_has_lyrics">Låten har text</string>
|
||||
<string name="show_album_cover">Visa omslag till album</string>
|
||||
<string name="updated_toast">Wholphin har uppdaterats till %s</string>
|
||||
<string name="updated_toast">Wolfskin har uppdaterats till %s</string>
|
||||
<string name="last_played">Senast visat</string>
|
||||
<string name="root_folder">Huvudkatalog</string>
|
||||
<string name="popularity">Populäritet</string>
|
||||
|
|
|
|||
|
|
@ -465,8 +465,8 @@
|
|||
<string name="content_scale_fill">ยืดเต็มจอ</string>
|
||||
<string name="content_scale_fill_width">ยืดตามความกว้าง</string>
|
||||
<string name="content_scale_fill_height">ยืดตามความสูง</string>
|
||||
<string name="display_preset_default">Wholphin ค่าเริ่มต้น</string>
|
||||
<string name="display_preset_compact">Wholphin คอมแพค</string>
|
||||
<string name="display_preset_default">Wolfskin ค่าเริ่มต้น</string>
|
||||
<string name="display_preset_compact">Wolfskin คอมแพค</string>
|
||||
<string name="display_preset_series_thumb">ภาพขนาดย่อของซีรี่ส์</string>
|
||||
<string name="display_preset_episode_thumbnails">ภาพขนาดย่อของตอน</string>
|
||||
<string name="volume_lowest">เบาสุด</string>
|
||||
|
|
|
|||
|
|
@ -480,8 +480,8 @@
|
|||
<string name="content_scale_fill">Doldur</string>
|
||||
<string name="content_scale_fill_width">Genişliği Doldur</string>
|
||||
<string name="content_scale_fill_height">Yüksekliği Doldur</string>
|
||||
<string name="display_preset_default">Wholphin Varsayılan</string>
|
||||
<string name="display_preset_compact">Wholphin Kompakt</string>
|
||||
<string name="display_preset_default">Wolfskin Varsayılan</string>
|
||||
<string name="display_preset_compact">Wolfskin Kompakt</string>
|
||||
<string name="display_preset_series_thumb">Dizi Küçük Resimleri</string>
|
||||
<string name="display_preset_episode_thumbnails">Bölüm Küçük Resimleri</string>
|
||||
<string name="volume_lowest">En Düşük</string>
|
||||
|
|
@ -589,7 +589,7 @@
|
|||
<string name="continue_string">Devam et</string>
|
||||
<string name="separate_types">Farklı türler</string>
|
||||
<string name="prefer_logos">Başlık yerine logo göster</string>
|
||||
<string name="updated_toast">Wholphin %s sürümüne güncellendi</string>
|
||||
<string name="updated_toast">Wolfskin %s sürümüne güncellendi</string>
|
||||
<string name="view_more">Daha fazla göster</string>
|
||||
<string name="discover_tv">Dizileri Keşfet</string>
|
||||
<string name="discover_movies">Filmleri Keşfet</string>
|
||||
|
|
|
|||
|
|
@ -567,7 +567,7 @@
|
|||
<string name="content_scale_fill">Заповнити</string>
|
||||
<string name="content_scale_fill_width">Заповнити по ширині</string>
|
||||
<string name="content_scale_fill_height">Заповнити по висоті</string>
|
||||
<string name="display_preset_default">Wholphin за замовчуванням</string>
|
||||
<string name="display_preset_default">Wolfskin за замовчуванням</string>
|
||||
<string name="display_preset_series_thumb">Мініатюри серіалів</string>
|
||||
<string name="display_preset_episode_thumbnails">Мініатюри серій</string>
|
||||
<string name="volume_lowest">Найнижча</string>
|
||||
|
|
@ -655,7 +655,7 @@
|
|||
<string name="select_all">Вибрати все</string>
|
||||
<string name="separate_types">Розділяти типи</string>
|
||||
<string name="prefer_logos">Надавати перевагу логотипам для назв</string>
|
||||
<string name="updated_toast">Wholphin оновлено до %s</string>
|
||||
<string name="updated_toast">Wolfskin оновлено до %s</string>
|
||||
<string name="remove_continue_watching">Видалити з «Продовжити перегляд»</string>
|
||||
<string name="remove_next_up">Видалити серіал з «Далі»</string>
|
||||
<string name="view_removed_next_up">Переглянути серіали, видалені з «Далі»</string>
|
||||
|
|
@ -686,5 +686,5 @@
|
|||
<string name="tomatoes">Томати</string>
|
||||
<string name="sort">Сортування</string>
|
||||
<string name="split_into_separate_rows">Розділити на окремі рядки</string>
|
||||
<string name="display_preset_compact">Wholphin компактний</string>
|
||||
<string name="display_preset_compact">Wolfskin компактний</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -453,8 +453,8 @@
|
|||
<string name="content_scale_fill">填充</string>
|
||||
<string name="content_scale_fill_width">填充宽度</string>
|
||||
<string name="content_scale_fill_height">填充高度</string>
|
||||
<string name="display_preset_default">Wholphin 默认</string>
|
||||
<string name="display_preset_compact">Wholphin 紧凑</string>
|
||||
<string name="display_preset_default">Wolfskin 默认</string>
|
||||
<string name="display_preset_compact">Wolfskin 紧凑</string>
|
||||
<string name="display_preset_series_thumb">剧集缩略图</string>
|
||||
<string name="display_preset_episode_thumbnails">分集缩略图</string>
|
||||
<string name="purple">紫色</string>
|
||||
|
|
@ -561,7 +561,7 @@
|
|||
<string name="continue_string">继续</string>
|
||||
<string name="separate_types">分离类型</string>
|
||||
<string name="prefer_logos">优先显示标题图标</string>
|
||||
<string name="updated_toast">Wholphin 已更新至 %s</string>
|
||||
<string name="updated_toast">Wolfskin 已更新至 %s</string>
|
||||
<string name="view_more">查看更多</string>
|
||||
<string name="discover_tv">发现电视节目</string>
|
||||
<string name="discover_movies">发现电影</string>
|
||||
|
|
|
|||
|
|
@ -482,8 +482,8 @@
|
|||
<string name="prefer_mpv">優先使用 MPV</string>
|
||||
<string name="player_backend_options_subtitles_prefer_mpv">僅 HDR 使用 ExoPlayer 播放</string>
|
||||
<string name="favorite_items_title">我的最愛的 %s</string>
|
||||
<string name="display_preset_default">Wholphin 預設樣式</string>
|
||||
<string name="display_preset_compact">Wholphin 緊湊樣式</string>
|
||||
<string name="display_preset_default">Wolfskin 預設樣式</string>
|
||||
<string name="display_preset_compact">Wolfskin 緊湊樣式</string>
|
||||
<string name="display_preset_series_thumb">劇集縮圖樣式</string>
|
||||
<string name="display_preset_episode_thumbnails">單集縮圖樣式</string>
|
||||
<string name="aspect_ratios_poster">海報 (2:3)</string>
|
||||
|
|
@ -561,7 +561,7 @@
|
|||
<string name="instant_mix">即時混播</string>
|
||||
<string name="separate_types">依類型分開顯示</string>
|
||||
<string name="prefer_logos">優先顯示圖像標題</string>
|
||||
<string name="updated_toast">Wholphin 已更新至 %s</string>
|
||||
<string name="updated_toast">Wolfskin 已更新至 %s</string>
|
||||
<string name="view_more">查看更多</string>
|
||||
<string name="discover_tv">探索電視劇</string>
|
||||
<string name="discover_movies">探索電影</string>
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ic_banner_background">#000B25</color>
|
||||
</resources>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ic_launcher_background">#101010</color>
|
||||
<color name="ic_launcher_background">#07070a</color>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<resources>
|
||||
<string name="app_name" translatable="false">Wholphin</string>
|
||||
<string name="app_name_long" translatable="false">Wholphin</string>
|
||||
<string name="app_name" translatable="false">Wolfskin</string>
|
||||
<string name="app_name_long" translatable="false">Wolfskin</string>
|
||||
|
||||
<string name="about">About</string>
|
||||
<string name="active_recordings">Active Recordings</string>
|
||||
|
|
@ -587,8 +587,8 @@
|
|||
<string name="content_scale_fill">Fill</string>
|
||||
<string name="content_scale_fill_width">Fill width</string>
|
||||
<string name="content_scale_fill_height">Fill height</string>
|
||||
<string name="display_preset_default">Wholphin Default</string>
|
||||
<string name="display_preset_compact">Wholphin Compact</string>
|
||||
<string name="display_preset_default">Wolfskin Default</string>
|
||||
<string name="display_preset_compact">Wolfskin Compact</string>
|
||||
<string name="display_preset_series_thumb">Series Thumb images</string>
|
||||
<string name="display_preset_episode_thumbnails">Episode Thumbnail images</string>
|
||||
|
||||
|
|
@ -620,6 +620,7 @@
|
|||
<item>@string/black</item>
|
||||
<item>@string/red</item>
|
||||
<item>@string/brown</item>
|
||||
<item>@string/wolfskin_theme</item>
|
||||
</string-array>
|
||||
|
||||
<string name="skip_ignore">Ignore</string>
|
||||
|
|
@ -808,7 +809,7 @@
|
|||
<string name="select_all">Select all</string>
|
||||
<string name="separate_types">Separate types</string>
|
||||
<string name="prefer_logos">Prefer showing logos for titles</string>
|
||||
<string name="updated_toast">Wholphin updated to %s</string>
|
||||
<string name="updated_toast">Wolfskin updated to %s</string>
|
||||
<string name="remove_continue_watching">Remove from continue watching</string>
|
||||
<string name="remove_next_up">Remove series from next up</string>
|
||||
<string name="view_removed_next_up">View series removed from next up</string>
|
||||
|
|
|
|||
6
app/src/main/res/values/wolfskin.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="wolfskin_theme" translatable="false">Wolfskin</string>
|
||||
<string name="wolfskin_upstream_credit" translatable="false">based on Wholphin by damontecres</string>
|
||||
<string name="wolfskin_upstream_url" translatable="false">https://github.com/damontecres/Wholphin</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
package com.github.damontecres.wholphin.ui
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.luminance
|
||||
import com.github.damontecres.wholphin.ui.theme.colors.WolfskinThemeColors
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
|
||||
/** Normal and focused TV text must remain readable on the fork's dark palette. */
|
||||
class WolfskinThemeColorsTest {
|
||||
@Test
|
||||
fun darkPaletteHasReadableNormalAndFocusedText() {
|
||||
val television = WolfskinThemeColors.darkScheme
|
||||
val material = WolfskinThemeColors.darkSchemeMaterial
|
||||
val textAndBackgrounds =
|
||||
listOf(
|
||||
television.onBackground to television.background,
|
||||
television.onSurface to television.surface,
|
||||
television.onSurfaceVariant to television.surfaceVariant,
|
||||
television.onPrimary to television.primary,
|
||||
television.onPrimaryContainer to television.primaryContainer,
|
||||
television.onSecondary to television.secondary,
|
||||
television.onSecondaryContainer to television.secondaryContainer,
|
||||
television.onTertiary to television.tertiary,
|
||||
television.onTertiaryContainer to television.tertiaryContainer,
|
||||
material.onBackground to material.background,
|
||||
material.onSurface to material.surface,
|
||||
material.onPrimary to material.primary,
|
||||
material.onPrimaryContainer to material.primaryContainer,
|
||||
)
|
||||
textAndBackgrounds.forEach { (text, background) ->
|
||||
assertReadable(text, background)
|
||||
}
|
||||
}
|
||||
|
||||
private fun assertReadable(text: Color, background: Color) {
|
||||
val textLuminance = text.luminance()
|
||||
val backgroundLuminance = background.luminance()
|
||||
val contrast =
|
||||
(maxOf(textLuminance, backgroundLuminance) + .05f) /
|
||||
(minOf(textLuminance, backgroundLuminance) + .05f)
|
||||
assertTrue("Text contrast $contrast is below 4.5:1", contrast >= 4.5f)
|
||||
}
|
||||
}
|
||||