package ml.docilealligator.infinityforreddit.subreddit; import androidx.annotation.NonNull; import androidx.lifecycle.LiveData; import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModelProvider; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; public class SubredditViewModel extends ViewModel { private final SubredditRepository mSubredditRepository; private final LiveData mSubredditLiveData; public SubredditViewModel(RedditDataRoomDatabase redditDataRoomDatabase, String id) { mSubredditRepository = new SubredditRepository(redditDataRoomDatabase, id); mSubredditLiveData = mSubredditRepository.getSubredditLiveData(); } public LiveData getSubredditLiveData() { return mSubredditLiveData; } public void insert(SubredditData subredditData) { mSubredditRepository.insert(subredditData); } public static class Factory extends ViewModelProvider.NewInstanceFactory { private final RedditDataRoomDatabase mRedditDataRoomDatabase; private final String mSubredditName; public Factory(RedditDataRoomDatabase redditDataRoomDatabase, String subredditname) { mRedditDataRoomDatabase = redditDataRoomDatabase; mSubredditName = subredditname; } @NonNull @Override public T create(@NonNull Class modelClass) { //noinspection return (T) new SubredditViewModel(mRedditDataRoomDatabase, mSubredditName); } } }