mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Only allow digits in custom download range dialog (closes #6220)
This commit is contained in:
		| @@ -1,11 +1,14 @@ | ||||
| package eu.kanade.tachiyomi.widget | ||||
|  | ||||
| import android.content.Context | ||||
| import android.text.InputFilter | ||||
| import android.text.SpannableStringBuilder | ||||
| import android.text.Spanned | ||||
| import android.util.AttributeSet | ||||
| import android.view.LayoutInflater | ||||
| import android.view.View | ||||
| import android.widget.LinearLayout | ||||
| import androidx.core.text.isDigitsOnly | ||||
| import androidx.core.widget.doOnTextChanged | ||||
| import eu.kanade.tachiyomi.databinding.DownloadCustomAmountBinding | ||||
| import eu.kanade.tachiyomi.util.system.logcat | ||||
| @@ -45,6 +48,7 @@ class DialogCustomDownloadView @JvmOverloads constructor(context: Context, attrs | ||||
|  | ||||
|         // Set download count to 0. | ||||
|         binding.myNumber.text = SpannableStringBuilder(getAmount(0).toString()) | ||||
|         binding.myNumber.filters = arrayOf(DigitInputFilter()) | ||||
|  | ||||
|         // When user presses button decrease amount by 10. | ||||
|         binding.btnDecrease10.setOnClickListener { | ||||
| @@ -102,3 +106,20 @@ class DialogCustomDownloadView @JvmOverloads constructor(context: Context, attrs | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| private class DigitInputFilter : InputFilter { | ||||
|  | ||||
|     override fun filter( | ||||
|         source: CharSequence, | ||||
|         start: Int, | ||||
|         end: Int, | ||||
|         dest: Spanned, | ||||
|         dstart: Int, | ||||
|         dend: Int, | ||||
|     ): CharSequence { | ||||
|         return when { | ||||
|             source.toString().isDigitsOnly() -> source.toString() | ||||
|             else -> "" | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user