diff options
Diffstat (limited to 'app/src/main/java/SubredditDatabase/SubredditRepository.java')
-rw-r--r-- | app/src/main/java/SubredditDatabase/SubredditRepository.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/app/src/main/java/SubredditDatabase/SubredditRepository.java b/app/src/main/java/SubredditDatabase/SubredditRepository.java new file mode 100644 index 00000000..20eb617a --- /dev/null +++ b/app/src/main/java/SubredditDatabase/SubredditRepository.java @@ -0,0 +1,43 @@ +package SubredditDatabase; + +import android.app.Application; +import android.arch.lifecycle.LiveData; +import android.os.AsyncTask; + +public class SubredditRepository { + private SubredditDao mSubredditDao; + private LiveData<SubredditData> mSubredditLiveData; + + SubredditRepository(Application application, String value, boolean isId) { + SubredditRoomDatabase db = SubredditRoomDatabase.getDatabase(application); + mSubredditDao = db.subredditDao(); + if(isId) { + mSubredditLiveData = mSubredditDao.getSubredditLiveDataById(value); + } else { + mSubredditLiveData = mSubredditDao.getSubredditLiveDataByNamePrefixed(value); + } + } + + LiveData<SubredditData> getSubredditLiveData() { + return mSubredditLiveData; + } + + public void insert(SubredditData subredditData) { + new SubredditRepository.insertAsyncTask(mSubredditDao).execute(subredditData); + } + + private static class insertAsyncTask extends AsyncTask<SubredditData, Void, Void> { + + private SubredditDao mAsyncTaskDao; + + insertAsyncTask(SubredditDao dao) { + mAsyncTaskDao = dao; + } + + @Override + protected Void doInBackground(final SubredditData... params) { + mAsyncTaskDao.insert(params[0]); + return null; + } + } +} |