mirror of
https://github.com/imcarlost/Acronyms.git
synced 2026-04-10 02:46:53 -04:00
Add: viewmodel
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
package dev.carlos.core.domain.network
|
||||
|
||||
enum class RequestError {
|
||||
NO_NETWORK,
|
||||
BAD_RESPONSE,
|
||||
UNKNOWN_PROBLEM
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
17
core/src/main/java/dev/carlos/core/viewmodel/RxViewModel.kt
Normal file
17
core/src/main/java/dev/carlos/core/viewmodel/RxViewModel.kt
Normal 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()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user