Skip to content

Commit

Permalink
Fixes codinguser#869 - Replace use of fetchAccountsOrderedByFullName(…
Browse files Browse the repository at this point in the history
…) by fetchAccountsOrderedByFavoriteAndFullName()
  • Loading branch information
JeanGarf committed Jan 15, 2020
1 parent db3c0cd commit bac5fb4
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -575,8 +575,8 @@ private void loadDefaultTransferAccountList(){
+ " AND " + DatabaseSchema.AccountEntry.COLUMN_HIDDEN + "=0"
+ " AND " + DatabaseSchema.AccountEntry.COLUMN_TYPE + " != ?";

Cursor defaultTransferAccountCursor = mAccountsDbAdapter.fetchAccountsOrderedByFullName(condition,
new String[]{AccountType.ROOT.name()});
Cursor defaultTransferAccountCursor = mAccountsDbAdapter.fetchAccountsOrderedByFavoriteAndFullName(condition,
new String[]{AccountType.ROOT.name()});

if (mDefaultTransferAccountSpinner.getCount() <= 0) {
setDefaultTransferAccountInputsVisible(false);
Expand Down Expand Up @@ -611,7 +611,7 @@ private void loadParentAccountList(AccountType accountType){
if (mParentAccountCursor != null)
mParentAccountCursor.close();

mParentAccountCursor = mAccountsDbAdapter.fetchAccountsOrderedByFullName(condition, null);
mParentAccountCursor = mAccountsDbAdapter.fetchAccountsOrderedByFavoriteAndFullName(condition, null);
final View view = getView();
assert view != null;
if (mParentAccountCursor.getCount() <= 0){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,10 @@ public void onActivityCreated(Bundle savedInstanceState) {
+ DatabaseSchema.AccountEntry.COLUMN_PLACEHOLDER + " = 0 AND "
+ DatabaseSchema.AccountEntry.COLUMN_UID + " NOT IN ('" + TextUtils.join("','", descendantAccountUIDs) + "')"
+ ")";
Cursor cursor = accountsDbAdapter.fetchAccountsOrderedByFullName(transactionDeleteConditions,
new String[]{mOriginAccountUID, currencyCode, accountType.name()});
Cursor cursor = accountsDbAdapter.fetchAccountsOrderedByFavoriteAndFullName(transactionDeleteConditions,
new String[]{mOriginAccountUID,
currencyCode,
accountType.name()});

SimpleCursorAdapter mCursorAdapter = new QualifiedAccountNameCursorAdapter(getActivity(), cursor);
mTransactionsDestinationAccountSpinner.setAdapter(mCursorAdapter);
Expand All @@ -160,8 +162,11 @@ public void onActivityCreated(Bundle savedInstanceState) {
+ DatabaseSchema.AccountEntry.COLUMN_TYPE + " = ? AND "
+ DatabaseSchema.AccountEntry.COLUMN_UID + " NOT IN ('" + TextUtils.join("','", descendantAccountUIDs) + "')"
+ ")";
cursor = accountsDbAdapter.fetchAccountsOrderedByFullName(accountMoveConditions,
new String[]{mOriginAccountUID, currencyCode, accountType.name()});
cursor = accountsDbAdapter.fetchAccountsOrderedByFavoriteAndFullName(accountMoveConditions,
new String[]{mOriginAccountUID,
currencyCode,
accountType.name()});

mCursorAdapter = new QualifiedAccountNameCursorAdapter(getActivity(), cursor);
mAccountsDestinationAccountSpinner.setAdapter(mCursorAdapter);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,12 @@ public class SplitEditorFragment extends Fragment {
@BindView(R.id.calculator_keyboard) KeyboardView mKeyboardView;
@BindView(R.id.imbalance_textview) TextView mImbalanceTextView;

private AccountsDbAdapter mAccountsDbAdapter;
private Cursor mCursor;
private SimpleCursorAdapter mCursorAdapter;
private List<View> mSplitItemViewList;
private String mAccountUID;
private Commodity mCommodity;
private AccountsDbAdapter mAccountsDbAdapter;
private Cursor mCursor;
private SimpleCursorAdapter mAccountCursorAdapter;
private List<View> mSplitItemViewList;
private String mAccountUID;
private Commodity mCommodity;

private BigDecimal mBaseAmount = BigDecimal.ZERO;

Expand Down Expand Up @@ -216,11 +216,13 @@ private void initArgs() {
mAccountUID = ((FormActivity) getActivity()).getCurrentAccountUID();
mBaseAmount = new BigDecimal(args.getString(UxArgument.AMOUNT_STRING));

// Get account list that are not hidden nor placeholder, and sort them with Favorites first
String conditions = "("
+ DatabaseSchema.AccountEntry.COLUMN_HIDDEN + " = 0 AND "
+ DatabaseSchema.AccountEntry.COLUMN_PLACEHOLDER + " = 0"
+ ")";
mCursor = mAccountsDbAdapter.fetchAccountsOrderedByFullName(conditions, null);
mCursor = mAccountsDbAdapter.fetchAccountsOrderedByFavoriteAndFullName(conditions, null);

mCommodity = CommoditiesDbAdapter.getInstance().getCommodity(mAccountsDbAdapter.getCurrencyCode(mAccountUID));
}

Expand Down Expand Up @@ -328,20 +330,30 @@ public BigDecimal getAmountValue(){
* @param accountId Database ID of the transfer account
*/
private void setSelectedTransferAccount(long accountId, final Spinner accountsSpinner){
for (int pos = 0; pos < mCursorAdapter.getCount(); pos++) {
if (mCursorAdapter.getItemId(pos) == accountId){
for (int pos = 0; pos < mAccountCursorAdapter.getCount(); pos++) {
if (mAccountCursorAdapter.getItemId(pos) == accountId){
accountsSpinner.setSelection(pos);
break;
}
}
}

/**
* Updates the list of possible transfer accounts.
* Only accounts with the same currency can be transferred to
*/
private void updateTransferAccountsList(Spinner transferAccountSpinner){
mCursorAdapter = new QualifiedAccountNameCursorAdapter(getActivity(), mCursor);
transferAccountSpinner.setAdapter(mCursorAdapter);
private void updateTransferAccountsList(Spinner transferAccountSpinnerView) {

//
// Fetch Accounts from DB sorted with Favorites at first
//

// Adapter in order to make Cursor adapted to be put in a View
mAccountCursorAdapter = new QualifiedAccountNameCursorAdapter(getActivity(),
mCursor);

// Put the Adapter in the View
transferAccountSpinnerView.setAdapter(mAccountCursorAdapter);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,9 @@ public void onActivityCreated(Bundle savedInstanceState) {
+ DatabaseSchema.AccountEntry.COLUMN_HIDDEN + " = 0 AND "
+ DatabaseSchema.AccountEntry.COLUMN_PLACEHOLDER + " = 0"
+ ")";
Cursor cursor = accountsDbAdapter.fetchAccountsOrderedByFullName(conditions,
new String[]{mOriginAccountUID, accountsDbAdapter.getCurrencyCode(mOriginAccountUID)});
Cursor cursor = accountsDbAdapter.fetchAccountsOrderedByFavoriteAndFullName(conditions,
new String[]{mOriginAccountUID,
accountsDbAdapter.getCurrencyCode(mOriginAccountUID)});

SimpleCursorAdapter mCursorAdapter = new QualifiedAccountNameCursorAdapter(getActivity(), cursor);
mDestinationAccountSpinner.setAdapter(mCursorAdapter);
Expand Down

0 comments on commit bac5fb4

Please sign in to comment.