From 807ddf5a6e595d2368579008bb8132296be54ea2 Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Thu, 27 Dec 2018 13:54:19 +0800 Subject: Move several classes to other packages. --- .../java/SubredditDatabase/SubredditViewModel.java | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 app/src/main/java/SubredditDatabase/SubredditViewModel.java (limited to 'app/src/main/java/SubredditDatabase/SubredditViewModel.java') diff --git a/app/src/main/java/SubredditDatabase/SubredditViewModel.java b/app/src/main/java/SubredditDatabase/SubredditViewModel.java new file mode 100644 index 00000000..10135401 --- /dev/null +++ b/app/src/main/java/SubredditDatabase/SubredditViewModel.java @@ -0,0 +1,48 @@ +package SubredditDatabase; + +import android.app.Application; +import android.arch.lifecycle.AndroidViewModel; +import android.arch.lifecycle.LiveData; +import android.arch.lifecycle.ViewModel; +import android.arch.lifecycle.ViewModelProvider; +import android.support.annotation.NonNull; + +public class SubredditViewModel extends AndroidViewModel { + private SubredditRepository mSubredditRepository; + private LiveData mSubredditLiveData; + + SubredditViewModel(Application application, String id, boolean isId) { + super(application); + mSubredditRepository = new SubredditRepository(application, id, isId); + mSubredditLiveData = mSubredditRepository.getSubredditLiveData(); + } + + public LiveData getSubredditLiveData() { + return mSubredditLiveData; + } + + public void insert(SubredditData subredditData) { + mSubredditRepository.insert(subredditData); + } + + public static class Factory extends ViewModelProvider.NewInstanceFactory { + + @NonNull + private final Application mApplication; + + private final String value; + private final boolean isId; + + public Factory(@NonNull Application application, String value, boolean isId) { + mApplication = application; + this.value = value; + this.isId = isId; + } + + @Override + public T create(Class modelClass) { + //noinspection unchecked + return (T) new SubredditViewModel(mApplication, value, isId); + } + } +} -- cgit v1.2.3