mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-08-22 09:58:08 +00:00
Fix not being able to input spaces when renaming the device
This commit is contained in:
parent
b463adda73
commit
388b6f5a20
@ -94,7 +94,7 @@ class DeviceInfo(
|
|||||||
with(identityPacket) {
|
with(identityPacket) {
|
||||||
DeviceInfo(
|
DeviceInfo(
|
||||||
id = getString("deviceId"), // Redundant: We could read this from the certificate instead
|
id = getString("deviceId"), // Redundant: We could read this from the certificate instead
|
||||||
name = DeviceHelper.filterName(getString("deviceName", "unknown")),
|
name = DeviceHelper.filterInvalidCharactersFromDeviceNameAndLimitLength(getString("deviceName", "unknown")),
|
||||||
type = DeviceType.fromString(getString("deviceType", "desktop")),
|
type = DeviceType.fromString(getString("deviceType", "desktop")),
|
||||||
certificate = certificate,
|
certificate = certificate,
|
||||||
protocolVersion = getInt("protocolVersion"),
|
protocolVersion = getInt("protocolVersion"),
|
||||||
@ -106,7 +106,7 @@ class DeviceInfo(
|
|||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun isValidIdentityPacket(identityPacket: NetworkPacket): Boolean = with(identityPacket) {
|
fun isValidIdentityPacket(identityPacket: NetworkPacket): Boolean = with(identityPacket) {
|
||||||
type == NetworkPacket.PACKET_TYPE_IDENTITY &&
|
type == NetworkPacket.PACKET_TYPE_IDENTITY &&
|
||||||
DeviceHelper.filterName(getString("deviceName", "")).isNotBlank() &&
|
DeviceHelper.filterInvalidCharactersFromDeviceNameAndLimitLength(getString("deviceName", "")).isNotBlank() &&
|
||||||
isValidDeviceId(getString("deviceId", ""))
|
isValidDeviceId(getString("deviceId", ""))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ object DeviceHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun setDeviceName(context: Context, name: String) {
|
fun setDeviceName(context: Context, name: String) {
|
||||||
val filteredName = filterName(name)
|
val filteredName = filterInvalidCharactersFromDeviceNameAndLimitLength(name)
|
||||||
val preferences = PreferenceManager.getDefaultSharedPreferences(context)
|
val preferences = PreferenceManager.getDefaultSharedPreferences(context)
|
||||||
preferences.edit { putString(KEY_DEVICE_NAME_PREFERENCE, filteredName) }
|
preferences.edit { putString(KEY_DEVICE_NAME_PREFERENCE, filteredName) }
|
||||||
}
|
}
|
||||||
@ -157,5 +157,9 @@ object DeviceHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun filterName(input: String): String = input.replace(NAME_INVALID_CHARACTERS_REGEX, "").trim().take(MAX_DEVICE_NAME_LENGTH)
|
fun filterInvalidCharactersFromDeviceNameAndLimitLength(input: String): String = filterInvalidCharactersFromDeviceName(input).trim().take(MAX_DEVICE_NAME_LENGTH)
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun filterInvalidCharactersFromDeviceName(input: String): String = input.replace(NAME_INVALID_CHARACTERS_REGEX, "")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ import org.kde.kdeconnect.BackgroundService
|
|||||||
import org.kde.kdeconnect.Helpers.CreateFileParams
|
import org.kde.kdeconnect.Helpers.CreateFileParams
|
||||||
import org.kde.kdeconnect.Helpers.CreateFileResultContract
|
import org.kde.kdeconnect.Helpers.CreateFileResultContract
|
||||||
import org.kde.kdeconnect.Helpers.DeviceHelper
|
import org.kde.kdeconnect.Helpers.DeviceHelper
|
||||||
import org.kde.kdeconnect.Helpers.DeviceHelper.filterName
|
import org.kde.kdeconnect.Helpers.DeviceHelper.filterInvalidCharactersFromDeviceName
|
||||||
import org.kde.kdeconnect.Helpers.DeviceHelper.getDeviceName
|
import org.kde.kdeconnect.Helpers.DeviceHelper.getDeviceName
|
||||||
import org.kde.kdeconnect.Helpers.NotificationHelper
|
import org.kde.kdeconnect.Helpers.NotificationHelper
|
||||||
import org.kde.kdeconnect.UserInterface.ThemeUtil.applyTheme
|
import org.kde.kdeconnect.UserInterface.ThemeUtil.applyTheme
|
||||||
@ -83,7 +83,9 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||||||
setOnBindEditTextListener(EditText::setSingleLine)
|
setOnBindEditTextListener(EditText::setSingleLine)
|
||||||
setOnBindEditTextListener { editText: EditText ->
|
setOnBindEditTextListener { editText: EditText ->
|
||||||
editText.filters = arrayOf(
|
editText.filters = arrayOf(
|
||||||
InputFilter { source: CharSequence, start: Int, end: Int, _: Spanned?, _: Int, _: Int -> filterName(source.subSequence(start, end).toString()) },
|
InputFilter { source: CharSequence, start: Int, end: Int, _: Spanned?, _: Int, _: Int ->
|
||||||
|
filterInvalidCharactersFromDeviceName(source.subSequence(start, end).toString())
|
||||||
|
},
|
||||||
LengthFilter(DeviceHelper.MAX_DEVICE_NAME_LENGTH),
|
LengthFilter(DeviceHelper.MAX_DEVICE_NAME_LENGTH),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user