#2385 Online Library is just loading and loading - make serialiser strict

This commit is contained in:
Sean Mac Gillicuddy 2020-11-24 12:10:17 +00:00
parent 17b71ab75c
commit cdcc45cf92
3 changed files with 8 additions and 8 deletions

View File

@ -73,7 +73,6 @@ import org.kiwix.kiwixmobile.zim_manager.library_view.adapter.LibraryListItem.Li
import java.util.LinkedList
import java.util.Locale
import java.util.concurrent.TimeUnit.MILLISECONDS
import java.util.concurrent.TimeUnit.SECONDS
import javax.inject.Inject
class ZimManageViewModel @Inject constructor(
@ -218,18 +217,15 @@ class ZimManageViewModel @Inject constructor(
connectivityBroadcastReceiver.networkStates.distinctUntilChanged().filter(
CONNECTED::equals
),
BiFunction<Unit, NetworkState, Unit> { _, _ -> Unit }
BiFunction<Unit, NetworkState, Unit> { _, _ -> }
)
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.io())
.subscribe(
{
kiwixService.library
.timeout(60, SECONDS)
.retry(5)
.subscribe(
library::onNext
) {
.subscribe(library::onNext) {
it.printStackTrace()
library.onNext(LibraryNetworkEntity().apply { book = LinkedList() })
}

View File

@ -32,15 +32,19 @@ import javax.inject.Singleton
private const val CONNECTION_TIMEOUT = 10L
private const val READ_TIMEOUT = 60L
private const val CALL_TIMEOUT = 60L
private const val USER_AGENT = "kiwix-android-version:${BuildConfig.VERSION_CODE}"
private const val KIWIX_DOWNLOAD_URL = "http://mirror.download.kiwix.org/"
@Module
class NetworkModule {
@Provides @Singleton fun provideOkHttpClient(): OkHttpClient {
return OkHttpClient().newBuilder().followRedirects(true).followSslRedirects(true)
return OkHttpClient().newBuilder()
.followRedirects(true)
.followSslRedirects(true)
.connectTimeout(CONNECTION_TIMEOUT, SECONDS)
.readTimeout(READ_TIMEOUT, SECONDS)
.callTimeout(CALL_TIMEOUT, SECONDS)
.addNetworkInterceptor(HttpLoggingInterceptor().apply {
level = if (BuildConfig.DEBUG) BASIC else NONE
})

View File

@ -25,7 +25,7 @@ import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Root;
@Root(name = "library", strict = false)
@Root(name = "library")
public class LibraryNetworkEntity {
@ElementList(name = "book", inline = true, required = false)