+ disableUpdatePropagation();
+ try {
+ String groupNoText = b.getRoot()
+ .getResources()
+ .getString(R.string.template_item_match_group_source);
+
+ b.templateName.setText(header.getName());
+ b.pattern.setText(header.getPattern());
+ b.testText.setText(header.getTestText());
+
+ if (header.hasLiteralDateYear()) {
+ b.templateDetailsYearSource.setText(R.string.template_details_source_literal);
+ final Integer dateYear = header.getDateYear();
+ b.templateDetailsDateYear.setText(
+ (dateYear == null) ? null : String.valueOf(dateYear));
+ b.templateDetailsDateYearLayout.setVisibility(View.VISIBLE);
+ }
+ else {
+ b.templateDetailsDateYearLayout.setVisibility(View.GONE);
+ b.templateDetailsYearSource.setText(
+ String.format(Locale.US, groupNoText, header.getDateYearMatchGroup(),
+ getMatchGroupText(header.getDateYearMatchGroup())));
+ }
+ 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);
+ final Integer dateMonth = header.getDateMonth();
+ b.templateDetailsDateMonth.setText(
+ (dateMonth == null) ? null : String.valueOf(dateMonth));
+ b.templateDetailsDateMonthLayout.setVisibility(View.VISIBLE);
+ }
+ else {
+ b.templateDetailsDateMonthLayout.setVisibility(View.GONE);
+ b.templateDetailsMonthSource.setText(
+ String.format(Locale.US, groupNoText, header.getDateMonthMatchGroup(),
+ getMatchGroupText(header.getDateMonthMatchGroup())));
+ }
+ 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.templateDetailsDateDayLayout.setVisibility(View.VISIBLE);
+ }
+ else {
+ b.templateDetailsDateDayLayout.setVisibility(View.GONE);
+ b.templateDetailsDaySource.setText(
+ 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));
+
+ if (header.hasLiteralTransactionDescription()) {
+ 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, groupNoText,
+ header.getTransactionDescriptionMatchGroup(), getMatchGroupText(
+ header.getTransactionDescriptionMatchGroup())));