X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionItemHolder.java;h=eee34693c54a1272c1a3909dff5488019a9762b6;hb=46f085f006042a07edc6fb6c2bc464cbe074c275;hp=a3dd711d9ebe1ad7102bbb933b567e21e4991600;hpb=a1f5cf187a6bc2731aa1ed057d3d11fccc5de2c4;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemHolder.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemHolder.java index a3dd711d..eee34693 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemHolder.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemHolder.java @@ -63,11 +63,11 @@ import static net.ktnx.mobileledger.ui.activity.NewTransactionModel.ItemType; class NewTransactionItemHolder extends RecyclerView.ViewHolder implements DatePickerFragment.DatePickedListener, DescriptionSelectedCallback { - private final String decimalSeparator; private final String decimalDot; private final TextView tvCurrency; private final Observer showCommentsObserver; private final TextView tvTransactionComment; + private String decimalSeparator; private NewTransactionModel.Item item; private TextView tvDate; private AutoCompleteTextView tvDescription; @@ -186,7 +186,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder MLDB.hookAutocompletionAdapter(tvAccount.getContext(), tvAccount, MLDB.ACCOUNTS_TABLE, "name", true, this, mProfile); - // FIXME: react on configuration (locale) changes + // updated on locale changes by an observer below decimalSeparator = String.valueOf(DecimalFormatSymbols.getInstance() .getMonetaryDecimalSeparator()); decimalDot = "."; @@ -244,13 +244,6 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder cpf.show(activity.getSupportFragmentManager(), "currency-selector"); }); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) - tvAmount.setKeyListener( - DigitsKeyListener.getInstance(Data.locale.getValue(), true, true)); - else - tvAmount.setKeyListener( - DigitsKeyListener.getInstance("0123456789+-" + decimalSeparator + decimalDot)); - dateObserver = date -> { if (syncingData) return; @@ -368,6 +361,9 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder }; localeObserver = locale -> { + decimalSeparator = String.valueOf(DecimalFormatSymbols.getInstance(locale) + .getMonetaryDecimalSeparator()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) tvAmount.setKeyListener(DigitsKeyListener.getInstance(locale, true, true)); };