I need to access sharedPrefences in my model class since we shouldn't access context and views from model class, How can I get a value from the model? I don't want to parse each of my variables to viewmodel
and then my model class.
model class:
class CategoryModel(private val netManager: NetManager) {
var dateChanges: String = "null";
var isLoading= ObservableField<Boolean>(false)
fun getCats(): MutableLiveData<MutableList<Cat>> {
isLoading.set(true)
var list = MutableLiveData<MutableList<Cat>>();
if (netManager.isConnected!!) {
list = getCatsOnline();
}
return list
}
private fun getCatsOnline(): MutableLiveData<MutableList<Cat>> {
var list = MutableLiveData<MutableList<Cat>>();
val getCats = ApiConnection.client.create(Category::class.java)
Log.v("this","uid "+MyApp().uid)
getCats.getCats(MyApp().uid, dateChanges)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ success ->
isLoading.set(false)
list+= success.cats
},{
error->
isLoading.set(false)
Log.v("this","ErrorGetCats "+ error.localizedMessage);
}
)
return list;
}
operator fun <T> MutableLiveData<MutableList<T>>.plusAssign(values: List<T>) {
val value = this.value ?: arrayListOf()
value.addAll(values)
this.value = value
}
}
How can I do so ?