X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Fnew_transaction%2FNewTransactionFragment.java;h=5edf252d72858ceccacef8663fe388e897a7810f;hp=241be0b183ed21a7942387052b095486ea91698f;hb=b946450e2333ba9730631ddaacb1e7fdb7f32032;hpb=bd78203182126b68575ad14ed303ce9a9c225ad6 diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionFragment.java b/app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionFragment.java index 241be0b1..5edf252d 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionFragment.java @@ -114,6 +114,7 @@ public class NewTransactionFragment extends QRScanCapableFragment { .getTemplateDAO() .getTemplates(); allTemplates.observe(getViewLifecycleOwner(), templateHeaders -> { + ArrayList matchingFallbackTemplates = new ArrayList<>(); ArrayList matchingTemplates = new ArrayList<>(); for (TemplateHeader ph : templateHeaders) { @@ -129,7 +130,10 @@ public class NewTransactionFragment extends QRScanCapableFragment { Logger.debug("pattern", String.format("Pattern '%s' [%s] matches '%s'", ph.getName(), patternSource, text)); - matchingTemplates.add(ph); + if (ph.isFallback()) + matchingFallbackTemplates.add(ph); + else + matchingTemplates.add(ph); } catch (ParcelFormatException e) { // ignored @@ -139,6 +143,9 @@ public class NewTransactionFragment extends QRScanCapableFragment { } } + if (matchingTemplates.isEmpty()) + matchingTemplates = matchingFallbackTemplates; + if (matchingTemplates.isEmpty()) alertNoTemplateMatch(text); else if (matchingTemplates.size() == 1)