From 0500bd5e88f2cc5b04a184d851598e881d65e9a0 Mon Sep 17 00:00:00 2001 From: tzugen Date: Fri, 21 May 2021 23:26:13 +0200 Subject: [PATCH] Handle also UnknownHostException in GenericListModel --- .../moire/ultrasonic/fragment/GenericListModel.kt | 13 ++++++++++--- .../moire/ultrasonic/service/LocalMediaPlayer.kt | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/GenericListModel.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/GenericListModel.kt index 1fe45f3f..810e90f5 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/GenericListModel.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/GenericListModel.kt @@ -11,6 +11,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.viewModelScope import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import java.net.ConnectException +import java.net.UnknownHostException import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -91,12 +92,18 @@ open class GenericListModel(application: Application) : try { load(isOffline, useId3Tags, musicService, refresh, bundle) } catch (exception: ConnectException) { - Handler(Looper.getMainLooper()).post { - CommunicationErrorHandler.handleError(exception, swipe.context) - } + handleException(exception, swipe.context) + } catch (exception: UnknownHostException) { + handleException(exception, swipe.context) } } + private fun handleException(exception: Exception, context: Context) { + Handler(Looper.getMainLooper()).post { + CommunicationErrorHandler.handleError(exception, context) + } + } + /** * This is the central function you need to implement if you want to extend this class */ diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/LocalMediaPlayer.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/LocalMediaPlayer.kt index 11f22a44..26b96e36 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/LocalMediaPlayer.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/LocalMediaPlayer.kt @@ -20,12 +20,12 @@ import android.os.Looper import android.os.PowerManager import android.os.PowerManager.PARTIAL_WAKE_LOCK import android.os.PowerManager.WakeLock -import org.koin.core.component.KoinApiExtension import java.io.File import java.net.URLEncoder import java.util.Locale import kotlin.math.abs import kotlin.math.max +import org.koin.core.component.KoinApiExtension import org.moire.ultrasonic.audiofx.EqualizerController import org.moire.ultrasonic.audiofx.VisualizerController import org.moire.ultrasonic.data.ActiveServerProvider.Companion.isOffline