diff options
author | Alex Ning <chineseperson5@gmail.com> | 2019-01-07 11:03:49 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2019-01-07 11:03:49 +0000 |
commit | 38be0ba01f6dd08c0be1a830e0d0389405949a56 (patch) | |
tree | b083cf58f4737060f2f18ccabd4770e86ac58ccf /app/src/main/java/SubredditDatabase | |
parent | 9d729579bf7ea9e179774766c02ddae105d4ccd7 (diff) | |
download | infinity-for-reddit-38be0ba01f6dd08c0be1a830e0d0389405949a56.tar infinity-for-reddit-38be0ba01f6dd08c0be1a830e0d0389405949a56.tar.gz infinity-for-reddit-38be0ba01f6dd08c0be1a830e0d0389405949a56.tar.bz2 infinity-for-reddit-38be0ba01f6dd08c0be1a830e0d0389405949a56.tar.lz infinity-for-reddit-38be0ba01f6dd08c0be1a830e0d0389405949a56.tar.xz infinity-for-reddit-38be0ba01f6dd08c0be1a830e0d0389405949a56.tar.zst infinity-for-reddit-38be0ba01f6dd08c0be1a830e0d0389405949a56.zip |
New feature: Subscribe or unsubscribe to a subreddit. Allow clear text traffic in Android Pie. Rewrite some code in lambda.
Diffstat (limited to 'app/src/main/java/SubredditDatabase')
4 files changed, 15 insertions, 48 deletions
diff --git a/app/src/main/java/SubredditDatabase/SubredditDao.java b/app/src/main/java/SubredditDatabase/SubredditDao.java index e7b564f7..ac291f9a 100644 --- a/app/src/main/java/SubredditDatabase/SubredditDao.java +++ b/app/src/main/java/SubredditDatabase/SubredditDao.java @@ -14,11 +14,8 @@ public interface SubredditDao { @Query("DELETE FROM subreddits") void deleteAllSubreddits(); - @Query("SELECT * from subreddits WHERE id = :id") - LiveData<SubredditData> getSubredditLiveDataById(String id); - @Query("SELECT * from subreddits WHERE name = :namePrefixed") - LiveData<SubredditData> getSubredditLiveDataByNamePrefixed(String namePrefixed); + LiveData<SubredditData> getSubredditLiveDataByName(String namePrefixed); @Query("SELECT * from subreddits WHERE name = :namePrefixed LIMIT 1") SubredditData getSubredditData(String namePrefixed); diff --git a/app/src/main/java/SubredditDatabase/SubredditData.java b/app/src/main/java/SubredditDatabase/SubredditData.java index bbd9f7d8..973eda18 100644 --- a/app/src/main/java/SubredditDatabase/SubredditData.java +++ b/app/src/main/java/SubredditDatabase/SubredditData.java @@ -2,23 +2,13 @@ package SubredditDatabase; import android.arch.persistence.room.ColumnInfo; import android.arch.persistence.room.Entity; -import android.arch.persistence.room.PrimaryKey; import android.support.annotation.NonNull; -@Entity(tableName = "subreddits") -public class SubredditData { - @PrimaryKey - @NonNull - @ColumnInfo(name = "id") - private String id; - - @ColumnInfo(name = "name") - private String name; - - @ColumnInfo(name = "icon_url") - private String iconUrl; +import SubscribedSubredditDatabase.SubscribedSubredditData; - @ColumnInfo(name = "banner_url") +@Entity(tableName = "subreddits") +public class SubredditData extends SubscribedSubredditData { + @ColumnInfo(name = "banner") private String bannerUrl; @ColumnInfo(name = "description") @@ -28,27 +18,12 @@ public class SubredditData { 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; + super(id, name, 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; } diff --git a/app/src/main/java/SubredditDatabase/SubredditRepository.java b/app/src/main/java/SubredditDatabase/SubredditRepository.java index 20eb617a..495f6e3d 100644 --- a/app/src/main/java/SubredditDatabase/SubredditRepository.java +++ b/app/src/main/java/SubredditDatabase/SubredditRepository.java @@ -8,14 +8,11 @@ public class SubredditRepository { private SubredditDao mSubredditDao; private LiveData<SubredditData> mSubredditLiveData; - SubredditRepository(Application application, String value, boolean isId) { + SubredditRepository(Application application, String subredditName) { SubredditRoomDatabase db = SubredditRoomDatabase.getDatabase(application); mSubredditDao = db.subredditDao(); - if(isId) { - mSubredditLiveData = mSubredditDao.getSubredditLiveDataById(value); - } else { - mSubredditLiveData = mSubredditDao.getSubredditLiveDataByNamePrefixed(value); - } + + mSubredditLiveData = mSubredditDao.getSubredditLiveDataByName(subredditName); } LiveData<SubredditData> getSubredditLiveData() { diff --git a/app/src/main/java/SubredditDatabase/SubredditViewModel.java b/app/src/main/java/SubredditDatabase/SubredditViewModel.java index 10135401..a9d176b3 100644 --- a/app/src/main/java/SubredditDatabase/SubredditViewModel.java +++ b/app/src/main/java/SubredditDatabase/SubredditViewModel.java @@ -11,9 +11,9 @@ public class SubredditViewModel extends AndroidViewModel { private SubredditRepository mSubredditRepository; private LiveData<SubredditData> mSubredditLiveData; - SubredditViewModel(Application application, String id, boolean isId) { + SubredditViewModel(Application application, String id) { super(application); - mSubredditRepository = new SubredditRepository(application, id, isId); + mSubredditRepository = new SubredditRepository(application, id); mSubredditLiveData = mSubredditRepository.getSubredditLiveData(); } @@ -30,19 +30,17 @@ public class SubredditViewModel extends AndroidViewModel { @NonNull private final Application mApplication; - private final String value; - private final boolean isId; + private final String subredditName; - public Factory(@NonNull Application application, String value, boolean isId) { + public Factory(@NonNull Application application, String subredditName) { mApplication = application; - this.value = value; - this.isId = isId; + this.subredditName = subredditName; } @Override public <T extends ViewModel> T create(Class<T> modelClass) { //noinspection unchecked - return (T) new SubredditViewModel(mApplication, value, isId); + return (T) new SubredditViewModel(mApplication, subredditName); } } } |