X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Ftemplates%2FTemplateDetailsAdapter.java;h=23260e008f515d8a55f0105b196c485c72c96d3c;hp=e472049b1e5762f0a5f1ab75968d16b5b282842e;hb=1f7142d161a181be9781bf9b9ad34797fa6a6067;hpb=b953cc391328af937917ed94de6aeafb83cc715c diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsAdapter.java b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsAdapter.java index e472049b..23260e00 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsAdapter.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsAdapter.java @@ -334,6 +334,10 @@ class TemplateDetailsAdapter extends RecyclerView.Adapter selectHeaderDetailSource(v, HeaderDetail.DATE_YEAR)); - b.templateDetailsYearSource.setOnClickListener(v -> selectHeaderDetailSource(v, - HeaderDetail.DATE_YEAR)); + b.templateDetailsYearSourceLabel.setOnClickListener( + v -> selectHeaderDetailSource(v, HeaderDetail.DATE_YEAR)); + b.templateDetailsYearSource.setOnClickListener( + v -> selectHeaderDetailSource(v, HeaderDetail.DATE_YEAR)); if (header.hasLiteralDateMonth()) { b.templateDetailsMonthSource.setText(R.string.template_details_source_literal); @@ -365,52 +370,59 @@ class TemplateDetailsAdapter extends RecyclerView.Adapter selectHeaderDetailSource(v, - HeaderDetail.DATE_MONTH)); - b.templateDetailsMonthSource.setOnClickListener(v -> selectHeaderDetailSource(v, - HeaderDetail.DATE_MONTH)); + b.templateDetailsMonthSourceLabel.setOnClickListener( + v -> selectHeaderDetailSource(v, HeaderDetail.DATE_MONTH)); + b.templateDetailsMonthSource.setOnClickListener( + v -> selectHeaderDetailSource(v, HeaderDetail.DATE_MONTH)); if (header.hasLiteralDateDay()) { b.templateDetailsDaySource.setText(R.string.template_details_source_literal); final Integer dateDay = header.getDateDay(); - b.templateDetailsDateDay.setText((dateDay == null) ? null : String.valueOf(dateDay)); + b.templateDetailsDateDay.setText( + (dateDay == null) ? null : String.valueOf(dateDay)); b.templateDetailsDateDayLayout.setVisibility(View.VISIBLE); } else { b.templateDetailsDateDayLayout.setVisibility(View.GONE); b.templateDetailsDaySource.setText( - String.format(Locale.US, "Group %d (%s)", header.getDateDayMatchGroup(), + String.format(Locale.US, groupNoText, header.getDateDayMatchGroup(), getMatchGroupText(header.getDateDayMatchGroup()))); } - b.templateDetailsDaySourceLabel.setOnClickListener(v -> selectHeaderDetailSource(v, HeaderDetail.DATE_DAY)); - b.templateDetailsDaySource.setOnClickListener(v -> selectHeaderDetailSource(v, HeaderDetail.DATE_DAY)); + b.templateDetailsDaySourceLabel.setOnClickListener( + v -> selectHeaderDetailSource(v, HeaderDetail.DATE_DAY)); + b.templateDetailsDaySource.setOnClickListener( + v -> selectHeaderDetailSource(v, HeaderDetail.DATE_DAY)); if (header.hasLiteralTransactionDescription()) { - b.templateTransactionDescriptionSource.setText(R.string.template_details_source_literal); + b.templateTransactionDescriptionSource.setText( + R.string.template_details_source_literal); b.transactionDescription.setText(header.getTransactionDescription()); b.transactionDescriptionLayout.setVisibility(View.VISIBLE); } else { b.transactionDescriptionLayout.setVisibility(View.GONE); - b.templateTransactionDescriptionSource.setText( - String.format(Locale.US, "Group %d (%s)", - header.getTransactionDescriptionMatchGroup(), getMatchGroupText(header.getTransactionDescriptionMatchGroup()))); + b.templateTransactionDescriptionSource.setText(String.format(Locale.US, groupNoText, + header.getTransactionDescriptionMatchGroup(), + getMatchGroupText(header.getTransactionDescriptionMatchGroup()))); } - b.templateTransactionDescriptionSourceLabel.setOnClickListener(v -> selectHeaderDetailSource(v, HeaderDetail.DESCRIPTION)); - b.templateTransactionDescriptionSource.setOnClickListener(v -> selectHeaderDetailSource(v, HeaderDetail.DESCRIPTION)); + b.templateTransactionDescriptionSourceLabel.setOnClickListener( + v -> selectHeaderDetailSource(v, HeaderDetail.DESCRIPTION)); + b.templateTransactionDescriptionSource.setOnClickListener( + v -> selectHeaderDetailSource(v, HeaderDetail.DESCRIPTION)); if (header.hasLiteralTransactionComment()) { - b.templateTransactionCommentSource.setText(R.string.template_details_source_literal); + b.templateTransactionCommentSource.setText( + R.string.template_details_source_literal); b.transactionComment.setText(header.getTransactionComment()); b.transactionCommentLayout.setVisibility(View.VISIBLE); } else { b.transactionCommentLayout.setVisibility(View.GONE); - b.templateTransactionCommentSource.setText(String.format(Locale.US, "Group %d (%s)", + b.templateTransactionCommentSource.setText(String.format(Locale.US, groupNoText, header.getTransactionCommentMatchGroup(), getMatchGroupText(header.getTransactionCommentMatchGroup()))); @@ -537,11 +549,24 @@ class TemplateDetailsAdapter extends RecyclerView.Adapter getItem().setNegateAmount(isChecked)); + b.negateAmountSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> { + getItem().setNegateAmount(isChecked); + b.templateDetailsNegateAmountText.setText( + isChecked ? R.string.template_account_change_amount_sign + : R.string.template_account_keep_amount_sign); + }); + final View.OnClickListener negLabelClickListener = (view) -> { + b.negateAmountSwitch.toggle(); + }; + b.templateDetailsNegateAmountLabel.setOnClickListener(negLabelClickListener); + b.templateDetailsNegateAmountText.setOnClickListener(negLabelClickListener); } @Override void bind(TemplateDetailsItem item) { + String groupNoText = b.getRoot() + .getResources() + .getString(R.string.template_item_match_group_source); + TemplateDetailsItem.AccountRow accRow = item.asAccountRowItem(); if (accRow.hasLiteralAccountName()) { b.templateDetailsAccountNameLayout.setVisibility(View.VISIBLE); @@ -552,7 +577,7 @@ class TemplateDetailsAdapter extends RecyclerView.Adapter