aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java28
1 files changed, 26 insertions, 2 deletions
diff --git a/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java b/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java
index 9ed8ac93..d062f9d9 100644
--- a/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java
+++ b/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java
@@ -1,18 +1,24 @@
package SubscribedSubredditDatabase;
import android.app.Application;
+
+import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData;
+import androidx.lifecycle.ViewModel;
+import androidx.lifecycle.ViewModelProvider;
import java.util.List;
+import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
+
public class SubscribedSubredditViewModel extends AndroidViewModel {
private SubscribedSubredditRepository mSubscribedSubredditRepository;
private LiveData<List<SubscribedSubredditData>> mAllSubscribedSubreddits;
- public SubscribedSubredditViewModel(Application application) {
+ public SubscribedSubredditViewModel(Application application, RedditDataRoomDatabase redditDataRoomDatabase, String accountName) {
super(application);
- mSubscribedSubredditRepository = new SubscribedSubredditRepository(application);
+ mSubscribedSubredditRepository = new SubscribedSubredditRepository(redditDataRoomDatabase, accountName);
mAllSubscribedSubreddits = mSubscribedSubredditRepository.getAllSubscribedSubreddits();
}
@@ -23,4 +29,22 @@ public class SubscribedSubredditViewModel extends AndroidViewModel {
public void insert(SubscribedSubredditData subscribedSubredditData) {
mSubscribedSubredditRepository.insert(subscribedSubredditData);
}
+
+ public static class Factory extends ViewModelProvider.NewInstanceFactory {
+ private Application mApplication;
+ private RedditDataRoomDatabase mRedditDataRoomDatabase;
+ private String mAccountName;
+
+ public Factory(Application application, RedditDataRoomDatabase redditDataRoomDatabase, String accountName) {
+ this.mApplication = application;
+ this.mRedditDataRoomDatabase = redditDataRoomDatabase;
+ this.mAccountName = accountName;
+ }
+
+ @NonNull
+ @Override
+ public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
+ return (T) new SubscribedSubredditViewModel(mApplication, mRedditDataRoomDatabase, mAccountName);
+ }
+ }
}