mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +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