Skip to content
This repository was archived by the owner on Jun 27, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
03f4b26
Raise gradle version.
Sep 5, 2018
602d875
Update all dependencies.
Sep 5, 2018
857ff38
#95. Kotlinify EditAccountActivity.
Sep 5, 2018
bba8d27
#95. Move EditAccountActivity to activity.account.edit package.
Sep 5, 2018
a942879
#95. Partly move logic from EditAccountActivity to EditAccountFragment.
Sep 5, 2018
ababa1e
#95. Completely move all logic to EditAccountFragment.
Sep 6, 2018
bc6c4c0
#95. Ongoing refactoring.
Sep 6, 2018
b49d2b1
#95. Add AccountRecordFragment.
Sep 6, 2018
05c19ab
#95. Display account records.
Sep 6, 2018
bd7615d
#95. Rename FragmentAccountRecords to FragmentAccountOperations.
Sep 6, 2018
85e09ab
#95. Kotlinify TransferController.
Sep 10, 2018
710f433
#95. Display transfers as records in account operations.
Sep 10, 2018
3c75b2c
#95. Refactor AccountOperationsFragment.
Sep 10, 2018
7cc5dae
#95. Add tabs to EditAccountActivity.
Sep 10, 2018
db929b8
#95. Add localization.
Sep 10, 2018
6b4b778
#95. Hide FAB when going to Operations tab.
Sep 11, 2018
b622cbd
#95. Updated .travis.yml.
Sep 11, 2018
84e3b7f
Merge pull request #156 from evgenii-kanivets/feature-95_account_oper…
Sep 11, 2018
3e76c15
#150. Add 'Delete' button to backup item view.
Sep 11, 2018
01e5fb2
#150. Implement delete backup listener.
Sep 12, 2018
b4af995
#150. Extract async tasks from BackupController.
Sep 12, 2018
64cae2d
#150. Refactore BackupListener.
Sep 12, 2018
e9c945e
#150. Consolidate OnBackupListener.
Sep 12, 2018
953ca7e
#150. Implement Dropbox backup removal.
Sep 15, 2018
3e396b0
Merge pull request #157 from evgenii-kanivets/feature-150_dropbox_del…
Sep 15, 2018
3bb5ab2
Add 'Removing backup' message.
Sep 15, 2018
24fbc63
#134. Add account goal to EditAccountFragment.
Sep 16, 2018
ea19a2c
#134. Formatting.
Sep 16, 2018
1be7fed
Merge pull request #158 from evgenii-kanivets/feature-134_account_goal
Sep 16, 2018
9fb0339
#153. Add 'NON susbstitution currency' setting.
Sep 16, 2018
1898059
#153. Substitute NON currency in RecordController.
Sep 17, 2018
8015367
#153. Substitute NON currency in AccountController.
Sep 17, 2018
b6924c7
#153. Fine tune CurrencyController.
Sep 17, 2018
1dd6dd4
#153. Fix RecordControllerTest.
Sep 17, 2018
69aab3f
Merge pull request #159 from evgenii-kanivets/feature-153_non_substit…
Sep 17, 2018
69e2186
#155. Fix record layout.
Sep 17, 2018
e824ff1
Merge pull request #160 from evgenii-kanivets/bugfix-155
Sep 17, 2018
6e9450a
Fix tests.
Sep 17, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
#153. Substitute NON currency in AccountController.
  • Loading branch information
Evgenii Kanivets committed Sep 17, 2018
commit 80153679476c101f63edde07affd06a975d00cc0
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ private void setupDefaultAccountPref() {
nonSubstitutionCurrencyPref.setEntries(currencyList.toArray(new String[0]));
nonSubstitutionCurrencyPref.setEntryValues(currencyList.toArray(new String[0]));

String nonSubstitutionCurrency = currencyController.readNonSubstitutionCurrency();
String nonSubstitutionCurrency = preferenceController.readNonSubstitutionCurrency();
nonSubstitutionCurrencyPref.setDefaultValue(nonSubstitutionCurrency);
nonSubstitutionCurrencyPref.setSummary(nonSubstitutionCurrency);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,16 +51,6 @@ public CurrencyController(AccountController accountController, PreferenceControl
return currency;
}

@NonNull public String readNonSubstitutionCurrency() {
// First of all read from Prefs
String currency = preferenceController.readNonSubstitutionCurrency();

// If don't have default currency, use NON
if (currency == null) currency = DbHelper.DEFAULT_ACCOUNT_CURRENCY;

return currency;
}

@NonNull private List<String> fetchCurrencies() {
Set<Currency> toret = new HashSet<>();
Locale[] locs = Locale.getAvailableLocales();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import com.blogspot.e_kanivets.moneytracker.R;

import com.blogspot.e_kanivets.moneytracker.repo.DbHelper;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
Expand Down Expand Up @@ -130,7 +131,7 @@ public long readDefaultAccountId() {
String nonSubstitutionCurrencyPref = context.getString(R.string.pref_non_substitution_currency);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);

return preferences.getString(nonSubstitutionCurrencyPref, null);
return preferences.getString(nonSubstitutionCurrencyPref, DbHelper.DEFAULT_ACCOUNT_CURRENCY);
}

public long readFirstTs() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.blogspot.e_kanivets.moneytracker.entity.data.Account;
import com.blogspot.e_kanivets.moneytracker.entity.data.Record;
import com.blogspot.e_kanivets.moneytracker.entity.data.Transfer;
import com.blogspot.e_kanivets.moneytracker.repo.DbHelper;
import com.blogspot.e_kanivets.moneytracker.repo.base.IRepo;

import java.util.ArrayList;
Expand All @@ -20,8 +21,7 @@
* @author Evgenii Kanivets
*/
public class AccountController extends BaseController<Account> {
@SuppressWarnings("unused")
private static final String TAG = "AccountController";
@SuppressWarnings("unused") private static final String TAG = "AccountController";

private final PreferenceController preferenceController;

Expand All @@ -30,8 +30,22 @@ public AccountController(IRepo<Account> accountRepo, PreferenceController prefer
this.preferenceController = preferenceController;
}

@NonNull
public List<Account> readActiveAccounts() {
@Nullable @Override public Account read(long id) {
return substituteCurrency(super.read(id));
}

@NonNull @Override public List<Account> readAll() {
List<Account> accountList = super.readAll();

List<Account> result = new ArrayList<>();
for (Account account : accountList) {
result.add(substituteCurrency(account));
}

return result;
}

@NonNull public List<Account> readActiveAccounts() {
List<Account> result = new ArrayList<>();

for (Account account : readAll()) {
Expand All @@ -43,8 +57,7 @@ public List<Account> readActiveAccounts() {
return result;
}

@NonNull
public List<Account> readArchivedAccounts() {
@NonNull public List<Account> readArchivedAccounts() {
List<Account> result = new ArrayList<>();

for (Account account : readAll()) {
Expand Down Expand Up @@ -128,15 +141,18 @@ public boolean transferDone(@Nullable Transfer transfer) {
return true;
}

@Nullable
public Account readDefaultAccount() {
@Nullable public Account readDefaultAccount() {
long defaultAccountId = preferenceController.readDefaultAccountId();

if (defaultAccountId == -1) return getFirstAccount();
else {
if (defaultAccountId == -1) {
return getFirstAccount();
} else {
Account account = read(defaultAccountId);
if (account == null) return getFirstAccount();
else return account;
if (account == null) {
return getFirstAccount();
} else {
return account;
}
}
}

Expand All @@ -162,7 +178,23 @@ public boolean restore(@Nullable Account account) {

private Account getFirstAccount() {
List<Account> accountList = readAll();
if (accountList.size() == 0) return null;
else return accountList.get(0);
if (accountList.size() == 0) {
return null;
} else {
return accountList.get(0);
}
}

private Account substituteCurrency(Account account) {
if (account == null) {
return null;
} else {
String currency = account.getCurrency();
if (DbHelper.DEFAULT_ACCOUNT_CURRENCY.equals(currency)) {
currency = preferenceController.readNonSubstitutionCurrency();
}
return new Account(account.getId(), account.getTitle(), account.getCurSum(), currency,
account.getDecimals(), account.getGoal(), account.isArchived(), account.getColor());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

import com.blogspot.e_kanivets.moneytracker.controller.CurrencyController;
import com.blogspot.e_kanivets.moneytracker.controller.PreferenceController;
import com.blogspot.e_kanivets.moneytracker.repo.DbHelper;
import com.blogspot.e_kanivets.moneytracker.controller.base.BaseController;
import com.blogspot.e_kanivets.moneytracker.entity.data.Account;
Expand All @@ -27,14 +27,14 @@ public class RecordController extends BaseController<Record> {

private final CategoryController categoryController;
private final AccountController accountController;
private final CurrencyController currencyController;
private final PreferenceController preferenceController;

public RecordController(IRepo<Record> recordRepo, CategoryController categoryController,
AccountController accountController, CurrencyController currencyController) {
AccountController accountController, PreferenceController preferenceController) {
super(recordRepo);
this.categoryController = categoryController;
this.accountController = accountController;
this.currencyController = currencyController;
this.preferenceController = preferenceController;
}

@Override @SuppressWarnings("SimplifiableIfStatement") public Record create(@Nullable Record record) {
Expand Down Expand Up @@ -110,7 +110,7 @@ record = validateRecord(record);

String currency = record.getCurrency();
if (DbHelper.DEFAULT_ACCOUNT_CURRENCY.equals(currency)) {
currency = currencyController.readNonSubstitutionCurrency();
currency = preferenceController.readNonSubstitutionCurrency();
}

completedRecordList.add(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ public ExchangeRateController providesExchangeRateController(IRepo<ExchangeRate>

@Provides @NonNull @Singleton
public RecordController providesRecordController(IRepo<Record> recordRepo, CategoryController categoryController,
AccountController accountController, CurrencyController currencyController) {
return new RecordController(recordRepo, categoryController, accountController, currencyController);
AccountController accountController, PreferenceController preferenceController) {
return new RecordController(recordRepo, categoryController, accountController, preferenceController);
}

@Provides @NonNull @Singleton public TransferController providesTransferController(IRepo<Transfer> transferRepo,
Expand Down