aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/User/UserRepository.java
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--app/src/main/java/User/UserRepository.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/app/src/main/java/User/UserRepository.java b/app/src/main/java/User/UserRepository.java
new file mode 100644
index 00000000..d505db2b
--- /dev/null
+++ b/app/src/main/java/User/UserRepository.java
@@ -0,0 +1,39 @@
+package User;
+
+import android.app.Application;
+import android.arch.lifecycle.LiveData;
+import android.os.AsyncTask;
+
+public class UserRepository {
+ private UserDao mUserDao;
+ private LiveData<UserData> mUserLiveData;
+
+ UserRepository(Application application, String userName) {
+ mUserDao = UserRoomDatabase.getDatabase(application).userDao();
+
+ mUserLiveData = mUserDao.getUserLiveData(userName);
+ }
+
+ LiveData<UserData> getUserLiveData() {
+ return mUserLiveData;
+ }
+
+ public void insert(UserData userData) {
+ new InsertAsyncTask(mUserDao).execute(userData);
+ }
+
+ private static class InsertAsyncTask extends AsyncTask<UserData, Void, Void> {
+
+ private UserDao mAsyncTaskDao;
+
+ InsertAsyncTask(UserDao dao) {
+ mAsyncTaskDao = dao;
+ }
+
+ @Override
+ protected Void doInBackground(final UserData... params) {
+ mAsyncTaskDao.insert(params[0]);
+ return null;
+ }
+ }
+}