open-keychain/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/GenericViewModel.java
2018-07-04 13:59:21 +02:00

25 lines
902 B
Java

package org.sufficientlysecure.keychain.ui.keyview;
import android.arch.lifecycle.LiveData;
import android.arch.lifecycle.ViewModel;
import android.content.Context;
import org.sufficientlysecure.keychain.livedata.GenericLiveData;
import org.sufficientlysecure.keychain.livedata.GenericLiveData.GenericDataLoader;
import org.sufficientlysecure.keychain.daos.DatabaseNotifyManager;
/** A simple generic ViewModel that can be used if exactly one field of data needs to be stored. */
public class GenericViewModel extends ViewModel {
private LiveData genericLiveData;
public <T> LiveData<T> getGenericLiveData(Context context, GenericDataLoader<T> func) {
if (genericLiveData == null) {
genericLiveData = new GenericLiveData<>(context, DatabaseNotifyManager.getNotifyUriAllKeys(), func);
}
// noinspection unchecked
return genericLiveData;
}
}