Move all account related files to a specific package

This commit is contained in:
Shinokuni 2019-08-21 22:02:57 +02:00
parent c271d0b584
commit 1507e55249
32 changed files with 116 additions and 105 deletions

View File

@ -12,7 +12,8 @@ import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.readrops.app.R;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.account.AccountType;
import com.readrops.app.databinding.ActivityAccountTypeListBinding;
import com.readrops.app.utils.Utils;
import com.readrops.app.viewmodels.AccountViewModel;
@ -46,7 +47,7 @@ public class AccountTypeListActivity extends AppCompatActivity {
fromMainActivity = getIntent().getBooleanExtra("fromMainActivity", false);
adapter = new AccountTypeListAdapter(accountType -> {
if (!(accountType == Account.AccountType.LOCAL)) {
if (!(accountType == AccountType.LOCAL)) {
Intent intent = new Intent(getApplicationContext(), AddAccountActivity.class);
if (fromMainActivity)
@ -65,17 +66,17 @@ public class AccountTypeListActivity extends AppCompatActivity {
adapter.setAccountTypes(getData());
}
private List<Account.AccountType> getData() {
List<Account.AccountType> accountTypes = new ArrayList<>();
private List<AccountType> getData() {
List<AccountType> accountTypes = new ArrayList<>();
accountTypes.add(Account.AccountType.LOCAL);
accountTypes.add(Account.AccountType.NEXTCLOUD_NEWS);
accountTypes.add(Account.AccountType.FRESHRSS);
accountTypes.add(AccountType.LOCAL);
accountTypes.add(AccountType.NEXTCLOUD_NEWS);
accountTypes.add(AccountType.FRESHRSS);
return accountTypes;
}
private void createNewLocalAccount(Account.AccountType accountType) {
private void createNewLocalAccount(AccountType accountType) {
Account account = new Account(null, getString(accountType.getName()), accountType);
account.setCurrentAccount(true);

View File

@ -10,7 +10,8 @@ import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.ViewModelProviders;
import com.readrops.app.R;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.account.AccountType;
import com.readrops.app.databinding.ActivityAddAccountBinding;
import com.readrops.app.utils.SharedPreferencesManager;
import com.readrops.app.utils.Utils;
@ -30,7 +31,7 @@ public class AddAccountActivity extends AppCompatActivity {
private ActivityAddAccountBinding binding;
private AccountViewModel viewModel;
private Account.AccountType accountType;
private AccountType accountType;
private boolean forwardResult, editAccount;
private Account accountToEdit;

View File

@ -25,7 +25,7 @@ import com.google.android.material.textfield.TextInputEditText;
import com.mikepenz.fastadapter.FastAdapter;
import com.mikepenz.fastadapter.adapters.ItemAdapter;
import com.readrops.app.R;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.utils.FeedInsertionResult;
import com.readrops.app.utils.ParsingResult;

View File

@ -37,7 +37,8 @@ import com.mikepenz.materialdrawer.model.SecondaryDrawerItem;
import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem;
import com.readrops.app.R;
import com.readrops.app.adapters.MainItemListAdapter;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.account.AccountType;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Folder;
import com.readrops.app.database.pojo.ItemWithFeed;
@ -309,7 +310,7 @@ public class MainActivity extends AppCompatActivity implements SwipeRefreshLayou
menu.findItem(R.id.item_mark_read).setVisible(!itemWithFeed.getItem().isRead());
menu.findItem(R.id.item_mark_unread).setVisible(itemWithFeed.getItem().isRead());
menu.findItem(R.id.item_select_all).setVisible(!(viewModel.getCurrentAccount()
.is(Account.AccountType.FRESHRSS)));
.is(AccountType.FRESHRSS)));
return true;
}

View File

@ -16,7 +16,7 @@ import androidx.viewpager.widget.ViewPager;
import com.afollestad.materialdialogs.MaterialDialog;
import com.readrops.app.R;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Folder;
import com.readrops.app.databinding.ActivityManageFeedsFoldersBinding;
import com.readrops.app.fragments.FeedsFragment;
@ -82,7 +82,7 @@ public class ManageFeedsFoldersActivity extends AppCompatActivity {
public boolean onCreateOptionsMenu(Menu menu) {
if (account.getAccountType().getAccountConfig().isFolderCreation())
getMenuInflater().inflate(R.menu.feeds_menu, menu);
return super.onCreateOptionsMenu(menu);
}

View File

@ -6,7 +6,7 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import com.readrops.app.R;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.fragments.settings.AccountSettingsFragment;
public class SettingsActivity extends AppCompatActivity {

View File

@ -12,7 +12,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.readrops.app.R;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import java.util.List;

View File

@ -8,14 +8,14 @@ import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView;
import com.readrops.app.R;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.AccountType;
import com.readrops.app.databinding.AccountTypeItemBinding;
import java.util.List;
public class AccountTypeListAdapter extends RecyclerView.Adapter<AccountTypeListAdapter.AccountTypeViewHolder> {
private List<Account.AccountType> accountTypes;
private List<AccountType> accountTypes;
private OnItemClickListener listener;
public AccountTypeListAdapter(OnItemClickListener listener) {
@ -33,7 +33,7 @@ public class AccountTypeListAdapter extends RecyclerView.Adapter<AccountTypeList
@Override
public void onBindViewHolder(@NonNull AccountTypeViewHolder holder, int position) {
Account.AccountType accountType = accountTypes.get(position);
AccountType accountType = accountTypes.get(position);
holder.binding.accountTypeName.setText(accountType.getName());
holder.binding.accountTypeLogo.setImageResource(accountType.getIconRes());
@ -46,13 +46,13 @@ public class AccountTypeListAdapter extends RecyclerView.Adapter<AccountTypeList
return accountTypes.size();
}
public void setAccountTypes(List<Account.AccountType> accountTypes) {
public void setAccountTypes(List<AccountType> accountTypes) {
this.accountTypes = accountTypes;
notifyDataSetChanged();
}
public interface OnItemClickListener {
void onItemClick(Account.AccountType accountType);
void onItemClick(AccountType accountType);
}
public class AccountTypeViewHolder extends RecyclerView.ViewHolder {

View File

@ -2,7 +2,7 @@ package com.readrops.app.database;
import androidx.room.TypeConverter;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.AccountType;
import org.joda.time.LocalDateTime;
@ -19,12 +19,12 @@ public class Converters {
}
@TypeConverter
public Account.AccountType fromAccountTypeCode(int ordinal) {
return Account.AccountType.values()[ordinal];
public AccountType fromAccountTypeCode(int ordinal) {
return AccountType.values()[ordinal];
}
@TypeConverter
public int getAccountTypeCode(Account.AccountType accountType) {
public int getAccountTypeCode(AccountType accountType) {
return accountType.ordinal();
}

View File

@ -10,7 +10,7 @@ import com.readrops.app.database.dao.AccountDao;
import com.readrops.app.database.dao.FeedDao;
import com.readrops.app.database.dao.FolderDao;
import com.readrops.app.database.dao.ItemDao;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Folder;
import com.readrops.app.database.entities.Item;

View File

@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Query;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import java.util.List;

View File

@ -6,7 +6,7 @@ import androidx.room.Dao;
import androidx.room.Query;
import androidx.room.Transaction;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.pojo.FeedWithFolder;

View File

@ -5,7 +5,7 @@ import androidx.room.Dao;
import androidx.room.Query;
import androidx.room.Transaction;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Folder;
import java.util.ArrayList;

View File

@ -11,6 +11,7 @@ import androidx.room.ForeignKey;
import androidx.room.Ignore;
import androidx.room.PrimaryKey;
import com.readrops.app.database.entities.account.Account;
import com.readrops.readropslibrary.localfeed.atom.ATOMFeed;
import com.readrops.readropslibrary.localfeed.json.JSONFeed;
import com.readrops.readropslibrary.localfeed.rss.RSSChannel;

View File

@ -9,6 +9,8 @@ import androidx.room.ForeignKey;
import androidx.room.Ignore;
import androidx.room.PrimaryKey;
import com.readrops.app.database.entities.account.Account;
@Entity(foreignKeys = @ForeignKey(entity = Account.class, parentColumns = "id",
childColumns = "account_id", onDelete = ForeignKey.CASCADE))
public class Folder implements Parcelable, Comparable<Folder> {

View File

@ -1,18 +1,14 @@
package com.readrops.app.database.entities;
package com.readrops.app.database.entities.account;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.DrawableRes;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.Ignore;
import androidx.room.PrimaryKey;
import com.readrops.app.R;
import com.readrops.app.database.AccountConfig;
import com.readrops.readropslibrary.services.Credentials;
import com.readrops.readropslibrary.services.freshrss.FreshRSSCredentials;
import com.readrops.readropslibrary.services.nextcloudnews.NextNewsCredentials;
@ -201,59 +197,6 @@ public class Account implements Parcelable {
dest.writeString(writeToken);
}
public enum AccountType implements Parcelable {
LOCAL(R.drawable.ic_readrops, R.string.local_account, AccountConfig.LOCAL),
NEXTCLOUD_NEWS(R.drawable.ic_nextcloud_news, R.string.nextcloud_news, AccountConfig.NEXTNEWS),
FEEDLY(R.drawable.ic_feedly, R.string.feedly, null),
FRESHRSS(R.drawable.ic_freshrss, R.string.freshrss, AccountConfig.FRESHRSS);
private @DrawableRes int iconRes;
private @StringRes int name;
private AccountConfig accountConfig;
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(ordinal());
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<AccountType> CREATOR = new Creator<AccountType>() {
@Override
public AccountType createFromParcel(Parcel in) {
return AccountType.values()[in.readInt()];
}
@Override
public AccountType[] newArray(int size) {
return new AccountType[size];
}
};
public @DrawableRes
int getIconRes() {
return iconRes;
}
public @StringRes
int getName() {
return name;
}
public AccountConfig getAccountConfig() {
return accountConfig;
}
AccountType(@DrawableRes int iconRes, @StringRes int name, AccountConfig accountConfig) {
this.iconRes = iconRes;
this.name = name;
this.accountConfig = accountConfig;
}
}
public Credentials toCredentials() {
switch (accountType) {
case NEXTCLOUD_NEWS:

View File

@ -1,4 +1,4 @@
package com.readrops.app.database;
package com.readrops.app.database.entities.account;
public class AccountConfig {

View File

@ -0,0 +1,60 @@
package com.readrops.app.database.entities.account;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import com.readrops.app.R;
public enum AccountType implements Parcelable {
LOCAL(R.drawable.ic_readrops, R.string.local_account, AccountConfig.LOCAL),
NEXTCLOUD_NEWS(R.drawable.ic_nextcloud_news, R.string.nextcloud_news, AccountConfig.NEXTNEWS),
FEEDLY(R.drawable.ic_feedly, R.string.feedly, null),
FRESHRSS(R.drawable.ic_freshrss, R.string.freshrss, AccountConfig.FRESHRSS);
private @DrawableRes int iconRes;
private @StringRes int name;
private AccountConfig accountConfig;
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(ordinal());
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<AccountType> CREATOR = new Creator<AccountType>() {
@Override
public AccountType createFromParcel(Parcel in) {
return AccountType.values()[in.readInt()];
}
@Override
public AccountType[] newArray(int size) {
return new AccountType[size];
}
};
public @DrawableRes int getIconRes() {
return iconRes;
}
public @StringRes int getName() {
return name;
}
public AccountConfig getAccountConfig() {
return accountConfig;
}
AccountType(@DrawableRes int iconRes, @StringRes int name, AccountConfig accountConfig) {
this.iconRes = iconRes;
this.name = name;
this.accountConfig = accountConfig;
}
}

View File

@ -16,7 +16,7 @@ import androidx.lifecycle.ViewModelProviders;
import com.google.android.material.textfield.TextInputEditText;
import com.readrops.app.R;
import com.readrops.app.activities.ManageFeedsFoldersActivity;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Folder;
import com.readrops.app.database.pojo.FeedWithFolder;

View File

@ -23,7 +23,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.afollestad.materialdialogs.MaterialDialog;
import com.readrops.app.R;
import com.readrops.app.adapters.FeedsAdapter;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.pojo.FeedWithFolder;
import com.readrops.app.databinding.FragmentFeedsBinding;

View File

@ -19,7 +19,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.afollestad.materialdialogs.MaterialDialog;
import com.readrops.app.R;
import com.readrops.app.activities.ManageFeedsFoldersActivity;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Folder;
import com.readrops.app.databinding.FragmentFoldersBinding;
import com.readrops.app.utils.SharedPreferencesManager;

View File

@ -15,7 +15,7 @@ import com.afollestad.materialdialogs.MaterialDialog;
import com.readrops.app.R;
import com.readrops.app.activities.AddAccountActivity;
import com.readrops.app.activities.ManageFeedsFoldersActivity;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.viewmodels.AccountViewModel;
import io.reactivex.android.schedulers.AndroidSchedulers;

View File

@ -9,7 +9,8 @@ import androidx.annotation.Nullable;
import androidx.palette.graphics.Palette;
import com.readrops.app.database.Database;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.account.AccountType;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Folder;
import com.readrops.app.database.entities.Item;
@ -128,7 +129,7 @@ public abstract class ARepository {
}
}
public static ARepository repositoryFactory(Account account, Account.AccountType accountType, Application application) throws Exception {
public static ARepository repositoryFactory(Account account, AccountType accountType, Application application) throws Exception {
switch (accountType) {
case LOCAL:
return new LocalFeedRepository(application, account);

View File

@ -5,7 +5,7 @@ import android.app.Application;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Folder;
import com.readrops.app.database.entities.Item;

View File

@ -6,7 +6,7 @@ import android.app.Application;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Item;
import com.readrops.app.utils.FeedInsertionResult;

View File

@ -7,7 +7,7 @@ import android.util.TimingLogger;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Folder;
import com.readrops.app.database.entities.Item;

View File

@ -25,7 +25,7 @@ import com.mikepenz.materialdrawer.model.SecondaryDrawerItem;
import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem;
import com.mikepenz.materialdrawer.model.interfaces.IProfile;
import com.readrops.app.R;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Folder;

View File

@ -1,6 +1,6 @@
package com.readrops.app.utils;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.readropslibrary.services.freshrss.json.FreshRSSFeed;
import com.readrops.readropslibrary.services.nextcloudnews.json.NextNewsFeed;

View File

@ -6,7 +6,8 @@ import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
import com.readrops.app.database.Database;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.account.AccountType;
import com.readrops.app.repositories.ARepository;
import io.reactivex.Completable;
@ -23,7 +24,7 @@ public class AccountViewModel extends AndroidViewModel {
database = Database.getInstance(application);
}
public void setAccountType(Account.AccountType accountType) throws Exception {
public void setAccountType(AccountType accountType) throws Exception {
repository = ARepository.repositoryFactory(null, accountType, getApplication());
}

View File

@ -7,7 +7,7 @@ import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData;
import com.readrops.app.database.Database;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.repositories.ARepository;
import com.readrops.app.utils.FeedInsertionResult;
import com.readrops.app.utils.HtmlParser;

View File

@ -12,7 +12,7 @@ import androidx.paging.PagedList;
import com.readrops.app.activities.MainActivity;
import com.readrops.app.database.Database;
import com.readrops.app.database.ItemsListQueryBuilder;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Folder;
import com.readrops.app.database.pojo.ItemWithFeed;

View File

@ -7,7 +7,7 @@ import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData;
import com.readrops.app.database.Database;
import com.readrops.app.database.entities.Account;
import com.readrops.app.database.entities.account.Account;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Folder;
import com.readrops.app.database.pojo.FeedWithFolder;