Merge branch 'main' into release/stable

This commit is contained in:
grakovne
2025-12-19 00:47:32 +03:00
10 changed files with 76 additions and 18 deletions

View File

@@ -53,8 +53,8 @@ android {
applicationId = "org.grakovne.lissen"
minSdk = 28
targetSdk = 36
versionCode = 10714
versionName = "1.7.14-$commitHash"
versionCode = 10800
versionName = "1.8.0-$commitHash"
buildConfigField("String", "GIT_HASH", "\"$commitHash\"")

4
app/lint.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<lint>
<issue id="LocalContextGetResourceValueCall" severity="ignore" />
</lint>

View File

@@ -1,6 +1,5 @@
package org.grakovne.lissen.channel.audiobookshelf.common.api
import org.acra.ACRA
import org.grakovne.lissen.channel.common.OperationError
import org.grakovne.lissen.channel.common.OperationResult
import retrofit2.Response

View File

@@ -3,6 +3,7 @@ package org.grakovne.lissen.channel.common
import com.squareup.moshi.Moshi
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
import org.grakovne.lissen.lib.domain.connection.ServerRequestHeader
import org.grakovne.lissen.lib.domain.fixUriScheme
import org.grakovne.lissen.persistence.preferences.LissenSharedPreferences
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory
@@ -17,7 +18,7 @@ class ApiClient(
val retrofit: Retrofit =
Retrofit
.Builder()
.baseUrl(host)
.baseUrl(host.fixUriScheme())
.client(httpClient)
.addConverterFactory(MoshiConverterFactory.create(moshi))
.build()

View File

@@ -10,7 +10,6 @@ class MimeTypeProvider {
"audio/mpeg",
"audio/mp3",
"audio/webm",
"audio/ac3",
"audio/opus",
"audio/ogg",
"audio/vorbis",

View File

@@ -116,4 +116,46 @@
<string name="offline_cache_is_empty">Nema spremljenog sadržaja</string>
<string name="settings_screen_cached_items_title">Preuzimanja</string>
<string name="settings_screen_cached_items_hint">Upravljaj spremljenim sadržajem</string>
<string name="player_screen_chapter_list_navigation_items">Stavke</string>
<string name="settings_screen_connection_type">Vrsta veze</string>
<string name="settings_screen_connection_local">Lokalna mreža</string>
<string name="settings_screen_connection_external">Vanjska mreža</string>
<string name="downloads_menu_download_option_disable">Onemogućeno</string>
<string name="downloads_menu_download_option_stop_downloads">Zaustavi preuzimanje</string>
<string name="volume_boost_disabled">Onemogućeno</string>
<string name="volume_boost_max">Maksimum</string>
<string name="volume_boost_title">Pojačana glasnoća</string>
<string name="playing_item_details_time_remaining">Preostalo vrijeme</string>
<string name="settings_screen_advanced_preferences_title">Napredne postavke</string>
<string name="settings_screen_crash_report_title">Izvješćivanje o prestanku rada programa</string>
<string name="settings_screen_crash_report_description">Pošalji izvješća ako se aplikacija sruši</string>
<string name="settings_download_automatically_title">Automatsko preuzimanje</string>
<string name="download_settings_title">Postavke preuzimanja</string>
<string name="download_settings_network_type_title">Koristi za automatska preuzimanja</string>
<string name="download_settings_library_type_title">Automatsko preuzimanje</string>
<string name="download_settings_library_type_no_items_selected">Nema definiranih tipova</string>
<string name="wifi_only_settings_option">Samo WiFi</string>
<string name="wifi_or_cellular_settings_option">WiFi ili mobilna mreža</string>
<string name="library_type_library">Knjige</string>
<string name="library_type_podcast">Podcasti</string>
<string name="library_type_unknown">Nepoznato</string>
<string name="settings_screen_internal_connection_url_title">Adresa lokalnog mrežnog poslužitelja</string>
<string name="settings_screen_internal_connection_url_description">Definiranje pristupa poslužitelju za kućni Wi-Fi</string>
<string name="location_permission_request_hint">Aplikaciji je potreban pristup lokaciji kako bi otkrila naziv Wi-Fi mreže</string>
<string name="local_url_hint_ssid_name">Naziv WiFi mreže</string>
<string name="permission_request_grant_button">Dozvoli</string>
<string name="settings_screen_clear_thumbnail_cache_title">Izbriši predmemoriju sličica</string>
<string name="settings_screen_clear_thumbnail_cache_hint">Uklonite predmemorirane sličice kako biste oslobodili prostor.</string>
<string name="settings_screen_clear_thumbnail_cache_success_toast">Predmemorija sličica izbrisana</string>
<string name="settings_screen_delay_autodownload_title">Odgodi automatsko preuzimanje</string>
<string name="settings_screen_delay_autodownload_description">Kratko pričekaj prije početka preuzimanja</string>
<string name="settings_screen_bypass_ssl_title">Onemogući SSL provjeru</string>
<string name="settings_screen_bypass_ssl_hint">Poveži se s poslužiteljima s bilo kojim certifikatom</string>
<string name="player_screen_chapter_list_navigation_podcast">Epizode</string>
<string name="login_error_lissen_not_found">URL nije pronađen. Provjerite postavke poslužitelja</string>
<string name="volume_boost_low">Nisko</string>
<string name="volume_boost_medium">Srednje</string>
<string name="volume_boost_high">Visoko</string>
<string name="download_settings_description">Definiranje preuzimanja i upravljanje sadržajem</string>
<string name="settings_screen_advanced_preferences_description">Kontrola pretraživanja, proxy zaglavlje ili zvuk</string>
</resources>

View File

@@ -115,4 +115,15 @@
<string name="settings_screen_library_ordering_title">Bibliotheek sorteren</string>
<string name="settings_screen_seek_time_hint">Zoekbediening instellen</string>
<string name="forward_interval">Vooruitspoelinterval</string>
<string name="player_screen_chapter_list_navigation_podcast">Afleveringen</string>
<string name="settings_screen_connection_type">Connectietype</string>
<string name="settings_screen_connection_local">Lokaal netwerk</string>
<string name="settings_screen_connection_external">Extern netwerk</string>
<string name="downloads_menu_download_option_stop_downloads">Stop downloaden</string>
<string name="volume_boost_disabled">Uitgeschakeld</string>
<string name="volume_boost_low">Laag</string>
<string name="volume_boost_medium">Gemiddeld</string>
<string name="volume_boost_high">Hoog</string>
<string name="volume_boost_max">Maximaal</string>
<string name="playing_item_details_time_remaining">Tijd resterend</string>
</resources>

View File

@@ -1,6 +1,6 @@
[versions]
acraCore = "5.13.1"
agp = "8.13.1"
agp = "8.13.2"
browser = "1.9.0"
coilCompose = "3.3.0"
composeShimmerAndroid = "1.3.3"
@@ -8,24 +8,24 @@ glance = "1.2.0-rc01"
hiltAndroid = "2.57.2"
hiltNavigationCompose = "1.3.0"
hokoBlur = "1.5.5"
kotlin = "2.2.21"
activityCompose = "1.12.1"
composeBom = "2025.12.00"
kotlin = "2.3.0"
activityCompose = "1.12.2"
composeBom = "2025.12.01"
compose = "1.7.8"
localbroadcastmanager = "1.1.0"
loggingInterceptor = "5.3.2"
material = "1.10.0"
material3 = "1.4.0"
materialVersion = "1.13.0"
media3Exoplayer = "1.8.0"
media3Exoplayer = "1.9.0"
navigationCompose = "2.9.6"
okhttp = "5.3.2"
pagingCompose = "3.3.6"
retrofit = "3.0.0"
roomRuntime = "2.8.4"
runtimeLivedata = "1.10.0"
media3Session = "1.8.0"
media3DatasourceOkhttp = "1.8.0"
media3Session = "1.9.0"
media3DatasourceOkhttp = "1.9.0"
lifecycleService = "2.10.0"
lifecycleProcess = "2.10.0"
coreKtx = "1.17.0"

View File

@@ -0,0 +1,6 @@
package org.grakovne.lissen.lib.domain
fun String.fixUriScheme() = when (this.startsWith("http://") || this.startsWith("https://")) {
true -> this
false -> "http://$this"
}

View File

@@ -2,6 +2,7 @@ package org.grakovne.lissen.lib.domain.connection
import androidx.annotation.Keep
import com.squareup.moshi.JsonClass
import org.grakovne.lissen.lib.domain.fixUriScheme
import java.net.URI
import java.util.UUID
@@ -34,12 +35,7 @@ data class LocalUrl(
return this
.filter { validCharacters.matches(it.toString()) }
.trim()
.let {
when (it.startsWith("http://") || it.startsWith("https://")) {
true -> it
false -> "http://$it"
}
}
.fixUriScheme()
}
}
}