Add: viewmodel

This commit is contained in:
Carlos Martinez
2021-06-17 12:08:48 -04:00
parent 3848ac0519
commit 3a29504fd2
7 changed files with 69 additions and 3 deletions

View File

@@ -0,0 +1,7 @@
package dev.carlos.core.domain.network
enum class RequestError {
NO_NETWORK,
BAD_RESPONSE,
UNKNOWN_PROBLEM
}

View File

@@ -3,5 +3,6 @@ package dev.carlos.core.domain.network
sealed class RequestState {
class Success<out T>(val data: T) : RequestState()
object Loading : RequestState()
class Error(val throwable: Throwable) : RequestState()
class Error(val type: RequestError) : RequestState()
object Empty : RequestState()
}

View File

@@ -0,0 +1,17 @@
package dev.carlos.core.viewmodel
import androidx.lifecycle.ViewModel
import io.reactivex.disposables.CompositeDisposable
abstract class RxViewModel : ViewModel() {
protected val compositeDisposable by lazy { CompositeDisposable() }
override fun onCleared() {
super.onCleared()
clearCompositeDisposable()
}
private fun clearCompositeDisposable() {
compositeDisposable.clear()
}
}