mirror of
https://github.com/imcarlost/Friendlists.git
synced 2026-04-10 02:46:54 -04:00
add loading and error status, with a simple implementation
This commit is contained in:
@@ -7,8 +7,10 @@ import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.hako.base.domain.network.RequestStatus
|
||||
import com.hako.base.extensions.gone
|
||||
import com.hako.base.extensions.observeNonNull
|
||||
import com.hako.base.extensions.toast
|
||||
import com.hako.base.extensions.visible
|
||||
import com.hako.userlist.model.UserViewable
|
||||
import com.hako.userlist.viewmodel.UserlistViewmodel
|
||||
import com.hako.userlist.widget.UserlistAdapter
|
||||
@@ -40,15 +42,23 @@ class UserlistFragment : Fragment() {
|
||||
|
||||
viewModel.requestStatus.observeNonNull(this) {
|
||||
when (it) {
|
||||
RequestStatus.Ready -> { context?.toast("Ready") }
|
||||
RequestStatus.Loading -> { context?.toast("Loading") }
|
||||
RequestStatus.Errored -> { context?.toast("Errored") }
|
||||
RequestStatus.Ready -> {
|
||||
fragment_userlist_error_overlay.gone()
|
||||
fragment_userlist_loading_overlay.gone()
|
||||
}
|
||||
RequestStatus.Loading -> {
|
||||
fragment_userlist_error_overlay.gone()
|
||||
fragment_userlist_loading_overlay.visible()
|
||||
}
|
||||
RequestStatus.Errored -> {
|
||||
fragment_userlist_error_overlay.visible()
|
||||
fragment_userlist_loading_overlay.gone()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleFetchError(throwable: Throwable) {
|
||||
context?.toast("Could't get data")
|
||||
Timber.e(throwable)
|
||||
}
|
||||
|
||||
|
||||
@@ -15,4 +15,24 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.hako.base.widgets.LoadingOverlay
|
||||
android:id="@+id/fragment_userlist_loading_overlay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.hako.base.widgets.NetworkErrorOverlay
|
||||
android:id="@+id/fragment_userlist_error_overlay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
Reference in New Issue
Block a user