aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/SubscribedSubredditDatabase
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2019-09-29 01:49:30 +0000
committerAlex Ning <chineseperson5@gmail.com>2019-09-29 01:49:30 +0000
commit3227e43fc4bc914f8bde1d06017ae16ced3fe278 (patch)
tree4a73e51c771fee9fdb150965990d4400d493f192 /app/src/main/java/SubscribedSubredditDatabase
parent47832e1e91db7e355b8122e1b533966c8df5ddba (diff)
downloadinfinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar.gz
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar.bz2
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar.lz
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar.xz
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar.zst
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.zip
Change project structures.
Diffstat (limited to 'app/src/main/java/SubscribedSubredditDatabase')
-rw-r--r--app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditDao.java27
-rw-r--r--app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditData.java53
-rw-r--r--app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditRepository.java42
-rw-r--r--app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java50
4 files changed, 0 insertions, 172 deletions
diff --git a/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditDao.java b/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditDao.java
deleted file mode 100644
index 6ddaf835..00000000
--- a/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditDao.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package SubscribedSubredditDatabase;
-
-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 SubscribedSubredditDao {
- @Insert(onConflict = OnConflictStrategy.REPLACE)
- void insert(SubscribedSubredditData subscribedSubredditData);
-
- @Query("DELETE FROM subscribed_subreddits")
- void deleteAllSubscribedSubreddits();
-
- @Query("SELECT * from subscribed_subreddits WHERE username = :accountName ORDER BY name COLLATE NOCASE ASC")
- LiveData<List<SubscribedSubredditData>> getAllSubscribedSubreddits(String accountName);
-
- @Query("SELECT * from subscribed_subreddits WHERE name = :subredditName AND username = :accountName COLLATE NOCASE LIMIT 1")
- SubscribedSubredditData getSubscribedSubreddit(String subredditName, String accountName);
-
- @Query("DELETE FROM subscribed_subreddits WHERE name = :subredditName AND username = :accountName")
- void deleteSubscribedSubreddit(String subredditName, String accountName);
-}
diff --git a/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditData.java b/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditData.java
deleted file mode 100644
index bf2a87b8..00000000
--- a/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditData.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package SubscribedSubredditDatabase;
-
-import androidx.room.ColumnInfo;
-import androidx.room.Entity;
-import androidx.room.ForeignKey;
-import androidx.room.PrimaryKey;
-import androidx.annotation.NonNull;
-
-import Account.Account;
-
-@Entity(tableName = "subscribed_subreddits", foreignKeys = @ForeignKey(entity = Account.class, parentColumns = "username",
- childColumns = "username", onDelete = ForeignKey.CASCADE))
-public class SubscribedSubredditData {
-
- @PrimaryKey
- @NonNull
- @ColumnInfo(name = "id")
- private String id;
- @ColumnInfo(name = "name")
- private String name;
- @ColumnInfo(name = "icon")
- private String iconUrl;
- @ColumnInfo(name = "username")
- private String username;
-
- public SubscribedSubredditData(@NonNull String id, String name, String iconUrl, String username) {
- this.id = id;
- this.name = name;
- this.iconUrl = iconUrl;
- this.username = username;
- }
-
- @NonNull
- public String getId() {
- return id;
- }
-
- 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/SubscribedSubredditDatabase/SubscribedSubredditRepository.java b/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditRepository.java
deleted file mode 100644
index 1cbf8824..00000000
--- a/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditRepository.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package SubscribedSubredditDatabase;
-
-import android.os.AsyncTask;
-
-import androidx.lifecycle.LiveData;
-
-import java.util.List;
-
-import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
-
-public class SubscribedSubredditRepository {
- private SubscribedSubredditDao mSubscribedSubredditDao;
- private LiveData<List<SubscribedSubredditData>> mAllSubscribedSubreddits;
-
- SubscribedSubredditRepository(RedditDataRoomDatabase redditDataRoomDatabase, String accountName) {
- mSubscribedSubredditDao = redditDataRoomDatabase.subscribedSubredditDao();
- mAllSubscribedSubreddits = mSubscribedSubredditDao.getAllSubscribedSubreddits(accountName);
- }
-
- LiveData<List<SubscribedSubredditData>> getAllSubscribedSubreddits() {
- return mAllSubscribedSubreddits;
- }
-
- public void insert(SubscribedSubredditData subscribedSubredditData) {
- new insertAsyncTask(mSubscribedSubredditDao).execute(subscribedSubredditData);
- }
-
- private static class insertAsyncTask extends AsyncTask<SubscribedSubredditData, Void, Void> {
-
- private SubscribedSubredditDao mAsyncTaskDao;
-
- insertAsyncTask(SubscribedSubredditDao dao) {
- mAsyncTaskDao = dao;
- }
-
- @Override
- protected Void doInBackground(final SubscribedSubredditData... params) {
- mAsyncTaskDao.insert(params[0]);
- return null;
- }
- }
-}
diff --git a/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java b/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java
deleted file mode 100644
index d062f9d9..00000000
--- a/app/src/main/java/SubscribedSubredditDatabase/SubscribedSubredditViewModel.java
+++ /dev/null
@@ -1,50 +0,0 @@
-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, RedditDataRoomDatabase redditDataRoomDatabase, String accountName) {
- super(application);
- mSubscribedSubredditRepository = new SubscribedSubredditRepository(redditDataRoomDatabase, accountName);
- mAllSubscribedSubreddits = mSubscribedSubredditRepository.getAllSubscribedSubreddits();
- }
-
- public LiveData<List<SubscribedSubredditData>> getAllSubscribedSubreddits() {
- return mAllSubscribedSubreddits;
- }
-
- 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);
- }
- }
-}