diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java index 58f46cc2f..d761e5040 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java @@ -2,7 +2,6 @@ package protect.card_locker; import android.content.ActivityNotFoundException; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.res.ColorStateList; @@ -15,11 +14,11 @@ import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; -import android.text.Editable; import android.text.InputType; import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.TextUtils; +import android.text.method.DigitsKeyListener; import android.text.style.ForegroundColorSpan; import android.text.util.Linkify; import android.util.Log; @@ -36,7 +35,6 @@ import android.view.Window; import android.view.WindowInsets; import android.view.WindowInsetsController; import android.view.WindowManager; -import android.widget.EditText; import android.widget.FrameLayout; import android.widget.ImageButton; import android.widget.ImageView; @@ -58,7 +56,6 @@ import androidx.core.graphics.BlendModeColorFilterCompat; import androidx.core.graphics.BlendModeCompat; import androidx.core.graphics.ColorUtils; import androidx.core.graphics.drawable.DrawableCompat; -import androidx.core.view.WindowCompat; import androidx.core.view.WindowInsetsControllerCompat; import androidx.core.widget.TextViewCompat; @@ -66,6 +63,7 @@ import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.bottomappbar.BottomAppBar; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.google.android.material.textfield.TextInputEditText; import java.io.File; import java.io.UnsupportedEncodingException; @@ -571,9 +569,10 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements updateTextView.setText(getString(R.string.newBalanceSentence, Utils.formatBalance(this, loyaltyCard.balance, loyaltyCard.balanceType))); layout.addView(updateTextView); - final EditText input = new EditText(this); + final TextInputEditText input = new TextInputEditText(this); Context dialogContext = this; - input.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL); + input.setInputType(InputType.TYPE_CLASS_NUMBER); + input.setKeyListener(DigitsKeyListener.getInstance("0123456789,.")); input.setHint(R.string.updateBalanceHint); input.addTextChangedListener(new SimpleTextWatcher() { @Override diff --git a/app/src/main/res/layout/loyalty_card_edit_activity.xml b/app/src/main/res/layout/loyalty_card_edit_activity.xml index 9409c48d8..35100103e 100644 --- a/app/src/main/res/layout/loyalty_card_edit_activity.xml +++ b/app/src/main/res/layout/loyalty_card_edit_activity.xml @@ -288,7 +288,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="numberDecimal" - android:digits="0123456789.,$" /> + android:digits="0123456789,." />