aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/SubredditDatabase/SubredditRepository.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/SubredditDatabase/SubredditRepository.java')
-rw-r--r--app/src/main/java/SubredditDatabase/SubredditRepository.java43
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;
+ }
+ }
+}