mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-09-05 08:35:10 +00:00
Compare commits
308 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
125c9d54b3 | ||
|
5b937313ff | ||
|
2ad9f8eeb1 | ||
|
b3d84f31f4 | ||
|
5ca96fc378 | ||
|
05f1cbe136 | ||
|
d02e5aabb5 | ||
|
ae24cd6ca8 | ||
|
16414401c0 | ||
|
3f120fbea8 | ||
|
97806cf6b0 | ||
|
a923deee58 | ||
|
0923c8ecda | ||
|
172822239c | ||
|
6a58cc444e | ||
|
26667e4b78 | ||
|
086d366a1c | ||
|
84d380aee5 | ||
|
1ea956f5fb | ||
|
cfc7242db5 | ||
|
93b257d46c | ||
|
fa22722498 | ||
|
b0c9e46a31 | ||
|
53b49163d5 | ||
|
444f5725af | ||
|
1104baca8f | ||
|
c3af9b03f6 | ||
|
ecb38f2518 | ||
|
75ddac0bf0 | ||
|
553bae4a33 | ||
|
7d5f40a3a1 | ||
|
e8c74ec689 | ||
|
c7223a17dc | ||
|
2fddd7e24a | ||
|
7920a1a250 | ||
|
a1ce310f65 | ||
|
8fea00a843 | ||
|
7210fd8425 | ||
|
dcb817a805 | ||
|
b916d2c972 | ||
|
6b15348677 | ||
|
a899f06885 | ||
|
4a1a086e0f | ||
|
8853f1807f | ||
|
0a8bd2bf56 | ||
|
c5d1d4a9fa | ||
|
741e24c984 | ||
|
8b9b99275d | ||
|
cfe789fb7e | ||
|
7170bdb687 | ||
|
53f746cb6a | ||
|
35777b4b15 | ||
|
a1d0689d50 | ||
|
883eca5cf3 | ||
|
d91107329a | ||
|
b7f3a7d868 | ||
|
e613e7e09d | ||
|
cb44c70d17 | ||
|
056b569951 | ||
|
2d421e3eb6 | ||
|
5674ddd3e9 | ||
|
5bb996a6ac | ||
|
d89ab2bb20 | ||
|
e5661225a1 | ||
|
cc38149834 | ||
|
4805ea91b8 | ||
|
2553a7cebb | ||
|
526c3a9c4d | ||
|
333ad876aa | ||
|
588cc8dfcf | ||
|
48dd405201 | ||
|
1fad01e306 | ||
|
c78dd6f40d | ||
|
3084513778 | ||
|
e592b45a61 | ||
|
deee9cc2e2 | ||
|
a107796ec2 | ||
|
c32e00bb47 | ||
|
ba98e21d40 | ||
|
551b089d9a | ||
|
b9e9d66fa5 | ||
|
107611f8d2 | ||
|
d0fc68054f | ||
|
9f15d4b3aa | ||
|
a149100d74 | ||
|
7332b355a4 | ||
|
9cc8051d00 | ||
|
78050a158a | ||
|
a5057df1c8 | ||
|
b856bdbb0b | ||
|
8cb9a1809d | ||
|
0ffd9cd9dc | ||
|
725b3f1d6a | ||
|
63d1d15c4f | ||
|
592b8a74a7 | ||
|
38e713f489 | ||
|
bb8649d869 | ||
|
2e82673bbf | ||
|
7ee33de646 | ||
|
65a71696d5 | ||
|
e2aa79a252 | ||
|
1ffcaf076e | ||
|
854b2a1c9f | ||
|
8fb545d620 | ||
|
db615b82df | ||
|
ee7d4a1f05 | ||
|
409ef6b579 | ||
|
2c0a9d262e | ||
|
2f10f1d0f2 | ||
|
9f788da478 | ||
|
ec952b49d9 | ||
|
45da75f331 | ||
|
283956c107 | ||
|
d605977b91 | ||
|
80cf238354 | ||
|
8ee135b018 | ||
|
2343dbf144 | ||
|
3f53180b1d | ||
|
0f7af315f5 | ||
|
7ebac70d47 | ||
|
9037647281 | ||
|
9373587268 | ||
|
0771415d8f | ||
|
fb0e2cc01d | ||
|
584fb78bb7 | ||
|
ae12e3e6fc | ||
|
8be80cae3e | ||
|
d41ed4d911 | ||
|
6f783b54a5 | ||
|
1f6d1ea544 | ||
|
27737c46f2 | ||
|
6b99fe7e7c | ||
|
6e59a6241a | ||
|
7506d32cef | ||
|
c35dc4928c | ||
|
6070276489 | ||
|
9685f7e69a | ||
|
69495136da | ||
|
5f18cb571d | ||
|
ab1b1f7ecc | ||
|
3f8170eae8 | ||
|
eb6784b626 | ||
|
1beb8d4581 | ||
|
16067d7523 | ||
|
dea0bb4e1f | ||
|
c9fb81363d | ||
|
35e8ea0c4c | ||
|
7c5c7933c9 | ||
|
0dfa44aeac | ||
|
dd527f661c | ||
|
ed89fb43ed | ||
|
aed2b64416 | ||
|
4bdbb8f74a | ||
|
155ebf4fb2 | ||
|
46ad0c62ba | ||
|
df0f2d651c | ||
|
167e2c7176 | ||
|
906326f837 | ||
|
3c9c49fa87 | ||
|
24a6beb600 | ||
|
0775a45316 | ||
|
90dbdee282 | ||
|
7d28c52c35 | ||
|
7686e012c3 | ||
|
2cb9666678 | ||
|
0ab4e0d1d2 | ||
|
30cc95713f | ||
|
ae49aa6456 | ||
|
89454fcba9 | ||
|
5a6453729c | ||
|
0706ec1a0b | ||
|
405e828683 | ||
|
34a78e635e | ||
|
c327c15825 | ||
|
6d027ae810 | ||
|
104013c916 | ||
|
8df1f04141 | ||
|
beab3599bf | ||
|
819d3ea158 | ||
|
83fd2440ce | ||
|
e13451061f | ||
|
e82c0fea84 | ||
|
e391750e0e | ||
|
6513bb1320 | ||
|
0fb6e25682 | ||
|
7fbfc9df90 | ||
|
cd8237d773 | ||
|
aaa750bbc6 | ||
|
3d54da75cc | ||
|
358584ba6f | ||
|
adfab5f0f3 | ||
|
e37a519e3a | ||
|
6783f0a167 | ||
|
6d78fe749a | ||
|
2120c7967e | ||
|
de861ce781 | ||
|
e222937736 | ||
|
e289811097 | ||
|
067a000b2b | ||
|
f9d05824a7 | ||
|
d753f1eea4 | ||
|
3c81b527eb | ||
|
96147bf6df | ||
|
8b33ce64a4 | ||
|
73fdd4b47e | ||
|
680e404d05 | ||
|
aae6f1a7e9 | ||
|
5cda1ceb0c | ||
|
7ed4efedc3 | ||
|
96ecd620cf | ||
|
f344586fb6 | ||
|
d9755f8438 | ||
|
659ed25213 | ||
|
ca6ea5cb1a | ||
|
4e1e2931e2 | ||
|
711eef97e7 | ||
|
962dc50617 | ||
|
1ecd6b67c2 | ||
|
72ad997b53 | ||
|
8352091ffd | ||
|
1195cf5c4e | ||
|
f03c86c4ae | ||
|
4ae6e50020 | ||
|
66ea01ad29 | ||
|
9a8a99a5a7 | ||
|
5578f9172b | ||
|
860504fbbf | ||
|
6affee7f8d | ||
|
2cf0c354cd | ||
|
9689191847 | ||
|
ebe3cb4c4e | ||
|
afa832843f | ||
|
d92a8afdf4 | ||
|
56577bcc88 | ||
|
8283b8267f | ||
|
ca4a6eb06a | ||
|
8892750809 | ||
|
3378c5d428 | ||
|
2cfb506626 | ||
|
5e1b47db63 | ||
|
f29f056ef7 | ||
|
0d0672e59f | ||
|
efda9b95ab | ||
|
186236b93a | ||
|
f7ea30dd7d | ||
|
1bd5b12619 | ||
|
23701bc4ae | ||
|
5151ed3d96 | ||
|
4c0acbb71c | ||
|
440f1d4fa3 | ||
|
e8f7e86b35 | ||
|
343270c793 | ||
|
27075e89be | ||
|
768b02c173 | ||
|
ef760a3628 | ||
|
3e96d5ecd3 | ||
|
c6dbadce21 | ||
|
b985aeb18e | ||
|
dc2c2e71df | ||
|
e1a7b476d1 | ||
|
5dad852ece | ||
|
9ca1495dd3 | ||
|
eeeb5678c1 | ||
|
769f054355 | ||
|
235c67fd82 | ||
|
862bd43c63 | ||
|
a82b6bbae0 | ||
|
2803024046 | ||
|
01bc5490f2 | ||
|
994a71f7cd | ||
|
0eb79e0053 | ||
|
00387ca01d | ||
|
7dba06cbb6 | ||
|
ae60cbbf74 | ||
|
0d4951f152 | ||
|
5fb87d598e | ||
|
b65c1aae8f | ||
|
3d166e6d4b | ||
|
411bcc3960 | ||
|
eb5719d9a2 | ||
|
37246f8575 | ||
|
6728ca472c | ||
|
d19595fc3b | ||
|
f3c23c5b8e | ||
|
ce4f6ca9ef | ||
|
f21fe2eb1b | ||
|
105a733028 | ||
|
9df15bf9ca | ||
|
d53fcdd546 | ||
|
fa125ed0ac | ||
|
28ebd94517 | ||
|
d0efb70bcf | ||
|
5441b0b5d6 | ||
|
0a354695cc | ||
|
4bbe6c2e55 | ||
|
80106ccb81 | ||
|
fb327ae35e | ||
|
ffa0049c09 | ||
|
afb45416b1 | ||
|
295dc7b42a | ||
|
0de545773d | ||
|
7a0e38445b | ||
|
40b1cdabc8 | ||
|
28b1e7d96a | ||
|
2f922f282a | ||
|
6d431c5797 | ||
|
175ee9b011 | ||
|
8a9ac32882 |
18
.gitignore
vendored
18
.gitignore
vendored
@@ -1,14 +1,16 @@
|
||||
local.properties
|
||||
.gradle/
|
||||
.idea/
|
||||
out/
|
||||
gen/
|
||||
bin/
|
||||
build/
|
||||
target/
|
||||
classes/
|
||||
/.gradle/
|
||||
/.idea/
|
||||
/out/
|
||||
/gen/
|
||||
/bin/
|
||||
/build/
|
||||
/target/
|
||||
/classes/
|
||||
*.iml
|
||||
*.keystore
|
||||
!debug.keystore
|
||||
.directory
|
||||
GPUCache/
|
||||
/release/
|
||||
/.kotlin/
|
||||
|
@@ -7,13 +7,26 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
-->
|
||||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:versionCode="13001"
|
||||
android:versionName="1.30.1">
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.telephony"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.touchscreen"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.software.leanback"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.bluetooth"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.location.gps"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.microphone"
|
||||
android:required="false" />
|
||||
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
@@ -56,13 +69,16 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:label="@string/kde_connect"
|
||||
android:banner="@mipmap/ic_launcher_banner"
|
||||
android:supportsRtl="true"
|
||||
android:allowBackup="false"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:theme="@style/KdeConnectTheme.NoActionBar"
|
||||
android:name="org.kde.kdeconnect.KdeConnect"
|
||||
android:enableOnBackInvokedCallback="true">
|
||||
android:enableOnBackInvokedCallback="true"
|
||||
android:requestLegacyExternalStorage="true"> <!-- requestLegacyExternalStorage is only used in Android 10: https://developer.android.com/training/data-storage/use-cases#opt-out-in-production-app -->
|
||||
|
||||
|
||||
<receiver
|
||||
android:name="com.android.mms.transaction.PushReceiver"
|
||||
@@ -110,6 +126,12 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
<intent-filter>
|
||||
<action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES"/>
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data android:name="android.app.shortcuts"
|
||||
android:resource="@xml/shortcuts" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.kde.kdeconnect.UserInterface.PluginSettingsActivity"
|
||||
@@ -335,7 +357,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="org.kde.kdeconnect_tp.fileprovider"
|
||||
android:authorities="${applicationId}.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
|
223
build.gradle.kts
223
build.gradle.kts
@@ -1,8 +1,15 @@
|
||||
import com.android.build.api.instrumentation.AsmClassVisitorFactory
|
||||
import com.android.build.api.instrumentation.ClassContext
|
||||
import com.android.build.api.instrumentation.ClassData
|
||||
import com.android.build.api.instrumentation.InstrumentationParameters
|
||||
import com.android.build.api.instrumentation.InstrumentationScope
|
||||
import com.github.jk1.license.LicenseReportExtension
|
||||
import com.github.jk1.license.render.ReportRenderer
|
||||
import com.github.jk1.license.render.TextReportRenderer
|
||||
import java.io.FileNotFoundException
|
||||
import java.util.Properties
|
||||
import org.objectweb.asm.ClassVisitor
|
||||
import org.objectweb.asm.MethodVisitor
|
||||
import org.objectweb.asm.Opcodes.CHECKCAST
|
||||
import org.objectweb.asm.Opcodes.INVOKESTATIC
|
||||
|
||||
buildscript {
|
||||
dependencies {
|
||||
@@ -11,12 +18,12 @@ buildscript {
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once https://youtrack.jetbrains.com/issue/KTIJ-19369 is fixed
|
||||
plugins {
|
||||
alias(libs.plugins.android.application)
|
||||
alias(libs.plugins.kotlin.android)
|
||||
alias(libs.plugins.kotlin.kapt)
|
||||
alias(libs.plugins.ksp)
|
||||
alias(libs.plugins.dependencyLicenseReport)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
}
|
||||
|
||||
val licenseResDir = File("$projectDir/build/dependency-license-res")
|
||||
@@ -41,10 +48,13 @@ fun String.runCommand(
|
||||
|
||||
android {
|
||||
namespace = "org.kde.kdeconnect_tp"
|
||||
compileSdk = 34
|
||||
compileSdk = 35
|
||||
defaultConfig {
|
||||
applicationId = "org.kde.kdeconnect_tp"
|
||||
minSdk = 21
|
||||
targetSdk = 33
|
||||
targetSdk = 35
|
||||
versionCode = 13210
|
||||
versionName = "1.32.10"
|
||||
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
|
||||
}
|
||||
buildFeatures {
|
||||
@@ -53,10 +63,6 @@ android {
|
||||
buildConfig = true
|
||||
}
|
||||
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get()
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_9
|
||||
targetCompatibility = JavaVersion.VERSION_1_9
|
||||
@@ -71,16 +77,18 @@ android {
|
||||
androidResources {
|
||||
generateLocaleConfig = true
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
getByName("main") {
|
||||
manifest.srcFile("AndroidManifest.xml")
|
||||
java.setSrcDirs(listOf("src"))
|
||||
resources.setSrcDirs(listOf("resources"))
|
||||
res.setSrcDirs(listOf(licenseResDir, "res"))
|
||||
assets.setSrcDirs(listOf("assets"))
|
||||
setRoot(".") // By default AGP expects all directories under src/main/...
|
||||
java.srcDir("src") // by default is "java"
|
||||
res.setSrcDirs(listOf(licenseResDir, "res")) // add licenseResDir
|
||||
}
|
||||
getByName("debug") {
|
||||
res.srcDir("dbg-res")
|
||||
}
|
||||
getByName("test") {
|
||||
java.setSrcDirs(listOf("tests"))
|
||||
java.srcDir("tests")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,22 +107,12 @@ android {
|
||||
}
|
||||
buildTypes {
|
||||
getByName("debug") {
|
||||
// We minify by default even on debug builds. This has helped us catch issues where minification would remove files that were actually used (eg: via reflection).
|
||||
// If you want to locally disable this behavior to speed-up the build, add a line `disableMinifyDebug=true` to your `local.properties` file.
|
||||
val reader = try {
|
||||
rootProject.file("local.properties").reader()
|
||||
} catch (e: FileNotFoundException) {
|
||||
null
|
||||
}
|
||||
val properties = reader?.use { Properties().apply { load(it) } }
|
||||
val disableMinifyDebug = properties?.getProperty("disableMinifyDebug")?.toBoolean() ?: false
|
||||
|
||||
isMinifyEnabled = !disableMinifyDebug
|
||||
isShrinkResources = !disableMinifyDebug
|
||||
isMinifyEnabled = false
|
||||
isShrinkResources = false
|
||||
signingConfig = signingConfigs.getByName("debug")
|
||||
applicationIdSuffix = ".debug"
|
||||
versionNameSuffix = "-debug"
|
||||
}
|
||||
// keep minifyEnabled false above for faster builds; set to 'true'
|
||||
// when testing to make sure ProGuard/R8 is not deleting important stuff
|
||||
getByName("release") {
|
||||
isMinifyEnabled = true
|
||||
isShrinkResources = true
|
||||
@@ -125,19 +123,6 @@ android {
|
||||
checkReleaseBuilds = false
|
||||
}
|
||||
|
||||
testOptions {
|
||||
unitTests.all {
|
||||
it.jvmArgs = it.jvmArgs.orEmpty() + listOf(
|
||||
"--add-opens=java.base/java.lang=ALL-UNNAMED",
|
||||
"--add-opens=java.base/java.security=ALL-UNNAMED",
|
||||
"--add-opens=java.base/sun.security.rsa=ALL-UNNAMED",
|
||||
"--add-opens=java.base/sun.security.x509=ALL-UNNAMED",
|
||||
"--add-opens=java.base/java.util=ALL-UNNAMED",
|
||||
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
applicationVariants.all {
|
||||
val variant = this
|
||||
logger.quiet("Found a variant called ${variant.name}")
|
||||
@@ -151,7 +136,7 @@ android {
|
||||
try {
|
||||
val hash = "git rev-parse --short HEAD".runCommand(workingDir = rootDir)
|
||||
val newName = "${project.name}-${variant.name}-${hash}.apk"
|
||||
logger.quiet(" Found an output file ${output.outputFile.name}, renaming to ${newName}")
|
||||
logger.quiet(" Found an output file ${output.outputFile.name}, renaming to $newName")
|
||||
output.outputFileName = newName
|
||||
} catch (ignored: Exception) {
|
||||
logger.warn("Could not make use of the 'git' command-line tool. Output filenames will not be customized.")
|
||||
@@ -162,8 +147,143 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix PosixFilePermission class type check issue.
|
||||
*
|
||||
* It fixed the class cast exception when lib desugar enabled and minSdk < 26.
|
||||
*/
|
||||
abstract class FixPosixFilePermissionClassVisitorFactory :
|
||||
AsmClassVisitorFactory<FixPosixFilePermissionClassVisitorFactory.Params> {
|
||||
|
||||
override fun createClassVisitor(
|
||||
classContext: ClassContext,
|
||||
nextClassVisitor: ClassVisitor
|
||||
): ClassVisitor {
|
||||
return object : ClassVisitor(instrumentationContext.apiVersion.get(), nextClassVisitor) {
|
||||
override fun visitMethod(
|
||||
access: Int,
|
||||
name: String?,
|
||||
descriptor: String?,
|
||||
signature: String?,
|
||||
exceptions: Array<out String>?
|
||||
): MethodVisitor {
|
||||
if (name == "attributesToPermissions") { // org.apache.sshd.sftp.common.SftpHelper.attributesToPermissions
|
||||
return object : MethodVisitor(
|
||||
instrumentationContext.apiVersion.get(),
|
||||
super.visitMethod(access, name, descriptor, signature, exceptions)
|
||||
) {
|
||||
override fun visitTypeInsn(opcode: Int, type: String?) {
|
||||
// We need to prevent Android Desugar modifying the `PosixFilePermission` classname.
|
||||
//
|
||||
// Android Desugar will replace `CHECKCAST java/nio/file/attribute/PosixFilePermission`
|
||||
// to `CHECKCAST j$/nio/file/attribute/PosixFilePermission`.
|
||||
// We need to replace it with `CHECKCAST java/lang/Enum` to prevent Android Desugar from modifying it.
|
||||
if (opcode == CHECKCAST && type == "java/nio/file/attribute/PosixFilePermission") {
|
||||
println("Bypass PosixFilePermission type check success.")
|
||||
// `Enum` is the superclass of `PosixFilePermission`.
|
||||
// Due to `Object` is not the superclass of `Enum`, we need to use `Enum` instead of `Object`.
|
||||
super.visitTypeInsn(opcode, "java/lang/Enum")
|
||||
} else {
|
||||
super.visitTypeInsn(opcode, type)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.visitMethod(access, name, descriptor, signature, exceptions)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun isInstrumentable(classData: ClassData): Boolean {
|
||||
return (classData.className == "org.apache.sshd.sftp.common.SftpHelper").also {
|
||||
if (it) println("SftpHelper Found! Instrumenting...")
|
||||
}
|
||||
}
|
||||
|
||||
interface Params : InstrumentationParameters
|
||||
}
|
||||
|
||||
/**
|
||||
* Collections.unmodifiableXXX is not exist when Android API level is lower than 26.
|
||||
* So we replace the call to Collections.unmodifiableXXX with the original collection by removing the call.
|
||||
*/
|
||||
abstract class FixCollectionsClassVisitorFactory :
|
||||
AsmClassVisitorFactory<FixCollectionsClassVisitorFactory.Params> {
|
||||
override fun createClassVisitor(
|
||||
classContext: ClassContext,
|
||||
nextClassVisitor: ClassVisitor
|
||||
): ClassVisitor {
|
||||
return object : ClassVisitor(instrumentationContext.apiVersion.get(), nextClassVisitor) {
|
||||
override fun visitMethod(
|
||||
access: Int,
|
||||
name: String?,
|
||||
descriptor: String?,
|
||||
signature: String?,
|
||||
exceptions: Array<out String>?
|
||||
): MethodVisitor {
|
||||
return object : MethodVisitor(
|
||||
instrumentationContext.apiVersion.get(),
|
||||
super.visitMethod(access, name, descriptor, signature, exceptions)
|
||||
) {
|
||||
override fun visitMethodInsn(
|
||||
opcode: Int,
|
||||
type: String?,
|
||||
name: String?,
|
||||
descriptor: String?,
|
||||
isInterface: Boolean
|
||||
) {
|
||||
val backportClass = "org/kde/kdeconnect/Helpers/CollectionsBackport"
|
||||
|
||||
if (opcode == INVOKESTATIC && type == "java/util/Collections") {
|
||||
val replaceRules = mapOf(
|
||||
"unmodifiableNavigableSet" to "(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;",
|
||||
"unmodifiableSet" to "(Ljava/util/Set;)Ljava/util/Set;",
|
||||
"unmodifiableNavigableMap" to "(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;",
|
||||
"emptyNavigableMap" to "()Ljava/util/NavigableMap;")
|
||||
if (name in replaceRules && descriptor == replaceRules[name]) {
|
||||
super.visitMethodInsn(opcode, backportClass, name, descriptor, isInterface)
|
||||
val calleeClass = classContext.currentClassData.className
|
||||
println("Replace Collections.$name call with CollectionsBackport.$name from $calleeClass success.")
|
||||
return
|
||||
}
|
||||
}
|
||||
super.visitMethodInsn(opcode, type, name, descriptor, isInterface)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun isInstrumentable(classData: ClassData): Boolean {
|
||||
return classData.className.startsWith("org.apache.sshd") // We only need to fix the Apache SSHD library
|
||||
}
|
||||
|
||||
interface Params : InstrumentationParameters
|
||||
}
|
||||
|
||||
ksp {
|
||||
arg("com.albertvaka.classindexksp.annotations", "org.kde.kdeconnect.Plugins.PluginFactory.LoadablePlugin")
|
||||
}
|
||||
|
||||
androidComponents {
|
||||
onVariants { variant ->
|
||||
variant.instrumentation.transformClassesWith(
|
||||
FixPosixFilePermissionClassVisitorFactory::class.java,
|
||||
InstrumentationScope.ALL
|
||||
) { }
|
||||
variant.instrumentation.transformClassesWith(
|
||||
FixCollectionsClassVisitorFactory::class.java,
|
||||
InstrumentationScope.ALL
|
||||
) { }
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
coreLibraryDesugaring(libs.android.desugarJdkLibs)
|
||||
// It has a bug that causes a crash when using PosixFilePermission and minSdk < 26.
|
||||
// It has been used in SSHD Core.
|
||||
// We have taken a workaround to fix it.
|
||||
// See `FixPosixFilePermissionClassVisitorFactory` for more details.
|
||||
coreLibraryDesugaring(libs.android.desugarJdkLibsNio)
|
||||
|
||||
implementation(libs.androidx.compose.material3)
|
||||
implementation(libs.androidx.compose.ui.tooling.preview)
|
||||
@@ -190,13 +310,15 @@ dependencies {
|
||||
implementation(libs.slf4j.handroid)
|
||||
|
||||
implementation(libs.apache.sshd.core)
|
||||
implementation(libs.apache.mina.core) //For some reason, makes sshd-core:0.14.0 work without NIO, which isn't available until Android 8 (api 26)
|
||||
implementation(libs.apache.sshd.sftp)
|
||||
implementation(libs.apache.sshd.scp)
|
||||
implementation(libs.apache.sshd.mina)
|
||||
implementation(libs.apache.mina.core)
|
||||
|
||||
//implementation("com.github.bright:slf4android:0.1.6") { transitive = true } // For org.apache.sshd debugging
|
||||
implementation(libs.bcpkix.jdk15on) //For SSL certificate generation
|
||||
|
||||
implementation(libs.classindex)
|
||||
kapt(libs.classindex)
|
||||
ksp(libs.classindexksp)
|
||||
|
||||
// The android-smsmms library is the only way I know to handle MMS in Android
|
||||
// (Shouldn't a phone OS make phone things easy?)
|
||||
@@ -219,10 +341,7 @@ dependencies {
|
||||
|
||||
// Testing
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.powermock.core)
|
||||
testImplementation(libs.powermock.module.junit4)
|
||||
testImplementation(libs.powermock.api.mockito2)
|
||||
testImplementation(libs.mockito.core) // powermock isn't compatible with mockito 4
|
||||
testImplementation(libs.mockito.core)
|
||||
testImplementation(libs.jsonassert)
|
||||
|
||||
// For device controls
|
||||
|
6
dbg-res/mipmap-anydpi-v26/ic_launcher.xml
Normal file
6
dbg-res/mipmap-anydpi-v26/ic_launcher.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- <background android:drawable="@drawable/ic_launcher_background"/>-->
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
|
||||
</adaptive-icon>
|
5
dbg-res/mipmap-anydpi-v26/ic_launcher_banner.xml
Normal file
5
dbg-res/mipmap-anydpi-v26/ic_launcher_banner.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- <background android:drawable="@drawable/ic_launcher_banner_background"/>-->
|
||||
<foreground android:drawable="@drawable/ic_launcher_banner_foreground"/>
|
||||
</adaptive-icon>
|
6
dbg-res/mipmap-anydpi-v26/ic_launcher_round.xml
Normal file
6
dbg-res/mipmap-anydpi-v26/ic_launcher_round.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- <background android:drawable="@drawable/ic_launcher_background"/>-->
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
|
||||
</adaptive-icon>
|
5
dbg-res/values-en-rGB/strings.xml
Normal file
5
dbg-res/values-en-rGB/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<resources>
|
||||
<string name="kde_connect">Debug KDE Connect</string>
|
||||
</resources>
|
5
dbg-res/values/strings.xml
Normal file
5
dbg-res/values/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<resources>
|
||||
<string name="kde_connect">Debug KDE Connect</string>
|
||||
</resources>
|
21
fastlane/metadata/android/bg/full_description.txt
Normal file
21
fastlane/metadata/android/bg/full_description.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
KDE Connect предоставя набор от функции за интегриране на вашия работен процес на различни устройства:
|
||||
|
||||
- Прехвърляйте файлове между вашите устройства.
|
||||
- Осъществявайте достъп до файлове на телефона си от компютъра си, без кабели.
|
||||
- Споделен клипборд: копирайте и поставяйте между вашите устройства.
|
||||
- Получавайте известия за входящи обаждания и съобщения на вашия компютър.
|
||||
- Виртуален тъчпад: Използвайте екрана на телефона си като тъчпад на компютъра.
|
||||
- Синхронизиране на известия: Достъп до известията на телефона ви от вашия компютър и отговаряне на съобщения.
|
||||
- Мултимедийно дистанционно управление: Използвайте телефона си като дистанционно за Linux медийни плейъри.
|
||||
- WiFi връзка: не е необходим USB кабел или bluetooth.
|
||||
- TLS криптиране от край до край: информацията ви е в безопасност.
|
||||
|
||||
Моля, имайте предвид, че ще трябва да инсталирате KDE Connect на вашия компютър, за да работи това приложение, и поддържайте версията за настолен компютър актуална с версията за Android, за да работят най-новите функции.
|
||||
|
||||
Поверителна информация за разрешения:
|
||||
* Разрешение за достъпност: Изисква се за получаване на вход от друго устройство за управление на вашия телефон с Android, ако използвате функцията за отдалечено въвеждане.
|
||||
* Разрешение за местоположение във фонов режим: Изисква се, за да знаете към коя WiFi мрежа сте свързани, ако използвате функцията Trusted Networks.
|
||||
|
||||
KDE Connect никога не изпраща никаква информация на KDE или на трета страна. KDE Connect изпраща данни от едно устройство на друго директно чрез локалната мрежа, никога през интернет, и чрез криптиране от край до край.
|
||||
|
||||
Това приложение е част от проект с отворен код и съществува благодарение на всички хора, които са допринесли за него. Посетете уебсайта, за да вземете изходния код.
|
1
fastlane/metadata/android/bg/short_description.txt
Normal file
1
fastlane/metadata/android/bg/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect интегрира вашия смартфон и компютър
|
1
fastlane/metadata/android/bg/title.txt
Normal file
1
fastlane/metadata/android/bg/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect
|
@@ -1,21 +1,21 @@
|
||||
KDE Connect provides a set of features to integrate your workflow across devices:
|
||||
KDE Connect bietet eine Reihe von Funktionen, um Ihre Arbeitsabläufe über verschiedene Geräte zu vereinigen:
|
||||
|
||||
- Transfer files between your devices.
|
||||
- Access files on your phone from your computer, without wires.
|
||||
- Shared clipboard: copy and paste between your devices.
|
||||
- Get notifications for incoming calls and messages on your computer.
|
||||
- Virtual touchpad: Use your phone screen as your computer's touchpad.
|
||||
- Notifications sync: Access your phone notifications from your computer and reply to messages.
|
||||
- Multimedia remote control: Use your phone as a remote for Linux media players.
|
||||
- WiFi connection: no USB wire or bluetooth needed.
|
||||
- End-to-end TLS encryption: your information is safe.
|
||||
- Daten zwischen Ihren Geräten übertragen.
|
||||
- Auf Daten auf Ihrem Telefon von Ihrem Computer aus zugreifen, ohne Kabel.
|
||||
- Geteilte Zwischenablage: Kopieren und Einfügen zwischen Ihren Geräten.
|
||||
- Erhalten Sie Benachrichtigungen über eingehende Anrufe und Nachrichten auf Ihren Computer.
|
||||
- Virtuelles Touchpad: Verwenden Sie den Bildschirm Ihres Telefons als Touchpad für Ihren Computer.
|
||||
- Abgleich der Benachrichtigungen: Greifen Sie über den Computer auf Ihre Telefonbenachrichtigungen zu und antworten Sie auf Nachrichten.
|
||||
- Multimedia-Fernbedienung: Verwenden Sie Ihr Telefon als Fernbedienung für Linux-Medienspieler.
|
||||
- WLAN-Verbindung: kein USB-Kabel oder Bluetooth erforderlich.
|
||||
- Ende-zu-Ende-TLS-Verschlüsselung: Ihre Informationen sind sicher.
|
||||
|
||||
Please note you will need to install KDE Connect on your computer for this app to work, and keep the desktop version up-to-date with the Android version for the latest features to work.
|
||||
Bitte beachten Sie, dass Sie KDE Connect auf Ihrem Computer installieren müssen, damit diese App funktioniert und halten Sie die Desktop-Version mit der Android-Version auf dem aktuellen Stand, um die neuesten Funktionen nutzen zu können.
|
||||
|
||||
Sensitive permissions information:
|
||||
* Accessibility permission: Required to receive input from another device to control your Android phone, if you use the Remote Input feature.
|
||||
* Background location permission: Required to know to which WiFi network you are connected to, if you use the Trusted Networks feature.
|
||||
Informationen zu sensiblen Berechtigungen:
|
||||
* Zugriffsberechtigung: Wird benötigt, um Eingaben zur Steuerung ihres Android-Telefons von einem anderen Gerät zu erhalten, wenn Sie die Ferneingabefunktion verwenden.
|
||||
* Berechtigung den Standort im Hintergrund zu nutzen: Wird benötigt, um festzustellen, mit welchem WLAN-Netzwerk Sie verbunden sind, wenn Sie die Funktion „Vertrauenswürdige Netzwerke” verwenden.
|
||||
|
||||
KDE Connect never sends any information to KDE nor to any third party. KDE Connect sends data from one device to the other directly using the local network, never through the internet, and using end to end encryption.
|
||||
KDE Connect sendet niemals irgendwelche Informationen an KDE oder an Dritte. KDE Connect sendet Daten, unter Verwendung einer Ende-zu-Ende-Verschlüsselung, über das lokale Netzwerk direkt von einem Gerät zum anderen, niemals über das Internet.
|
||||
|
||||
This app is part of an open source project and it exists thanks to all the people who contributed to it. Visit the website to grab the source code.
|
||||
Diese App ist Teil eines Open-Scource-Projekts und besteht Dank all der Menschen die dazu beigetragen haben. Besuchen Sie die Internetseite, um sich den Quelltext zu holen.
|
11
fastlane/metadata/android/en-US/changelogs/13101.txt
Normal file
11
fastlane/metadata/android/en-US/changelogs/13101.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
1.31
|
||||
* Allow sharing URLs to disconnected devices, to be opened when they become available later
|
||||
* Show a notification to continue playing media on this device after stopping it on another device
|
||||
* Display a shortened version of the pairing verification key
|
||||
* Tweaks to the app theme
|
||||
|
||||
1.30
|
||||
* Added Bluetooth support (beta)
|
||||
* Improved device controls
|
||||
* Added scroll sensitivity option to remote input
|
||||
* Accessibility improvements
|
10
fastlane/metadata/android/en-US/changelogs/13200.txt
Normal file
10
fastlane/metadata/android/en-US/changelogs/13200.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
1.32
|
||||
* Rewrite the remote file browsing
|
||||
* Add Direct Share targets
|
||||
* Send album art from phone to PC
|
||||
|
||||
1.31
|
||||
* Allow sharing URLs to disconnected devices, to be opened when they become available later
|
||||
* Show a notification to continue playing media on this device after stopping it on another device
|
||||
* Display a shortened version of the pairing verification key
|
||||
* Tweaks to the app theme
|
13
fastlane/metadata/android/en-US/changelogs/13201.txt
Normal file
13
fastlane/metadata/android/en-US/changelogs/13201.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
||||
|
||||
1.32
|
||||
* Rewrite the remote file browsing
|
||||
* Add Direct Share targets
|
||||
* Send album art from phone to PC
|
||||
|
||||
1.31
|
||||
* Allow sharing URLs to disconnected devices, to be opened when they become available later
|
||||
* Show a notification to continue playing media on this device after stopping it on another device
|
||||
* Display a shortened version of the pairing verification key
|
||||
* Tweaks to the app theme
|
11
fastlane/metadata/android/en-US/changelogs/13202.txt
Normal file
11
fastlane/metadata/android/en-US/changelogs/13202.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
1.32.2
|
||||
* Handle expired certificates
|
||||
* Support doubletap drag in remote mouse
|
||||
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
||||
|
||||
1.32
|
||||
* Rewrite the remote file browsing
|
||||
* Add Direct Share targets
|
||||
* Send album art from phone to PC
|
14
fastlane/metadata/android/en-US/changelogs/13203.txt
Normal file
14
fastlane/metadata/android/en-US/changelogs/13203.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
1.32.3
|
||||
* Fix trusted devices list
|
||||
|
||||
1.32.2
|
||||
* Handle expired certificates
|
||||
* Support doubletap drag in remote mouse
|
||||
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
||||
|
||||
1.32
|
||||
* Rewrite the remote file browsing
|
||||
* Add Direct Share targets
|
||||
* Send album art from phone to PC
|
17
fastlane/metadata/android/en-US/changelogs/13205.txt
Normal file
17
fastlane/metadata/android/en-US/changelogs/13205.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
1.32.5
|
||||
* Fixed crash in Android 14+
|
||||
|
||||
1.32.3
|
||||
* Fix trusted devices list
|
||||
|
||||
1.32.2
|
||||
* Handle expired certificates
|
||||
* Support doubletap drag in remote mouse
|
||||
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
||||
|
||||
1.32
|
||||
* Rewrite the remote file browsing
|
||||
* Add Direct Share targets
|
||||
* Send album art from phone to PC
|
16
fastlane/metadata/android/en-US/changelogs/13207.txt
Normal file
16
fastlane/metadata/android/en-US/changelogs/13207.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
1.32.7
|
||||
* Fixed file transfers showing as failed when they succeeded
|
||||
* Fixed plugin list not updating after granting permissions
|
||||
|
||||
1.32.5
|
||||
* Fixed crash in Android 14+
|
||||
|
||||
1.32.3
|
||||
* Fix trusted devices list
|
||||
|
||||
1.32.2
|
||||
* Handle expired certificates
|
||||
* Support doubletap drag in remote mouse
|
||||
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
14
fastlane/metadata/android/en-US/changelogs/13210.txt
Normal file
14
fastlane/metadata/android/en-US/changelogs/13210.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
1.32.10
|
||||
* Fixed app showing behind the notifications bar in Android 15
|
||||
* Fixed file transfers showing as failed when they succeeded
|
||||
* Fixed plugin list not updating after granting permissions
|
||||
|
||||
1.32.3
|
||||
* Fix trusted devices list
|
||||
|
||||
1.32.2
|
||||
* Handle expired certificates
|
||||
* Support doubletap drag in remote mouse
|
||||
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
@@ -1,14 +1,21 @@
|
||||
KDE Connect provides a set of features to integrate your workflow across devices:
|
||||
|
||||
- Transfer files between your devices.
|
||||
- Access files on your phone from your computer, without wires.
|
||||
- Shared clipboard: copy and paste between your devices.
|
||||
- Share files and URLs to your computer from any app.
|
||||
- Get notifications for incoming calls and SMS messages on your PC.
|
||||
- Get notifications for incoming calls and messages on your computer.
|
||||
- Virtual touchpad: Use your phone screen as your computer's touchpad.
|
||||
- Notifications sync: Read your Android notifications from the desktop.
|
||||
- Notifications sync: Access your phone notifications from your computer and reply to messages.
|
||||
- Multimedia remote control: Use your phone as a remote for Linux media players.
|
||||
- WiFi connection: no USB wire or bluetooth needed.
|
||||
- End-to-end TLS encryption: your information is safe.
|
||||
|
||||
Please note you will need to install KDE Connect on your computer for this app to work, and keep the desktop version up-to-date with the Android version for the latest features to work.
|
||||
|
||||
Sensitive permissions information:
|
||||
* Accessibility permission: Required to receive input from another device to control your Android phone, if you use the Remote Input feature.
|
||||
* Background location permission: Required to know to which WiFi network you are connected to, if you use the Trusted Networks feature.
|
||||
|
||||
KDE Connect never sends any information to KDE nor to any third party. KDE Connect sends data from one device to the other directly using the local network, never through the internet, and using end to end encryption.
|
||||
|
||||
This app is part of an open source project and it exists thanks to all the people who contributed to it. Visit the website to grab the source code.
|
@@ -6,7 +6,7 @@ KDEConnect fournit un ensemble de fonctionnalités pour intégrer votre flux de
|
||||
- Apparition de notifications pour les appels et les messages entrants sur votre ordinateur.
|
||||
- Pavé tactile virtuel : utilisation de l'écran de votre téléphone comme pavé tactile pour votre ordinateur.
|
||||
- Synchronisation de vos notifications : accès à vos notifications téléphoniques depuis votre ordinateur et réponses aux messages.
|
||||
- Télé-commande multimédia : utilisation de votre téléphone comme télécommande pour les lecteurs de médias sous Linux.
|
||||
- Télé-commande multimédia : utilisation de votre téléphone comme télécommande pour les lecteurs de média sous Linux.
|
||||
- Connexion au Wifi : aucun connexion USB ou Bluetooth nécessaire.
|
||||
- Chiffrement « TLS » de bout en bout : vos informations sont en sécurité.
|
||||
|
||||
@@ -18,4 +18,4 @@ Informations sur les permissions sensibles :
|
||||
|
||||
KDEConnect n'envoie jamais d'informations à KDE ni à aucun tiers. KDEConnect envoie des données d'un périphérique à un autre à l'aide du réseau local, mais jamais par Internet et en utilisant le chiffrement de bout en bout.
|
||||
|
||||
Cette application fait partie d'un projet « Open source ». Il existe grâce à toutes les personnes qui y ont contribué.Visitez le site Internet pour accéder au code source.
|
||||
Cette application fait partie d'un projet « Open source ». Il existe grâce à toutes les personnes qui y ont contribué. Veuillez visiter le site Internet pour accéder au code source.
|
@@ -1 +1 @@
|
||||
KDE Connect intègre votre téléphone et votre ordinateur.
|
||||
KDEConnect intègre votre téléphone et votre ordinateur.
|
21
fastlane/metadata/android/no-NO/full_description.txt
Normal file
21
fastlane/metadata/android/no-NO/full_description.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
KDE Connect tilbyr eit sett funksjonar som lèt deg enkelt arbeida på tvers av einingar:
|
||||
|
||||
– Overfør filer mellom einingane
|
||||
– Få trådlaus tilgang til filer på telefonen frå datamaskina
|
||||
– Del utklippsbilete: kopier og lim inn mellom einingane
|
||||
– Vert varsla på datamaskina om innkommande samtalar og tekstmeldingar
|
||||
– Virtuell styreplate: bruk telefonskjermen som styreplate for datamaskina
|
||||
– Synkronisering av varslingar: få tilgang til telefonvarslingar frå datamaskina og svar på meldingar
|
||||
– Fjernkontroll av medieavspeling: bruk telefonen til å styra Linux-baserte mediespelarar
|
||||
– Wi-Fi-tilkopling: du treng ikkje USB- eller Bluetooth-tilkopling
|
||||
– Ende-til-ende-kryptering: informasjonen din er trygg
|
||||
|
||||
Merk at du må installera KDE Connect på datamaskina for å kunna bruka appen. Hugs å halda PC-versjonen oppdatert med Android-versjonen for tilgang til dei nyaste funksjonane.
|
||||
|
||||
Informasjon om sensitive løyve:
|
||||
– Tilgjenge-løyve: Trengst for å kunna ta imot tastetrykk frå PC for å styra Android-eininga om du brukar funksjonen «Fjernstyring»
|
||||
– Bakgrunnsløyve til å sjå geografiske posisjon: Trengst for å veta kva Wi-Fi-nettverk du er tilkopla om du brukar funksjonen «Tiltrudde nettverk»
|
||||
|
||||
KDE Connect sender aldri informasjon til KDE eller nokon tredjepart. Programmet sender data direkte mellom dei to einingane via lokalnettet, aldri via Internett og alltid med ende-til-ende-kryptering.
|
||||
|
||||
Appen er ein del av eit fri programvare-prosjekt og er blitt til takka vera mange bidragsytarar. Gå til heimesida for å sjå kjeldekoden.
|
1
fastlane/metadata/android/no-NO/short_description.txt
Normal file
1
fastlane/metadata/android/no-NO/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect koplar telefonen din saman med datamaskina
|
1
fastlane/metadata/android/no-NO/title.txt
Normal file
1
fastlane/metadata/android/no-NO/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect
|
@@ -1,20 +1,21 @@
|
||||
O KDE Connect fornece um conjunto de recursos para integrar seu fluxo de trabalho entre dispositivos:
|
||||
|
||||
- Transfira arquivos entre seus dispositivos.
|
||||
- Acesse arquivos do seu computador no seu telefone, sem fios.
|
||||
- Área de transferência compartilhada: copie e cole entre seus dispositivos.
|
||||
- Compartilhe arquivos e URLs em seu computador a partir de qualquer app.
|
||||
- Receba notificações de chamadas recebidas e mensagens SMS no seu PC.
|
||||
- Touchpad virtual: use a tela do telefone como touchpad do computador.
|
||||
- Sincronização de notificações: leia as notificações do seu Android na área de trabalho.
|
||||
- Controle remoto multimídia: use seu telefone como controle remoto para reprodutores de mídia Linux.
|
||||
- Sincronização de notificações: acesse as notificações do seu telefone no seu computador e responda as mensagens.
|
||||
- Controle remoto multimídia: use seu telefone como controle remoto para reprodutores de mídia no Linux.
|
||||
- Conexão Wi-Fi: sem necessidade de cabos USB ou bluetooth.
|
||||
- Criptografia TLS de ponta a ponta: suas informações estão seguras.
|
||||
|
||||
Observe que você precisará instalar o KDE Connect no seu computador para que este aplicativo funcione e mantenha a versão para desktop atualizada com a versão do Android para que os recursos mais recentes funcionem.
|
||||
|
||||
Informações a respeito de permissões especiais :
|
||||
Informações sobre permissões sensíveis:
|
||||
* Permissão de acessibilidade: necessária para receber entrada de outro dispositivo para controlar seu telefone Android, se você usar o recurso de entrada remota.
|
||||
* Permissão de localização em segundo plano: necessária para saber a qual rede Wi-Fi você está conectado, se você usar o recurso de redes confiáveis.
|
||||
|
||||
O KDE Connect nunca envia nenhuma informação ao KDE nem a terceiros. O KDE Connect envia dados de um dispositivo para outro diretamente usando a rede local, nunca pela Internet e usando criptografia de ponta a ponta.
|
||||
O KDE Connect nunca envia nenhuma informação ao KDE ou a terceiros. O KDE Connect envia dados de um dispositivo para outro diretamente usando a rede local, nunca pela Internet e usando criptografia de ponta a ponta.
|
||||
|
||||
Este aplicativo faz parte de um projeto de código aberto e existe graças a todas as pessoas que contribuíram para ele. Visite o site para obter o código-fonte.
|
@@ -1,4 +1,4 @@
|
||||
KDE 連線提供許多功能讓您整合您跨裝置的作業流程:
|
||||
KDE Connect 提供許多功能讓您整合您跨裝置的作業流程:
|
||||
|
||||
- 在您的裝置之間傳輸檔案。
|
||||
- 從您的電腦無線存取您的手機上的檔案。
|
||||
@@ -10,12 +10,12 @@ KDE 連線提供許多功能讓您整合您跨裝置的作業流程:
|
||||
- WiFi 連線:不需要 USB 線或是藍牙連線。
|
||||
- 點對點 TLS 加密:您的資訊是安全的。
|
||||
|
||||
請注意,這個應用程式需要您在電腦上也安裝 KDE 連線才能正常運作;最新功能也會需要電腦的版本跟 Android 的版本一樣新才能正常運作。
|
||||
請注意,這個應用程式需要您在電腦上也安裝 KDE Connect 才能正常運作;最新功能也會需要電腦的版本跟 Android 的版本一樣新才能正常運作。
|
||||
|
||||
敏感權限資訊:
|
||||
* 協助工具權限:如果您使用「遠端輸入」功能,需要它來從另一個裝置接收輸入後控制您的 Android 裝置。
|
||||
* 背景位置權限:如果您使用「信任網路」功能,需要它來得知您目前連線的 WiFi 網路。
|
||||
|
||||
KDE 連線不會傳送任何資訊給 KDE 或任何第三方。KDE 連線利用本地網路直接從一個裝置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。
|
||||
KDE Connect 不會傳送任何資訊給 KDE 或任何第三方。KDE Connect 利用本地網路直接從一個裝置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。
|
||||
|
||||
這個應用程式是一個開源專案的一部分,它的存在歸功於所有貢獻者。可造訪網站取得原始碼。
|
@@ -1 +1 @@
|
||||
KDE 連線整合了您的智慧型手機與電腦
|
||||
KDE Connect 整合了您的智慧型手機與電腦
|
@@ -1,3 +1,7 @@
|
||||
android.enableJetifier=false
|
||||
android.useAndroidX=true
|
||||
org.gradle.jvmargs=-Xmx4096m
|
||||
org.gradle.caching=true
|
||||
org.gradle.parallel=true
|
||||
# License report doesn't allow us to enable configuration caching
|
||||
#org.gradle.configuration-cache=true
|
@@ -1,47 +1,45 @@
|
||||
[versions]
|
||||
activityCompose = "1.8.2"
|
||||
androidDesugarJdkLibs = "2.0.4"
|
||||
androidGradlePlugin = "8.3.1"
|
||||
activityCompose = "1.9.3"
|
||||
androidDesugarJdkLibs = "2.1.4"
|
||||
androidGradlePlugin = "8.8.0"
|
||||
androidSmsmms = "kdeconnect-1-21-0"
|
||||
appcompat = "1.6.1"
|
||||
appcompat = "1.7.0"
|
||||
bcpkixJdk15on = "1.70"
|
||||
classindex = "3.13"
|
||||
classindexksp = "1.1"
|
||||
commonsCollections4 = "4.4"
|
||||
commonsIo = "2.16.0"
|
||||
commonsLang3 = "3.14.0"
|
||||
constraintlayoutCompose = "1.0.1"
|
||||
compose-compiler = "1.5.11"
|
||||
coreKtx = "1.12.0"
|
||||
commonsIo = "2.18.0"
|
||||
commonsLang3 = "3.17.0"
|
||||
constraintlayoutCompose = "1.1.0"
|
||||
coreKtx = "1.15.0"
|
||||
dependencyLicenseReport = "2.7"
|
||||
disklrucache = "2.0.2"
|
||||
documentfile = "1.0.1"
|
||||
gradle = "8.3.1"
|
||||
gridlayout = "1.0.0"
|
||||
jsonassert = "1.5.1"
|
||||
jsonassert = "1.5.3"
|
||||
junit = "4.13.2"
|
||||
dependencyLicenseReport = "1.16"
|
||||
kotlin = "1.9.23"
|
||||
kotlinxCoroutinesCore = "1.8.0"
|
||||
kotlin = "2.1.0"
|
||||
kspPlugin = "2.1.0-1.0.29"
|
||||
kotlinxCoroutinesCore = "1.10.1"
|
||||
lifecycleExtensions = "2.2.0"
|
||||
lifecycleRuntimeKtx = "2.7.0"
|
||||
lifecycleRuntimeKtx = "2.8.7"
|
||||
logger = "1.0.3"
|
||||
material = "1.11.0"
|
||||
material3 = "1.2.1"
|
||||
material = "1.12.0"
|
||||
material3 = "1.3.1"
|
||||
media = "1.7.0"
|
||||
minaCore = "2.0.19"
|
||||
mockitoCore = "3.12.4"
|
||||
powermockModuleJunit4 = "2.0.9"
|
||||
minaCore = "2.2.4"
|
||||
mockitoCore = "5.15.2"
|
||||
preferenceKtx = "1.2.1"
|
||||
reactiveStreams = "1.0.4"
|
||||
recyclerview = "1.3.2"
|
||||
rxjava = "2.2.21"
|
||||
sshdCore = "0.14.0"
|
||||
sl4j = "2.0.13"
|
||||
sshdCore = "2.14.0"
|
||||
swiperefreshlayout = "1.1.0"
|
||||
uiToolingPreview = "1.6.5"
|
||||
uiToolingPreview = "1.7.6"
|
||||
univocityParsers = "2.9.1"
|
||||
sl4j = "2.0.4"
|
||||
|
||||
[libraries]
|
||||
android-desugarJdkLibs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "androidDesugarJdkLibs" }
|
||||
android-desugarJdkLibsNio = { module = "com.android.tools:desugar_jdk_libs_nio", version.ref = "androidDesugarJdkLibs" }
|
||||
android-smsmms = { module = "org.kde.invent.sredman:android-smsmms", version.ref = "androidSmsmms" }
|
||||
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" }
|
||||
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
|
||||
@@ -61,14 +59,14 @@ androidx-preference-ktx = { module = "androidx.preference:preference-ktx", versi
|
||||
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "recyclerview" }
|
||||
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "swiperefreshlayout" }
|
||||
bcpkix-jdk15on = { module = "org.bouncycastle:bcpkix-jdk15on", version.ref = "bcpkixJdk15on" }
|
||||
classindex = { module = "org.atteo.classindex:classindex", version.ref = "classindex" }
|
||||
classindexksp = { module = "com.github.albertvaka:classindexksp", version.ref = "classindexksp" }
|
||||
commons-collections4 = { module = "org.apache.commons:commons-collections4", version.ref = "commonsCollections4" }
|
||||
commons-io = { module = "commons-io:commons-io", version.ref = "commonsIo" }
|
||||
commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "commonsLang3" }
|
||||
disklrucache = { module = "com.jakewharton:disklrucache", version.ref = "disklrucache" }
|
||||
android-gradlePlugin = { module = "com.android.tools.build:gradle", version.ref = "gradle" }
|
||||
jsonassert = { module = "org.skyscreamer:jsonassert", version.ref = "jsonassert" }
|
||||
junit = { module = "junit:junit", version.ref = "junit" }
|
||||
android-gradlePlugin = { module = "com.android.tools.build:gradle", version.ref = "androidGradlePlugin" }
|
||||
kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
|
||||
kotlin-stdlib-jdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
|
||||
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesCore" }
|
||||
@@ -77,10 +75,10 @@ logger = { module = "com.klinkerapps:logger", version.ref = "logger" }
|
||||
material = { module = "com.google.android.material:material", version.ref = "material" }
|
||||
apache-mina-core = { module = "org.apache.mina:mina-core", version.ref = "minaCore" }
|
||||
apache-sshd-core = { module = "org.apache.sshd:sshd-core", version.ref = "sshdCore" }
|
||||
apache-sshd-sftp = { module = "org.apache.sshd:sshd-sftp", version.ref = "sshdCore" }
|
||||
apache-sshd-scp = { module = "org.apache.sshd:sshd-scp", version.ref = "sshdCore" }
|
||||
apache-sshd-mina = { module = "org.apache.sshd:sshd-mina", version.ref = "sshdCore" }
|
||||
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoCore" }
|
||||
powermock-api-mockito2 = { module = "org.powermock:powermock-api-mockito2", version.ref = "powermockModuleJunit4" }
|
||||
powermock-core = { module = "org.powermock:powermock-core", version.ref = "powermockModuleJunit4" }
|
||||
powermock-module-junit4 = { module = "org.powermock:powermock-module-junit4", version.ref = "powermockModuleJunit4" }
|
||||
reactive-streams = { module = "org.reactivestreams:reactive-streams", version.ref = "reactiveStreams" }
|
||||
rxjava = { module = "io.reactivex.rxjava2:rxjava", version.ref = "rxjava" }
|
||||
univocity-parsers = { module = "com.univocity:univocity-parsers", version.ref = "univocityParsers" }
|
||||
@@ -88,6 +86,7 @@ slf4j-handroid = { group = "com.gitlab.mvysny.slf4j", name = "slf4j-handroid", v
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
|
||||
kotlin-android = { id ="org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
|
||||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "kspPlugin" }
|
||||
dependencyLicenseReport = { id = "com.github.jk1.dependency-license-report", version.ref = "dependencyLicenseReport" }
|
||||
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
6
gradle/wrapper/gradle-wrapper.properties
vendored
6
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,8 @@
|
||||
#Sat Mar 02 00:26:28 CET 2024
|
||||
#Sat Sep 28 01:39:16 AM EDT 2024
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
294
gradlew
vendored
294
gradlew
vendored
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright 2015 the original author or authors.
|
||||
# Copyright © 2015-2021 the original authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -17,78 +17,111 @@
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
#
|
||||
# Gradle start up script for POSIX generated by Gradle.
|
||||
#
|
||||
# Important for running:
|
||||
#
|
||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||
# noncompliant, but you have some other compliant shell such as ksh or
|
||||
# bash, then to run this script, type that shell name before the whole
|
||||
# command line, like:
|
||||
#
|
||||
# ksh Gradle
|
||||
#
|
||||
# Busybox and similar reduced shells will NOT work, because this script
|
||||
# requires all of these POSIX shell features:
|
||||
# * functions;
|
||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||
# * compound commands having a testable exit status, especially «case»;
|
||||
# * various built-in commands including «command», «set», and «ulimit».
|
||||
#
|
||||
# Important for patching:
|
||||
#
|
||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||
#
|
||||
# The "traditional" practice of packing multiple parameters into a
|
||||
# space-separated string is a well documented source of bugs and security
|
||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||
# options in "$@", and eventually passing that to Java.
|
||||
#
|
||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||
# see the in-line comments for details.
|
||||
#
|
||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
app_path=$0
|
||||
|
||||
# Need this for daisy-chained symlinks.
|
||||
while
|
||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||
[ -h "$app_path" ]
|
||||
do
|
||||
ls=$( ls -ld "$app_path" )
|
||||
link=${ls#*' -> '}
|
||||
case $link in #(
|
||||
/*) app_path=$link ;; #(
|
||||
*) app_path=$APP_HOME$link ;;
|
||||
esac
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
MAX_FD=maximum
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
} >&2
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
} >&2
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
case "$( uname )" in #(
|
||||
CYGWIN* ) cygwin=true ;; #(
|
||||
Darwin* ) darwin=true ;; #(
|
||||
MSYS* | MINGW* ) msys=true ;; #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
JAVACMD=$JAVA_HOME/bin/java
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
@@ -97,87 +130,120 @@ Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
JAVACMD=java
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
case $i in
|
||||
0) set -- ;;
|
||||
1) set -- "$args0" ;;
|
||||
2) set -- "$args0" "$args1" ;;
|
||||
3) set -- "$args0" "$args1" "$args2" ;;
|
||||
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=`save "$@"`
|
||||
# Collect all arguments for the java command, stacking in reverse order:
|
||||
# * args from the command line
|
||||
# * the main class name
|
||||
# * -classpath
|
||||
# * -D...appname settings
|
||||
# * --module-path (only if needed)
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if "$cygwin" || "$msys" ; then
|
||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
||||
|
||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
for arg do
|
||||
if
|
||||
case $arg in #(
|
||||
-*) false ;; # don't mess with options #(
|
||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||
[ -e "$t" ] ;; #(
|
||||
*) false ;;
|
||||
esac
|
||||
then
|
||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||
fi
|
||||
# Roll the args list around exactly as many times as the number of
|
||||
# args, so each arg winds up back in the position where it started, but
|
||||
# possibly modified.
|
||||
#
|
||||
# NB: a `for` loop captures its iteration list before it begins, so
|
||||
# changing the positional parameters here affects neither the number of
|
||||
# iterations, nor the values presented in `arg`.
|
||||
shift # remove old arg
|
||||
set -- "$@" "$arg" # push replacement arg
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-classpath "$CLASSPATH" \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
if ! command -v xargs >/dev/null 2>&1
|
||||
then
|
||||
die "xargs is not available"
|
||||
fi
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
#
|
||||
# In Bash we could simply go:
|
||||
#
|
||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||
# set -- "${ARGS[@]}" "$@"
|
||||
#
|
||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||
# character that might be a shell metacharacter, then use eval to reverse
|
||||
# that process (while maintaining the separation between arguments), and wrap
|
||||
# the whole thing up as a single "set" statement.
|
||||
#
|
||||
# This will of course break if any of these variables contains a newline or
|
||||
# an unmatched quote.
|
||||
#
|
||||
|
||||
eval "set -- $(
|
||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||
xargs -n1 |
|
||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
|
55
gradlew.bat
vendored
55
gradlew.bat
vendored
@@ -14,7 +14,7 @@
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@@ -25,7 +25,8 @@
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@@ -40,13 +41,13 @@ if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
@@ -54,48 +55,36 @@ goto fail
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||
exit /b %EXIT_CODE%
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
85
po/bg/kdeconnect-android-store-full.po
Normal file
85
po/bg/kdeconnect-android-store-full.po
Normal file
@@ -0,0 +1,85 @@
|
||||
# SPDX-FileCopyrightText: 2024 Mincho Kondarev <mkondarev@yahoo.de>
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2024-07-28 18:31+0200\n"
|
||||
"Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
|
||||
"Language-Team: Bulgarian <kde-i18n-doc@kde.org>\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 24.07.70\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
"\n"
|
||||
"- Transfer files between your devices.\n"
|
||||
"- Access files on your phone from your computer, without wires.\n"
|
||||
"- Shared clipboard: copy and paste between your devices.\n"
|
||||
"- Get notifications for incoming calls and messages on your computer.\n"
|
||||
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
"- Notifications sync: Access your phone notifications from your computer and "
|
||||
"reply to messages.\n"
|
||||
"- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
"players.\n"
|
||||
"- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
"- End-to-end TLS encryption: your information is safe.\n"
|
||||
"\n"
|
||||
"Please note you will need to install KDE Connect on your computer for this "
|
||||
"app to work, and keep the desktop version up-to-date with the Android "
|
||||
"version for the latest features to work.\n"
|
||||
"\n"
|
||||
"Sensitive permissions information:\n"
|
||||
"* Accessibility permission: Required to receive input from another device to "
|
||||
"control your Android phone, if you use the Remote Input feature.\n"
|
||||
"* Background location permission: Required to know to which WiFi network you "
|
||||
"are connected to, if you use the Trusted Networks feature.\n"
|
||||
"\n"
|
||||
"KDE Connect never sends any information to KDE nor to any third party. KDE "
|
||||
"Connect sends data from one device to the other directly using the local "
|
||||
"network, never through the internet, and using end to end encryption.\n"
|
||||
"\n"
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
msgstr ""
|
||||
"KDE Connect предоставя набор от функции за интегриране на вашия работен "
|
||||
"процес на различни устройства:\n"
|
||||
"\n"
|
||||
"- Прехвърляйте файлове между вашите устройства.\n"
|
||||
"- Осъществявайте достъп до файлове на телефона си от компютъра си, без "
|
||||
"кабели.\n"
|
||||
"- Споделен клипборд: копирайте и поставяйте между вашите устройства.\n"
|
||||
"- Получавайте известия за входящи обаждания и съобщения на вашия компютър.\n"
|
||||
"- Виртуален тъчпад: Използвайте екрана на телефона си като тъчпад на "
|
||||
"компютъра.\n"
|
||||
"- Синхронизиране на известия: Достъп до известията на телефона ви от вашия "
|
||||
"компютър и отговаряне на съобщения.\n"
|
||||
"- Мултимедийно дистанционно управление: Използвайте телефона си като "
|
||||
"дистанционно за Linux медийни плейъри.\n"
|
||||
"- WiFi връзка: не е необходим USB кабел или bluetooth.\n"
|
||||
"- TLS криптиране от край до край: информацията ви е в безопасност.\n"
|
||||
"\n"
|
||||
"Моля, имайте предвид, че ще трябва да инсталирате KDE Connect на вашия "
|
||||
"компютър, за да работи това приложение, и поддържайте версията за настолен "
|
||||
"компютър актуална с версията за Android, за да работят най-новите функции.\n"
|
||||
"\n"
|
||||
"Поверителна информация за разрешения:\n"
|
||||
"* Разрешение за достъпност: Изисква се за получаване на вход от друго "
|
||||
"устройство за управление на вашия телефон с Android, ако използвате "
|
||||
"функцията за отдалечено въвеждане.\n"
|
||||
"* Разрешение за местоположение във фонов режим: Изисква се, за да знаете към "
|
||||
"коя WiFi мрежа сте свързани, ако използвате функцията Trusted Networks.\n"
|
||||
"\n"
|
||||
"KDE Connect никога не изпраща никаква информация на KDE или на трета страна. "
|
||||
"KDE Connect изпраща данни от едно устройство на друго директно чрез "
|
||||
"локалната мрежа, никога през интернет, и чрез криптиране от край до край.\n"
|
||||
"\n"
|
||||
"Това приложение е част от проект с отворен код и съществува благодарение на "
|
||||
"всички хора, които са допринесли за него. Посетете уебсайта, за да вземете "
|
||||
"изходния код.\n"
|
19
po/bg/kdeconnect-android-store-short.po
Normal file
19
po/bg/kdeconnect-android-store-short.po
Normal file
@@ -0,0 +1,19 @@
|
||||
# SPDX-FileCopyrightText: 2024 Mincho Kondarev <mkondarev@yahoo.de>
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2024-07-28 18:32+0200\n"
|
||||
"Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
|
||||
"Language-Team: Bulgarian <kde-i18n-doc@kde.org>\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 24.07.70\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
msgid "KDE Connect integrates your smartphone and computer"
|
||||
msgstr "KDE Connect интегрира вашия смартфон и компютър"
|
@@ -63,7 +63,7 @@ msgstr ""
|
||||
"- Obteniu les notificacions de tocades entrants i missatges a l'ordinador.\n"
|
||||
"- Ratolí tàctil virtual: utilitzeu la pantalla del telèfon com a ratolí "
|
||||
"tàctil de l'ordinador.\n"
|
||||
"- Sincronització de notificacions: accediu a les notificacions del telèfon "
|
||||
"- Sincronitzeu les notificacions: accediu a les notificacions del telèfon "
|
||||
"des de l'ordinador i contesteu els missatges.\n"
|
||||
"- Control remot multimèdia: utilitzeu el telèfon com a control remot dels "
|
||||
"reproductors multimèdia Linux.\n"
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2024 Vit Pelcak <vpelcak@suse.cz>
|
||||
# SPDX-FileCopyrightText: 2024 Vit Pelcak <vit@pelcak.org>
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@@ -1,19 +1,20 @@
|
||||
# Frederik Schwarzer <schwarzer@kde.org>, 2023.
|
||||
# tobi <onewayme001@posteo.de>, 2024.
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Project-Id-Version: kdeconnect-android-store-full\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-06-07 19:50+0200\n"
|
||||
"Last-Translator: Frederik Schwarzer <schwarzer@kde.org>\n"
|
||||
"PO-Revision-Date: 2024-10-02 20:37+0200\n"
|
||||
"Last-Translator: tobi <onewayme001@posteo.de>\n"
|
||||
"Language-Team: German <kde-i18n-de@kde.org>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 23.07.70\n"
|
||||
"X-Generator: Lokalize 21.12.3\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
@@ -48,3 +49,41 @@ msgid ""
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
msgstr ""
|
||||
"KDE Connect bietet eine Reihe von Funktionen, um Ihre Arbeitsabläufe über "
|
||||
"verschiedene Geräte zu vereinigen:\n"
|
||||
"\n"
|
||||
"- Daten zwischen Ihren Geräten übertragen.\n"
|
||||
"- Auf Daten auf Ihrem Telefon von Ihrem Computer aus zugreifen, ohne Kabel.\n"
|
||||
"- Geteilte Zwischenablage: Kopieren und Einfügen zwischen Ihren Geräten.\n"
|
||||
"- Erhalten Sie Benachrichtigungen über eingehende Anrufe und Nachrichten auf "
|
||||
"Ihren Computer.\n"
|
||||
"- Virtuelles Touchpad: Verwenden Sie den Bildschirm Ihres Telefons als "
|
||||
"Touchpad für Ihren Computer.\n"
|
||||
"- Abgleich der Benachrichtigungen: Greifen Sie über den Computer auf Ihre "
|
||||
"Telefonbenachrichtigungen zu und antworten Sie auf Nachrichten.\n"
|
||||
"- Multimedia-Fernbedienung: Verwenden Sie Ihr Telefon als Fernbedienung für "
|
||||
"Linux-Medienspieler.\n"
|
||||
"- WLAN-Verbindung: kein USB-Kabel oder Bluetooth erforderlich.\n"
|
||||
"- Ende-zu-Ende-TLS-Verschlüsselung: Ihre Informationen sind sicher.\n"
|
||||
"\n"
|
||||
"Bitte beachten Sie, dass Sie KDE Connect auf Ihrem Computer installieren "
|
||||
"müssen, damit diese App funktioniert und halten Sie die Desktop-Version mit "
|
||||
"der Android-Version auf dem aktuellen Stand, um die neuesten Funktionen "
|
||||
"nutzen zu können.\n"
|
||||
"\n"
|
||||
"Informationen zu sensiblen Berechtigungen:\n"
|
||||
"* Zugriffsberechtigung: Wird benötigt, um Eingaben zur Steuerung ihres "
|
||||
"Android-Telefons von einem anderen Gerät zu erhalten, wenn Sie die "
|
||||
"Ferneingabefunktion verwenden. \n"
|
||||
"* Berechtigung den Standort im Hintergrund zu nutzen: Wird benötigt, um "
|
||||
"festzustellen, mit welchem WLAN-Netzwerk Sie verbunden sind, wenn Sie die "
|
||||
"Funktion „Vertrauenswürdige Netzwerke” verwenden.\n"
|
||||
"\n"
|
||||
"KDE Connect sendet niemals irgendwelche Informationen an KDE oder an Dritte. "
|
||||
"KDE Connect sendet Daten, unter Verwendung einer Ende-zu-Ende-"
|
||||
"Verschlüsselung, über das lokale Netzwerk direkt von einem Gerät zum "
|
||||
"anderen, niemals über das Internet.\n"
|
||||
"\n"
|
||||
"Diese App ist Teil eines Open-Scource-Projekts und besteht Dank all der "
|
||||
"Menschen die dazu beigetragen haben. Besuchen Sie die Internetseite, um sich "
|
||||
"den Quelltext zu holen.\n"
|
||||
|
@@ -2,7 +2,7 @@
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Project-Id-Version: kdeconnect-android-store-short\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-06-07 19:50+0200\n"
|
||||
|
@@ -1,42 +1,20 @@
|
||||
# Steve Allewell <steve.allewell@gmail.com>, 2023.
|
||||
# SPDX-FileCopyrightText: 2023, 2024 Steve Allewell <steve.allewell@gmail.com>
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-06-17 12:11+0100\n"
|
||||
"PO-Revision-Date: 2024-05-24 19:25+0100\n"
|
||||
"Last-Translator: Steve Allewell <steve.allewell@gmail.com>\n"
|
||||
"Language-Team: British English\n"
|
||||
"Language: en_GB\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 23.03.70\n"
|
||||
"X-Generator: Lokalize 24.02.2\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "KDE Connect provides a set of features to integrate your workflow across "
|
||||
#| "devices:\n"
|
||||
#| "\n"
|
||||
#| "- Shared clipboard: copy and paste between your devices.\n"
|
||||
#| "- Share files and URLs to your computer from any app.\n"
|
||||
#| "- Get notifications for incoming calls and SMS messages on your PC.\n"
|
||||
#| "- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
#| "- Notifications sync: Read your Android notifications from the desktop.\n"
|
||||
#| "- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
#| "players.\n"
|
||||
#| "- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
#| "- End-to-end TLS encryption: your information is safe.\n"
|
||||
#| "\n"
|
||||
#| "Please note you will need to install KDE Connect on your computer for "
|
||||
#| "this app to work, and keep the desktop version up-to-date with the "
|
||||
#| "Android version for the latest features to work.\n"
|
||||
#| "\n"
|
||||
#| "This app is part of an open source project and it exists thanks to all "
|
||||
#| "the people who contributed to it. Visit the website to grab the source "
|
||||
#| "code."
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
@@ -73,11 +51,13 @@ msgstr ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
"\n"
|
||||
"- Transfer files between your devices.\n"
|
||||
"- Access files on your phone from your computer, without wires.\n"
|
||||
"- Shared clipboard: copy and paste between your devices.\n"
|
||||
"- Share files and URLs to your computer from any app.\n"
|
||||
"- Get notifications for incoming calls and SMS messages on your PC.\n"
|
||||
"- Get notifications for incoming calls and messages on your computer.\n"
|
||||
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
"- Notifications sync: Read your Android notifications from the desktop.\n"
|
||||
"- Notifications sync: Access your phone notifications from your computer and "
|
||||
"reply to messages.\n"
|
||||
"- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
"players.\n"
|
||||
"- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
@@ -87,5 +67,15 @@ msgstr ""
|
||||
"app to work, and keep the desktop version up-to-date with the Android "
|
||||
"version for the latest features to work.\n"
|
||||
"\n"
|
||||
"Sensitive permissions information:\n"
|
||||
"* Accessibility permission: Required to receive input from another device to "
|
||||
"control your Android phone, if you use the Remote Input feature.\n"
|
||||
"* Background location permission: Required to know to which WiFi network you "
|
||||
"are connected to, if you use the Trusted Networks feature.\n"
|
||||
"\n"
|
||||
"KDE Connect never sends any information to KDE nor to any third party. KDE "
|
||||
"Connect sends data from one device to the other directly using the local "
|
||||
"network, never through the internet, and using end to end encryption.\n"
|
||||
"\n"
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code."
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Víctor Rodrigo Córdoba <vrcordoba@gmail.com>, 2023.
|
||||
# SPDX-FileCopyrightText: 2023 Víctor Rodrigo Córdoba <vrcordoba@gmail.com>
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@@ -1,8 +1,8 @@
|
||||
# Víctor Rodrigo Córdoba <vrcordoba@gmail.com>, 2023.
|
||||
# SPDX-FileCopyrightText: 2023 Víctor Rodrigo Córdoba <vrcordoba@gmail.com>
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Project-Id-Version: kdeconnect-android-store-short\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-06-10 17:26+0200\n"
|
||||
|
@@ -13,7 +13,6 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 22.12.3\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
|
@@ -13,7 +13,6 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 22.12.3\n"
|
||||
|
||||
msgid "KDE Connect integrates your smartphone and computer"
|
||||
msgstr "KDE Connect eheyttää älypuhelimen ja tietokoneen"
|
||||
|
@@ -1,20 +1,20 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2023 Xavier Besnard <xavier.besnard@kde.org>
|
||||
# SPDX-FileCopyrightText: 2023, 2024 Xavier Besnard <xavier.besnard@kde.org>
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kdeconnect-android-store-full\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-09-28 18:06+0200\n"
|
||||
"Last-Translator: Xavier BESNARD <xavier.besnard@neuf.fr>\n"
|
||||
"Language-Team: French <kde-francophone@kde.org>\n"
|
||||
"PO-Revision-Date: 2024-08-09 22:07+0200\n"
|
||||
"Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
|
||||
"Language-Team: French <French <kde-francophone@kde.org>>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Lokalize 23.08.1\n"
|
||||
"X-Generator: Lokalize 23.08.5\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
@@ -62,7 +62,7 @@ msgstr ""
|
||||
"- Synchronisation de vos notifications : accès à vos notifications "
|
||||
"téléphoniques depuis votre ordinateur et réponses aux messages.\n"
|
||||
"- Télé-commande multimédia : utilisation de votre téléphone comme "
|
||||
"télécommande pour les lecteurs de médias sous Linux.\n"
|
||||
"télécommande pour les lecteurs de média sous Linux.\n"
|
||||
"- Connexion au Wifi : aucun connexion USB ou Bluetooth nécessaire.\n"
|
||||
"- Chiffrement « TLS » de bout en bout : vos informations sont en sécurité.\n"
|
||||
"\n"
|
||||
@@ -83,5 +83,5 @@ msgstr ""
|
||||
"mais jamais par Internet et en utilisant le chiffrement de bout en bout.\n"
|
||||
"\n"
|
||||
"Cette application fait partie d'un projet « Open source ». Il existe grâce à "
|
||||
"toutes les personnes qui y ont contribué.Visitez le site Internet pour "
|
||||
"accéder au code source.\n"
|
||||
"toutes les personnes qui y ont contribué. Veuillez visiter le site Internet "
|
||||
"pour accéder au code source.\n"
|
||||
|
@@ -1,19 +1,19 @@
|
||||
# Xavier Besnard <xavier.besnard@kde.org>, 2023.
|
||||
# SPDX-FileCopyrightText: 2023, 2024 Xavier Besnard <xavier.besnard@kde.org>
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kdeconnect-android-store-short\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-06-27 08:54+0200\n"
|
||||
"Last-Translator: Xavier BESNARD <xavier.besnard@neuf.fr>\n"
|
||||
"Language-Team: French <kde-francophone@kde.org>\n"
|
||||
"PO-Revision-Date: 2024-04-25 14:41+0200\n"
|
||||
"Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
|
||||
"Language-Team: French <French <kde-francophone@kde.org>>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Lokalize 23.04.2\n"
|
||||
"X-Generator: Lokalize 23.08.5\n"
|
||||
|
||||
msgid "KDE Connect integrates your smartphone and computer"
|
||||
msgstr "KDE Connect intègre votre téléphone et votre ordinateur."
|
||||
msgstr "KDEConnect intègre votre téléphone et votre ordinateur."
|
||||
|
85
po/nn/kdeconnect-android-store-full.po
Normal file
85
po/nn/kdeconnect-android-store-full.po
Normal file
@@ -0,0 +1,85 @@
|
||||
# Translation of kdeconnect-android-store-full to Norwegian Nynorsk
|
||||
#
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2024-07-10 20:18+0200\n"
|
||||
"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
|
||||
"Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n"
|
||||
"Language: nn\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Lokalize 24.05.1\n"
|
||||
"X-Environment: kde\n"
|
||||
"X-Accelerator-Marker: &\n"
|
||||
"X-Text-Markup: kde4\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
"\n"
|
||||
"- Transfer files between your devices.\n"
|
||||
"- Access files on your phone from your computer, without wires.\n"
|
||||
"- Shared clipboard: copy and paste between your devices.\n"
|
||||
"- Get notifications for incoming calls and messages on your computer.\n"
|
||||
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
"- Notifications sync: Access your phone notifications from your computer and "
|
||||
"reply to messages.\n"
|
||||
"- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
"players.\n"
|
||||
"- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
"- End-to-end TLS encryption: your information is safe.\n"
|
||||
"\n"
|
||||
"Please note you will need to install KDE Connect on your computer for this "
|
||||
"app to work, and keep the desktop version up-to-date with the Android "
|
||||
"version for the latest features to work.\n"
|
||||
"\n"
|
||||
"Sensitive permissions information:\n"
|
||||
"* Accessibility permission: Required to receive input from another device to "
|
||||
"control your Android phone, if you use the Remote Input feature.\n"
|
||||
"* Background location permission: Required to know to which WiFi network you "
|
||||
"are connected to, if you use the Trusted Networks feature.\n"
|
||||
"\n"
|
||||
"KDE Connect never sends any information to KDE nor to any third party. KDE "
|
||||
"Connect sends data from one device to the other directly using the local "
|
||||
"network, never through the internet, and using end to end encryption.\n"
|
||||
"\n"
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
msgstr ""
|
||||
"KDE Connect tilbyr eit sett funksjonar som lèt deg enkelt arbeida på tvers "
|
||||
"av einingar:\n"
|
||||
"\n"
|
||||
"– Overfør filer mellom einingane\n"
|
||||
"– Få trådlaus tilgang til filer på telefonen frå datamaskina\n"
|
||||
"– Del utklippsbilete: kopier og lim inn mellom einingane\n"
|
||||
"– Vert varsla på datamaskina om innkommande samtalar og tekstmeldingar\n"
|
||||
"– Virtuell styreplate: bruk telefonskjermen som styreplate for datamaskina\n"
|
||||
"– Synkronisering av varslingar: få tilgang til telefonvarslingar frå "
|
||||
"datamaskina og svar på meldingar\n"
|
||||
"– Fjernkontroll av medieavspeling: bruk telefonen til å styra Linux-baserte "
|
||||
"mediespelarar\n"
|
||||
"– Wi-Fi-tilkopling: du treng ikkje USB- eller Bluetooth-tilkopling\n"
|
||||
"– Ende-til-ende-kryptering: informasjonen din er trygg\n"
|
||||
"\n"
|
||||
"Merk at du må installera KDE Connect på datamaskina for å kunna bruka appen. "
|
||||
"Hugs å halda PC-versjonen oppdatert med Android-versjonen for tilgang til "
|
||||
"dei nyaste funksjonane.\n"
|
||||
"\n"
|
||||
"Informasjon om sensitive løyve:\n"
|
||||
"– Tilgjenge-løyve: Trengst for å kunna ta imot tastetrykk frå PC for å styra "
|
||||
"Android-eininga om du brukar funksjonen «Fjernstyring»\n"
|
||||
"– Bakgrunnsløyve til å sjå geografiske posisjon: Trengst for å veta kva Wi-"
|
||||
"Fi-nettverk du er tilkopla om du brukar funksjonen «Tiltrudde nettverk»\n"
|
||||
"\n"
|
||||
"KDE Connect sender aldri informasjon til KDE eller nokon tredjepart. "
|
||||
"Programmet sender data direkte mellom dei to einingane via lokalnettet, "
|
||||
"aldri via Internett og alltid med ende-til-ende-kryptering.\n"
|
||||
"\n"
|
||||
"Appen er ein del av eit fri programvare-prosjekt og er blitt til takka vera "
|
||||
"mange bidragsytarar. Gå til heimesida for å sjå kjeldekoden.\n"
|
@@ -12,7 +12,6 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 23.04.3\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
|
@@ -12,7 +12,6 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 23.04.3\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
|
@@ -1,53 +1,21 @@
|
||||
# Geraldo Simiao <geraldosimiao@fedoraproject.org>, 2023.
|
||||
# Frederico Goncalves Guimaraes <frederico@teia.bio.br>, 2024.
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-08-04 01:33-0300\n"
|
||||
"Last-Translator: Geraldo Simiao <geraldosimiao@fedoraproject.org>\n"
|
||||
"PO-Revision-Date: 2024-08-28 17:37-0300\n"
|
||||
"Last-Translator: Frederico Goncalves Guimaraes <frederico@teia.bio.br>\n"
|
||||
"Language-Team: Brazilian Portuguese <kde-i18n-pt_BR@kde.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 23.04.3\n"
|
||||
"X-Generator: Lokalize 22.12.3\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "KDE Connect provides a set of features to integrate your workflow across "
|
||||
#| "devices:\n"
|
||||
#| "\n"
|
||||
#| "- Shared clipboard: copy and paste between your devices.\n"
|
||||
#| "- Share files and URLs to your computer from any app.\n"
|
||||
#| "- Get notifications for incoming calls and SMS messages on your PC.\n"
|
||||
#| "- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
#| "- Notifications sync: Read your Android notifications from the desktop.\n"
|
||||
#| "- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
#| "players.\n"
|
||||
#| "- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
#| "- End-to-end TLS encryption: your information is safe.\n"
|
||||
#| "\n"
|
||||
#| "Please note you will need to install KDE Connect on your computer for "
|
||||
#| "this app to work, and keep the desktop version up-to-date with the "
|
||||
#| "Android version for the latest features to work.\n"
|
||||
#| "\n"
|
||||
#| "Sensitive permissions information:\n"
|
||||
#| "* Accessibility permission: Required to receive input from another device "
|
||||
#| "to control your Android phone, if you use the Remote Input feature.\n"
|
||||
#| "* Background location permission: Required to know to which WiFi network "
|
||||
#| "you are connected to, if you use the Trusted Networks feature.\n"
|
||||
#| "\n"
|
||||
#| "KDE Connect never sends any information to KDE nor to any third party. "
|
||||
#| "KDE Connect sends data from one device to the other directly using the "
|
||||
#| "local network, never through the internet, and using end to end "
|
||||
#| "encryption.\n"
|
||||
#| "\n"
|
||||
#| "This app is part of an open source project and it exists thanks to all "
|
||||
#| "the people who contributed to it. Visit the website to grab the source "
|
||||
#| "code.\n"
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
@@ -84,15 +52,16 @@ msgstr ""
|
||||
"O KDE Connect fornece um conjunto de recursos para integrar seu fluxo de "
|
||||
"trabalho entre dispositivos:\n"
|
||||
"\n"
|
||||
"- Transfira arquivos entre seus dispositivos.\n"
|
||||
"- Acesse arquivos do seu computador no seu telefone, sem fios.\n"
|
||||
"- Área de transferência compartilhada: copie e cole entre seus "
|
||||
"dispositivos.\n"
|
||||
"- Compartilhe arquivos e URLs em seu computador a partir de qualquer app.\n"
|
||||
"- Receba notificações de chamadas recebidas e mensagens SMS no seu PC.\n"
|
||||
"- Touchpad virtual: use a tela do telefone como touchpad do computador.\n"
|
||||
"- Sincronização de notificações: leia as notificações do seu Android na área "
|
||||
"de trabalho.\n"
|
||||
"- Sincronização de notificações: acesse as notificações do seu telefone no "
|
||||
"seu computador e responda as mensagens.\n"
|
||||
"- Controle remoto multimídia: use seu telefone como controle remoto para "
|
||||
"reprodutores de mídia Linux.\n"
|
||||
"reprodutores de mídia no Linux.\n"
|
||||
"- Conexão Wi-Fi: sem necessidade de cabos USB ou bluetooth.\n"
|
||||
"- Criptografia TLS de ponta a ponta: suas informações estão seguras.\n"
|
||||
"\n"
|
||||
@@ -100,14 +69,14 @@ msgstr ""
|
||||
"este aplicativo funcione e mantenha a versão para desktop atualizada com a "
|
||||
"versão do Android para que os recursos mais recentes funcionem.\n"
|
||||
"\n"
|
||||
"Informações a respeito de permissões especiais :\n"
|
||||
"Informações sobre permissões sensíveis:\n"
|
||||
"* Permissão de acessibilidade: necessária para receber entrada de outro "
|
||||
"dispositivo para controlar seu telefone Android, se você usar o recurso de "
|
||||
"entrada remota.\n"
|
||||
"* Permissão de localização em segundo plano: necessária para saber a qual "
|
||||
"rede Wi-Fi você está conectado, se você usar o recurso de redes confiáveis.\n"
|
||||
"\n"
|
||||
"O KDE Connect nunca envia nenhuma informação ao KDE nem a terceiros. O KDE "
|
||||
"O KDE Connect nunca envia nenhuma informação ao KDE ou a terceiros. O KDE "
|
||||
"Connect envia dados de um dispositivo para outro diretamente usando a rede "
|
||||
"local, nunca pela Internet e usando criptografia de ponta a ponta.\n"
|
||||
"\n"
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Stefan Asserhäll <stefan.asserhall@bredband.net>, 2023.
|
||||
# Stefan Asserhäll <stefan.asserhall@gmail.com>, 2023.
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@@ -6,7 +6,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-09-29 22:08+0200\n"
|
||||
"Last-Translator: Stefan Asserhäll <stefan.asserhall@bredband.net>\n"
|
||||
"Last-Translator: Stefan Asserhäll <stefan.asserhall@gmail.com>\n"
|
||||
"Language-Team: Swedish <kde-i18n-doc@kde.org>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Stefan Asserhäll <stefan.asserhall@bredband.net>, 2023.
|
||||
# Stefan Asserhäll <stefan.asserhall@gmail.com>, 2023.
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@@ -6,7 +6,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-07-31 08:17+0200\n"
|
||||
"Last-Translator: Stefan Asserhäll <stefan.asserhall@bredband.net>\n"
|
||||
"Last-Translator: Stefan Asserhäll <stefan.asserhall@gmail.com>\n"
|
||||
"Language-Team: Swedish <kde-i18n-doc@kde.org>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@@ -4,7 +4,7 @@ msgstr ""
|
||||
"Project-Id-Version: kdeorg\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2024-04-10 19:56\n"
|
||||
"PO-Revision-Date: 2024-04-21 04:51\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh_CN\n"
|
||||
|
@@ -4,7 +4,7 @@ msgstr ""
|
||||
"Project-Id-Version: kdeorg\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2024-04-10 19:56\n"
|
||||
"PO-Revision-Date: 2024-04-21 04:51\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh_CN\n"
|
||||
|
@@ -1,19 +1,20 @@
|
||||
# Kisaragi Hiu <mail@kisaragi-hiu.com>, 2023.
|
||||
# taijuin <taijuin@gmail.com>, 2024.
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-12-09 17:51+0900\n"
|
||||
"Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
|
||||
"PO-Revision-Date: 2024-11-12 19:04+0800\n"
|
||||
"Last-Translator: taijuin <taijuin@gmail.com>\n"
|
||||
"Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 24.01.80\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 3.5\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
@@ -48,7 +49,7 @@ msgid ""
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
msgstr ""
|
||||
"KDE 連線提供許多功能讓您整合您跨裝置的作業流程:\n"
|
||||
"KDE Connect 提供許多功能讓您整合您跨裝置的作業流程:\n"
|
||||
"\n"
|
||||
"- 在您的裝置之間傳輸檔案。\n"
|
||||
"- 從您的電腦無線存取您的手機上的檔案。\n"
|
||||
@@ -60,8 +61,8 @@ msgstr ""
|
||||
"- WiFi 連線:不需要 USB 線或是藍牙連線。\n"
|
||||
"- 點對點 TLS 加密:您的資訊是安全的。\n"
|
||||
"\n"
|
||||
"請注意,這個應用程式需要您在電腦上也安裝 KDE 連線才能正常運作;最新功能也會需"
|
||||
"要電腦的版本跟 Android 的版本一樣新才能正常運作。\n"
|
||||
"請注意,這個應用程式需要您在電腦上也安裝 KDE Connect 才能正常運作;最新功能也"
|
||||
"會需要電腦的版本跟 Android 的版本一樣新才能正常運作。\n"
|
||||
"\n"
|
||||
"敏感權限資訊:\n"
|
||||
"* 協助工具權限:如果您使用「遠端輸入」功能,需要它來從另一個裝置接收輸入後控"
|
||||
@@ -69,8 +70,8 @@ msgstr ""
|
||||
"* 背景位置權限:如果您使用「信任網路」功能,需要它來得知您目前連線的 WiFi 網"
|
||||
"路。\n"
|
||||
"\n"
|
||||
"KDE 連線不會傳送任何資訊給 KDE 或任何第三方。KDE 連線利用本地網路直接從一個裝"
|
||||
"置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。 \n"
|
||||
"KDE Connect 不會傳送任何資訊給 KDE 或任何第三方。KDE Connect 利用本地網路直接"
|
||||
"從一個裝置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。 \n"
|
||||
"\n"
|
||||
"這個應用程式是一個開源專案的一部分,它的存在歸功於所有貢獻者。可造訪網站取得"
|
||||
"原始碼。\n"
|
||||
|
@@ -1,19 +1,20 @@
|
||||
# Kisaragi Hiu <mail@kisaragi-hiu.com>, 2023.
|
||||
# taijuin <taijuin@gmail.com>, 2024.
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-12-09 17:39+0900\n"
|
||||
"Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
|
||||
"PO-Revision-Date: 2024-11-12 19:00+0800\n"
|
||||
"Last-Translator: taijuin <taijuin@gmail.com>\n"
|
||||
"Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 24.01.80\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 3.5\n"
|
||||
|
||||
msgid "KDE Connect integrates your smartphone and computer"
|
||||
msgstr "KDE 連線整合了您的智慧型手機與電腦"
|
||||
msgstr "KDE Connect 整合了您的智慧型手機與電腦"
|
||||
|
25
proguard-rules.pro
vendored
25
proguard-rules.pro
vendored
@@ -17,29 +17,10 @@
|
||||
#}
|
||||
|
||||
-dontobfuscate
|
||||
|
||||
-dontwarn org.spongycastle.**
|
||||
-dontwarn org.apache.sshd.**
|
||||
-dontwarn org.apache.mina.**
|
||||
-dontwarn org.slf4j.**
|
||||
-dontwarn io.netty.**
|
||||
|
||||
-keepattributes SourceFile,LineNumberTable,Signature,*Annotation*
|
||||
|
||||
-keep class org.spongycastle.** {*;}
|
||||
|
||||
# SSHd requires mina, and mina uses reflection so some classes would get deleted
|
||||
-keep class org.apache.mina.** {*;}
|
||||
-keep class org.apache.sshd.** {*;}
|
||||
|
||||
-keep class org.kde.kdeconnect.** {*;}
|
||||
|
||||
-dontwarn org.mockito.**
|
||||
-dontwarn sun.reflect.**
|
||||
-dontwarn android.test.**
|
||||
-dontwarn java.lang.management.**
|
||||
-dontwarn javax.**
|
||||
# SSHd requires mina, and mina uses reflection so some classes would get deleted
|
||||
-keep class org.apache.sshd.** {*;}
|
||||
-dontwarn org.apache.sshd.**
|
||||
|
||||
-dontwarn android.net.ConnectivityManager
|
||||
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
||||
-dontwarn android.net.LinkProperties
|
||||
|
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@color/primary" android:state_checked="true" />
|
||||
<item android:drawable="@color/darkStatusBarBackground" android:state_checked="false" />
|
||||
</selector>
|
@@ -6,21 +6,5 @@
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:pathData="m0,0h108v108h-108z"
|
||||
android:fillColor="@color/accent"/>
|
||||
<path
|
||||
android:pathData="m0,0h108v108h-108z"
|
||||
android:strokeAlpha="0.2"
|
||||
android:fillAlpha="0.2">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startY="0"
|
||||
android:endY="108"
|
||||
android:startX="0"
|
||||
android:endX="0"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFFFFFFF"/>
|
||||
<item android:offset="1" android:color="#00FFFFFF"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
android:fillColor="@color/launcher_background"/>
|
||||
</vector>
|
||||
|
10
res/drawable-v24/ic_launcher_banner_background.xml
Normal file
10
res/drawable-v24/ic_launcher_banner_background.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="320dp"
|
||||
android:height="180dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:pathData="m0,0h320v108h-320z"
|
||||
android:fillColor="@color/launcher_background"/>
|
||||
</vector>
|
104
res/drawable-v24/ic_launcher_banner_foreground.xml
Normal file
104
res/drawable-v24/ic_launcher_banner_foreground.xml
Normal file
@@ -0,0 +1,104 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="320dp"
|
||||
android:height="180dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<group android:scaleX="0.6666667"
|
||||
android:scaleY="0.6666667"
|
||||
android:translateX="18"
|
||||
android:translateY="18">
|
||||
<group android:scaleX="0.6525"
|
||||
android:scaleY="1.16"
|
||||
android:translateX="-10.395"
|
||||
android:translateY="-8.64">
|
||||
<group android:scaleX="0.8"
|
||||
android:scaleY="0.8"
|
||||
android:translateX="10.8"
|
||||
android:translateY="10.8">
|
||||
<path
|
||||
android:pathData="M40,27L68,27A2,2 0,0 1,70 29L70,79A2,2 0,0 1,68 81L40,81A2,2 0,0 1,38 79L38,29A2,2 0,0 1,40 27z"
|
||||
android:strokeWidth="1.73436">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startY="27"
|
||||
android:startX="38"
|
||||
android:endY="81"
|
||||
android:endX="38"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFF5F5F5"/>
|
||||
<item android:offset="1" android:color="#FFF0F0F0"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="m41,30h26v48h-26z"
|
||||
android:strokeWidth="1.00241"
|
||||
android:fillColor="#2d2d2d"/>
|
||||
<path
|
||||
android:pathData="M50.25,28.25L57.75,28.25A0.25,0.25 0,0 1,58 28.5L58,28.5A0.25,0.25 0,0 1,57.75 28.75L50.25,28.75A0.25,0.25 0,0 1,50 28.5L50,28.5A0.25,0.25 0,0 1,50.25 28.25z"
|
||||
android:strokeWidth=".632455"
|
||||
android:fillColor="#2d2d2d"/>
|
||||
<path
|
||||
android:pathData="m47.694,47.379c-0.04,0.004 -0.083,0.015 -0.113,0.045 0,0 -1.381,1.381 -1.381,1.381 -0.058,0.058 -0.065,0.147 -0.023,0.218 0,0 1.614,2.665 1.614,2.665 -0.287,0.482 -0.519,0.999 -0.683,1.547 0,0 -2.965,0.616 -2.965,0.616 -0.083,0.017 -0.143,0.096 -0.143,0.18v1.952c0,0.083 0.063,0.153 0.143,0.173 0,0 2.875,0.698 2.875,0.698 0.154,0.634 0.391,1.241 0.706,1.794 0,0 -1.667,2.538 -1.667,2.538 -0.046,0.071 -0.037,0.165 0.023,0.225 0,0 1.381,1.381 1.381,1.381 0.058,0.058 0.147,0.065 0.218,0.023 0,0 2.613,-1.584 2.613,-1.584 0.512,0.296 1.067,0.533 1.652,0.691 0,0 0.608,2.928 0.608,2.928 0.017,0.083 0.088,0.143 0.173,0.143h1.952c0.082,0 0.153,-0.055 0.173,-0.135 0,0 0.721,-2.943 0.721,-2.943 0.603,-0.163 1.171,-0.404 1.697,-0.713 0,0 2.575,1.689 2.575,1.689 0.071,0.046 0.165,0.037 0.225,-0.023 0,0 1.374,-1.381 1.374,-1.381 0.058,-0.058 0.073,-0.147 0.03,-0.218 0,0 -0.938,-1.547 -0.938,-1.547s-0.308,0.098 -0.308,0.098c-0.044,0.014 -0.094,-0.006 -0.12,-0.045 0,0 -0.593,-0.872 -1.366,-2.005 -0.925,1.81 -2.812,3.048 -4.985,3.048 -3.088,0 -5.593,-2.505 -5.593,-5.593 0,-2.271 1.358,-4.222 3.303,-5.098v-1.441c-0.354,0.124 -0.696,0.273 -1.021,0.45 -0.001,-0 0.001,-0.007 0,-0.007 0,0 -2.635,-1.727 -2.635,-1.727 -0.035,-0.023 -0.073,-0.027 -0.113,-0.023 0,0 0,0 0,-0zM55.659,43.85s-3.514,0.338 -3.514,0.338v14.475s3.476,-0.526 3.476,-0.526v-6.171s4.677,6.847 4.677,6.847 3.664,-1.164 3.664,-1.164 -4.79,-6.584 -4.79,-6.584 4.827,-6.209 4.827,-6.209 -3.739,-0.856 -3.739,-0.856 -4.64,6.209 -4.64,6.209 0.038,-6.359 0.038,-6.359z"
|
||||
android:fillColor="#f2f2f2"/>
|
||||
<path
|
||||
android:pathData="m41,30h22l-18,45h-4z"
|
||||
android:strokeAlpha="0.1"
|
||||
android:fillAlpha="0.1">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startY="30"
|
||||
android:startX="41"
|
||||
android:endY="70"
|
||||
android:endX="60"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFFFFFFD"/>
|
||||
<item android:offset="1" android:color="#00FFFFFD"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="m38,78v1c0,1.108 0.892,2 2,2h28c1.108,0 2,-0.892 2,-2v-1c0,1.108 -0.892,2 -2,2h-28c-1.108,0 -2,-0.892 -2,-2z"
|
||||
android:strokeAlpha="0.1"
|
||||
android:strokeWidth="1.73436"
|
||||
android:fillAlpha="0.1"/>
|
||||
<path
|
||||
android:pathData="m70,30v-1c0,-1.108 -0.892,-2 -2,-2h-28c-1.108,0 -2,0.892 -2,2v1c0,-1.108 0.892,-2 2,-2h28c1.108,0 2,0.892 2,2z"
|
||||
android:strokeAlpha="0.5"
|
||||
android:strokeWidth="1.73436"
|
||||
android:fillColor="#fffff8"
|
||||
android:fillAlpha="0.5"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<group android:scaleX="0.075"
|
||||
android:scaleY="0.16"
|
||||
android:translateX="40"
|
||||
android:translateY="36">
|
||||
<group android:translateY="153.93605">
|
||||
<path android:pathData="M83.375,-0L58.03125,-0L39.453125,-40.609375L32.546875,-35.421875L32.546875,-0L9.796875,-0L9.796875,-102.8125L32.546875,-102.8125L32.546875,-56.734375Q33.546875,-59.765625,35.34375,-63Q37.15625,-66.234375,39.171875,-69.984375L58.75,-102.8125L83.375,-102.8125L55.734375,-56.875L83.375,-0Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M165.9375,-53.28125Q165.9375,-27.359375,153.84375,-13.671875Q141.75,0,119.859375,0L92.796875,0L92.796875,-102.8125L121.734375,-102.8125Q142.76562,-102.8125,154.34375,-90.0625Q165.9375,-77.328125,165.9375,-53.28125ZM142.46875,-52.421875Q142.46875,-68.6875,137.20312,-76.09375Q131.95312,-83.515625,121.734375,-83.515625L115.546875,-83.515625L115.546875,-19.4375L120.15625,-19.4375Q131.67188,-19.4375,137.0625,-27.578125Q142.46875,-35.71875,142.46875,-52.421875Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M234.34375,0L182.79688,0L182.79688,-102.8125L234.34375,-102.8125L234.34375,-83.8125L205.54688,-83.8125L205.54688,-62.78125L232.1875,-62.78125L232.1875,-43.78125L205.54688,-43.78125L205.54688,-19.296875L234.34375,-19.296875L234.34375,0Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M318.67188,-84.953125Q309.59375,-84.953125,304.84375,-75.671875Q300.09375,-66.390625,300.09375,-51.125Q300.09375,-34.84375,304.98438,-26.421875Q309.89062,-18,319.6875,-18Q325.01562,-18,330.04688,-19.65625Q335.09375,-21.3125,340.26562,-23.90625L340.26562,-4.03125Q329.76562,1.4375,316.51562,1.4375Q296.78125,1.4375,286.625,-12.453125Q276.48438,-26.359375,276.48438,-51.265625Q276.48438,-66.8125,281.29688,-78.765625Q286.125,-90.71875,295.26562,-97.484375Q304.42188,-104.25,317.51562,-104.25Q331.34375,-104.25,343.73438,-97.34375L337.25,-78.90625Q332.78125,-81.5,328.25,-83.21875Q323.71875,-84.953125,318.67188,-84.953125Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M420.14062,-39.75Q420.14062,-28.375,416.6875,-19Q413.23438,-9.640625,405.8125,-4.09375Q398.40625,1.4375,386.59375,1.4375Q375.79688,1.4375,368.375,-4.03125Q360.95312,-9.5,357.14062,-18.859375Q353.32812,-28.21875,353.32812,-39.75Q353.32812,-51.84375,357,-61.046875Q360.67188,-70.265625,368.07812,-75.453125Q375.5,-80.640625,387.03125,-80.640625Q401.85938,-80.640625,411,-70.046875Q420.14062,-59.46875,420.14062,-39.75ZM375.5,-39.59375Q375.5,-28.21875,378.15625,-22.3125Q380.82812,-16.421875,386.875,-16.421875Q392.78125,-16.421875,395.375,-22.25Q397.96875,-28.078125,397.96875,-39.75Q397.96875,-51.265625,395.375,-56.953125Q392.78125,-62.640625,386.73438,-62.640625Q380.82812,-62.640625,378.15625,-56.953125Q375.5,-51.265625,375.5,-39.59375Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M474.95312,-80.640625Q485.76562,-80.640625,491.95312,-73.359375Q498.14062,-66.09375,498.14062,-51.84375L498.14062,0L476.25,0L476.25,-45.359375Q476.25,-53.421875,474.375,-57.59375Q472.51562,-61.78125,467.60938,-61.78125Q461.14062,-61.78125,458.76562,-55.9375Q456.39062,-50.109375,456.39062,-36.859375L456.39062,0L434.5,0L434.5,-79.203125L451.48438,-79.203125L454.07812,-69.125L455.23438,-69.125Q461.28125,-80.640625,474.95312,-80.640625Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M555.9531,-80.640625Q566.7656,-80.640625,572.9531,-73.359375Q579.1406,-66.09375,579.1406,-51.84375L579.1406,0L557.25,0L557.25,-45.359375Q557.25,-53.421875,555.375,-57.59375Q553.5156,-61.78125,548.6094,-61.78125Q542.1406,-61.78125,539.7656,-55.9375Q537.3906,-50.109375,537.3906,-36.859375L537.3906,0L515.5,0L515.5,-79.203125L532.4844,-79.203125L535.0781,-69.125L536.2344,-69.125Q542.28125,-80.640625,555.9531,-80.640625Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M625.4375,-80.5Q640.125,-80.5,648.2656,-71.0625Q656.40625,-61.625,656.40625,-44.5L656.40625,-33.265625L615.0781,-33.265625Q615.3594,-15.546875,630.625,-15.546875Q636.53125,-15.546875,641.6406,-16.984375Q646.75,-18.4375,652.375,-21.59375L652.375,-4.171875Q642.28125,1.4375,627.8906,1.4375Q610.75,1.4375,602.03125,-9Q593.3281,-19.4375,593.3281,-39.171875Q593.3281,-59.328125,601.6719,-69.90625Q610.03125,-80.5,625.4375,-80.5ZM626.0156,-64.078125Q621.40625,-64.078125,618.4531,-60.40625Q615.5,-56.734375,615.21875,-48.390625L636.2344,-48.390625Q636.2344,-55.875,633.5625,-59.96875Q630.90625,-64.078125,626.0156,-64.078125Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M699.15625,1.4375Q683.03125,1.4375,674.6719,-8.421875Q666.3281,-18.28125,666.3281,-39.171875Q666.3281,-58.03125,674.8906,-69.328125Q683.46875,-80.640625,700.03125,-80.640625Q706.6406,-80.640625,712.0469,-79.125Q717.4531,-77.609375,722.0625,-75.03125L715.8594,-57.890625Q711.96875,-59.90625,708.375,-61.046875Q704.78125,-62.203125,701.1719,-62.203125Q695.125,-62.203125,691.8125,-56.375Q688.5,-50.546875,688.5,-39.3125Q688.5,-27.9375,691.875,-22.390625Q695.2656,-16.84375,701.46875,-16.84375Q710.96875,-16.84375,720.0469,-23.46875L720.0469,-5.046875Q711.40625,1.4375,699.15625,1.4375Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M765.1719,-16.984375Q767.7656,-16.984375,770.34375,-17.625Q772.9375,-18.28125,775.8281,-19.578125L775.8281,-2.59375Q772.21875,-0.71875,767.8906,0.359375Q763.5781,1.4375,758.40625,1.4375Q747.4531,1.4375,741.9844,-4.75Q736.5156,-10.9375,736.5156,-24.90625L736.5156,-61.625L728.0156,-61.625L728.0156,-72.4375L738.2344,-78.625L743.71875,-95.46875L758.40625,-95.46875L758.40625,-79.203125L774.8125,-79.203125L774.8125,-61.625L758.40625,-61.625L758.40625,-25.484375Q758.40625,-16.984375,765.1719,-16.984375Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/accent" />
|
||||
<solid android:color="?colorAccent" />
|
||||
<corners android:bottomRightRadius="2dip"
|
||||
android:bottomLeftRadius="2dip"
|
||||
android:topRightRadius="2dip"
|
||||
android:topLeftRadius="2dip"/>
|
||||
</shape>
|
||||
</shape>
|
||||
|
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="true" android:color="@color/primary" />
|
||||
<item android:state_enabled="false" android:color="@color/disabled_grey" />
|
||||
</selector>
|
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:fillColor="?colorControlNormal"
|
||||
android:pathData="M12,3v10.55c-0.59,-0.34 -1.27,-0.55 -2,-0.55 -2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4V7h4V3h-6z"/>
|
||||
</vector>
|
||||
|
13
res/drawable/ic_device_desktop_shortcut.xml
Normal file
13
res/drawable/ic_device_desktop_shortcut.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group android:pivotX="12" android:pivotY="12" android:scaleX="0.66" android:scaleY="0.66">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M21,2L3,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h7v2L8,20v2h8v-2h-2v-2h7c1.1,0 2,-0.9 2,-2L23,4c0,-1.1 -0.9,-2 -2,-2zM21,16L3,16L3,4h18v12z" />
|
||||
</group>
|
||||
</vector>
|
17
res/drawable/ic_device_laptop_shortcut.xml
Normal file
17
res/drawable/ic_device_laptop_shortcut.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:pivotX="12"
|
||||
android:pivotY="12"
|
||||
android:scaleX="0.66"
|
||||
android:scaleY="0.66">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M20,18c1.1,0 2,-0.9 2,-2V6c0,-1.1 -0.9,-2 -2,-2H4C2.9,4 2,4.9 2,6v10c0,1.1 0.9,2 2,2H0v2h24v-2H20zM4,6h16v10H4V6z" />
|
||||
</group>
|
||||
</vector>
|
18
res/drawable/ic_device_phone_shortcut.xml
Normal file
18
res/drawable/ic_device_phone_shortcut.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:pivotX="12"
|
||||
android:pivotY="12"
|
||||
android:scaleX="0.66"
|
||||
android:scaleY="0.66">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M16,1L8,1C6.34,1 5,2.34 5,4v16c0,1.66 1.34,3 3,3h8c1.66,0 3,-1.34 3,-3L19,4c0,-1.66 -1.34,-3 -3,-3zM14,21h-4v-1h4v1zM17.25,18L6.75,18L6.75,4h10.5v14z" />
|
||||
|
||||
</group>
|
||||
</vector>
|
18
res/drawable/ic_device_tablet_shortcut.xml
Normal file
18
res/drawable/ic_device_tablet_shortcut.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:pivotX="12"
|
||||
android:pivotY="12"
|
||||
android:scaleX="0.66"
|
||||
android:scaleY="0.66">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M21,4L3,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h18c1.1,0 1.99,-0.9 1.99,-2L23,6c0,-1.1 -0.9,-2 -2,-2zM19,18L5,18L5,6h14v12z" />
|
||||
|
||||
</group>
|
||||
</vector>
|
17
res/drawable/ic_device_tv_shortcut.xml
Normal file
17
res/drawable/ic_device_tv_shortcut.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:pivotX="12"
|
||||
android:pivotY="12"
|
||||
android:scaleX="0.66"
|
||||
android:scaleY="0.66">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M21,3L3,3c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h5v2h8v-2h5c1.1,0 1.99,-0.9 1.99,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,17L3,17L3,5h18v12z" />
|
||||
</group>
|
||||
</vector>
|
@@ -1,4 +1,8 @@
|
||||
<vector android:height="24dp" android:viewportHeight="48"
|
||||
android:viewportWidth="48" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#fcfcfc" android:pathData="m26.8172,6.058 l-5.9774,0.5722v24.6133l5.9142,-0.8904v-10.494l7.9499,11.6392 6.2324,-1.972 -8.1405,-11.1935 8.2042,-10.5576 -6.3594,-1.4621 -7.8865,10.5572zM13.2678,12.0558c-0.0675,0.0071 -0.1327,0.0369 -0.1834,0.0877l-2.346,2.3456c-0.0986,0.0989 -0.1172,0.2523 -0.0445,0.3721l2.7467,4.5238c-0.4872,0.819 -0.8776,1.7021 -1.1567,2.6336l-5.0426,1.0489c-0.1403,0.0291 -0.2414,0.1534 -0.2414,0.2973v3.3173c0,0.1403 0.096,0.2618 0.2312,0.2945l4.8943,1.1963c0.261,1.0789 0.6654,2.1016 1.2,3.0416l-2.833,4.32c-0.079,0.1208 -0.0625,0.2798 0.0396,0.3815l2.3452,2.3456c0.0986,0.0984 0.2526,0.1176 0.3729,0.0454l4.4393,-2.6961c0.872,0.5032 1.8124,0.8992 2.8063,1.1677l1.0358,4.98c0.0291,0.1412 0.1539,0.2414 0.2969,0.2414h3.3177c0.1395,0 0.2612,-0.0952 0.2945,-0.232l1.22,-4.9903c1.0246,-0.2765 1.9935,-0.6886 2.8869,-1.2147l4.3747,2.8684c0.1203,0.0792 0.2794,0.0633 0.3815,-0.0387l2.346,-2.3456c0.0992,-0.0992 0.117,-0.2526 0.0441,-0.3721l-1.597,-2.632 -0.5167,0.1634c-0.0753,0.0238 -0.1575,-0.0043 -0.2018,-0.0699 0,0 -1.0186,-1.4912 -2.3342,-3.4167 -1.5727,3.0779 -4.7723,5.1864 -8.4672,5.1864 -5.2496,0 -9.5055,-4.2561 -9.5055,-9.5059 0,-3.8619 2.3035,-7.1832 5.6102,-8.6711v-2.4523c-0.6018,0.2105 -1.1836,0.4644 -1.7362,0.7654 -0.0004,-0.0004 -0.0008,-0.0014 -0.0024,-0.0028l-4.4777,-2.9368c-0.0603,-0.0394 -0.1302,-0.0551 -0.1977,-0.0482z"/>
|
||||
android:viewportWidth="48" android:width="24dp"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="m26.8172,6.058 l-5.9774,0.5722v24.6133l5.9142,-0.8904v-10.494l7.9499,11.6392 6.2324,-1.972 -8.1405,-11.1935 8.2042,-10.5576 -6.3594,-1.4621 -7.8865,10.5572zM13.2678,12.0558c-0.0675,0.0071 -0.1327,0.0369 -0.1834,0.0877l-2.346,2.3456c-0.0986,0.0989 -0.1172,0.2523 -0.0445,0.3721l2.7467,4.5238c-0.4872,0.819 -0.8776,1.7021 -1.1567,2.6336l-5.0426,1.0489c-0.1403,0.0291 -0.2414,0.1534 -0.2414,0.2973v3.3173c0,0.1403 0.096,0.2618 0.2312,0.2945l4.8943,1.1963c0.261,1.0789 0.6654,2.1016 1.2,3.0416l-2.833,4.32c-0.079,0.1208 -0.0625,0.2798 0.0396,0.3815l2.3452,2.3456c0.0986,0.0984 0.2526,0.1176 0.3729,0.0454l4.4393,-2.6961c0.872,0.5032 1.8124,0.8992 2.8063,1.1677l1.0358,4.98c0.0291,0.1412 0.1539,0.2414 0.2969,0.2414h3.3177c0.1395,0 0.2612,-0.0952 0.2945,-0.232l1.22,-4.9903c1.0246,-0.2765 1.9935,-0.6886 2.8869,-1.2147l4.3747,2.8684c0.1203,0.0792 0.2794,0.0633 0.3815,-0.0387l2.346,-2.3456c0.0992,-0.0992 0.117,-0.2526 0.0441,-0.3721l-1.597,-2.632 -0.5167,0.1634c-0.0753,0.0238 -0.1575,-0.0043 -0.2018,-0.0699 0,0 -1.0186,-1.4912 -2.3342,-3.4167 -1.5727,3.0779 -4.7723,5.1864 -8.4672,5.1864 -5.2496,0 -9.5055,-4.2561 -9.5055,-9.5059 0,-3.8619 2.3035,-7.1832 5.6102,-8.6711v-2.4523c-0.6018,0.2105 -1.1836,0.4644 -1.7362,0.7654 -0.0004,-0.0004 -0.0008,-0.0014 -0.0024,-0.0028l-4.4777,-2.9368c-0.0603,-0.0394 -0.1302,-0.0551 -0.1977,-0.0482z"/>
|
||||
</vector>
|
||||
|
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M3,9v6h4l5,5L12,4L7,9L3,9zM16.5,12c0,-1.77 -1.02,-3.29 -2.5,-4.03v8.05c1.48,-0.73 2.5,-2.25 2.5,-4.02zM14,3.23v2.06c2.89,0.86 5,3.54 5,6.71s-2.11,5.85 -5,6.71v2.06c4.01,-0.91 7,-4.49 7,-8.77s-2.99,-7.86 -7,-8.77z"/>
|
||||
</vector>
|
@@ -6,8 +6,6 @@
|
||||
android:viewportHeight="24">
|
||||
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M7 9v6h4l5 5V4l-5 5H7z" />
|
||||
<path
|
||||
android:pathData="M0 0h24v24H0z" />
|
||||
</vector>
|
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@color/primary" android:state_checked="true" />
|
||||
<item android:drawable="@color/background_floating_material_light" android:state_checked="false" />
|
||||
</selector>
|
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@color/primary" android:state_checked="true" />
|
||||
<item android:drawable="@color/darkStatusBarBackground" android:state_checked="false" />
|
||||
</selector>
|
@@ -56,7 +56,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:contentDescription="@string/visit_contributors_homepage"
|
||||
android:src="@drawable/ic_baseline_web_24"
|
||||
android:visibility="gone"
|
||||
app:tint="@color/text_color"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</LinearLayout>
|
||||
|
@@ -21,6 +21,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
android:clipToPadding="false"
|
||||
android:id="@+id/scroll_view"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
@@ -38,8 +40,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:text="@string/kde_be_free"
|
||||
android:textAppearance="?attr/textAppearanceHeadline6"
|
||||
app:drawableLeftCompat="@drawable/ic_kde_48dp"
|
||||
app:drawableStartCompat="@drawable/ic_kde_48dp"
|
||||
app:drawableTint="@color/text_color" />
|
||||
app:drawableStartCompat="@drawable/ic_kde_48dp"/>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
xmlns:card_view="https://schemas.android.com/apk/res-auto"
|
||||
|
@@ -26,6 +26,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:id="@+id/recyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"
|
||||
tools:listitem="@layout/custom_device_item"/>
|
||||
|
||||
<TextView
|
||||
|
@@ -30,7 +30,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:id="@+id/device_view"
|
||||
android:descendantFocusability="afterDescendants"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<!-- Shown when the device is paired and reachable -->
|
||||
<androidx.compose.ui.platform.ComposeView
|
||||
|
@@ -20,5 +20,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:id="@+id/licenses_text"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"/>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
@@ -17,7 +17,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
<!-- Keep in sync with toolbar.xml, copied here because it needs the nested TabLayout -->
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
|
@@ -57,6 +57,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:dividerHeight="0dp"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="8dp"
|
||||
android:clipToPadding="false"
|
||||
tools:context=".MainActivity" />
|
||||
</LinearLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
@@ -24,7 +24,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
app:drawableEndCompat="@drawable/ic_delete"
|
||||
app:drawableStartCompat="@drawable/ic_delete" />
|
||||
|
||||
<FrameLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/swipeableView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
@@ -32,17 +32,30 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
|
||||
<TextView
|
||||
android:id="@+id/deviceNameOrIP"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="?android:selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="?android:attr/listPreferredItemHeightSmall"
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingRight"
|
||||
android:paddingStart="?android:attr/listPreferredItemPaddingLeft"
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingRight"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSmall"
|
||||
android:visibility="visible"
|
||||
tools:text="192.168.0.1"/>
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="192.168.0.1" />
|
||||
|
||||
</FrameLayout>
|
||||
<TextView
|
||||
android:id="@+id/connectionStatus"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:paddingStart="?android:attr/listPreferredItemPaddingLeft"
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingRight"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</FrameLayout>
|
||||
|
@@ -22,6 +22,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:descendantFocusability="afterDescendants"
|
||||
android:dividerHeight="12dp"
|
||||
android:orientation="vertical"
|
||||
android:clipToPadding="false"
|
||||
tools:listitem="@layout/list_card_entry"
|
||||
tools:context=".MainActivity" />
|
||||
|
||||
|
@@ -11,7 +11,9 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:fillViewport="true">
|
||||
android:fillViewport="true"
|
||||
android:clipToPadding="false"
|
||||
android:id="@+id/scroll_view">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/about_layout"
|
||||
|
@@ -27,7 +27,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:text=""
|
||||
android:textColor="@color/text_color"
|
||||
tools:text="Item entry"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium" />
|
||||
|
||||
|
@@ -15,7 +15,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardElevation="0dp"
|
||||
app:contentPadding="8dp"
|
||||
app:strokeColor="@color/card_stroke_color"
|
||||
app:strokeWidth="1dp">
|
||||
|
||||
<LinearLayout
|
||||
@@ -50,8 +49,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:background="@android:color/transparent"
|
||||
android:contentDescription="@string/mute"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/ic_volume_black"
|
||||
app:tint="?attr/colorHighContrast" />
|
||||
android:src="@drawable/ic_volume"/>
|
||||
|
||||
<SeekBar
|
||||
android:id="@+id/systemvolume_seek"
|
||||
|
@@ -198,8 +198,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:layout_weight="0"
|
||||
android:contentDescription="@string/mpris_volume"
|
||||
android:maxWidth="30dip"
|
||||
android:src="@drawable/ic_volume_black"
|
||||
app:tint="?attr/colorHighContrast" />
|
||||
android:src="@drawable/ic_volume"/>
|
||||
|
||||
|
||||
<SeekBar
|
||||
|
@@ -65,7 +65,7 @@
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="?divider"
|
||||
android:background="?colorPrimary"
|
||||
/>
|
||||
<!-- Preference will place its actual preference widget here. -->
|
||||
<LinearLayout
|
||||
@@ -76,6 +76,5 @@
|
||||
android:gravity="center"
|
||||
android:padding="16dp"
|
||||
android:orientation="vertical"
|
||||
tools:background="@color/primary"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
@@ -30,9 +30,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:importantForAccessibility="no"
|
||||
android:paddingEnd="8dip"
|
||||
android:paddingStart="0dip"
|
||||
android:src="@drawable/ic_error_outline_48dp"
|
||||
app:tint="?attr/colorHighContrast"
|
||||
tools:ignore="UnusedAttribute" />
|
||||
android:src="@drawable/ic_error_outline_48dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/not_reachable_message"
|
||||
|
@@ -40,7 +40,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:drawablePadding="5dp"
|
||||
android:layout_marginBottom="8dip"
|
||||
android:importantForAccessibility="no"
|
||||
android:visibility="gone"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
app:drawableStartCompat="@drawable/ic_key" />
|
||||
|
||||
|
@@ -9,15 +9,15 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:background="@color/activity_background"
|
||||
android:theme="@style/KdeConnectTheme"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:background="?colorSurface"
|
||||
tools:ignore="RtlSymmetry">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/widget_title_wrapper"
|
||||
android:background="@color/on_secondary"
|
||||
android:background="?colorSecondary"
|
||||
android:gravity="center_vertical|start"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
@@ -28,8 +28,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:paddingEnd="6dip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:tint="@color/text_color"
|
||||
android:src="@drawable/ic_kde_24dp"
|
||||
android:tint="?attr/colorOnSecondary"
|
||||
android:importantForAccessibility="no"
|
||||
tools:ignore="UseAppTint"/> <!-- can't use app:tint in RemoteView -->
|
||||
|
||||
@@ -38,10 +38,10 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="marquee"
|
||||
android:textColor="@color/text_color"
|
||||
android:text="@string/kde_connect"
|
||||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:textColor="?attr/colorOnSecondary"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium" />
|
||||
</LinearLayout>
|
||||
|
||||
|
5
res/mipmap-anydpi-v26/ic_launcher_banner.xml
Normal file
5
res/mipmap-anydpi-v26/ic_launcher_banner.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_banner_background"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_banner_foreground"/>
|
||||
</adaptive-icon>
|
BIN
res/mipmap-xhdpi/ic_launcher_banner.png
Normal file
BIN
res/mipmap-xhdpi/ic_launcher_banner.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
@@ -83,12 +83,12 @@
|
||||
<string name="error_canceled_by_user">ألغاه المستخدم</string>
|
||||
<string name="error_canceled_by_other_peer">ألغاه ندّ آخر</string>
|
||||
<string name="encryption_info_title">معلومات التّعمية</string>
|
||||
<string name="encryption_info_msg_no_ssl">لا يستخدم الجهاز الآخر إصدارة حديثة من «كِيدِي المتّصل»، ستُستخدم طريقة التّعمية القديمة.</string>
|
||||
<string name="pair_requested">طُلب الاقتران</string>
|
||||
<string name="pairing_request_from">طلب اقتران من %1s</string>
|
||||
<string name="pair_succeeded">نجح الاقتران</string>
|
||||
<string name="tap_to_open">اطرق لتفتح</string>
|
||||
<string name="received_file_text">المس لفتح \'%1s\'</string>
|
||||
<string name="tap_to_answer">المس للإجابة</string>
|
||||
<string name="left_click">أرسل نقرة باليسار</string>
|
||||
<string name="right_click">أرسل نقرة باليمين</string>
|
||||
<string name="middle_click">أرسل نقرة بالوسط</string>
|
||||
<string name="show_keyboard">أظهر لوحة المفاتيح</string>
|
||||
@@ -115,7 +115,7 @@
|
||||
<item>دقيقة واحدة</item>
|
||||
<item>دقيقتان</item>
|
||||
</string-array>
|
||||
<string name="share_to">شارك مع...</string>
|
||||
<string name="share_to">شارك مع…</string>
|
||||
<string name="protocol_version_newer">يستخدم هذا الجهاز إصدار ميفاق أحدث</string>
|
||||
<string name="plugin_settings_with_name">إعدادات %s</string>
|
||||
<string name="invalid_device_name">اسم جهاز غير صالح</string>
|
||||
@@ -148,8 +148,10 @@
|
||||
<string name="no_file_browser">لا متصفّحات ملفّات مثبّتة.</string>
|
||||
<string name="pref_plugin_telepathy">أرسل SMS</string>
|
||||
<string name="pref_plugin_telepathy_desc">أرسل رسائل نصّيّة من سطح المكتب</string>
|
||||
<string name="pref_plugin_telepathy_mms">أرسل رسالة قصيرة</string>
|
||||
<string name="findmyphone_title">جِد جهازي</string>
|
||||
<string name="findmyphone_title_tablet">جِد جهازي اللوحيّ</string>
|
||||
<string name="findmyphone_title_tv">جِد تلفازي</string>
|
||||
<string name="findmyphone_description">يرّن هذا الجهاز لتجده</string>
|
||||
<string name="findmyphone_found">عثر عليه</string>
|
||||
<string name="open">افتح</string>
|
||||
|
@@ -115,11 +115,9 @@
|
||||
<string name="error_canceled_by_user">İstifadəçi ləğv etdi</string>
|
||||
<string name="error_canceled_by_other_peer">Digər istifadəçi ləğv etdi</string>
|
||||
<string name="encryption_info_title">Şifrələmə məlumatı</string>
|
||||
<string name="encryption_info_msg_no_ssl">Digər cihaz köhnə şifrələmə metodu istifadə edən KDE Connect\'in sonuncu versiyasını istifadə etmir.</string>
|
||||
<string name="my_device_fingerprint">Cihazınızın sertifikatının SHA256 şifrə izi:</string>
|
||||
<string name="remote_device_fingerprint">Uzaq cihaz sertifikatının SHA256 şifrə izi:</string>
|
||||
<string name="pair_requested">Qoşulma soruşuldu</string>
|
||||
<string name="pairing_request_from">%1s tərəfindən qoşulma sorğusu</string>
|
||||
<plurals name="incoming_file_title">
|
||||
<item quantity="one">%1$d fayl %2$s\'dn alınır</item>
|
||||
<item quantity="other">%1$d fayl %2$s\'dn alınır</item>
|
||||
@@ -185,7 +183,6 @@
|
||||
<string name="mpris_notifications_explanation">Bildirişlər çəkməcəsində məsafədəki medianı göstərmək üçün bildiriş icazələri lazımdır</string>
|
||||
<string name="mpris_notification_settings_title">Media idarəetmə bildirişlərini göstərmək</string>
|
||||
<string name="mpris_notification_settings_summary">KDE Connect açmadan media oynadıcınızın idarəsinə icazə vermək</string>
|
||||
<string name="share_to">Paylaşmaq...</string>
|
||||
<string name="protocol_version_newer">Bu cihaz yeni protokol versiyası istifadə edir</string>
|
||||
<string name="plugin_settings_with_name">%s ayarları</string>
|
||||
<string name="invalid_device_name">Səhv cihaz adı</string>
|
||||
|
@@ -118,7 +118,6 @@
|
||||
<string name="error_canceled_by_user">Отхвърлена от потребителя</string>
|
||||
<string name="error_canceled_by_other_peer">Отказана от другата страна</string>
|
||||
<string name="encryption_info_title">Информация за криптиране</string>
|
||||
<string name="encryption_info_msg_no_ssl">Другото устройство не използва последна версия на KDE Connect, като използва остарял метод на криптиране.</string>
|
||||
<string name="my_device_fingerprint">SHA256 отпечатък на сертификата на вашето устройство е:</string>
|
||||
<string name="remote_device_fingerprint">SHA256 отпечатък на сертификата на отдалеченото устройство е:</string>
|
||||
<string name="pair_requested">Заявено е сдвояване</string>
|
||||
@@ -191,6 +190,8 @@
|
||||
<string name="mpris_notification_settings_title">Показване на известие за управление на медиите</string>
|
||||
<string name="mpris_notification_settings_summary">Разрешаване на управлението на медийните плейъри, без да отваряте KDE Connect</string>
|
||||
<string name="share_to">Споделяне към...</string>
|
||||
<string name="unreachable_device">%s (не е достъпно)</string>
|
||||
<string name="unreachable_device_url_share_text">URL адресите, споделени към недостъпно устройство, ще бъдат доставени до него, когато то стане достъпно.\n\n</string>
|
||||
<string name="protocol_version_newer">Това устройство използва по-нова версия на протокола</string>
|
||||
<string name="plugin_settings_with_name">%s настройки</string>
|
||||
<string name="invalid_device_name">Невалидно име на устройство</string>
|
||||
@@ -227,7 +228,7 @@
|
||||
<string name="sftp_no_storage_locations_configured">Няма конфигурирани места за съхранение</string>
|
||||
<string name="sftp_saf_permission_explanation">За да получите достъп до файлове от разстояние, трябва да конфигурирате местата за съхранение</string>
|
||||
<string name="sftp_manage_storage_permission_explanation">За да разрешите отдалечен достъп до файловете на това устройство, трябва да разрешите KDE Connect да управлява хранилището.</string>
|
||||
<string name="no_players_connected">Не са открити играчи</string>
|
||||
<string name="no_players_connected">Няма възпроизвеждане на медия</string>
|
||||
<string name="send_files">Изпращане на файлове</string>
|
||||
<string name="block_notification_contents">Блокиране на съдържанието в известията</string>
|
||||
<string name="block_notification_images">Блокиране на изображения в известията</string>
|
||||
@@ -325,10 +326,11 @@
|
||||
<string name="empty_trusted_networks_list_text">Все още не сте добавили надеждна мрежа</string>
|
||||
<string name="allow_all_networks_text">Allow all</string>
|
||||
<string name="location_permission_needed_title">Изисква се разрешение</string>
|
||||
<string name="bluetooth_permission_needed_desc">KDE Connect се нуждае от разрешение за свързване с устройства наблизо, за да направи устройства, сдвоени чрез Bluetooth, достъпни в KDE Connect.</string>
|
||||
<string name="location_permission_needed_desc">KDE Connect се нуждае от разрешение за местоположението във фонов режим, за да познава WiFi към която сте свързани, дори когато приложението е във фонов режим. Това е така, защото имената на WiFi мрежите около вас могат да бъдат използвани за намиране на вашето местоположение, дори когато KDE Connect не прави това.</string>
|
||||
<string name="clipboard_android_x_incompat">Android 10 премахна достъпа до клипборда за всички приложения. Тази приставка ще бъде деактивирана.</string>
|
||||
<string name="mpris_open_url">Продължете да играете тук</string>
|
||||
<string name="cant_open_url">Не мога да отворя URL адреса, за да продължа играта</string>
|
||||
<string name="mpris_open_url">Продължаване на възпроизвеждането тук</string>
|
||||
<string name="cant_open_url">Не може да се отвори URL адреса, за да се продължи възпроизвежданете</string>
|
||||
<string name="bigscreen_home">Домашен адрес</string>
|
||||
<string name="bigscreen_up">Преместване нагоре</string>
|
||||
<string name="bigscreen_left">Ляво</string>
|
||||
@@ -388,6 +390,8 @@
|
||||
<string name="send_compose">Изпращане</string>
|
||||
<string name="compose_send_title">Текстът е изпратен</string>
|
||||
<string name="open_compose_send">Съставяне на текст</string>
|
||||
<string name="double_tap_to_drag">Двойно докосване за влачене</string>
|
||||
<string name="hold_to_drag">Задържане за влачене</string>
|
||||
<string name="about_kde_about"><h1>За</h1> <p>KDE е световна общност от софтуерни инженери, художници, писатели, преводачи и творци, които са отдадени на <a href=https://www.gnu.org/philosophy/free-sw.html>свободното разработване на софтуер</a>. KDE създава работната среда Plasma, стотици приложения и многобройните софтуерни библиотеки, които ги поддържат.</p> <p>KDE е кооперативно предприятие: нито една отделна организация контролира насоките или продуктите му. Вместо това ние работим заедно, за да постигнем общата цел да създадем най-добрия свободен софтуер в света. Всеки е добре дошъл да се присъедини и да да допринесе</a> за KDE, включително и вие.</p> Посетете <a href=https://www.kde.org/>https://www.kde.org/</a> за повече информация за общността на KDE и за софтуера, който създаваме.</string>
|
||||
<string name="about_kde_report_bugs_or_wishes">" <h1>Докладвайте за грешки или желания</h1> <p>Софтуерът винаги може да бъде подобрен и екипът на KDE е готов да го направи. Въпреки това вие - потребителят - трябва да да ни кажете, когато нещо не работи според очакванията или може да бъде направено по-добре.</p> <p>KDE разполага със система за проследяване на грешки. Посетете <a href=https://bugs.kde.org/>https://bugs.kde.org/</a> или използвайте бутона \"Докладване на грешка\" от екрана за програмата, за да съобщите за грешки.</p> Ако имате предложение за подобрение, тогава можете да използвате системата за проследяване на грешки, за да регистрирате желанието си. Уверете се, че използвате тежестта, наречена \"Wishlist\"."</string>
|
||||
<string name="about_kde_join_kde"><h1>Присъединете се към KDE</h1> <p>Не е необходимо да сте софтуерен разработчик на софтуер, за да сте член на екипа на KDE. Можете да се присъедините към преводаческите екипи за вашия език. Можете да предоставяте графики, теми, звуци, и подобрена документация. Вие решавате!</p> <p>Посетете <a href=https://community.kde.org/Get_Involved>https://community.kde.org/Get_Involved</a> за информация относно някои проекти, в които можете да да участвате.</p> Ако имате нужда от повече информация или документация, тогава посетете <a href=https://techbase.kde.org/>https://techbase.kde.org/</a> ще ви предостави необходимото.</string>
|
||||
@@ -402,12 +406,18 @@
|
||||
<string name="maxim_leshchenko_task">Подобрения на потребителския интерфейс и тази страница за</string>
|
||||
<string name="holger_kaelberer_task">Плъгин за отдалечена клавиатура и поправки на грешки</string>
|
||||
<string name="saikrishna_arcot_task">Поддръжка за използване на клавиатура в плъгина за отдалечено въвеждане, поправки на грешки и общи подобрения</string>
|
||||
<string name="shellwen_chen_task">Внедряване на SFTP, подобряване на възможностите за поддръжка на този проект, поправки на грешки и общи подобрения</string>
|
||||
<string name="everyone_else">Всички останали, които са допринесли за KDE Connect през годините</string>
|
||||
<string name="send_clipboard">Изпращане на клипборд</string>
|
||||
<string name="tap_to_execute">Докоснете, за да се изпълни</string>
|
||||
<string name="plugin_stats">Данни на приставки</string>
|
||||
<string name="enable_udp_broadcast">Активиране на откриване на устройства чрез UDP</string>
|
||||
<string name="enable_bluetooth">Активиране на Bluetooth(бета)</string>
|
||||
<string name="receive_notifications_permission_explanation">Известията трябва са разрешени, за да може да се получават от други устройства</string>
|
||||
<string name="findmyphone_notifications_explanation">Разрешение за известия е необходимо, за да може телефонът да звъни, когато приложението е във фонов режим</string>
|
||||
<string name="no_notifications">Известията са деактивирани, няма да получавате известия за входящи двойки.</string>
|
||||
<string name="mpris_keepwatching">Продължаване на възпроизвеждането</string>
|
||||
<string name="mpris_keepwatching_settings_title">Продължаване на възпроизвеждането</string>
|
||||
<string name="mpris_keepwatching_settings_summary">Показване на безшумно известие за продължаване на възпроизвеждането на това устройство след затваряне на медия</string>
|
||||
<string name="notification_channel_keepwatching">Продължаване на възпроизвеждането</string>
|
||||
</resources>
|
||||
|
@@ -46,7 +46,6 @@
|
||||
<string name="error_canceled_by_user">Prekinuo korisnik</string>
|
||||
<string name="error_canceled_by_other_peer">Prekinuo drugi korisnik</string>
|
||||
<string name="pair_requested">Uparivanje zatraženo</string>
|
||||
<string name="pairing_request_from">Uparivanje zatraženo od %1s</string>
|
||||
<string name="received_file_text">Kucni za otvaranje \'%1s\'</string>
|
||||
<string name="tap_to_answer">Kucni za odgovor</string>
|
||||
<string name="right_click">Pošalji Desni Klik</string>
|
||||
|
@@ -118,12 +118,11 @@
|
||||
<string name="error_canceled_by_user">Cancel·lat per l\'usuari</string>
|
||||
<string name="error_canceled_by_other_peer">Cancel·lat per l\'altre parell</string>
|
||||
<string name="encryption_info_title">Informació de l\'encriptatge</string>
|
||||
<string name="encryption_info_msg_no_ssl">L\'altre dispositiu no usa una versió recent del KDE Connect, s\'utilitzarà el mètode d\'encriptatge antic.</string>
|
||||
<string name="my_device_fingerprint">L\'empremta digital SHA256 del certificat del vostre dispositiu és:</string>
|
||||
<string name="remote_device_fingerprint">L\'empremta digital SHA256 del certificat del dispositiu remot és:</string>
|
||||
<string name="pair_requested">S\'ha demanat aparellar</string>
|
||||
<string name="pair_succeeded">S\'ha aparellat correctament</string>
|
||||
<string name="pairing_request_from">S\'ha demanat aparellar des de %1s</string>
|
||||
<string name="pairing_request_from">S\'ha demanat aparellar des de «%1s»</string>
|
||||
<plurals name="incoming_file_title">
|
||||
<item quantity="one">S\'està rebent %1$d fitxer des de %2$s</item>
|
||||
<item quantity="other">S\'estan rebent %1$d fitxers des de %2$s</item>
|
||||
@@ -191,11 +190,14 @@
|
||||
<string name="mpris_notification_settings_title">Mostra les notificacions dels reproductors</string>
|
||||
<string name="mpris_notification_settings_summary">Permet controlar els reproductors multimèdia sense obrir el KDE Connect</string>
|
||||
<string name="share_to">Comparteix amb…</string>
|
||||
<string name="unreachable_device">%s (no s\'hi pot accedir)</string>
|
||||
<string name="unreachable_device_url_share_text">Els URL compartits amb un dispositiu no accessible es lliuraran un cop s\'hi pugui accedir.\n\n</string>
|
||||
<string name="protocol_version_newer">Aquest dispositiu usa una versió nova del protocol</string>
|
||||
<string name="plugin_settings_with_name">Configuració del %s</string>
|
||||
<string name="invalid_device_name">El nom del dispositiu no és vàlid</string>
|
||||
<string name="shareplugin_text_saved">S\'ha rebut text i s\'ha desat al porta-retalls</string>
|
||||
<string name="custom_devices_settings">Llista personalitzada de dispositius</string>
|
||||
<string name="custom_devices_settings_summary">S\'han afegir %d dispositius manualment</string>
|
||||
<string name="custom_device_list">Afegeix dispositius per la IP</string>
|
||||
<string name="custom_device_deleted">S\'ha suprimit un dispositiu personalitzat</string>
|
||||
<string name="custom_device_list_help">Si el dispositiu no es detecta automàticament, podeu afegir la seva adreça IP o el nom de la màquina fent clic al botó flotant d\'acció</string>
|
||||
@@ -325,6 +327,7 @@
|
||||
<string name="empty_trusted_networks_list_text">Encara no heu afegit cap xarxa de confiança</string>
|
||||
<string name="allow_all_networks_text">Permet totes</string>
|
||||
<string name="location_permission_needed_title">Es requereix permís</string>
|
||||
<string name="bluetooth_permission_needed_desc">El KDE Connect necessita permís per a connectar als dispositius propers per a fer que els dispositius aparellats per Bluetooth estiguin disponibles al KDE Connect.</string>
|
||||
<string name="location_permission_needed_desc">El KDE Connect necessita el permís d\'ubicació en segon pla per a conèixer la xarxa Wi-Fi a la qual esteu connectat fins i tot quan l\'aplicació està en segon pla. Això és perquè el nom de les xarxes Wi-Fi que hi ha al voltant es podria utilitzar per a trobar la vostra ubicació, fins i tot quan això no és el que fa el KDE Connect.</string>
|
||||
<string name="clipboard_android_x_incompat">L\'Android 10 ha tret l\'accés al porta-retalls a totes les aplicacions. Aquest connector estarà inhabilitat.</string>
|
||||
<string name="mpris_open_url">Continua reproduint aquí</string>
|
||||
@@ -365,7 +368,7 @@
|
||||
<item>Clar</item>
|
||||
<item>Fosc</item>
|
||||
</string-array>
|
||||
<string name="report_bug">Informa d\'un error</string>
|
||||
<string name="report_bug">Informeu d\'un error</string>
|
||||
<string name="donate">Donació de diners</string>
|
||||
<string name="source_code">Codi font</string>
|
||||
<string name="licenses">Llicències</string>
|
||||
@@ -388,10 +391,12 @@
|
||||
<string name="send_compose">Envia</string>
|
||||
<string name="compose_send_title">Títol de l\'enviament</string>
|
||||
<string name="open_compose_send">Redacta text</string>
|
||||
<string name="about_kde_about"><h1>Quant al</h1> <p>El KDE és una comunitat mundial d\'enginyers, artistes, escriptors, traductors i creadors de programari compromesos amb el desenvolupament de <a href=https://www.gnu.org/philosophy/free-sw.html>programari lliure</a>. El KDE produeix l\'entorn d\'escriptori Plasma, centenars d\'aplicacions i moltes biblioteques de programari que els donen suport.</p> <p>El KDE és una empresa en cooperativa: cap entitat controla la seva direcció o els productes. En el seu lloc, treballem junts per a aconseguir l\'objectiu comú de construir el millor programari lliure del món. Tothom hi és benvingut a <a href=https://community.kde.org/Get_Involved>unir-se i contribuir</a> al KDE, inclosos vosaltres.</p> Visiteu <a href=https://www.kde.org/ca/>https://www.kde.org/ca/</a> per a obtenir més informació sobre la comunitat KDE i el programari que produïm.</string>
|
||||
<string name="about_kde_report_bugs_or_wishes"><h1>Informeu dels errors o desitjos</h1> <p>El programari sempre es pot millorar, i l\'equip del KDE està a punt per a fer-ho. No obstant això, l\'usuari, ha de dir-nos quan alguna cosa no funciona com s\'esperava o si podria fer-se millor.</p> <p>El KDE té un sistema de seguiment d\'errors. Per a informar-ne d\'un, visiteu <a href=https://bugs.kde.org/>https://bugs.kde.org/</a> o useu el botó \"Informa d\'un error\" des de la pantalla Quant al.</p> Si teniu un suggeriment de millora, podeu usar el sistema de seguiment d\'errors per a enregistrar el vostre desig. Assegureu-vos d\'usar la severitat anomenada \"Llista de desitjos\" (Wishlist).</string>
|
||||
<string name="double_tap_to_drag">Dos tocs per a arrossegar</string>
|
||||
<string name="hold_to_drag">Mantenir premut per a arrossegar</string>
|
||||
<string name="about_kde_about"><h1>Quant al</h1> <p>KDE és una comunitat mundial d\'enginyers, artistes, escriptors, traductors i creadors de programari compromesos amb el desenvolupament de <a href=https://www.gnu.org/philosophy/free-sw.html>programari lliure</a>. KDE produeix l\'entorn d\'escriptori Plasma, centenars d\'aplicacions i moltes biblioteques de programari que els donen suport.</p> <p>KDE és una empresa en cooperativa: cap entitat controla la seva direcció o els productes. En el seu lloc, treballem junts per a aconseguir l\'objectiu comú de construir el millor programari lliure del món. Tothom hi és benvingut a <a href=https://community.kde.org/Get_Involved>unir-se i contribuir</a> a KDE, inclosos vosaltres.</p> Visiteu <a href=https://www.kde.org/ca/>https://www.kde.org/ca/</a> per a obtenir més informació sobre la comunitat KDE i el programari que produïm.</string>
|
||||
<string name="about_kde_report_bugs_or_wishes"><h1>Informeu dels errors o desitjos</h1> <p>El programari sempre es pot millorar, i l\'equip del KDE està a punt per a fer-ho. No obstant això, l\'usuari, ha de dir-nos quan alguna cosa no funciona com s\'esperava o si podria fer-se millor.</p> <p>El KDE té un sistema de seguiment d\'errors. Per a informar-ne d\'un, visiteu <a href=https://bugs.kde.org/>https://bugs.kde.org/</a> o useu el botó «Informeu d\'un error» des de la pantalla Quant al.</p> Si teniu un suggeriment de millora, podeu usar el sistema de seguiment d\'errors per a enregistrar el vostre desig. Assegureu-vos d\'usar la severitat anomenada «Llista de desitjos» (Wishlist).</string>
|
||||
<string name="about_kde_join_kde"><h1>Uniu-vos al KDE</h1> <p>No cal ser un desenvolupador de programari per a ser membre de l\'equip KDE. Podeu unir-vos als equips d\'idiomes que tradueixen la interfície dels programes. Podeu proporcionar gràfics, temes, sons i documentació millorada. Vosaltres decidiu!</p> <p>Visiteu <a href=https://community.kde.org/Get_Involved>https://community.kde.org/Get_Involved</a> per a obtenir informació sobre alguns projectes en què podeu participar-hi.</p> Si us cal més informació o documentació, una visita a <a href=https://techbase.kde.org/>https://techbase.kde.org/</a> us proporcionarà el que necessiteu.</string>
|
||||
<string name="about_kde_support_kde"><h1>Contribució al KDE</h1> <p>El programari KDE està i sempre estarà disponible de forma gratuïta, però la creació no està lliure de càrrecs.</p> <p>Per a donar suport al desenvolupament, la comunitat KDE ha format la KDE e.V., una organització sense ànim de lucre legalment fundada a Alemanya. La KDE e.V. representa a la comunitat KDE en els assumptes legals i financers. Per a obtenir informació sobre la KDE e.V., vegeu <a href=https://ev.kde.org/>https://ev.kde.org/</a>.El KDE es beneficia de molts tipus de contribucions, inclosa la financera. Usem els fons per a reemborsar als membres i altra gent per les despeses que incorren col·laborant-hi. S\'usen més fons per al suport legal i l\'organització de les conferències i reunions.</p> <p>Us animem a ajudar al KDE mitjançant donacions monetàries, usant un dels mitjans descrits a <a href=https://kde.org/ca/community/donations/>https://kde.org/ca/community/donations/</a>.</p>. Moltes gràcies per endavant per la vostra ajuda.</string>
|
||||
<string name="about_kde_support_kde"><h1>Contribució al KDE</h1> <p>El programari KDE està i sempre estarà disponible de forma gratuïta, però la creació no està lliure de càrrecs.</p> <p>Per a donar suport al desenvolupament, la comunitat KDE ha format la KDE e.V., una organització sense ànim de lucre legalment fundada a Alemanya. La KDE e.V. representa a la comunitat KDE en els assumptes legals i financers. Per a obtenir informació sobre la KDE e.V., vegeu <a href=https://ev.kde.org/>https://ev.kde.org/</a>.El KDE es beneficia de molts tipus de contribucions, inclosa la financera. Usem els fons per a reemborsar als membres i altra gent per les despeses que incorren col·laborant-hi. S\'usen més fons per al suport legal i l\'organització de les conferències i reunions.</p> <p>Us animem a ajudar al KDE mitjançant donacions monetàries, usant un dels mitjans descrits a <a href=https://kde.org/ca/community/donations/>https://kde.org/ca/community/donations/</a>.</p> Moltes gràcies per endavant per la vostra ajuda.</string>
|
||||
<string name="maintainer_and_developer">Mantenidor i desenvolupador</string>
|
||||
<string name="developer">Desenvolupador</string>
|
||||
<string name="apple_support">Suport de macOS. Treballant en el suport d\'iOS</string>
|
||||
@@ -402,12 +407,23 @@
|
||||
<string name="maxim_leshchenko_task">Millores en la IU i ha creat aquesta pàgina</string>
|
||||
<string name="holger_kaelberer_task">Connector de teclat remot i esmenes d\'errors</string>
|
||||
<string name="saikrishna_arcot_task">Suport per a usar el teclat en el connector d\'entrada remota, esmenes d\'errors i millores generals</string>
|
||||
<string name="shellwen_chen_task">Millorar la seguretat d\'SFTP, millorar les tasques de manteniment d\'aquest projecte, esmenes d\'errors i millores generals</string>
|
||||
<string name="everyone_else">Tothom qui ha contribuït al KDE Connect al llarg dels anys</string>
|
||||
<string name="send_clipboard">Envia el porta-retalls</string>
|
||||
<string name="tap_to_execute">Toqueu per a executar</string>
|
||||
<string name="plugin_stats">Estadístiques del connector</string>
|
||||
<string name="enable_udp_broadcast">Activa el descobriment UDP de dispositius</string>
|
||||
<string name="enable_bluetooth">Activa el Bluetooth (beta)</string>
|
||||
<string name="receive_notifications_permission_explanation">Cal permetre que les notificacions es rebin des d\'altres dispositius</string>
|
||||
<string name="findmyphone_notifications_explanation">Cal el permís de notificacions perquè el telèfon pugui sonar quan l\'aplicació estigui en segon pla</string>
|
||||
<string name="no_notifications">Les notificacions estan desactivades, no rebreu notificacions entrants d\'emparellament.</string>
|
||||
<string name="mpris_keepwatching">Continua reproduint</string>
|
||||
<string name="mpris_keepwatching_settings_title">Continua reproduint</string>
|
||||
<string name="mpris_keepwatching_settings_summary">Mostra una notificació silenciosa per a continuar reproduint en aquest dispositiu després de tancar l\'element multimèdia</string>
|
||||
<string name="notification_channel_keepwatching">Continua reproduint</string>
|
||||
<string name="ping_result">S\'ha fet «ping» en %1$d mil·lisegons</string>
|
||||
<string name="ping_failed">No s\'ha pogut fer «ping» al dispositiu</string>
|
||||
<string name="ping_in_progress">S\'està fent «ping»…</string>
|
||||
<string name="device_host_invalid">L\'ordinador no és vàlid. Useu un nom d\'ordinador, IPv4 o IPv6 vàlids</string>
|
||||
<string name="device_host_duplicate">L\'ordinador ja existeix a la llista</string>
|
||||
</resources>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user