diff --git a/app/src/main/java/com/razeware/emitron/di/modules/NetModule.kt b/app/src/main/java/com/razeware/emitron/di/modules/NetModule.kt index 82d84df2..8ce4d014 100644 --- a/app/src/main/java/com/razeware/emitron/di/modules/NetModule.kt +++ b/app/src/main/java/com/razeware/emitron/di/modules/NetModule.kt @@ -55,7 +55,10 @@ class NetModule { authInterceptor: AuthInterceptorImpl ): OkHttpClient = OkHttpClient.Builder() - .connectTimeout(10, TimeUnit.SECONDS) + .connectTimeout(30, TimeUnit.SECONDS) + .callTimeout(30, TimeUnit.SECONDS) + .readTimeout(30, TimeUnit.SECONDS) + .writeTimeout(30, TimeUnit.SECONDS) .addNetworkInterceptor(authInterceptor) .addInterceptor(loggingInterceptor) .build() diff --git a/app/src/main/java/com/razeware/emitron/ui/library/LibraryFragment.kt b/app/src/main/java/com/razeware/emitron/ui/library/LibraryFragment.kt index 8dd10fd9..ed92dedd 100644 --- a/app/src/main/java/com/razeware/emitron/ui/library/LibraryFragment.kt +++ b/app/src/main/java/com/razeware/emitron/ui/library/LibraryFragment.kt @@ -2,12 +2,10 @@ package com.razeware.emitron.ui.library import android.annotation.SuppressLint import android.os.Bundle -import android.view.Gravity import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.inputmethod.EditorInfo.* -import androidx.appcompat.widget.PopupMenu import androidx.core.view.isVisible import androidx.core.view.setPadding import androidx.fragment.app.activityViewModels @@ -151,6 +149,10 @@ class LibraryFragment : DaggerFragment() { binding.textInputLayoutSearch.setEndIconOnClickListener { handleQueryCleared() } + + binding.libraryPullToRefresh.setOnRefreshListener { + loadCollections() + } } private fun showRecentSearchControls() { @@ -224,6 +226,10 @@ class LibraryFragment : DaggerFragment() { toggleControls(true, uiState == UiStateManager.UiState.INIT_EMPTY) hideRecentSearchControls() progressDelegate.hideProgressView() + binding.libraryPullToRefresh.isRefreshing = false + } + UiStateManager.UiState.INIT_FAILED -> { + loadCollections() // retry } else -> { // Handled by the adapter diff --git a/app/src/main/res/layout/fragment_library.xml b/app/src/main/res/layout/fragment_library.xml index 8d1a4886..a507e4cd 100644 --- a/app/src/main/res/layout/fragment_library.xml +++ b/app/src/main/res/layout/fragment_library.xml @@ -163,24 +163,31 @@ app:icon="@drawable/ic_material_icon_sort" app:iconPadding="@dimen/button_padding_internal_dense" app:iconTint="@color/colorIcon2" - app:layout_constraintBottom_toTopOf="@+id/recycler_view_library" + app:layout_constraintBottom_toTopOf="@+id/library_pull_to_refresh" app:layout_constraintEnd_toEndOf="@id/guideline_right" app:layout_constraintStart_toEndOf="@+id/text_library_count" app:layout_constraintTop_toBottomOf="@+id/scroll_view_library_filter" /> - + app:layout_constraintTop_toBottomOf="@+id/text_library_count"> + + +