aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/SubscribedUserDatabase
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/SubscribedUserDatabase')
-rw-r--r--app/src/main/java/SubscribedUserDatabase/SubscribedUserDao.java27
-rw-r--r--app/src/main/java/SubscribedUserDatabase/SubscribedUserData.java45
-rw-r--r--app/src/main/java/SubscribedUserDatabase/SubscribedUserRepository.java42
-rw-r--r--app/src/main/java/SubscribedUserDatabase/SubscribedUserViewModel.java50
4 files changed, 0 insertions, 164 deletions
diff --git a/app/src/main/java/SubscribedUserDatabase/SubscribedUserDao.java b/app/src/main/java/SubscribedUserDatabase/SubscribedUserDao.java
deleted file mode 100644
index 513a1ea4..00000000
--- a/app/src/main/java/SubscribedUserDatabase/SubscribedUserDao.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package SubscribedUserDatabase;
-
-import androidx.lifecycle.LiveData;
-import androidx.room.Dao;
-import androidx.room.Insert;
-import androidx.room.OnConflictStrategy;
-import androidx.room.Query;
-
-import java.util.List;
-
-@Dao
-public interface SubscribedUserDao {
- @Insert(onConflict = OnConflictStrategy.REPLACE)
- void insert(SubscribedUserData subscribedUserData);
-
- @Query("DELETE FROM subscribed_users")
- void deleteAllSubscribedUsers();
-
- @Query("SELECT * FROM subscribed_users WHERE username = :accountName ORDER BY name COLLATE NOCASE ASC")
- LiveData<List<SubscribedUserData>> getAllSubscribedUsers(String accountName);
-
- @Query("SELECT * FROM subscribed_users WHERE name = :name AND username = :accountName COLLATE NOCASE LIMIT 1")
- SubscribedUserData getSubscribedUser(String name, String accountName);
-
- @Query("DELETE FROM subscribed_users WHERE name = :name AND username = :accountName")
- void deleteSubscribedUser(String name, String accountName);
-}
diff --git a/app/src/main/java/SubscribedUserDatabase/SubscribedUserData.java b/app/src/main/java/SubscribedUserDatabase/SubscribedUserData.java
deleted file mode 100644
index 8ea89e04..00000000
--- a/app/src/main/java/SubscribedUserDatabase/SubscribedUserData.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package SubscribedUserDatabase;
-
-import androidx.annotation.NonNull;
-import androidx.room.ColumnInfo;
-import androidx.room.Entity;
-import androidx.room.ForeignKey;
-import androidx.room.PrimaryKey;
-
-import Account.Account;
-
-@Entity(tableName = "subscribed_users", foreignKeys = @ForeignKey(entity = Account.class, parentColumns = "username",
- childColumns = "username", onDelete = ForeignKey.CASCADE))
-public class SubscribedUserData {
- @PrimaryKey
- @NonNull
- @ColumnInfo(name = "name")
- private String name;
- @ColumnInfo(name = "icon")
- private String iconUrl;
- @ColumnInfo(name = "username")
- private String username;
-
- public SubscribedUserData(@NonNull String name, String iconUrl, String username) {
- this.name = name;
- this.iconUrl = iconUrl;
- this.username = username;
- }
-
- @NonNull
- public String getName() {
- return name;
- }
-
- public String getIconUrl() {
- return iconUrl;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public String getUsername() {
- return username;
- }
-}
diff --git a/app/src/main/java/SubscribedUserDatabase/SubscribedUserRepository.java b/app/src/main/java/SubscribedUserDatabase/SubscribedUserRepository.java
deleted file mode 100644
index eb588958..00000000
--- a/app/src/main/java/SubscribedUserDatabase/SubscribedUserRepository.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package SubscribedUserDatabase;
-
-import android.os.AsyncTask;
-
-import androidx.lifecycle.LiveData;
-
-import java.util.List;
-
-import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
-
-public class SubscribedUserRepository {
- private SubscribedUserDao mSubscribedUserDao;
- private LiveData<List<SubscribedUserData>> mAllSubscribedUsers;
-
- SubscribedUserRepository(RedditDataRoomDatabase redditDataRoomDatabase, String accountName) {
- mSubscribedUserDao = redditDataRoomDatabase.subscribedUserDao();
- mAllSubscribedUsers = mSubscribedUserDao.getAllSubscribedUsers(accountName);
- }
-
- LiveData<List<SubscribedUserData>> getAllSubscribedSubreddits() {
- return mAllSubscribedUsers;
- }
-
- public void insert(SubscribedUserData subscribedUserData) {
- new SubscribedUserRepository.insertAsyncTask(mSubscribedUserDao).execute(subscribedUserData);
- }
-
- private static class insertAsyncTask extends AsyncTask<SubscribedUserData, Void, Void> {
-
- private SubscribedUserDao mAsyncTaskDao;
-
- insertAsyncTask(SubscribedUserDao dao) {
- mAsyncTaskDao = dao;
- }
-
- @Override
- protected Void doInBackground(final SubscribedUserData... params) {
- mAsyncTaskDao.insert(params[0]);
- return null;
- }
- }
-}
diff --git a/app/src/main/java/SubscribedUserDatabase/SubscribedUserViewModel.java b/app/src/main/java/SubscribedUserDatabase/SubscribedUserViewModel.java
deleted file mode 100644
index 387c918c..00000000
--- a/app/src/main/java/SubscribedUserDatabase/SubscribedUserViewModel.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package SubscribedUserDatabase;
-
-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 SubscribedUserViewModel extends AndroidViewModel {
- private SubscribedUserRepository mSubscribedUserRepository;
- private LiveData<List<SubscribedUserData>> mAllSubscribedUsers;
-
- public SubscribedUserViewModel(Application application, RedditDataRoomDatabase redditDataRoomDatabase, String accountName) {
- super(application);
- mSubscribedUserRepository = new SubscribedUserRepository(redditDataRoomDatabase, accountName);
- mAllSubscribedUsers = mSubscribedUserRepository.getAllSubscribedSubreddits();
- }
-
- public LiveData<List<SubscribedUserData>> getAllSubscribedUsers() {
- return mAllSubscribedUsers;
- }
-
- public void insert(SubscribedUserData subscribedUserData) {
- mSubscribedUserRepository.insert(subscribedUserData);
- }
-
- public static class Factory extends ViewModelProvider.NewInstanceFactory {
- private Application mApplication;
- private RedditDataRoomDatabase mRedditDataRoomDatabase;
- private String mAccountName;
-
- public Factory(Application application, RedditDataRoomDatabase redditDataRoomDatabase, String accountName) {
- mApplication = application;
- mRedditDataRoomDatabase = redditDataRoomDatabase;
- mAccountName = accountName;
- }
-
- @NonNull
- @Override
- public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
- return (T) new SubscribedUserViewModel(mApplication, mRedditDataRoomDatabase, mAccountName);
- }
- }
-}