aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/Account
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/Account
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/Account')
-rw-r--r--app/src/main/java/Account/Account.java76
-rw-r--r--app/src/main/java/Account/AccountDao.java55
-rw-r--r--app/src/main/java/Account/AccountRepository.java42
-rw-r--r--app/src/main/java/Account/AccountViewModel.java52
4 files changed, 0 insertions, 225 deletions
diff --git a/app/src/main/java/Account/Account.java b/app/src/main/java/Account/Account.java
deleted file mode 100644
index 4ae15741..00000000
--- a/app/src/main/java/Account/Account.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package Account;
-
-import androidx.annotation.NonNull;
-import androidx.room.ColumnInfo;
-import androidx.room.Entity;
-import androidx.room.PrimaryKey;
-
-@Entity(tableName = "accounts")
-public class Account {
- @PrimaryKey
- @NonNull
- @ColumnInfo(name = "username")
- private String username;
- @ColumnInfo(name = "profile_image_url")
- private String profileImageUrl;
- @ColumnInfo(name = "banner_image_url")
- private String bannerImageUrl;
- @ColumnInfo(name = "karma")
- private int karma;
- @ColumnInfo(name = "access_token")
- private String accessToken;
- @ColumnInfo(name = "refresh_token")
- private String refreshToken;
- @ColumnInfo(name = "code")
- private String code;
- @ColumnInfo(name = "is_current_user")
- private boolean isCurrentUser;
-
- public Account(@NonNull String username, String accessToken, String refreshToken, String code,
- String profileImageUrl, String bannerImageUrl, int karma, boolean isCurrentUser) {
- this.username = username;
- this.accessToken = accessToken;
- this.refreshToken = refreshToken;
- this.code = code;
- this.profileImageUrl = profileImageUrl;
- this.bannerImageUrl = bannerImageUrl;
- this.karma = karma;
- this.isCurrentUser = isCurrentUser;
- }
-
- public String getUsername() {
- return username;
- }
-
- public String getProfileImageUrl() {
- return profileImageUrl;
- }
-
- public String getBannerImageUrl() {
- return bannerImageUrl;
- }
-
- public int getKarma() {
- return karma;
- }
-
- public String getAccessToken() {
- return accessToken;
- }
-
- public void setAccessToken(String accessToken) {
- this.accessToken = accessToken;
- }
-
- public String getRefreshToken() {
- return refreshToken;
- }
-
- public String getCode() {
- return code;
- }
-
- public boolean isCurrentUser() {
- return isCurrentUser;
- }
-}
diff --git a/app/src/main/java/Account/AccountDao.java b/app/src/main/java/Account/AccountDao.java
deleted file mode 100644
index 67caf71d..00000000
--- a/app/src/main/java/Account/AccountDao.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package Account;
-
-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 AccountDao {
- @Insert(onConflict = OnConflictStrategy.REPLACE)
- void insert(Account account);
-
- @Query("SELECT * FROM accounts")
- List<Account> getAllAccounts();
-
- @Query("SELECT * FROM accounts WHERE is_current_user = 0")
- List<Account> getAllNonCurrentAccounts();
-
- @Query("UPDATE accounts SET is_current_user = 0 WHERE is_current_user = 1")
- void markAllAccountsNonCurrent();
-
- @Query("DELETE FROM accounts WHERE is_current_user = 1")
- void deleteCurrentAccount();
-
- @Query("DELETE FROM accounts")
- void deleteAllAccounts();
-
- @Query("SELECT * FROM accounts WHERE username = :username COLLATE NOCASE LIMIT 1")
- LiveData<Account> getAccountLiveData(String username);
-
- @Query("SELECT * FROM accounts WHERE username = :username COLLATE NOCASE LIMIT 1")
- Account getAccountData(String username);
-
- @Query("SELECT * FROM accounts WHERE is_current_user = 1 LIMIT 1")
- Account getCurrentAccount();
-
- @Query("SELECT * FROM accounts WHERE is_current_user = 1 LIMIT 1")
- LiveData<Account> getCurrentAccountLiveData();
-
- @Query("UPDATE accounts SET profile_image_url = :profileImageUrl, banner_image_url = :bannerImageUrl, " +
- "karma = :karma WHERE username = :username")
- void updateAccountInfo(String username, String profileImageUrl, String bannerImageUrl, int karma);
-
- @Query("SELECT * FROM accounts WHERE is_current_user = 0 ORDER BY username COLLATE NOCASE ASC")
- LiveData<List<Account>> getAccountsExceptCurrentAccountLiveData();
-
- @Query("UPDATE accounts SET is_current_user = 1 WHERE username = :username")
- void markAccountCurrent(String username);
-
- @Query("UPDATE accounts SET access_token = :accessToken WHERE username = :username")
- void changeAccessToken(String username, String accessToken);
-}
diff --git a/app/src/main/java/Account/AccountRepository.java b/app/src/main/java/Account/AccountRepository.java
deleted file mode 100644
index 573f00f8..00000000
--- a/app/src/main/java/Account/AccountRepository.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package Account;
-
-import android.os.AsyncTask;
-
-import androidx.lifecycle.LiveData;
-
-import java.util.List;
-
-import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
-
-public class AccountRepository {
- private AccountDao mAccountDao;
- private LiveData<List<Account>> mAccountsExceptCurrentAccountLiveData;
-
- AccountRepository(RedditDataRoomDatabase redditDataRoomDatabase, String username) {
- mAccountDao = redditDataRoomDatabase.accountDao();
- mAccountsExceptCurrentAccountLiveData = mAccountDao.getAccountsExceptCurrentAccountLiveData();
- }
-
- public LiveData<List<Account>> getAccountsExceptCurrentAccountLiveData() {
- return mAccountsExceptCurrentAccountLiveData;
- }
-
- public void insert(Account Account) {
- new InsertAsyncTask(mAccountDao).execute(Account);
- }
-
- private static class InsertAsyncTask extends AsyncTask<Account, Void, Void> {
-
- private AccountDao mAsyncTaskDao;
-
- InsertAsyncTask(AccountDao dao) {
- mAsyncTaskDao = dao;
- }
-
- @Override
- protected Void doInBackground(final Account... params) {
- mAsyncTaskDao.insert(params[0]);
- return null;
- }
- }
-}
diff --git a/app/src/main/java/Account/AccountViewModel.java b/app/src/main/java/Account/AccountViewModel.java
deleted file mode 100644
index 53fb0013..00000000
--- a/app/src/main/java/Account/AccountViewModel.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package Account;
-
-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 AccountViewModel extends AndroidViewModel {
- private AccountRepository mAccountRepository;
- private LiveData<List<Account>> mAccountsExceptCurrentAccountLiveData;
-
- public AccountViewModel(Application application, RedditDataRoomDatabase redditDataRoomDatabase, String id) {
- super(application);
- mAccountRepository = new AccountRepository(redditDataRoomDatabase, id);
- mAccountsExceptCurrentAccountLiveData = mAccountRepository.getAccountsExceptCurrentAccountLiveData();
- }
-
- public LiveData<List<Account>> getAccountsExceptCurrentAccountLiveData() {
- return mAccountsExceptCurrentAccountLiveData;
- }
-
- public void insert(Account userData) {
- mAccountRepository.insert(userData);
- }
-
- public static class Factory extends ViewModelProvider.NewInstanceFactory {
-
- @NonNull
- private final Application mApplication;
- private final RedditDataRoomDatabase mRedditDataRoomDatabase;
- private final String mUsername;
-
- public Factory(@NonNull Application application, RedditDataRoomDatabase redditDataRoomDatabase, String username) {
- mApplication = application;
- mRedditDataRoomDatabase = redditDataRoomDatabase;
- mUsername = username;
- }
-
- @Override
- public <T extends ViewModel> T create(Class<T> modelClass) {
- //noinspection unchecked
- return (T) new AccountViewModel(mApplication, mRedditDataRoomDatabase, mUsername);
- }
- }
-}