diff options
author | Alex Ning <chineseperson5@gmail.com> | 2019-09-29 01:49:30 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2019-09-29 01:49:30 +0000 |
commit | 3227e43fc4bc914f8bde1d06017ae16ced3fe278 (patch) | |
tree | 4a73e51c771fee9fdb150965990d4400d493f192 /app/src/main/java/SubredditDatabase | |
parent | 47832e1e91db7e355b8122e1b533966c8df5ddba (diff) | |
download | infinity-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/SubredditDatabase')
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); - } - } -} |