mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-08-22 01:51:47 +00:00
Compare commits
3 Commits
6687a09d2e
...
90ff6df189
Author | SHA1 | Date | |
---|---|---|---|
|
90ff6df189 | ||
|
388b6f5a20 | ||
|
b463adda73 |
@ -1,7 +1,7 @@
|
||||
[versions]
|
||||
activityCompose = "1.10.1"
|
||||
androidDesugarJdkLibs = "2.1.5"
|
||||
androidGradlePlugin = "8.9.2"
|
||||
androidGradlePlugin = "8.10.1"
|
||||
androidSmsmms = "kdeconnect-1-21-0"
|
||||
appcompat = "1.7.0"
|
||||
bcpkixJdk15on = "1.70"
|
||||
@ -13,21 +13,21 @@ constraintlayoutCompose = "1.1.1"
|
||||
coreKtx = "1.16.0"
|
||||
dependencyLicenseReport = "2.9"
|
||||
disklrucache = "2.0.2"
|
||||
documentfile = "1.0.1"
|
||||
documentfile = "1.1.0"
|
||||
gridlayout = "1.1.0"
|
||||
jsonassert = "1.5.3"
|
||||
junit = "4.13.2"
|
||||
kotlin = "2.1.20"
|
||||
kspPlugin = "2.1.20-1.0.32"
|
||||
kotlin = "2.1.21"
|
||||
kspPlugin = "2.1.21-2.0.1"
|
||||
kotlinxCoroutinesCore = "1.10.2"
|
||||
lifecycleExtensions = "2.2.0"
|
||||
lifecycleRuntimeKtx = "2.8.7"
|
||||
lifecycleRuntimeKtx = "2.9.0"
|
||||
logger = "1.0.3"
|
||||
material = "1.12.0"
|
||||
material3 = "1.3.2"
|
||||
media = "1.7.0"
|
||||
minaCore = "2.2.4"
|
||||
mockitoCore = "5.17.0"
|
||||
mockitoCore = "5.18.0"
|
||||
preferenceKtx = "1.2.1"
|
||||
reactiveStreams = "1.0.4"
|
||||
recyclerview = "1.4.0"
|
||||
@ -35,7 +35,7 @@ rxjava = "2.2.21"
|
||||
sl4j = "2.0.13"
|
||||
sshdCore = "2.15.0"
|
||||
swiperefreshlayout = "1.1.0"
|
||||
uiToolingPreview = "1.8.0"
|
||||
uiToolingPreview = "1.8.2"
|
||||
univocityParsers = "2.9.1"
|
||||
|
||||
[libraries]
|
||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,7 +1,7 @@
|
||||
#Sat Sep 28 01:39:16 AM EDT 2024
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
@ -8,7 +8,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
|
||||
<appwidget-provider
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:minWidth="180dp"
|
||||
android:minWidth="120dp"
|
||||
android:minHeight="80dp"
|
||||
android:initialLayout="@layout/widget_remotecommandplugin"
|
||||
android:resizeMode="horizontal|vertical"
|
||||
|
@ -94,7 +94,7 @@ class DeviceInfo(
|
||||
with(identityPacket) {
|
||||
DeviceInfo(
|
||||
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")),
|
||||
certificate = certificate,
|
||||
protocolVersion = getInt("protocolVersion"),
|
||||
@ -106,7 +106,7 @@ class DeviceInfo(
|
||||
@JvmStatic
|
||||
fun isValidIdentityPacket(identityPacket: NetworkPacket): Boolean = with(identityPacket) {
|
||||
type == NetworkPacket.PACKET_TYPE_IDENTITY &&
|
||||
DeviceHelper.filterName(getString("deviceName", "")).isNotBlank() &&
|
||||
DeviceHelper.filterInvalidCharactersFromDeviceNameAndLimitLength(getString("deviceName", "")).isNotBlank() &&
|
||||
isValidDeviceId(getString("deviceId", ""))
|
||||
}
|
||||
|
||||
|
@ -122,7 +122,7 @@ object DeviceHelper {
|
||||
}
|
||||
|
||||
fun setDeviceName(context: Context, name: String) {
|
||||
val filteredName = filterName(name)
|
||||
val filteredName = filterInvalidCharactersFromDeviceNameAndLimitLength(name)
|
||||
val preferences = PreferenceManager.getDefaultSharedPreferences(context)
|
||||
preferences.edit { putString(KEY_DEVICE_NAME_PREFERENCE, filteredName) }
|
||||
}
|
||||
@ -157,5 +157,9 @@ object DeviceHelper {
|
||||
}
|
||||
|
||||
@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.CreateFileResultContract
|
||||
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.NotificationHelper
|
||||
import org.kde.kdeconnect.UserInterface.ThemeUtil.applyTheme
|
||||
@ -83,7 +83,9 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||
setOnBindEditTextListener(EditText::setSingleLine)
|
||||
setOnBindEditTextListener { editText: EditText ->
|
||||
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),
|
||||
)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user