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/SubscribedUserDatabase | |
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/SubscribedUserDatabase')
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); - } - } -} |