From cdcc45cf92fafe3da9d1a0be5e5dc654f7cfdafb Mon Sep 17 00:00:00 2001 From: Sean Mac Gillicuddy Date: Tue, 24 Nov 2020 12:10:17 +0000 Subject: [PATCH] #2385 Online Library is just loading and loading - make serialiser strict --- .../kiwix/kiwixmobile/zim_manager/ZimManageViewModel.kt | 8 ++------ .../kiwix/kiwixmobile/core/di/modules/NetworkModule.kt | 6 +++++- .../kiwixmobile/core/entity/LibraryNetworkEntity.java | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/ZimManageViewModel.kt b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/ZimManageViewModel.kt index 230a40d33..d62827fe2 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/ZimManageViewModel.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/ZimManageViewModel.kt @@ -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 } + BiFunction { _, _ -> } ) .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() }) } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/di/modules/NetworkModule.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/di/modules/NetworkModule.kt index 7feba240b..cc6b436ef 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/di/modules/NetworkModule.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/di/modules/NetworkModule.kt @@ -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 }) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/entity/LibraryNetworkEntity.java b/core/src/main/java/org/kiwix/kiwixmobile/core/entity/LibraryNetworkEntity.java index 5c6f93aa9..6953de8d1 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/entity/LibraryNetworkEntity.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/entity/LibraryNetworkEntity.java @@ -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)