mirror of
https://github.com/home-assistant/android
synced 2024-09-19 16:11:37 +00:00
Add more icons to the settings screen and force number pad for numeric only field (#895)
* Add more icons to the settings screen and force number pad for numeric only field * Use correct exception Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
This commit is contained in:
parent
2de7ddab3e
commit
e84abafa78
|
@ -1,8 +1,11 @@
|
|||
package io.homeassistant.companion.android.settings
|
||||
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.text.InputType
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.content.res.AppCompatResources
|
||||
import androidx.biometric.BiometricManager
|
||||
import androidx.preference.EditTextPreference
|
||||
import androidx.preference.ListPreference
|
||||
|
@ -101,6 +104,10 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
|||
}
|
||||
}
|
||||
|
||||
findPreference<EditTextPreference>("session_timeout")?.setOnBindEditTextListener {
|
||||
it.inputType = InputType.TYPE_CLASS_NUMBER
|
||||
}
|
||||
|
||||
removeSystemFromThemesIfNeeded()
|
||||
|
||||
findPreference<EditTextPreference>("connection_internal")?.onPreferenceChangeListener =
|
||||
|
@ -140,12 +147,20 @@ class SettingsFragment : PreferenceFragmentCompat(), SettingsView {
|
|||
override fun disableInternalConnection() {
|
||||
findPreference<EditTextPreference>("connection_internal")?.let {
|
||||
it.isEnabled = false
|
||||
val unwrappedDrawable =
|
||||
AppCompatResources.getDrawable(requireContext(), R.drawable.ic_computer)
|
||||
unwrappedDrawable?.setTint(Color.DKGRAY)
|
||||
it.icon = unwrappedDrawable
|
||||
}
|
||||
}
|
||||
|
||||
override fun enableInternalConnection() {
|
||||
findPreference<EditTextPreference>("connection_internal")?.let {
|
||||
it.isEnabled = true
|
||||
val unwrappedDrawable =
|
||||
AppCompatResources.getDrawable(requireContext(), R.drawable.ic_computer)
|
||||
unwrappedDrawable?.setTint(resources.getColor(R.color.colorAccent))
|
||||
it.icon = unwrappedDrawable
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -67,7 +67,13 @@ class SettingsPresenterImpl @Inject constructor(
|
|||
when (key) {
|
||||
"connection_internal" -> urlUseCase.saveUrl(value ?: "", true)
|
||||
"connection_external" -> urlUseCase.saveUrl(value ?: "", false)
|
||||
"session_timeout" -> integrationUseCase.sessionTimeOut(value.toString().toInt())
|
||||
"session_timeout" -> {
|
||||
try {
|
||||
integrationUseCase.sessionTimeOut(value.toString().toInt())
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Issue saving session timeout value", e)
|
||||
}
|
||||
}
|
||||
"registration_name" -> {
|
||||
try {
|
||||
integrationUseCase.updateRegistration(deviceName = value!!)
|
||||
|
|
7
app/src/main/res/drawable/ic_computer.xml
Normal file
7
app/src/main/res/drawable/ic_computer.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path android:fillColor="@color/colorAccent" android:pathData="M20,18c1.1,0 1.99,-0.9 1.99,-2L22,6c0,-1.1 -0.9,-2 -2,-2H4c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2H0v2h24v-2h-4zM4,6h16v10H4V6z"/>
|
||||
</vector>
|
9
app/src/main/res/drawable/ic_edit.xml
Normal file
9
app/src/main/res/drawable/ic_edit.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/colorAccent"
|
||||
android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
|
||||
</vector>
|
9
app/src/main/res/drawable/ic_globe.xml
Normal file
9
app/src/main/res/drawable/ic_globe.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/colorAccent"
|
||||
android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM18.92,8h-2.95c-0.32,-1.25 -0.78,-2.45 -1.38,-3.56 1.84,0.63 3.37,1.91 4.33,3.56zM12,4.04c0.83,1.2 1.48,2.53 1.91,3.96h-3.82c0.43,-1.43 1.08,-2.76 1.91,-3.96zM4.26,14C4.1,13.36 4,12.69 4,12s0.1,-1.36 0.26,-2h3.38c-0.08,0.66 -0.14,1.32 -0.14,2 0,0.68 0.06,1.34 0.14,2L4.26,14zM5.08,16h2.95c0.32,1.25 0.78,2.45 1.38,3.56 -1.84,-0.63 -3.37,-1.9 -4.33,-3.56zM8.03,8L5.08,8c0.96,-1.66 2.49,-2.93 4.33,-3.56C8.81,5.55 8.35,6.75 8.03,8zM12,19.96c-0.83,-1.2 -1.48,-2.53 -1.91,-3.96h3.82c-0.43,1.43 -1.08,2.76 -1.91,3.96zM14.34,14L9.66,14c-0.09,-0.66 -0.16,-1.32 -0.16,-2 0,-0.68 0.07,-1.35 0.16,-2h4.68c0.09,0.65 0.16,1.32 0.16,2 0,0.68 -0.07,1.34 -0.16,2zM14.59,19.56c0.6,-1.11 1.06,-2.31 1.38,-3.56h2.95c-0.96,1.65 -2.49,2.93 -4.33,3.56zM16.36,14c0.08,-0.66 0.14,-1.32 0.14,-2 0,-0.68 -0.06,-1.34 -0.14,-2h3.38c0.16,0.64 0.26,1.31 0.26,2s-0.1,1.36 -0.26,2h-3.38z"/>
|
||||
</vector>
|
|
@ -6,10 +6,12 @@
|
|||
android:title="@string/pref_connection_title">
|
||||
<EditTextPreference
|
||||
android:key="connection_external"
|
||||
android:icon="@drawable/ic_globe"
|
||||
android:title="@string/pref_connection_url"
|
||||
app:useSimpleSummaryProvider="true"/>
|
||||
<io.homeassistant.companion.android.settings.ssid.SsidPreference
|
||||
android:key="connection_internal_ssids"
|
||||
android:icon="@drawable/ic_wifi"
|
||||
android:title="@string/pref_connection_wifi"
|
||||
android:dialogTitle="@string/manage_ssids"
|
||||
android:positiveButtonText="@string/save"
|
||||
|
@ -24,6 +26,7 @@
|
|||
android:title="@string/device_registration">
|
||||
<EditTextPreference
|
||||
android:key="registration_name"
|
||||
android:icon="@drawable/ic_edit"
|
||||
android:title="@string/device_name"
|
||||
app:useSimpleSummaryProvider="true"/>
|
||||
</PreferenceCategory>
|
||||
|
|
Loading…
Reference in a new issue