|
@@ -8,7 +8,6 @@
|
|
|
|
|
|
|
|
package org.mjdev.tvlib.extensions
|
|
package org.mjdev.tvlib.extensions
|
|
|
|
|
|
|
|
-import android.os.Handler
|
|
|
|
|
import androidx.compose.runtime.MutableState
|
|
import androidx.compose.runtime.MutableState
|
|
|
import com.skydoves.sandwich.ApiResponse
|
|
import com.skydoves.sandwich.ApiResponse
|
|
|
import com.skydoves.sandwich.getOrNull
|
|
import com.skydoves.sandwich.getOrNull
|
|
@@ -60,29 +59,4 @@ object GlobalExt {
|
|
|
Result.failure(e)
|
|
Result.failure(e)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @Suppress("DEPRECATION")
|
|
|
|
|
- @Throws(Exception::class)
|
|
|
|
|
- fun retry(
|
|
|
|
|
- retryCnt: Int = 8,
|
|
|
|
|
- retryDelay: Long = 500L,
|
|
|
|
|
- onError: (error: Throwable) -> Unit = { e -> throw (e) },
|
|
|
|
|
- block: () -> Unit
|
|
|
|
|
- ) {
|
|
|
|
|
- var retryStep = retryCnt
|
|
|
|
|
- try {
|
|
|
|
|
- block.invoke()
|
|
|
|
|
- } catch (e: Throwable) {
|
|
|
|
|
- Timber.e(e)
|
|
|
|
|
- retryStep -= 1
|
|
|
|
|
- if (retryStep > 0) {
|
|
|
|
|
- Timber.e("Retrying run again.")
|
|
|
|
|
- Handler().postDelayed({
|
|
|
|
|
- retry(retryStep, retryDelay, onError, block)
|
|
|
|
|
- }, retryDelay)
|
|
|
|
|
- } else {
|
|
|
|
|
- onError(e)
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
}
|
|
}
|