X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Ftemplates%2FTemplateDetailsAdapter.java;h=fa76664ee7ae798fcf729a7cf00083729a598873;hb=fcdd10b21d0e4af59f70804c63d145512b2cb918;hp=4ec4a39b23312ad7fe2fe9ac25dd3f4eb604e836;hpb=1c599696ca2e9577d89aa55429a853fbb1c1c012;p=mobile-ledger.git 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 4ec4a39b..fa76664e 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 @@ -18,6 +18,7 @@ package net.ktnx.mobileledger.ui.templates; import android.annotation.SuppressLint; +import android.content.Context; import android.content.res.Resources; import android.text.Editable; import android.text.TextWatcher; @@ -41,7 +42,8 @@ import net.ktnx.mobileledger.databinding.TemplateDetailsHeaderBinding; import net.ktnx.mobileledger.db.AccountAutocompleteAdapter; import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.TemplateDetailsItem; -import net.ktnx.mobileledger.ui.QRScanCapableFragment; +import net.ktnx.mobileledger.ui.HelpDialog; +import net.ktnx.mobileledger.ui.QR; import net.ktnx.mobileledger.ui.TemplateDetailSourceSelectorFragment; import net.ktnx.mobileledger.utils.Logger; import net.ktnx.mobileledger.utils.Misc; @@ -99,7 +101,7 @@ class TemplateDetailsAdapter extends RecyclerView.Adapter 0) flags |= makeFlag(ItemTouchHelper.ACTION_STATE_DRAG, ItemTouchHelper.UP | ItemTouchHelper.DOWN) | @@ -163,8 +165,8 @@ class TemplateDetailsAdapter extends RecyclerView.Adapter { + if (updatePropagationDisabled) + return; + + getItem().setFallback(isChecked); + b.templateIsFallbackText.setText(isChecked ? R.string.template_is_fallback_yes + : R.string.template_is_fallback_no); + }); + final View.OnClickListener fallbackLabelClickListener = + (view) -> b.templateIsFallbackSwitch.toggle(); + b.templateIsFallbackLabel.setOnClickListener(fallbackLabelClickListener); + b.templateIsFallbackText.setOnClickListener(fallbackLabelClickListener); + b.templateParamsHelpButton.setOnClickListener(v -> HelpDialog.show(b.getRoot() + .getContext(), + R.string.template_details_template_params_label, R.array.template_params_help)); } @NotNull private TemplateDetailsItem.Header getItem() { - int pos = getAdapterPosition(); + int pos = getBindingAdapterPosition(); return differ.getCurrentList() .get(pos) .asHeaderItem(); @@ -457,7 +476,7 @@ class TemplateDetailsAdapter extends RecyclerView.Adapter selectHeaderDetailSource(v, HeaderDetail.DATE_YEAR)); - b.templateDetailsYearSource.setOnClickListener( + b.yearSource.setOnClickListener( v -> selectHeaderDetailSource(v, HeaderDetail.DATE_YEAR)); if (header.hasLiteralDateMonth()) { - b.templateDetailsMonthSource.setText(R.string.template_details_source_literal); + b.monthSource.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); + b.monthLayout.setVisibility(View.VISIBLE); } else { - b.templateDetailsDateMonthLayout.setVisibility(View.GONE); - b.templateDetailsMonthSource.setText( + b.monthLayout.setVisibility(View.GONE); + b.monthSource.setText( String.format(Locale.US, groupNoText, header.getDateMonthMatchGroup(), getMatchGroupText(header.getDateMonthMatchGroup()))); } - b.templateDetailsMonthSourceLabel.setOnClickListener( + b.monthSourceLabel.setOnClickListener( v -> selectHeaderDetailSource(v, HeaderDetail.DATE_MONTH)); - b.templateDetailsMonthSource.setOnClickListener( + b.monthSource.setOnClickListener( v -> selectHeaderDetailSource(v, HeaderDetail.DATE_MONTH)); if (header.hasLiteralDateDay()) { - b.templateDetailsDaySource.setText(R.string.template_details_source_literal); + b.daySource.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); + b.dayLayout.setVisibility(View.VISIBLE); } else { - b.templateDetailsDateDayLayout.setVisibility(View.GONE); - b.templateDetailsDaySource.setText( + b.dayLayout.setVisibility(View.GONE); + b.daySource.setText( String.format(Locale.US, groupNoText, header.getDateDayMatchGroup(), getMatchGroupText(header.getDateDayMatchGroup()))); } - b.templateDetailsDaySourceLabel.setOnClickListener( + b.daySourceLabel.setOnClickListener( v -> selectHeaderDetailSource(v, HeaderDetail.DATE_DAY)); - b.templateDetailsDaySource.setOnClickListener( + b.daySource.setOnClickListener( v -> selectHeaderDetailSource(v, HeaderDetail.DATE_DAY)); if (header.hasLiteralTransactionDescription()) { @@ -570,6 +589,11 @@ class TemplateDetailsAdapter extends RecyclerView.Adapter { @@ -730,6 +760,8 @@ class TemplateDetailsAdapter extends RecyclerView.Adapter