Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.0 (#215)
* Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.0 * Remove ACCESS_WIFI_STATE permission * Fix adding server * Remove server already added error Add the address if server already exists in database but the address doesn't Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
This commit is contained in:
parent
54091bb04a
commit
fa5d73faa3
20 changed files with 70 additions and 80 deletions
|
@ -2,7 +2,6 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
|
||||
<uses-feature android:name="android.software.leanback" android:required="false" />
|
||||
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
|
||||
|
|
|
@ -17,12 +17,10 @@ import java.util.UUID
|
|||
import javax.inject.Inject
|
||||
import kotlinx.coroutines.CancellationException
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.cancel
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.asSharedFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
import kotlinx.coroutines.flow.onCompletion
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.jellyfin.sdk.discovery.RecommendedServerInfo
|
||||
|
@ -107,43 +105,40 @@ constructor(
|
|||
val goodServers = mutableListOf<RecommendedServerInfo>()
|
||||
val okServers = mutableListOf<RecommendedServerInfo>()
|
||||
|
||||
recommended
|
||||
.onCompletion {
|
||||
if (serverFound) {
|
||||
serverFound = false
|
||||
return@onCompletion
|
||||
}
|
||||
when {
|
||||
goodServers.isNotEmpty() -> {
|
||||
val issuesString = createIssuesString(goodServers.first())
|
||||
Toast.makeText(
|
||||
application,
|
||||
issuesString,
|
||||
Toast.LENGTH_LONG
|
||||
).show()
|
||||
connectToServer(goodServers.first())
|
||||
}
|
||||
okServers.isNotEmpty() -> {
|
||||
val okServer = okServers.first()
|
||||
throw Exception(createIssuesString(okServer))
|
||||
}
|
||||
else -> {
|
||||
throw Exception(resources.getString(R.string.add_server_error_not_found))
|
||||
}
|
||||
for (recommendedServerInfo in recommended) {
|
||||
when (recommendedServerInfo.score) {
|
||||
RecommendedServerInfoScore.GREAT -> {
|
||||
serverFound = true
|
||||
connectToServer(recommendedServerInfo)
|
||||
}
|
||||
RecommendedServerInfoScore.GOOD -> goodServers.add(recommendedServerInfo)
|
||||
RecommendedServerInfoScore.OK -> okServers.add(recommendedServerInfo)
|
||||
RecommendedServerInfoScore.BAD -> Unit
|
||||
}
|
||||
.collect { recommendedServerInfo ->
|
||||
when (recommendedServerInfo.score) {
|
||||
RecommendedServerInfoScore.GREAT -> {
|
||||
serverFound = true
|
||||
connectToServer(recommendedServerInfo)
|
||||
this.cancel()
|
||||
}
|
||||
RecommendedServerInfoScore.GOOD -> goodServers.add(recommendedServerInfo)
|
||||
RecommendedServerInfoScore.OK -> okServers.add(recommendedServerInfo)
|
||||
RecommendedServerInfoScore.BAD -> Unit
|
||||
}
|
||||
}
|
||||
|
||||
if (serverFound) {
|
||||
serverFound = false
|
||||
return@launch
|
||||
}
|
||||
when {
|
||||
goodServers.isNotEmpty() -> {
|
||||
val issuesString = createIssuesString(goodServers.first())
|
||||
Toast.makeText(
|
||||
application,
|
||||
issuesString,
|
||||
Toast.LENGTH_LONG
|
||||
).show()
|
||||
connectToServer(goodServers.first())
|
||||
}
|
||||
okServers.isNotEmpty() -> {
|
||||
val okServer = okServers.first()
|
||||
throw Exception(createIssuesString(okServer))
|
||||
}
|
||||
else -> {
|
||||
throw Exception(resources.getString(R.string.add_server_error_not_found))
|
||||
}
|
||||
}
|
||||
} catch (_: CancellationException) {
|
||||
} catch (e: Exception) {
|
||||
_uiState.emit(
|
||||
|
@ -161,26 +156,43 @@ constructor(
|
|||
|
||||
Timber.d("Connecting to server: ${serverInfo.serverName}")
|
||||
|
||||
if (serverAlreadyInDatabase(serverInfo.id!!)) {
|
||||
throw Exception(resources.getString(R.string.add_server_error_already_added))
|
||||
val serverInDatabase = serverAlreadyInDatabase(serverInfo.id!!)
|
||||
|
||||
// Check if server is already in the database
|
||||
// If so only add a new address to that server if it's different
|
||||
val server = if (serverInDatabase != null) {
|
||||
val addresses = withContext(Dispatchers.IO) {
|
||||
database.getServerWithAddresses(serverInDatabase.id).addresses
|
||||
}
|
||||
if (addresses.none { it.address == recommendedServerInfo.address }) {
|
||||
val serverAddress = ServerAddress(
|
||||
id = UUID.randomUUID(),
|
||||
serverId = serverInDatabase.id,
|
||||
address = recommendedServerInfo.address
|
||||
)
|
||||
|
||||
insertServerAddress(serverAddress)
|
||||
}
|
||||
serverInDatabase
|
||||
} else {
|
||||
val serverAddress = ServerAddress(
|
||||
id = UUID.randomUUID(),
|
||||
serverId = serverInfo.id!!,
|
||||
address = recommendedServerInfo.address
|
||||
)
|
||||
|
||||
val server = Server(
|
||||
id = serverInfo.id!!,
|
||||
name = serverInfo.serverName!!,
|
||||
currentServerAddressId = serverAddress.id,
|
||||
currentUserId = null,
|
||||
)
|
||||
|
||||
insertServer(server)
|
||||
insertServerAddress(serverAddress)
|
||||
server
|
||||
}
|
||||
|
||||
val serverAddress = ServerAddress(
|
||||
id = UUID.randomUUID(),
|
||||
serverId = serverInfo.id!!,
|
||||
address = recommendedServerInfo.address
|
||||
)
|
||||
|
||||
val server = Server(
|
||||
id = serverInfo.id!!,
|
||||
name = serverInfo.serverName!!,
|
||||
currentServerAddressId = serverAddress.id,
|
||||
currentUserId = null,
|
||||
)
|
||||
|
||||
insertServer(server)
|
||||
insertServerAddress(serverAddress)
|
||||
|
||||
appPreferences.currentServer = server.id
|
||||
|
||||
jellyfinApi.apply {
|
||||
|
@ -236,14 +248,10 @@ constructor(
|
|||
* Check if server is already in database using server ID
|
||||
*
|
||||
* @param id Server ID
|
||||
* @return True if server is already in database
|
||||
* @return [Server] if in database
|
||||
*/
|
||||
private suspend fun serverAlreadyInDatabase(id: String): Boolean {
|
||||
val server: Server?
|
||||
withContext(Dispatchers.IO) {
|
||||
server = database.get(id)
|
||||
}
|
||||
return (server != null)
|
||||
private suspend fun serverAlreadyInDatabase(id: String) = withContext(Dispatchers.IO) {
|
||||
database.get(id)
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
<string name="add_server_error_not_jellyfin">No es un servidor Jellyfin: %1$s</string>
|
||||
<string name="add_server_error_version">Versión del servidor sin soporte: %1$s. Por favor actualice su servidor</string>
|
||||
<string name="add_server_error_slow">Servidor muy lento al responder: %1$s</string>
|
||||
<string name="add_server_error_already_added">Servidor ya presente</string>
|
||||
<string name="add_server_error_empty_address">Dirección del servidor vacia</string>
|
||||
<string name="add_server_error_not_found">Servidor no encontrado</string>
|
||||
<string name="add_server_error_no_id">El servidor no tiene identificador, ocurrió un error en el servidor</string>
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
<string name="download_roaming">Свалете при роуминг</string>
|
||||
<string name="mpv_player_summary">Използвайте експерименталният mpv плейър за да пускане на видеа. mpv поддържа повече кодекси за видео, аудио и субтитри.</string>
|
||||
<string name="jellyfin_banner">Jellyfin банер</string>
|
||||
<string name="add_server_error_already_added">Сървърът е вече добавен</string>
|
||||
<string name="add_server_error_empty_address">Празен сървърен адрес</string>
|
||||
<string name="add_server_error_not_found">Сървърът не е намерен</string>
|
||||
<string name="login">Вход</string>
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
<string name="add_server_error_not_jellyfin">Nejedná se o Jellyfin server: %1$s</string>
|
||||
<string name="add_server_error_version">Nepodporovaná verze serveru: %1$s. Prosím aktualizujte Váš server</string>
|
||||
<string name="add_server_error_slow">Serveru trvalo příliš dlouho odpovědět: %1$s</string>
|
||||
<string name="add_server_error_already_added">Tento server už je přidán</string>
|
||||
<string name="add_server_error_empty_address">Prázdná adresa serveru</string>
|
||||
<string name="add_server_error_not_found">Server not found</string>
|
||||
<string name="login">Přihlásit</string>
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
<string name="add_server">Server hinzufügen</string>
|
||||
<string name="add_server_error_outdated">Server Version ist veraltet: %1$s. Bitte aktualisiere deinen Server</string>
|
||||
<string name="add_server_error_not_jellyfin">Kein Jellyfin Server: %1$s</string>
|
||||
<string name="add_server_error_already_added">Server wurde bereits hinzugefügt</string>
|
||||
<string name="add_server_error_empty_address">Leere Server Adresse</string>
|
||||
<string name="add_server_error_not_found">Server wurde nicht gefunden</string>
|
||||
<string name="add_server_error_no_id">Server hat keine ID. Irgendetwas mit dem Server scheint nicht in Ordnung zu sein</string>
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
<string name="add_server_error_not_jellyfin">No es un servidor Jellyfin: %1$s</string>
|
||||
<string name="add_server_error_version">Versión del servidor sin soporte: %1$s. Por favor actualice su servidor</string>
|
||||
<string name="add_server_error_slow">Servidor muy lento al responder: %1$s</string>
|
||||
<string name="add_server_error_already_added">Servidor ya presente</string>
|
||||
<string name="add_server_error_empty_address">Dirección del servidor vacia</string>
|
||||
<string name="add_server_error_not_found">Servidor no encontrado</string>
|
||||
<string name="add_server_error_no_id">El servidor no tiene identificador, ocurrió un error en el servidor</string>
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
<string name="add_server_error_not_jellyfin">No es un servidor Jellyfin: %1$s</string>
|
||||
<string name="add_server_error_version">Versión del servidor no soportada: %1$s. Por favor actualice su servidor</string>
|
||||
<string name="add_server_error_slow">Servidor muy lento al responder: %1$s</string>
|
||||
<string name="add_server_error_already_added">Servidor ya agregado</string>
|
||||
<string name="add_server_error_empty_address">Dirección del servidor vacía</string>
|
||||
<string name="add_server_error_not_found">Servidor no encontrado</string>
|
||||
<string name="add_server_error_no_id">El servidor no tiene identificador, ocurrió un error en el servidor</string>
|
||||
|
|
|
@ -88,7 +88,6 @@
|
|||
<string name="select_a_version">Choisissez une version</string>
|
||||
<string name="jellyfin_banner">Bannière Jellyfin</string>
|
||||
<string name="add_server_error_version">Version du serveur non supportée : %1$s. Veuillez mettre à jour le serveur</string>
|
||||
<string name="add_server_error_already_added">Ce serveur existe déjà</string>
|
||||
<string name="login">Authentification</string>
|
||||
<string name="button_login">Authentification</string>
|
||||
<string name="login_error_wrong_username_password">Utilisateur ou mot de passe incorrect</string>
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
<string name="add_server_error_not_jellyfin">Nem egy Jellyfin szerver: %1$s</string>
|
||||
<string name="add_server_error_version">Nem támogatott szerver verzió: %1$s. Kérlek frissítsd a szervert</string>
|
||||
<string name="add_server_error_slow">A szerver túl lassan válaszol: %1$s</string>
|
||||
<string name="add_server_error_already_added">Ez a szerver már hozzá van adva</string>
|
||||
<string name="add_server_error_empty_address">Üres szerver cím</string>
|
||||
<string name="add_server_error_not_found">A szerver nem található</string>
|
||||
<string name="add_server_error_no_id">A szervernek nincs id-je, úgy tűnik valami probléma van a szerverrel</string>
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
<string name="add_server">Aggiungi server</string>
|
||||
<string name="add_server_error_not_jellyfin">Non è un server Jellyfin: %1$s</string>
|
||||
<string name="add_server_error_slow">Il server ha impiegato troppo tempo per rispondere: %1$s</string>
|
||||
<string name="add_server_error_already_added">Server già aggiunto</string>
|
||||
<string name="add_server_error_empty_address">Indirizzo server vuoto</string>
|
||||
<string name="login">Accedi</string>
|
||||
<string name="login_error_wrong_username_password">Nome utente o Password errati</string>
|
||||
|
|
|
@ -36,7 +36,6 @@
|
|||
<string name="player_gestures">플레이어 제스처</string>
|
||||
<string name="player_gestures_vb">볼륨 및 밝기 제스처</string>
|
||||
<string name="player_gestures_zoom">줌 제스처</string>
|
||||
<string name="add_server_error_already_added">서버가 이미 추가되어 있음</string>
|
||||
<string name="add_server_error_not_found">서버를 찾을 수 없음</string>
|
||||
<string name="sort_by_options_0">타이틀</string>
|
||||
<string name="sort_by_options_1">IMDB 평점</string>
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
<string name="player_gestures_vb_summary">Przesuń w górę lub w dół po prawej stronie ekrany by zmienić głośność, po lewej stronie by zmienić jasność</string>
|
||||
<string name="display_extended_title_summary">Wyświetlaj rozszerzoną nazwę odcinka, razem z informacją o sezonie i odcinku (SXX:EXX - NazwaOdcinka).</string>
|
||||
<string name="add_server_error_slow">Zbyt wolna odpowiedź serwera: %1$s</string>
|
||||
<string name="add_server_error_already_added">Serwer już dodany</string>
|
||||
<string name="add_server_error_empty_address">Pusty adres serwera</string>
|
||||
<string name="add_server_error_not_found">Nie znaleziono serwera</string>
|
||||
<string name="add_server_error_no_id">Serwer nie ma ID. Błędna konfiguracja serwera</string>
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
<string name="add_server_error_outdated">Versão do servidor desatualizada: %1$s. Por favor atualize seu servidor</string>
|
||||
<string name="add_server_error_version">Versão do servidor não suportada: %1$s. Por favor atualize seu servidor</string>
|
||||
<string name="add_server_error_slow">O servidor é lendo demais para responder: %1$s</string>
|
||||
<string name="add_server_error_already_added">Servidor já adicionado</string>
|
||||
<string name="add_server_error_empty_address">Endereço de servidor vazio</string>
|
||||
<string name="add_server_error_no_id">Servidor não possui id, algo parece errado como servidor</string>
|
||||
<string name="login">Entrar</string>
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
<string name="add_server_error_not_jellyfin">Não é um servidor Jellyfin: %1$s</string>
|
||||
<string name="add_server_error_version">Versão de servidor não suportada: %1$s. Por favor, actualize o seu servidor</string>
|
||||
<string name="add_server_error_slow">O servidor é demasiado lento para responder: %1$s</string>
|
||||
<string name="add_server_error_already_added">Servidor já adicionado</string>
|
||||
<string name="add_server_error_empty_address">Endereço de servidor vazio</string>
|
||||
<string name="add_server_error_not_found">Servidor não encontrado</string>
|
||||
<string name="add_server_error_no_id">O servidor não tem identificação, algo parece estar errado com o servidor</string>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<string name="add_server_error_not_jellyfin">Это не сервер Jellyfin: %1$s</string>
|
||||
<string name="add_server_error_version">Неподдерживаемая версия сервера: %1$s. Пожалуйста, обновите ваш сервер</string>
|
||||
<string name="add_server_error_slow">Сервер слишком медленно отвечает: %1$s</string>
|
||||
<string name="add_server_error_already_added">Сервер уже добавлен</string>
|
||||
<string name="add_server_error_empty_address">Пустой адрес</string>
|
||||
<string name="add_server_error_not_found">Сервер не найден</string>
|
||||
<string name="add_server_error_no_id">Сервер не имеет id, похоже, с ним что-то не так</string>
|
||||
|
|
|
@ -117,7 +117,6 @@
|
|||
<string name="add_server_error_slow">服务器响应过慢:%1$s</string>
|
||||
<string name="remove_server_dialog_text">您确定要删除服务器%1$s吗</string>
|
||||
<string name="settings_cache_size">缓存大小 (MB)</string>
|
||||
<string name="add_server_error_already_added">服务器已经添加过了</string>
|
||||
<string name="title_home">首页</string>
|
||||
<string name="settings_cache_size_message">应用程序将会利用这些MB的磁盘空间来存储Jellyfin服务器的图片。在较慢的网络下,更大的数值可能会更好。</string>
|
||||
<string name="player_gestures_vb">音量和亮度手势</string>
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
<string name="add_server">添加伺服器</string>
|
||||
<string name="add_server_error_version">不支援的伺服器版本:%1$s。 請更新您的伺服器</string>
|
||||
<string name="add_server_error_slow">伺服器回應太慢:%1$s</string>
|
||||
<string name="add_server_error_already_added">伺服器已添加</string>
|
||||
<string name="add_server_error_not_found">找不到伺服器</string>
|
||||
<string name="add_server_error_no_id">伺服器沒有id,伺服器可能有問題</string>
|
||||
<string name="login">登入</string>
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
<string name="add_server_error_not_jellyfin">Not a Jellyfin server: %1$s</string>
|
||||
<string name="add_server_error_version">Unsupported server version: %1$s. Please update your server</string>
|
||||
<string name="add_server_error_slow">Server is too slow to respond: %1$s</string>
|
||||
<string name="add_server_error_already_added">Server already added</string>
|
||||
<string name="add_server_error_empty_address">Empty server address</string>
|
||||
<string name="add_server_error_not_found">Server not found</string>
|
||||
<string name="add_server_error_no_id">Server has no id, something seems to be wrong with the server</string>
|
||||
|
|
|
@ -17,7 +17,7 @@ androidx-room = "2.4.3"
|
|||
androidx-swiperefreshlayout = "1.1.0"
|
||||
glide = "4.14.2"
|
||||
hilt = "2.44.2"
|
||||
jellyfin = "1.3.7"
|
||||
jellyfin = "1.4.0"
|
||||
kotlin = "1.7.22"
|
||||
ktlint = "11.0.0"
|
||||
material = "1.7.0"
|
||||
|
|
Loading…
Reference in a new issue