aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/SubredditDatabase
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/SubredditDatabase')
-rw-r--r--app/src/main/java/SubredditDatabase/SubredditDao.java22
-rw-r--r--app/src/main/java/SubredditDatabase/SubredditData.java58
-rw-r--r--app/src/main/java/SubredditDatabase/SubredditRepository.java40
-rw-r--r--app/src/main/java/SubredditDatabase/SubredditViewModel.java50
4 files changed, 0 insertions, 170 deletions
diff --git a/app/src/main/java/SubredditDatabase/SubredditDao.java b/app/src/main/java/SubredditDatabase/SubredditDao.java
deleted file mode 100644
index b99b8baf..00000000
--- a/app/src/main/java/SubredditDatabase/SubredditDao.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package SubredditDatabase;
-
-import androidx.lifecycle.LiveData;
-import androidx.room.Dao;
-import androidx.room.Insert;
-import androidx.room.OnConflictStrategy;
-import androidx.room.Query;
-
-@Dao
-public interface SubredditDao {
- @Insert(onConflict = OnConflictStrategy.REPLACE)
- void insert(SubredditData SubredditData);
-
- @Query("DELETE FROM subreddits")
- void deleteAllSubreddits();
-
- @Query("SELECT * from subreddits WHERE name = :namePrefixed COLLATE NOCASE LIMIT 1")
- LiveData<SubredditData> getSubredditLiveDataByName(String namePrefixed);
-
- @Query("SELECT * from subreddits WHERE name = :namePrefixed COLLATE NOCASE LIMIT 1")
- SubredditData getSubredditData(String namePrefixed);
-}
diff --git a/app/src/main/java/SubredditDatabase/SubredditData.java b/app/src/main/java/SubredditDatabase/SubredditData.java
deleted file mode 100644
index e1275809..00000000
--- a/app/src/main/java/SubredditDatabase/SubredditData.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package SubredditDatabase;
-
-import androidx.annotation.NonNull;
-import androidx.room.ColumnInfo;
-import androidx.room.Entity;
-import androidx.room.PrimaryKey;
-
-@Entity(tableName = "subreddits")
-public class SubredditData {
- @PrimaryKey
- @NonNull
- @ColumnInfo(name = "id")
- private String id;
- @ColumnInfo(name = "name")
- private String name;
- @ColumnInfo(name = "icon")
- private String iconUrl;
- @ColumnInfo(name = "banner")
- private String bannerUrl;
- @ColumnInfo(name = "description")
- private String description;
- @ColumnInfo(name = "subscribers_count")
- private int nSubscribers;
-
- public SubredditData(@NonNull String id, String name, String iconUrl, String bannerUrl, String description, int nSubscribers) {
- this.id = id;
- this.name = name;
- this.iconUrl = iconUrl;
- this.bannerUrl = bannerUrl;
- this.description = description;
- this.nSubscribers = nSubscribers;
- }
-
- @NonNull
- public String getId() {
- return id;
- }
-
- public String getName() {
- return name;
- }
-
- public String getIconUrl() {
- return iconUrl;
- }
-
- public String getBannerUrl() {
- return bannerUrl;
- }
-
- public String getDescription() {
- return description;
- }
-
- public int getNSubscribers() {
- return nSubscribers;
- }
-}
diff --git a/app/src/main/java/SubredditDatabase/SubredditRepository.java b/app/src/main/java/SubredditDatabase/SubredditRepository.java
deleted file mode 100644
index 2c66ad4b..00000000
--- a/app/src/main/java/SubredditDatabase/SubredditRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package SubredditDatabase;
-
-import android.os.AsyncTask;
-
-import androidx.lifecycle.LiveData;
-
-import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
-
-public class SubredditRepository {
- private SubredditDao mSubredditDao;
- private LiveData<SubredditData> mSubredditLiveData;
-
- SubredditRepository(RedditDataRoomDatabase redditDataRoomDatabase, String subredditName) {
- mSubredditDao = redditDataRoomDatabase.subredditDao();
- mSubredditLiveData = mSubredditDao.getSubredditLiveDataByName(subredditName);
- }
-
- LiveData<SubredditData> getSubredditLiveData() {
- return mSubredditLiveData;
- }
-
- public void insert(SubredditData subredditData) {
- new 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;
- }
- }
-}
diff --git a/app/src/main/java/SubredditDatabase/SubredditViewModel.java b/app/src/main/java/SubredditDatabase/SubredditViewModel.java
deleted file mode 100644
index dc0247d2..00000000
--- a/app/src/main/java/SubredditDatabase/SubredditViewModel.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package SubredditDatabase;
-
-import android.app.Application;
-import androidx.lifecycle.AndroidViewModel;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.ViewModel;
-import androidx.lifecycle.ViewModelProvider;
-import androidx.annotation.NonNull;
-
-import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
-
-public class SubredditViewModel extends AndroidViewModel {
- private SubredditRepository mSubredditRepository;
- private LiveData<SubredditData> mSubredditLiveData;
-
- public SubredditViewModel(Application application, RedditDataRoomDatabase redditDataRoomDatabase, String id) {
- super(application);
- mSubredditRepository = new SubredditRepository(redditDataRoomDatabase, id);
- mSubredditLiveData = mSubredditRepository.getSubredditLiveData();
- }
-
- public LiveData<SubredditData> getSubredditLiveData() {
- return mSubredditLiveData;
- }
-
- public void insert(SubredditData subredditData) {
- mSubredditRepository.insert(subredditData);
- }
-
- public static class Factory extends ViewModelProvider.NewInstanceFactory {
-
- @NonNull
- private final Application mApplication;
- private final RedditDataRoomDatabase mRedditDataRoomDatabase;
- private final String mSubredditName;
-
- public Factory(@NonNull Application application, RedditDataRoomDatabase redditDataRoomDatabase, String subredditname) {
- mApplication = application;
- mRedditDataRoomDatabase = redditDataRoomDatabase;
- mSubredditName = subredditname;
- }
-
- @NonNull
- @Override
- public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
- //noinspection unchecked
- return (T) new SubredditViewModel(mApplication, mRedditDataRoomDatabase, mSubredditName);
- }
- }
-}