Merge branch 'main' into Skip-credit
This commit is contained in:
commit
d4e6351a2d
10 changed files with 108 additions and 72 deletions
|
@ -10,9 +10,11 @@ import coil.decode.SvgDecoder
|
|||
import coil.disk.DiskCache
|
||||
import coil.request.CachePolicy
|
||||
import com.google.android.material.color.DynamicColors
|
||||
import com.google.android.material.color.DynamicColorsOptions
|
||||
import dagger.hilt.android.HiltAndroidApp
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
|
||||
@HiltAndroidApp
|
||||
class BaseApplication : Application(), Configuration.Provider, ImageLoaderFactory {
|
||||
|
@ -40,7 +42,12 @@ class BaseApplication : Application(), Configuration.Provider, ImageLoaderFactor
|
|||
"dark" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
|
||||
}
|
||||
|
||||
if (appPreferences.dynamicColors) DynamicColors.applyToActivitiesIfAvailable(this)
|
||||
if (appPreferences.dynamicColors) {
|
||||
val dynamicColorsOptions = DynamicColorsOptions.Builder()
|
||||
.setThemeOverlay(CoreR.style.ThemeOverlay_Findroid_DynamicColors)
|
||||
.build()
|
||||
DynamicColors.applyToActivitiesIfAvailable(this, dynamicColorsOptions)
|
||||
}
|
||||
}
|
||||
|
||||
override fun newImageLoader(): ImageLoader {
|
||||
|
|
|
@ -149,7 +149,7 @@ class MainActivity : AppCompatActivity() {
|
|||
|
||||
private fun applyTheme() {
|
||||
if (appPreferences.amoledTheme) {
|
||||
setTheme(CoreR.style.Theme_FindroidAMOLED)
|
||||
setTheme(CoreR.style.ThemeOverlay_Findroid_Amoled)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
import com.android.build.api.dsl.CommonExtension
|
||||
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
plugins {
|
||||
alias(libs.plugins.android.application) apply false
|
||||
alias(libs.plugins.android.library) apply false
|
||||
|
@ -19,17 +16,6 @@ allprojects {
|
|||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
val configureAndroid = { _: AppliedPlugin ->
|
||||
extensions.configure<CommonExtension<*, *, *, *, *>>("android") {
|
||||
lint {
|
||||
informational += "MissingTranslation"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pluginManager.withPlugin("com.android.library", configureAndroid)
|
||||
pluginManager.withPlugin("com.android.application", configureAndroid)
|
||||
}
|
||||
|
||||
tasks.create<Delete>("clean") {
|
||||
|
|
|
@ -17,9 +17,12 @@
|
|||
<item name="colorSurface">@color/neutral_900</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.FindroidAMOLED" parent="">
|
||||
<style name="ThemeOverlay.Findroid.Amoled" parent="">
|
||||
<!-- Surface -->
|
||||
<item name="android:colorBackground">@android:color/black</item>
|
||||
<item name="colorSurface">@android:color/black</item>
|
||||
<item name="colorSurfaceContainer">?attr/colorSurface</item>
|
||||
<item name="colorSurfaceContainerLow">?attr/colorSurface</item>
|
||||
<item name="colorSurfaceContainerHigh">?attr/colorSurface</item>
|
||||
</style>
|
||||
</resources>
|
|
@ -170,4 +170,25 @@
|
|||
<string name="downloaded_indicator">Gedownloade indicator</string>
|
||||
<string name="pref_player_trick_play">Trick Play</string>
|
||||
<string name="player_gestures_seek">Zoek gebaar</string>
|
||||
<string name="no_users_found">Geen gebruikers gevonden</string>
|
||||
<string name="picture_in_picture">Scherm-in-scherm</string>
|
||||
<string name="picture_in_picture_gesture_summary">Gebruik de startknop of een gebaar om beeld-in-beeld te openen terwijl de video wordt afgespeeld</string>
|
||||
<string name="picture_in_picture_gesture">Scherm-in-scherm huisgebaar</string>
|
||||
<string name="player_gestures_chapter_skip">Hoofdstuk gebaar</string>
|
||||
<string name="no_servers_found">Geen servers gevonden</string>
|
||||
<string name="player_gestures_chapter_skip_summary">Druk lang op de linker-/rechterkant om hoofdstukken over te slaan (overschrijft 2x snelheidsgebaar)</string>
|
||||
<string name="watch_trailer">Bekijk trailer</string>
|
||||
<string name="mark_as_played">Markeer als afgespeeld</string>
|
||||
<string name="unmark_as_played">Markering als afgespeeld ongedaan maken</string>
|
||||
<string name="remove_server_address">Verwijder server adres</string>
|
||||
<string name="remove_server_address_dialog_text">Weet u zeker dat u het server adres %1$s wilt verwijderen</string>
|
||||
<string name="player_start_maximized">Gemaximaliseerd starten</string>
|
||||
<string name="player_start_maximized_summary">Open video standaard in de gemaximaliseerde modus</string>
|
||||
<string name="pref_player_chapter_markers">Hoofdstukmarkeringen</string>
|
||||
<string name="pref_player_chapter_markers_summary">Geef hoofdstukmarkeringen weer op de tijdbalk</string>
|
||||
<string name="select_user">Selecteer gebruiker</string>
|
||||
<string name="live_tv">Live TV</string>
|
||||
<string name="play">Afspelen</string>
|
||||
<string name="add_to_favorites">Aan favorieten toevoegen</string>
|
||||
<string name="remove_from_favorites">Van favorieten verwijderen</string>
|
||||
</resources>
|
|
@ -34,7 +34,7 @@
|
|||
<string name="episode_watched_indicator">Indicador de episódio assistido</string>
|
||||
<string name="episode_name">%1$d. %2$s</string>
|
||||
<string name="episode_name_extended">T%1$d:E%2$d - %3$s</string>
|
||||
<string name="next_up">Próximo</string>
|
||||
<string name="next_up">A seguir</string>
|
||||
<string name="continue_watching">Continuar assistindo</string>
|
||||
<string name="series_poster">Poster da série</string>
|
||||
<string name="no_favorites">Você não tem favoritos</string>
|
||||
|
@ -60,13 +60,13 @@
|
|||
<string name="unknown_error">Erro desconhecido</string>
|
||||
<string name="mpv_player">Reprodutor mpv</string>
|
||||
<string name="download_mobile_data">Download usando dados móveis</string>
|
||||
<string name="download_button_description">Download</string>
|
||||
<string name="download_button_description">Baixar</string>
|
||||
<string name="person_detail_title">Detalhes</string>
|
||||
<string name="movies_label">Filmes</string>
|
||||
<string name="shows_label">Series de TV</string>
|
||||
<string name="hide">Esconder</string>
|
||||
<string name="sort_by">Ordenar por</string>
|
||||
<string name="sort_order">Ordem</string>
|
||||
<string name="sort_order">Ordem de classificação</string>
|
||||
<string name="close">Fechar</string>
|
||||
<string name="share">Compartilhar</string>
|
||||
<string name="image_description_poster">%1$s pôster</string>
|
||||
|
@ -80,7 +80,7 @@
|
|||
<string name="check_button_description">Marcar como assistido ou não assistido</string>
|
||||
<string name="no_downloads">Você não tem nada baixado</string>
|
||||
<string name="settings_category_servers">Servidores</string>
|
||||
<string name="settings_category_download">Downloads</string>
|
||||
<string name="settings_category_download">Transferências</string>
|
||||
<string name="settings_use_cache_summary">Armazena imagens no disco para acelerar o tempo de carregamento. Surte efeito após reiniciar o aplicativo.</string>
|
||||
<string name="search_hint">Busca filmes, shows, episódios…</string>
|
||||
<string name="mpv_player_summary">Usa o reprodutor experimental mpv para reproduzir vídeos. mpv tem suporte a mais codecs de vídeo, áudio e legenda.</string>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<string name="app_description">Aplicação Jellyfin nativa de terceiros</string>
|
||||
<string name="latest_library">%1$s mais recentes</string>
|
||||
<string name="jellyfin_banner">Banner Jellyfin</string>
|
||||
<string name="download_roaming">Download quando estiver em roaming</string>
|
||||
<string name="download_roaming">Baixar quando estiver em roaming</string>
|
||||
<string name="settings_cache_size_message">O aplicativo usará essa quantidade em MB do seu espaço em disco para armazenar imagens do servidor Jellyfin. Valores maiores podem ser benéficos em redes mais lentas.</string>
|
||||
<string name="episodes_label">Episódios</string>
|
||||
<string name="player_gestures">Gestos do reprodutor</string>
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
<!-- Surface -->
|
||||
<item name="android:colorBackground">@color/neutral_50</item>
|
||||
<item name="colorSurface">@color/neutral_100</item>
|
||||
<item name="colorSurfaceContainer">?attr/colorSurface</item>
|
||||
<item name="colorSurfaceContainerLow">?attr/colorSurface</item>
|
||||
<item name="colorSurfaceContainerHigh">?attr/colorSurface</item>
|
||||
|
||||
<!-- Error -->
|
||||
<item name="colorError">@color/red</item>
|
||||
|
@ -53,6 +56,10 @@
|
|||
<item name="preferenceTheme">@style/ThemeOverlay.Findroid.Preference</item>
|
||||
</style>
|
||||
|
||||
<style name="ThemeOverlay.Findroid.DynamicColors" parent="ThemeOverlay.Material3.DynamicColors.DayNight">
|
||||
<item name="android:navigationBarColor">?attr/colorSurfaceContainer</item>
|
||||
</style>
|
||||
|
||||
<string-array name="themes">
|
||||
<item>@string/theme_system</item>
|
||||
<item>@string/theme_light</item>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[versions]
|
||||
aboutlibraries = "10.10.0"
|
||||
android-plugin = "8.2.2"
|
||||
aboutlibraries = "11.1.0"
|
||||
android-plugin = "8.3.0"
|
||||
androidx-activity = "1.8.2"
|
||||
androidx-appcompat = "1.6.1"
|
||||
androidx-compose-bom = "2024.02.01"
|
||||
|
@ -19,7 +19,7 @@ androidx-swiperefreshlayout = "1.1.0"
|
|||
androidx-tv = "1.0.0-alpha10"
|
||||
androidx-work = "2.9.0"
|
||||
coil = "2.6.0"
|
||||
hilt = "2.50"
|
||||
hilt = "2.51"
|
||||
compose-destinations = "1.10.1"
|
||||
jellyfin = "1.4.6"
|
||||
kotlin = "1.9.22"
|
||||
|
@ -31,53 +31,53 @@ material = "1.11.0"
|
|||
timber = "5.0.1"
|
||||
|
||||
[libraries]
|
||||
aboutlibraries-core = { module = "com.mikepenz:aboutlibraries-core", version.ref = "aboutlibraries" }
|
||||
aboutlibraries = { module = "com.mikepenz:aboutlibraries", version.ref = "aboutlibraries" }
|
||||
androidx-activity = { module = "androidx.activity:activity", version.ref = "androidx-activity" }
|
||||
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" }
|
||||
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
|
||||
aboutlibraries-core = { group = "com.mikepenz", name = "aboutlibraries-core", version.ref = "aboutlibraries" }
|
||||
aboutlibraries = { group = "com.mikepenz", name = "aboutlibraries", version.ref = "aboutlibraries" }
|
||||
androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "androidx-activity" }
|
||||
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidx-activity" }
|
||||
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
|
||||
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidx-compose-bom" }
|
||||
androidx-compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "androidx-compose-material3" }
|
||||
androidx-compose-ui = { module = "androidx.compose.ui:ui" }
|
||||
androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
|
||||
androidx-compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
|
||||
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
|
||||
androidx-core = { module = "androidx.core:core", version.ref = "androidx-core" }
|
||||
androidx-hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "androidx-hilt" }
|
||||
androidx-hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "androidx-hilt" }
|
||||
androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "androidx-hilt" }
|
||||
androidx-lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime", version.ref = "androidx-lifecycle" }
|
||||
androidx-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
|
||||
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
|
||||
androidx-media3-common = { module = "androidx.media3:media3-common", version.ref = "androidx-media3" }
|
||||
androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "androidx-media3" }
|
||||
androidx-media3-exoplayer-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "androidx-media3" }
|
||||
androidx-media3-ui = { module = "androidx.media3:media3-ui", version.ref = "androidx-media3" }
|
||||
androidx-media3-session = { module = "androidx.media3:media3-session", version.ref = "androidx-media3" }
|
||||
androidx-navigation-fragment = { module = "androidx.navigation:navigation-fragment", version.ref = "androidx-navigation" }
|
||||
androidx-navigation-ui = { module = "androidx.navigation:navigation-ui", version.ref = "androidx-navigation" }
|
||||
androidx-paging = { module = "androidx.paging:paging-runtime", version.ref = "androidx-paging" }
|
||||
androidx-paging-compose = { module = "androidx.paging:paging-compose", version.ref = "androidx-paging" }
|
||||
androidx-preference = { module = "androidx.preference:preference", version.ref = "androidx-preference" }
|
||||
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "androidx-recyclerview" }
|
||||
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "androidx-room" }
|
||||
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidx-room" }
|
||||
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "androidx-swiperefreshlayout" }
|
||||
androidx-work = { module = "androidx.work:work-runtime", version.ref = "androidx-work" }
|
||||
androidx-tv-foundation = { module = "androidx.tv:tv-foundation", version.ref = "androidx-tv" }
|
||||
androidx-tv-material = { module = "androidx.tv:tv-material", version.ref = "androidx-tv" }
|
||||
coil = { module = "io.coil-kt:coil", version.ref = "coil" }
|
||||
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
|
||||
coil-svg = { module = "io.coil-kt:coil-svg", version.ref = "coil" }
|
||||
compose-destinations-core = { module = "io.github.raamcosta.compose-destinations:core", version.ref = "compose-destinations" }
|
||||
compose-destinations-ksp = { module = "io.github.raamcosta.compose-destinations:ksp", version.ref = "compose-destinations" }
|
||||
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
|
||||
hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hilt" }
|
||||
jellyfin-core = { module = "org.jellyfin.sdk:jellyfin-core", version.ref = "jellyfin" }
|
||||
libmpv = { module = "dev.jdtech.mpv:libmpv", version.ref = "libmpv" }
|
||||
material = { module = "com.google.android.material:material", version.ref = "material" }
|
||||
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" }
|
||||
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
|
||||
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "androidx-compose-material3" }
|
||||
androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" }
|
||||
androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
|
||||
androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
|
||||
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" }
|
||||
androidx-core = { group = "androidx.core", name = "core", version.ref = "androidx-core" }
|
||||
androidx-hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "androidx-hilt" }
|
||||
androidx-hilt-work = { group = "androidx.hilt", name = "hilt-work", version.ref = "androidx-hilt" }
|
||||
androidx-hilt-compiler = { group = "androidx.hilt", name = "hilt-compiler", version.ref = "androidx-hilt" }
|
||||
androidx-lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime", version.ref = "androidx-lifecycle" }
|
||||
androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
|
||||
androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
|
||||
androidx-media3-common = { group = "androidx.media3", name = "media3-common", version.ref = "androidx-media3" }
|
||||
androidx-media3-exoplayer = { group = "androidx.media3", name = "media3-exoplayer", version.ref = "androidx-media3" }
|
||||
androidx-media3-exoplayer-hls = { group = "androidx.media3", name = "media3-exoplayer-hls", version.ref = "androidx-media3" }
|
||||
androidx-media3-ui = { group = "androidx.media3", name = "media3-ui", version.ref = "androidx-media3" }
|
||||
androidx-media3-session = { group = "androidx.media3", name = "media3-session", version.ref = "androidx-media3" }
|
||||
androidx-navigation-fragment = { group = "androidx.navigation", name = "navigation-fragment", version.ref = "androidx-navigation" }
|
||||
androidx-navigation-ui = { group = "androidx.navigation", name = "navigation-ui", version.ref = "androidx-navigation" }
|
||||
androidx-paging = { group = "androidx.paging", name = "paging-runtime", version.ref = "androidx-paging" }
|
||||
androidx-paging-compose = { group = "androidx.paging", name = "paging-compose", version.ref = "androidx-paging" }
|
||||
androidx-preference = { group = "androidx.preference", name = "preference", version.ref = "androidx-preference" }
|
||||
androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "androidx-recyclerview" }
|
||||
androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "androidx-room" }
|
||||
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "androidx-room" }
|
||||
androidx-swiperefreshlayout = { group = "androidx.swiperefreshlayout", name = "swiperefreshlayout", version.ref = "androidx-swiperefreshlayout" }
|
||||
androidx-work = { group = "androidx.work", name = "work-runtime", version.ref = "androidx-work" }
|
||||
androidx-tv-foundation = { group = "androidx.tv", name = "tv-foundation", version.ref = "androidx-tv" }
|
||||
androidx-tv-material = { group = "androidx.tv", name = "tv-material", version.ref = "androidx-tv" }
|
||||
coil = { group = "io.coil-kt", name = "coil", version.ref = "coil" }
|
||||
coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
|
||||
coil-svg = { group = "io.coil-kt", name = "coil-svg", version.ref = "coil" }
|
||||
compose-destinations-core = { group = "io.github.raamcosta.compose-destinations", name = "core", version.ref = "compose-destinations" }
|
||||
compose-destinations-ksp = { group = "io.github.raamcosta.compose-destinations", name = "ksp", version.ref = "compose-destinations" }
|
||||
hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
|
||||
hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "hilt" }
|
||||
jellyfin-core = { group = "org.jellyfin.sdk", name = "jellyfin-core", version.ref = "jellyfin" }
|
||||
libmpv = { group = "dev.jdtech.mpv", name = "libmpv", version.ref = "libmpv" }
|
||||
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
|
||||
timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" }
|
||||
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
|
||||
|
||||
[plugins]
|
||||
aboutlibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutlibraries" }
|
||||
|
|
4
lint.xml
Normal file
4
lint.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<lint>
|
||||
<issue id="MissingTranslation" severity="ignore" />
|
||||
</lint>
|
|
@ -8,4 +8,12 @@
|
|||
<string name="player_controls_exit">Sluit speler</string>
|
||||
<string name="player_controls_rewind">Terugspoelen</string>
|
||||
<string name="player_controls_fast_forward">Snel vooruit</string>
|
||||
</resources>
|
||||
<string name="player_controls_progress">Voortgangsbalk</string>
|
||||
<string name="none">Geen</string>
|
||||
<string name="player_controls_picture_in_picture">Scherm-in-scherm openen</string>
|
||||
<string name="player_controls_lock">Vergrendelt de speler</string>
|
||||
<string name="player_controls_skip_back">Achteruit springen</string>
|
||||
<string name="player_controls_play_pause">Speel pauze</string>
|
||||
<string name="player_controls_skip_forward">Vooruit springen</string>
|
||||
<string name="player_trickplay">Trickplay</string>
|
||||
</resources>
|
Loading…
Reference in a new issue