diff options
author | Alex Ning <chineseperson5@gmail.com> | 2019-08-07 15:28:02 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2019-08-07 15:28:02 +0000 |
commit | 425bc857cfe094d8b9be5815030ef3e6b0cf173d (patch) | |
tree | f1e4240531040bb20c9e840c123f03ce28a5f94e /app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java | |
parent | 7f2bc01180c284154fb69976122016c4638e9973 (diff) | |
download | infinity-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.java | 28 |
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); + } + } } |