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:
renovate[bot] 2022-12-10 21:24:11 +01:00 committed by GitHub
parent 54091bb04a
commit fa5d73faa3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 70 additions and 80 deletions

View file

@ -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" />

View file

@ -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)
}
/**

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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"