Add integer constraint to port preference
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
package io.bartek.preference
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.util.AttributeSet
|
||||||
|
import androidx.preference.EditTextPreference
|
||||||
|
import java.lang.Integer.parseInt
|
||||||
|
|
||||||
|
class IntEditTextPreference : EditTextPreference {
|
||||||
|
constructor(
|
||||||
|
context: Context?,
|
||||||
|
attrs: AttributeSet?,
|
||||||
|
defStyleAttr: Int,
|
||||||
|
defStyleRes: Int
|
||||||
|
) : super(context, attrs, defStyleAttr, defStyleRes)
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
context: Context?,
|
||||||
|
attrs: AttributeSet?,
|
||||||
|
defStyleAttr: Int
|
||||||
|
) : super(context, attrs, defStyleAttr)
|
||||||
|
|
||||||
|
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
|
||||||
|
|
||||||
|
constructor(context: Context?) : super(context)
|
||||||
|
|
||||||
|
override fun getPersistedString(defaultReturnValue: String?) =
|
||||||
|
getPersistedInt(Integer.valueOf(defaultReturnValue ?: "-1")).toString()
|
||||||
|
|
||||||
|
override fun persistString(value: String?) = persistInt(Integer.valueOf(value ?: "-1"))
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -2,14 +2,14 @@ package io.bartek.preference
|
|||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.preference.EditTextPreference
|
import android.text.InputType
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import androidx.preference.SwitchPreference
|
import androidx.preference.SwitchPreference
|
||||||
import io.bartek.R
|
import io.bartek.R
|
||||||
|
|
||||||
class PreferencesFragment : PreferenceFragmentCompat() {
|
class PreferencesFragment : PreferenceFragmentCompat() {
|
||||||
private lateinit var portPreference: EditTextPreference
|
private lateinit var portPreference: IntEditTextPreference
|
||||||
private lateinit var sayEndpointPreference: SwitchPreference
|
private lateinit var sayEndpointPreference: SwitchPreference
|
||||||
private lateinit var waveEndpointPreference: SwitchPreference
|
private lateinit var waveEndpointPreference: SwitchPreference
|
||||||
private lateinit var ttsEnginePreference: Preference
|
private lateinit var ttsEnginePreference: Preference
|
||||||
@@ -17,6 +17,7 @@ class PreferencesFragment : PreferenceFragmentCompat() {
|
|||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
setPreferencesFromResource(R.xml.preferences, rootKey)
|
setPreferencesFromResource(R.xml.preferences, rootKey)
|
||||||
portPreference = findPreference("preference_port")!!
|
portPreference = findPreference("preference_port")!!
|
||||||
|
portPreference.setOnBindEditTextListener { it.inputType = InputType.TYPE_CLASS_NUMBER }
|
||||||
sayEndpointPreference = findPreference("preference_enable_say_endpoint")!!
|
sayEndpointPreference = findPreference("preference_enable_say_endpoint")!!
|
||||||
waveEndpointPreference = findPreference("preference_enable_wave_endpoint")!!
|
waveEndpointPreference = findPreference("preference_enable_wave_endpoint")!!
|
||||||
ttsEnginePreference = findPreference("preference_tts")!!
|
ttsEnginePreference = findPreference("preference_tts")!!
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class ForegroundService : Service() {
|
|||||||
private var isServiceStarted = false
|
private var isServiceStarted = false
|
||||||
private var ttsServer: TTSServer? = null
|
private var ttsServer: TTSServer? = null
|
||||||
private val port: Int
|
private val port: Int
|
||||||
get() = parseInt(preferences.getString("preference_port", "8080")!!)
|
get() = preferences.getInt("preference_port", 8080)
|
||||||
|
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<PreferenceCategory android:title="@string/preference_category_server" app:iconSpaceReserved="false">
|
<PreferenceCategory android:title="@string/preference_category_server" app:iconSpaceReserved="false">
|
||||||
<EditTextPreference
|
<io.bartek.preference.IntEditTextPreference
|
||||||
android:defaultValue="8080"
|
android:defaultValue="8080"
|
||||||
android:inputType="number"
|
android:inputType="number"
|
||||||
android:key="preference_port"
|
android:key="preference_port"
|
||||||
|
|||||||
Reference in New Issue
Block a user