aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2019-08-07 15:28:02 +0000
committerAlex Ning <chineseperson5@gmail.com>2019-08-07 15:28:02 +0000
commit425bc857cfe094d8b9be5815030ef3e6b0cf173d (patch)
treef1e4240531040bb20c9e840c123f03ce28a5f94e /app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java
parent7f2bc01180c284154fb69976122016c4638e9973 (diff)
downloadinfinity-for-reddit-425bc857cfe094d8b9be5815030ef3e6b0cf173d.tar
infinity-for-reddit-425bc857cfe094d8b9be5815030ef3e6b0cf173d.tar.gz
infinity-for-reddit-425bc857cfe094d8b9be5815030ef3e6b0cf173d.tar.bz2
infinity-for-reddit-425bc857cfe094d8b9be5815030ef3e6b0cf173d.tar.lz
infinity-for-reddit-425bc857cfe094d8b9be5815030ef3e6b0cf173d.tar.xz
infinity-for-reddit-425bc857cfe094d8b9be5815030ef3e6b0cf173d.tar.zst
infinity-for-reddit-425bc857cfe094d8b9be5815030ef3e6b0cf173d.zip
Refactored all the other classes to support multi user. Clearing the app data is required before launching the app.
Diffstat (limited to 'app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java')
-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);
+ }
+ }
}