Compare commits
1 Commits
work/remov
...
work/suppo
Author | SHA1 | Date | |
---|---|---|---|
|
cadb9892e4 |
19
.gitignore
vendored
@@ -1,16 +1,15 @@
|
||||
local.properties
|
||||
/.gradle/
|
||||
/.idea/
|
||||
/out/
|
||||
/gen/
|
||||
/bin/
|
||||
/build/
|
||||
/target/
|
||||
/classes/
|
||||
.gradle/
|
||||
.idea/
|
||||
out/
|
||||
gen/
|
||||
bin/
|
||||
build/
|
||||
target/
|
||||
classes/
|
||||
gradle
|
||||
*.iml
|
||||
*.keystore
|
||||
!debug.keystore
|
||||
.directory
|
||||
GPUCache/
|
||||
/release/
|
||||
/.kotlin/
|
||||
|
@@ -7,42 +7,40 @@
|
||||
# - Set up gitlab-runner, as described here: https://stackoverflow.com/a/52724374
|
||||
# - Run `gitlab-runner exec docker --docker-privileged assembleDebug`
|
||||
|
||||
variables:
|
||||
ANDROID_COMPILE_SDK: "33"
|
||||
ANDROID_BUILD_TOOLS: "34.0.0"
|
||||
ANDROID_SDK_TOOLS: "10406996"
|
||||
image: openjdk:11-jdk
|
||||
|
||||
default:
|
||||
tags:
|
||||
- Linux
|
||||
image: ubuntu:22.04
|
||||
before_script:
|
||||
# Prepare system for use of sdkmanager
|
||||
- apt-get --quiet update --yes
|
||||
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 openjdk-17-jdk-headless
|
||||
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip
|
||||
# Create the directory structure around cmdline-tools that sdkmanager is expecting
|
||||
- mkdir -p sdk/cmdline-tools
|
||||
- unzip android-sdk.zip
|
||||
- mv cmdline-tools sdk/cmdline-tools/latest
|
||||
# Update the environment
|
||||
- export ANDROID_HOME=$PWD/sdk
|
||||
- export PATH=$PATH:$PWD/sdk/cmdline-tools/latest/bin
|
||||
# (this line should fail if sdkmanager is moved out of that directory in the future)
|
||||
- type sdkmanager
|
||||
# Install SDK packages
|
||||
- echo y | sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
|
||||
- echo y | sdkmanager "platform-tools" >/dev/null
|
||||
- echo y | sdkmanager "emulator" >/dev/null
|
||||
- echo y | sdkmanager "platform-tools" >/dev/null
|
||||
- echo y | sdkmanager "tools" >/dev/null
|
||||
- echo y | sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null
|
||||
# temporarily disable checking for EPIPE error and use yes to accept all licenses
|
||||
- set +o pipefail
|
||||
- yes | sdkmanager --licenses
|
||||
# Re-enable checking for EPIPE and allow execution of Gradle wrapper script
|
||||
- set -o pipefail
|
||||
- chmod +x ./gradlew
|
||||
variables:
|
||||
ANDROID_COMPILE_SDK: "31"
|
||||
ANDROID_BUILD_TOOLS: "30.0.3"
|
||||
ANDROID_SDK_TOOLS: "6609375"
|
||||
|
||||
before_script:
|
||||
- apt-get --quiet update --yes
|
||||
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
|
||||
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip
|
||||
- unzip -d cmdline-tools android-sdk.zip
|
||||
- echo y | cmdline-tools/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
|
||||
- echo y | cmdline-tools/tools/bin/sdkmanager "platform-tools" >/dev/null
|
||||
- echo y | cmdline-tools/tools/bin/sdkmanager "patcher;v4" >/dev/null
|
||||
- echo y | cmdline-tools/tools/bin/sdkmanager "emulator" >/dev/null
|
||||
- echo y | cmdline-tools/tools/bin/sdkmanager "platform-tools" >/dev/null
|
||||
- echo y | cmdline-tools/tools/bin/sdkmanager "tools" >/dev/null
|
||||
- echo y | cmdline-tools/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null
|
||||
- export ANDROID_HOME=$PWD/cmdline-tools
|
||||
- export PATH=$PATH:$PWD/cmdline-tools/platform-tools/
|
||||
- chmod +x ./gradlew
|
||||
# temporarily disable checking for EPIPE error and use yes to accept all licenses
|
||||
- set +o pipefail
|
||||
- yes | cmdline-tools/tools/bin/sdkmanager --licenses
|
||||
# Gradle will automatically download parts of the SDK if they are missing,
|
||||
# assuming the licenses are accepted. Even if you don't need it to download
|
||||
# anything, it will fail if it detects the liceses are not accepted.
|
||||
# https://developer.android.com/studio/intro/update.html#download-with-gradle
|
||||
# Unfortunately, it looks for the license acceptances in a different location than
|
||||
# the sdkmanager creates them!
|
||||
# Copy them to the location Gradle expects to find them to make everything run smoothly.
|
||||
- cp -ap "${PWD}/licenses" "${PWD}/cmdline-tools/licenses"
|
||||
- set -o pipefail
|
||||
|
||||
stages:
|
||||
- build
|
||||
|
@@ -1,44 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2023 Albert Vaca Cintora <albertvaka@gmail.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
-->
|
||||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:versionCode="13209"
|
||||
android:versionName="1.32.9">
|
||||
package="org.kde.kdeconnect_tp"
|
||||
android:versionCode="12401"
|
||||
android:versionName="1.24.1">
|
||||
|
||||
<supports-screens
|
||||
android:anyDensity="true"
|
||||
android:largeScreens="true"
|
||||
android:normalScreens="true"
|
||||
android:smallScreens="true"
|
||||
android:xlargeScreens="true" />
|
||||
|
||||
<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.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
|
||||
<!-- <uses-permission android:name="android.permission.BLUETOOTH" /> -->
|
||||
<!-- <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
@@ -54,33 +38,29 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
<uses-permission android:name="android.permission.RECEIVE_SMS" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_MMS" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:ignore="QueryAllPackagesPermission" />
|
||||
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
|
||||
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
|
||||
<uses-permission android:name="android.permission.READ_LOGS" tools:ignore="ProtectedPermissions" />
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" />
|
||||
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
|
||||
|
||||
<application
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:label="@string/kde_connect"
|
||||
android:banner="@mipmap/ic_launcher_banner"
|
||||
android:label="KDE Connect"
|
||||
android:supportsRtl="true"
|
||||
android:allowBackup="false"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:localeConfig="@xml/locales_config"
|
||||
android:theme="@style/KdeConnectTheme.NoActionBar"
|
||||
android:name="org.kde.kdeconnect.KdeConnect"
|
||||
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 -->
|
||||
|
||||
android:name="org.kde.kdeconnect.MyApplication"
|
||||
android:enableOnBackInvokedCallback="true">
|
||||
|
||||
<receiver
|
||||
android:name="com.android.mms.transaction.PushReceiver"
|
||||
@@ -119,21 +99,14 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
|
||||
<activity
|
||||
android:name="org.kde.kdeconnect.UserInterface.MainActivity"
|
||||
android:exported="true">
|
||||
android:label="KDE Connect"
|
||||
android:exported="true"
|
||||
android:theme="@style/KdeConnectTheme.NoActionBar">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
<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"
|
||||
@@ -165,6 +138,14 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
|
||||
<receiver android:name="org.kde.kdeconnect.KdeConnectBroadcastReceiver"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.PACKAGE_REPLACED" />
|
||||
|
||||
<data
|
||||
android:host="kdeconnect"
|
||||
android:path="/"
|
||||
android:scheme="package" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
|
||||
</intent-filter>
|
||||
@@ -204,6 +185,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:name="org.kde.kdeconnect.Plugins.MprisPlugin.MprisActivity"
|
||||
android:label="@string/open_mpris_controls"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/KdeConnectTheme.NoActionBar"
|
||||
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
@@ -227,20 +209,21 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandWidgetConfigActivity"
|
||||
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandWidgetDeviceSelector"
|
||||
android:excludeFromRecents="true"
|
||||
android:label="@string/pref_plugin_runcommand"
|
||||
android:launchMode="singleTask"
|
||||
android:noHistory="true"
|
||||
android:screenOrientation="user"/>
|
||||
android:screenOrientation="user"
|
||||
android:theme="@style/Theme.AppCompat.Light.Dialog" />
|
||||
|
||||
<service
|
||||
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.CommandsRemoteViewsService"
|
||||
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandWidgetDataProviderService"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_REMOTEVIEWS" />
|
||||
|
||||
<receiver
|
||||
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandWidgetProvider"
|
||||
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandWidget"
|
||||
android:label="@string/pref_plugin_runcommand"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
@@ -292,10 +275,9 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.kde.kdeconnect.Plugins.MousePadPlugin.ComposeSendActivity"
|
||||
android:label="@string/compose_send_title"
|
||||
android:label="Compose send"
|
||||
android:exported="false"
|
||||
android:parentActivityName="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity"
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
android:parentActivityName="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity" />
|
||||
@@ -404,6 +386,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:value="org.kde.kdeconnect.UserInterface.PluginSettingsActivity" />
|
||||
</activity>
|
||||
|
||||
<activity android:name="org.kde.kdeconnect.Plugins.PhotoPlugin.PhotoActivity" />
|
||||
|
||||
<activity
|
||||
android:name="org.kde.kdeconnect.UserInterface.TrustedNetworksActivity"
|
||||
android:label="@string/trusted_networks"
|
||||
|
@@ -9,7 +9,7 @@ KDE Connect is a multi-platform app that allows your devices to communicate (eg:
|
||||
- **Multimedia remote control**: Use your phone as a remote for Linux media players.
|
||||
- **Virtual touchpad**: Use your phone screen as your computer's touchpad and keyboard.
|
||||
|
||||
All this without wires, over the already existing Wi-Fi network, and using TLS encryption.
|
||||
All this without wires, over the already existing WiFi network, and using TLS encryption.
|
||||
|
||||
## About this app
|
||||
|
||||
@@ -25,7 +25,7 @@ A lot of useful information, including how to get started working on KDE Connect
|
||||
|
||||
For bug reporting, please use [KDE's Bugzilla](https://bugs.kde.org). Please do not use the issue tracker in GitLab since we want to keep everything in one place.
|
||||
|
||||
To contribute patches, use [KDE Connect's Gitlab](https://invent.kde.org/network/kdeconnect-android/).
|
||||
To contribute patches, use [KDE Connect's Gitlab](https://invent.kde.org/kde/kdeconnect-android/).
|
||||
On Gitlab (as well as on our [old Phabricator](https://phabricator.kde.org/tag/kde_connect/)) you can find a task list with stuff to do and links to other relevant resources.
|
||||
It is a good idea to also subscribe to the [KDE Connect mailing list](https://mail.kde.org/mailman/listinfo/kdeconnect).
|
||||
|
||||
@@ -34,4 +34,4 @@ Please know that all translations for all KDE apps are handled by the [localizat
|
||||
## License
|
||||
[GNU GPL v2](https://www.gnu.org/licenses/gpl-2.0.html) and [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.html)
|
||||
|
||||
If you are reading this from GitHub, you should know that this is just a mirror of the [KDE Project repo](https://invent.kde.org/network/kdeconnect-android/).
|
||||
If you are reading this from Github, you should know that this is just a mirror of the [KDE Project repo](https://invent.kde.org/network/kdeconnect-android/).
|
||||
|
207
build.gradle
Normal file
@@ -0,0 +1,207 @@
|
||||
import com.android.build.gradle.AppExtension
|
||||
import com.android.build.gradle.api.ApkVariantOutput
|
||||
import com.android.build.gradle.api.ApplicationVariant
|
||||
import com.github.jk1.license.render.TextReportRenderer
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.8.10'
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.4.2'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'com.github.jk1.dependency-license-report' version '1.16'
|
||||
}
|
||||
def licenseResDir = new File("$projectDir/build/dependency-license-res")
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
|
||||
android {
|
||||
compileSdkVersion 33
|
||||
defaultConfig {
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 32
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
buildFeatures {
|
||||
viewBinding true
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
|
||||
// Flag to enable support for the new language APIs
|
||||
coreLibraryDesugaringEnabled true
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = '1.8'
|
||||
}
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
java.srcDirs = ['src']
|
||||
resources.srcDirs = ['resources']
|
||||
res.srcDirs = [licenseResDir, 'res']
|
||||
assets.srcDirs = ['assets']
|
||||
}
|
||||
test {
|
||||
java.srcDirs = ['tests']
|
||||
}
|
||||
}
|
||||
packagingOptions {
|
||||
resources {
|
||||
merges += ['META-INF/DEPENDENCIES', 'META-INF/LICENSE', 'META-INF/NOTICE']
|
||||
}
|
||||
}
|
||||
signingConfigs {
|
||||
debug {
|
||||
storeFile file("debug.keystore")
|
||||
storePassword 'android'
|
||||
keyAlias 'androiddebugkey'
|
||||
keyPassword 'android'
|
||||
}
|
||||
}
|
||||
buildTypes {
|
||||
debug {
|
||||
minifyEnabled true
|
||||
shrinkResources true
|
||||
signingConfig signingConfigs.debug
|
||||
}
|
||||
// keep minifyEnabled false above for faster builds; set to 'true'
|
||||
// when testing to make sure ProGuard/R8 is not deleting important stuff
|
||||
release {
|
||||
minifyEnabled true
|
||||
shrinkResources true
|
||||
}
|
||||
}
|
||||
lint {
|
||||
abortOnError false
|
||||
checkReleaseBuilds false
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This is a special on-demand Gradle object.
|
||||
*
|
||||
* Its value will not be determined until someone calls one of the gitHashProvider.getXXX() methods.
|
||||
*
|
||||
* If it does not encounter an explicit 'return' statement, getHashProvider.isPresent() will return false.
|
||||
*/
|
||||
Provider<String> gitHashProvider = project.provider {
|
||||
Process gitCommand = null
|
||||
try {
|
||||
// This invokes 'git' immediately, but does not wait for it to finish
|
||||
gitCommand = 'git rev-parse --short HEAD'.execute([], project.rootDir)
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
|
||||
if (gitCommand == null) {
|
||||
logger.log(LogLevel.WARN, "Could not make use of the 'git' command-line tool. Output filenames will not be customized.")
|
||||
} else if (gitCommand.waitFor() == 0) {
|
||||
// This call to '::getText' (using the 'text' Groovy accessor syntax) collects the
|
||||
// output stream
|
||||
return '-' + gitCommand.text.trim()
|
||||
} else {
|
||||
logger.log(
|
||||
LogLevel.WARN,
|
||||
"Could not determine which commit is currently checked out -" +
|
||||
" did you download this code without the .git directory?"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// We know we can safely cast the 'android' type to the 'AppExtension' class because
|
||||
// we used the 'com.android.application' plugin at the top of the file.
|
||||
//
|
||||
// Note the use of the '::all' extension method; unlike '::each', it can detect every
|
||||
// object added to the collection, no matter in which build phase that happens.
|
||||
(android as AppExtension).applicationVariants.all { ApplicationVariant v ->
|
||||
logger.log(LogLevel.INFO, "Found a variant called '${v.name}'.")
|
||||
if (v.buildType.debuggable) {
|
||||
// We're looking at variants made from android.buildTypes.debug! This one
|
||||
// might have multiple outputs, but only one output will be an APK file.
|
||||
v.outputs.matching { it instanceof ApkVariantOutput }.all {
|
||||
// Default output filename is "${project.name}-${v.name}.apk". We want
|
||||
// the Git commit short-hash to be added onto that default filename.
|
||||
(it as ApkVariantOutput).outputFileName = "${project.name}-${v.name}${gitHashProvider.getOrElse("")}.apk"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ext {
|
||||
coroutines_version = '1.6.4'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
|
||||
|
||||
implementation 'androidx.media:media:1.6.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||
implementation 'androidx.core:core-ktx:1.10.0'
|
||||
implementation 'androidx.preference:preference-ktx:1.2.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.3.0'
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||
implementation 'androidx.documentfile:documentfile:1.0.1'
|
||||
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1"
|
||||
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1'
|
||||
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
|
||||
implementation 'androidx.lifecycle:lifecycle-common-java8:2.6.1'
|
||||
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
||||
implementation 'com.google.android.material:material:1.8.0'
|
||||
implementation 'com.jakewharton:disklrucache:2.0.2' //For caching album art bitmaps
|
||||
implementation 'com.jaredrummler:android-device-names:1.1.9' //To get a human-friendly device name
|
||||
|
||||
implementation 'org.apache.sshd:sshd-core:0.14.0'
|
||||
implementation 'org.apache.mina:mina-core:2.0.19' //For some reason, makes sshd-core:0.14.0 work without NIO, which isn't available until Android 8 (api 26)
|
||||
|
||||
//implementation('com.github.bright:slf4android:0.1.6') { transitive = true } // For org.apache.sshd debugging
|
||||
implementation 'org.bouncycastle:bcpkix-jdk15on:1.70' //For SSL certificate generation
|
||||
|
||||
implementation 'org.atteo.classindex:classindex:3.13'
|
||||
annotationProcessor 'org.atteo.classindex:classindex:3.13'
|
||||
|
||||
// The android-smsmms library is the only way I know to handle MMS in Android
|
||||
// (Shouldn't a phone OS make phone things easy?)
|
||||
// This library was originally authored as com.klinkerapps at https://github.com/klinker41/android-smsmms.
|
||||
// However, that version is under-loved. I have therefore made "some fixes" and published it.
|
||||
// Please see https://invent.kde.org/sredman/android-smsmms/-/tree/master
|
||||
implementation 'org.kde.invent.sredman:android-smsmms:kdeconnect-1-21-0'
|
||||
implementation 'com.klinkerapps:logger:1.0.3'
|
||||
|
||||
implementation 'commons-io:commons-io:2.11.0'
|
||||
implementation 'org.apache.commons:commons-collections4:4.4'
|
||||
implementation 'org.apache.commons:commons-lang3:3.12.0'
|
||||
|
||||
// Kotlin
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
||||
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version"
|
||||
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
|
||||
|
||||
// Testing
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
testImplementation 'org.powermock:powermock-core:2.0.0'
|
||||
testImplementation 'org.powermock:powermock-module-junit4:2.0.0'
|
||||
testImplementation 'org.powermock:powermock-api-mockito2:2.0.0'
|
||||
testImplementation 'org.mockito:mockito-core:3.12.4' // powermock isn't compatible with mockito 4
|
||||
testImplementation 'org.skyscreamer:jsonassert:1.5.1'
|
||||
|
||||
// For device controls
|
||||
implementation 'org.reactivestreams:reactive-streams:1.0.4'
|
||||
implementation 'io.reactivex.rxjava2:rxjava:2.2.21'
|
||||
}
|
||||
|
||||
licenseReport {
|
||||
configurations = ALL
|
||||
renderers = [new TextReportRenderer()]
|
||||
}
|
||||
generateLicenseReport.doLast {
|
||||
def target = new File(licenseResDir, "raw/license")
|
||||
target.parentFile.mkdirs()
|
||||
target.text =
|
||||
files("COPYING", "$projectDir/build/reports/dependency-license/THIRD-PARTY-NOTICES.txt")
|
||||
.collect { it.getText() }.join('\n')
|
||||
}
|
||||
preBuild.dependsOn(generateLicenseReport)
|
364
build.gradle.kts
@@ -1,364 +0,0 @@
|
||||
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 org.objectweb.asm.ClassVisitor
|
||||
import org.objectweb.asm.MethodVisitor
|
||||
import org.objectweb.asm.Opcodes.CHECKCAST
|
||||
import org.objectweb.asm.Opcodes.INVOKESTATIC
|
||||
|
||||
buildscript {
|
||||
dependencies {
|
||||
classpath(libs.android.gradlePlugin)
|
||||
classpath(libs.kotlin.gradlePlugin)
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.android.application)
|
||||
alias(libs.plugins.kotlin.android)
|
||||
alias(libs.plugins.kotlin.kapt)
|
||||
alias(libs.plugins.dependencyLicenseReport)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
}
|
||||
|
||||
val licenseResDir = File("$projectDir/build/dependency-license-res")
|
||||
|
||||
fun String.runCommand(
|
||||
workingDir: File = File("."),
|
||||
timeoutAmount: Long = 60,
|
||||
timeoutUnit: TimeUnit = TimeUnit.SECONDS
|
||||
): String = ProcessBuilder(split("\\s(?=(?:[^'\"`]*(['\"`])[^'\"`]*\\1)*[^'\"`]*$)".toRegex()))
|
||||
.directory(workingDir)
|
||||
.redirectOutput(ProcessBuilder.Redirect.PIPE)
|
||||
.redirectError(ProcessBuilder.Redirect.PIPE)
|
||||
.start()
|
||||
.apply { waitFor(timeoutAmount, timeoutUnit) }
|
||||
.run {
|
||||
val error = errorStream.bufferedReader().readText().trim()
|
||||
if (error.isNotEmpty()) {
|
||||
throw Exception(error)
|
||||
}
|
||||
inputStream.bufferedReader().readText().trim()
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "org.kde.kdeconnect_tp"
|
||||
compileSdk = 35
|
||||
defaultConfig {
|
||||
minSdk = 21
|
||||
targetSdk = 35
|
||||
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
|
||||
}
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
compose = true
|
||||
buildConfig = true
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_9
|
||||
targetCompatibility = JavaVersion.VERSION_1_9
|
||||
|
||||
// Flag to enable support for the new language APIs
|
||||
isCoreLibraryDesugaringEnabled = true
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = "9"
|
||||
}
|
||||
|
||||
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"))
|
||||
}
|
||||
getByName("test") {
|
||||
java.setSrcDirs(listOf("tests"))
|
||||
}
|
||||
}
|
||||
|
||||
packaging {
|
||||
resources {
|
||||
merges += listOf("META-INF/DEPENDENCIES", "META-INF/LICENSE", "META-INF/NOTICE")
|
||||
}
|
||||
}
|
||||
signingConfigs {
|
||||
getByName("debug") {
|
||||
storeFile = file("debug.keystore")
|
||||
storePassword = "android"
|
||||
keyAlias = "androiddebugkey"
|
||||
keyPassword = "android"
|
||||
}
|
||||
}
|
||||
buildTypes {
|
||||
getByName("debug") {
|
||||
isMinifyEnabled = false
|
||||
isShrinkResources = false
|
||||
signingConfig = signingConfigs.getByName("debug")
|
||||
}
|
||||
getByName("release") {
|
||||
isMinifyEnabled = true
|
||||
isShrinkResources = true
|
||||
}
|
||||
}
|
||||
lint {
|
||||
abortOnError = false
|
||||
checkReleaseBuilds = false
|
||||
}
|
||||
|
||||
applicationVariants.all {
|
||||
val variant = this
|
||||
logger.quiet("Found a variant called ${variant.name}")
|
||||
|
||||
if (variant.buildType.isDebuggable) {
|
||||
variant.outputs.all {
|
||||
val output = this as com.android.build.gradle.internal.api.BaseVariantOutputImpl
|
||||
if (output.outputFile.name.endsWith(".apk")) {
|
||||
// Default output filename is "${project.name}-${v.name}.apk". We want
|
||||
// the Git commit short-hash to be added onto that default filename.
|
||||
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")
|
||||
output.outputFileName = newName
|
||||
} catch (ignored: Exception) {
|
||||
logger.warn("Could not make use of the 'git' command-line tool. Output filenames will not be customized.")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
}
|
||||
|
||||
androidComponents {
|
||||
onVariants { variant ->
|
||||
variant.instrumentation.transformClassesWith(
|
||||
FixPosixFilePermissionClassVisitorFactory::class.java,
|
||||
InstrumentationScope.ALL
|
||||
) { }
|
||||
variant.instrumentation.transformClassesWith(
|
||||
FixCollectionsClassVisitorFactory::class.java,
|
||||
InstrumentationScope.ALL
|
||||
) { }
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// 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)
|
||||
implementation(libs.androidx.activity.compose)
|
||||
implementation(libs.androidx.constraintlayout.compose)
|
||||
|
||||
implementation(libs.androidx.compose.ui.tooling.preview)
|
||||
debugImplementation(libs.androidx.compose.ui.tooling)
|
||||
|
||||
implementation(libs.androidx.media)
|
||||
implementation(libs.androidx.appcompat)
|
||||
implementation(libs.androidx.core.ktx)
|
||||
implementation(libs.androidx.preference.ktx)
|
||||
implementation(libs.androidx.recyclerview)
|
||||
implementation(libs.androidx.swiperefreshlayout)
|
||||
implementation(libs.androidx.documentfile)
|
||||
implementation(libs.androidx.lifecycle.viewmodel.ktx)
|
||||
implementation(libs.androidx.lifecycle.runtime.ktx)
|
||||
implementation(libs.androidx.lifecycle.extensions)
|
||||
implementation(libs.androidx.lifecycle.common.java8)
|
||||
implementation(libs.androidx.gridlayout)
|
||||
implementation(libs.material)
|
||||
implementation(libs.disklrucache) //For caching album art bitmaps
|
||||
implementation(libs.slf4j.handroid)
|
||||
|
||||
implementation(libs.apache.sshd.core)
|
||||
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)
|
||||
|
||||
// The android-smsmms library is the only way I know to handle MMS in Android
|
||||
// (Shouldn't a phone OS make phone things easy?)
|
||||
// This library was originally authored as com.klinkerapps at https://github.com/klinker41/android-smsmms.
|
||||
// However, that version is under-loved. I have therefore made "some fixes" and published it.
|
||||
// Please see https://invent.kde.org/sredman/android-smsmms/-/tree/master
|
||||
implementation(libs.android.smsmms)
|
||||
implementation(libs.logger)
|
||||
|
||||
implementation(libs.commons.io)
|
||||
implementation(libs.commons.collections4)
|
||||
implementation(libs.commons.lang3)
|
||||
|
||||
implementation(libs.univocity.parsers)
|
||||
|
||||
// Kotlin
|
||||
implementation(libs.kotlin.stdlib.jdk8)
|
||||
implementation(libs.kotlinx.coroutines.core)
|
||||
implementation(libs.kotlinx.coroutines.android)
|
||||
|
||||
// Testing
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.mockito.core)
|
||||
testImplementation(libs.jsonassert)
|
||||
|
||||
// For device controls
|
||||
implementation(libs.reactive.streams)
|
||||
implementation(libs.rxjava)
|
||||
}
|
||||
|
||||
licenseReport {
|
||||
configurations = LicenseReportExtension.ALL
|
||||
renderers = arrayOf<ReportRenderer>(TextReportRenderer())
|
||||
}
|
||||
|
||||
tasks.named("generateLicenseReport") {
|
||||
doLast {
|
||||
val target = File(licenseResDir, "raw/license")
|
||||
target.parentFile.mkdirs()
|
||||
target.writeText(
|
||||
files(
|
||||
layout.projectDirectory.file("COPYING"),
|
||||
layout.buildDirectory.file("reports/dependency-license/THIRD-PARTY-NOTICES.txt")
|
||||
).joinToString(separator = "\n") {
|
||||
it.readText()
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
tasks.named("preBuild") {
|
||||
dependsOn("generateLicenseReport")
|
||||
}
|
@@ -1,2 +0,0 @@
|
||||
json_key_file("/please/pass/the/key/using/--json-key/instead")
|
||||
package_name("org.kde.kdeconnect_tp")
|
@@ -1,7 +0,0 @@
|
||||
To upload translations to the Play Store, run from the root of the repo:
|
||||
|
||||
```
|
||||
fastlane supply --skip_upload_screenshots --skip_upload_images --skip_upload_changelogs --json-key <path to the json key file>
|
||||
```
|
||||
|
||||
F-Droid reads them directly from this directory for each release tag, so no action is needed.
|
@@ -1,40 +0,0 @@
|
||||
EXPORTS_POT_DIR=1
|
||||
FILE_PREFIX=kdeconnect-android-store
|
||||
|
||||
function export_pot_dir # First parameter will be the path of the directory where we have to store the pot files
|
||||
{
|
||||
potdir=$1
|
||||
txt2po --no-segmentation --progress=names -P -i ./metadata/android/en-US/short_description.txt -o $potdir/kdeconnect-android-store-short.pot
|
||||
txt2po --no-segmentation --progress=names -P -i ./metadata/android/en-US/full_description.txt -o $potdir/kdeconnect-android-store-full.pot
|
||||
}
|
||||
|
||||
function import_po_dirs # First parameter will be a path that will be a directory to the dirs for each lang and then all the .po files inside
|
||||
{
|
||||
podir=$1
|
||||
# Some languages don't exist in Google Play or have different codes
|
||||
declare -a to_delete=( "bs" "ca@valencia" "sr@ijekavian" "sr@ijekavianlatin" "sr@latin" "ia" "eo" "tg" )
|
||||
for lang in "${to_delete[@]}"; do
|
||||
if [ -d $podir/$lang ]; then
|
||||
rm $podir/$lang/*
|
||||
rmdir $podir/$lang
|
||||
fi
|
||||
done
|
||||
declare -A to_rename=( ["az"]="az-AZ" ["cs"]="cs-CZ" ["da"]="da-DK" ["de"]="de-DE" ["el"]="el-GR" ["es"]="es-ES" ["eu"]="eu-ES"
|
||||
["fi"]="fi-FI" ["fr"]="fr-FR" ["gl"]="gl-ES" ["he"]="iw-IL" ["hu"]="hu-HU" ["is"]="is-IS" ["it"]="it-IT"
|
||||
["ja"]="ja-JP" ["ka"]="ka-GE" ["ko"]="ko-KR" ["nl"]="nl-NL" ["nn"]="no-NO" ["pl"]="pl-PL" ["pt"]="pt-PT"
|
||||
["ru"]="ru-RU" ["sv"]="sv-SE" ["ta"]="ta-IN" ["tr"]="tr-TR")
|
||||
for lang in "${!to_rename[@]}"; do
|
||||
if [ -d $podir/$lang ]; then
|
||||
mv $podir/$lang $podir/${to_rename[$lang]}
|
||||
fi
|
||||
done
|
||||
for lang in $(ls $podir); do
|
||||
if [ -f $podir/$lang/kdeconnect-android-store-short.po -a -f $podir/$lang/kdeconnect-android-store-full.po ]; then
|
||||
mkdir -p ./metadata/android/$lang/
|
||||
cp ./metadata/android/en-US/title.txt ./metadata/android/$lang/title.txt # we do not translate the app name
|
||||
po2txt --fuzzy --progress=names -i $podir/$lang/kdeconnect-android-store-short.po -o ./metadata/android/$lang/short_description.txt
|
||||
po2txt --fuzzy --progress=names -i $podir/$lang/kdeconnect-android-store-full.po -o ./metadata/android/$lang/full_description.txt
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
@@ -1,22 +0,0 @@
|
||||
KDE connect cihazlarınız arasında inteqrasiya üçün funksiyalar dəstini təqdim edir:
|
||||
|
||||
- Faylların cihazlar arasında köçürülməsi.
|
||||
- Heç bir kabel qoşulmadan telefonunuzdakı fayllara compyuterinizdə baxmaq.
|
||||
- Mübadilə yaddaşını paylaşmaq: cihazlarınız arasında kopyalama və yerləşdirmə.
|
||||
- Daxil olan zəng və ismarıc bildirişlərini komputerdə göstərmək
|
||||
- Virtual toxunma paneli: Telefonunuzun ektranını kompyuterin toxunma paneli kimi istifdə edin.
|
||||
- Bildirişlərin eyniləşdirilməsi: Telefon bildirişlərini kompyuterinizdə göstərmək və ismarıclara cavab vermək.
|
||||
- Multimedianın məsafədən idarə edilməsi: Linux media oxuducusunu telefonunuzdan idarə edin.
|
||||
- WiFi bağlantısı: USB qoşulması və ya Bluetooth qoşulmasına ehtiyyac yoxdur.
|
||||
- Ucdan-uca TLC şifrələmə: məlumatlarınızın təhlükəsizliyi qorunur.
|
||||
|
||||
Nəzərə alın ki, bu tətbiqin işləməsi üçün kompyuterinizə KDE Connect-i quraşdırmalısınız və sonuncu funksiyaların işləməsi üçün masaüstü və Android versiyalarını sonuncu versiyaya eyni şəkildə yeniləməlisiniz.
|
||||
|
||||
Həssas icazələr haqqında məlumat:
|
||||
*Giriş imkanı icazələri: Əgər uzaqdan daxiletmə funksiyasından istifadə edirsinizsə Android cihazınızı idarə etmək üçün başqa cihazlardan daxil olanları qəbul etmək tələb olunur.
|
||||
*Məkanın arxa fonda istifadəsinə icazə: Əgər etibarlı şəbəkə funksiyasından
|
||||
istifadə edirsinizsə hansı WiFi şəbəkəsinə qoşulduğunuzu bilməniz tələb olunur
|
||||
|
||||
KDE Connect heç bir halda məlumatları KDE-yə və ya üçüncü tərəfə ötürmür. KDE Connect məlumatları bir cihazdan başqasına internet istifadə etmədən və ucdan-uca şifrələmədən istifadə edərək yerli şəbəkə üzərindən göndərir.
|
||||
|
||||
Bu tətbiq açıq qaynaq layihəsinin bir hissəsidir və ona töhvə verənlərin sayəsində mövcuddur. Mənbə kodunu əldə etmək üçün veb-səhifəyə daxil olun.
|
@@ -1 +0,0 @@
|
||||
KDE Connect kompyuteriniz ilə smartfonunuzu inteqrasiya edir
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
KDE Connect предоставя набор от функции за интегриране на вашия работен процес на различни устройства:
|
||||
|
||||
- Прехвърляйте файлове между вашите устройства.
|
||||
- Осъществявайте достъп до файлове на телефона си от компютъра си, без кабели.
|
||||
- Споделен клипборд: копирайте и поставяйте между вашите устройства.
|
||||
- Получавайте известия за входящи обаждания и съобщения на вашия компютър.
|
||||
- Виртуален тъчпад: Използвайте екрана на телефона си като тъчпад на компютъра.
|
||||
- Синхронизиране на известия: Достъп до известията на телефона ви от вашия компютър и отговаряне на съобщения.
|
||||
- Мултимедийно дистанционно управление: Използвайте телефона си като дистанционно за Linux медийни плейъри.
|
||||
- WiFi връзка: не е необходим USB кабел или bluetooth.
|
||||
- TLS криптиране от край до край: информацията ви е в безопасност.
|
||||
|
||||
Моля, имайте предвид, че ще трябва да инсталирате KDE Connect на вашия компютър, за да работи това приложение, и поддържайте версията за настолен компютър актуална с версията за Android, за да работят най-новите функции.
|
||||
|
||||
Поверителна информация за разрешения:
|
||||
* Разрешение за достъпност: Изисква се за получаване на вход от друго устройство за управление на вашия телефон с Android, ако използвате функцията за отдалечено въвеждане.
|
||||
* Разрешение за местоположение във фонов режим: Изисква се, за да знаете към коя WiFi мрежа сте свързани, ако използвате функцията Trusted Networks.
|
||||
|
||||
KDE Connect никога не изпраща никаква информация на KDE или на трета страна. KDE Connect изпраща данни от едно устройство на друго директно чрез локалната мрежа, никога през интернет, и чрез криптиране от край до край.
|
||||
|
||||
Това приложение е част от проект с отворен код и съществува благодарение на всички хора, които са допринесли за него. Посетете уебсайта, за да вземете изходния код.
|
@@ -1 +0,0 @@
|
||||
KDE Connect интегрира вашия смартфон и компютър
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
El KDE Connect proporciona un conjunt de característiques per a integrar el flux de treball entre dispositius:
|
||||
|
||||
- Transferiu fitxers entre els vostres dispositius.
|
||||
- Accediu als fitxers del telèfon mòbil des de l'ordinador, sense cables.
|
||||
- Porta-retalls compartit: copieu i enganxeu entre els dispositius.
|
||||
- Obteniu les notificacions de trucades entrants i missatges a l'ordinador.
|
||||
- Ratolí tàctil virtual: utilitzeu la pantalla del telèfon com a ratolí tàctil de l'ordinador.
|
||||
- Sincronització de notificacions: accediu a les notificacions del telèfon des de l'ordinador i contesteu els missatges.
|
||||
- Control remot multimèdia: utilitzeu el telèfon com a control remot dels reproductors multimèdia Linux.
|
||||
- Connexió Wi-Fi: no cal connexió USB ni Bluetooth.
|
||||
- Encriptatge TLS d'extrem a extrem: la informació és segura.
|
||||
|
||||
Tingueu en compte que haureu d'instal·lar el KDE Connect a l'ordinador perquè aquesta aplicació funcioni, i mantingueu actualitzada la versió d'escriptori amb la versió de l'Android perquè funcionin les últimes característiques.
|
||||
|
||||
Informació dels permisos confidencials:
|
||||
* Permís d'accessibilitat: requerit per a rebre l'entrada des d'un altre dispositiu per a controlar el telèfon Android, si utilitzeu la característica d'entrada remota.
|
||||
* Permís d'ubicació en segon pla: requerit per a saber a quina xarxa Wi-Fi esteu connectat, si utilitzeu la característica xarxes de confiança.
|
||||
|
||||
El KDE Connect mai envia cap informació a KDE ni a cap tercer. El KDE Connect envia dades des d'un dispositiu a l'altre directament utilitzant la xarxa local, mai a través d'Internet, i utilitzant l'encriptatge d'extrem a extrem.
|
||||
|
||||
Aquesta aplicació forma part d'un projecte de codi obert i existeix gràcies a totes les persones que hi han contribuït. Visiteu el lloc web per a aconseguir el codi font.
|
@@ -1 +0,0 @@
|
||||
El KDE Connect integra el vostre telèfon intel·ligent i l'ordinador
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
KDE Connect poskytuje sadu vlastností pro vzájemnou integraci vašich zařízení:
|
||||
|
||||
- Přenášejte soubory mezi zařízeními.
|
||||
- Přistupujte bezdrátově k souborům na vašem počítači
|
||||
- Sdílená schránka: kopírujte a vkládejte z jednoho zařízení na druhé.
|
||||
- Přijímejte upozornění na příchozí hovory nebo SMS na vašem PC.
|
||||
- Virtuální touchpad: Používejte obrazovku svého telefonu jako touchpad počítače.
|
||||
- Synchronizace upozornění: Čtěte upozornění z vašeho telefonu na počítači.
|
||||
- Vzdálené ovládání multimédií: Používejte svůj telefon jako ovladač přehrávače na Linuxu.
|
||||
- Připojení WiFi: Není potřeba kabel USB ani Bluetooth.
|
||||
- Koncové šifrování TLS: Vaše informace jsou v bezpečí.
|
||||
|
||||
Prosím pamatujte, že pro správnou funkci této aplikace je nutné abyste na vašem počítači měli nainstalován KDE Connect a udržovali jej aktuální na počítači i na Androidu.
|
||||
|
||||
Informace o citlivých oprávněních:
|
||||
* Oprávnění přístupnosti: Nutné pro příjem vstupu z jiného zařízení aby mohlo ovládat váš telefon Android pokud používáte vlastnost Vzdálený vstup.
|
||||
* Oprávnění o poloze na pozadí: Je potřebné pro rozpoznání, ke které síti WiFi jste připojeni, pokud používáte funkci Důvěryhodné sítě.
|
||||
|
||||
KDE Connect nikdy neposílá KDE ani nikomu jinému jakékoliv informace. KDE Connect odesílá data z jednoho zařízení druhému přímo přes místní síť, nikdy přes internet, a výhradně s použitím koncového šifrování.
|
||||
|
||||
Tato aplikace je součástí Open Source projektu a existuje jenom díky přispěvatelům. Zdrojové soubory naleznete na webových stránkách.
|
@@ -1 +0,0 @@
|
||||
KDE Connect integruje váš chytrý telefon a počítač
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
KDE Connect bietet eine Reihe von Funktionen, um Ihre Arbeitsabläufe über verschiedene Geräte zu vereinigen:
|
||||
|
||||
- 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.
|
||||
|
||||
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.
|
||||
|
||||
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 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.
|
||||
|
||||
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.
|
@@ -1 +0,0 @@
|
||||
KDE Connect verbindet Ihr Smartphone mit Ihrem Computer
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,3 +0,0 @@
|
||||
1.25.0:
|
||||
* Rewrite some of the internals to improve performance.
|
||||
* Add search by name in the notification plugin settings.
|
@@ -1,6 +0,0 @@
|
||||
1.26.0:
|
||||
* Allow having different widgets for diferent devices.
|
||||
* Add stats about network packets sent and received.
|
||||
* Add the option to cancel a pairing request after sending it.
|
||||
* Fix device name set initially not being human-friendly.
|
||||
* Rewrite some of the internals to improve performance.
|
@@ -1,9 +0,0 @@
|
||||
1.26.1:
|
||||
* Fix infinite loop that would cause high CPU usage.
|
||||
|
||||
1.26.0:
|
||||
* Allow having different widgets for diferent devices.
|
||||
* Add stats about network packets sent and received.
|
||||
* Add the option to cancel a pairing request after sending it.
|
||||
* Fix device name set initially not being human-friendly.
|
||||
* Rewrite some of the internals to improve performance.
|
@@ -1,12 +0,0 @@
|
||||
1.26.2:
|
||||
* Fixed several bugs and crashes related to media controls.
|
||||
|
||||
1.26.1:
|
||||
* Fix infinite loop that would cause high CPU usage.
|
||||
|
||||
1.26.0:
|
||||
* Allow having different widgets for diferent devices.
|
||||
* Add stats about network packets sent and received.
|
||||
* Add the option to cancel a pairing request after sending it.
|
||||
* Fix device name set initially not being human-friendly.
|
||||
* Rewrite some of the internals to improve performance.
|
@@ -1,12 +0,0 @@
|
||||
1.26.3:
|
||||
* Fixed several bugs and crashes related to media controls.
|
||||
|
||||
1.26.1:
|
||||
* Fix infinite loop that would cause high CPU usage.
|
||||
|
||||
1.26.0:
|
||||
* Allow having different widgets for diferent devices.
|
||||
* Add stats about network packets sent and received.
|
||||
* Add the option to cancel a pairing request after sending it.
|
||||
* Fix device name set initially not being human-friendly.
|
||||
* Rewrite some of the internals to improve performance.
|
@@ -1,12 +0,0 @@
|
||||
1.26.4:
|
||||
* Fixed several bugs and crashes related to media controls.
|
||||
|
||||
1.26.1:
|
||||
* Fix infinite loop that would cause high CPU usage.
|
||||
|
||||
1.26.0:
|
||||
* Allow having different widgets for diferent devices.
|
||||
* Add stats about network packets sent and received.
|
||||
* Add the option to cancel a pairing request after sending it.
|
||||
* Fix device name set initially not being human-friendly.
|
||||
* Rewrite some of the internals to improve performance.
|
@@ -1,9 +0,0 @@
|
||||
1.27:
|
||||
* Added back the mouse receiver plugin.
|
||||
|
||||
1.26:
|
||||
* Allow having different widgets for diferent devices.
|
||||
* Add stats about network packets sent and received.
|
||||
* Add the option to cancel a pairing request after sending it.
|
||||
* Fix device name set initially not being human-friendly.
|
||||
* Rewrite some of the internals to improve performance.
|
@@ -1,12 +0,0 @@
|
||||
1.27.1:
|
||||
* Fixed crashes.
|
||||
|
||||
1.27:
|
||||
* Added back the mouse receiver plugin.
|
||||
|
||||
1.26:
|
||||
* Allow having different widgets for diferent devices.
|
||||
* Add stats about network packets sent and received.
|
||||
* Add the option to cancel a pairing request after sending it.
|
||||
* Fix device name set initially not being human-friendly.
|
||||
* Rewrite some of the internals to improve performance.
|
@@ -1,12 +0,0 @@
|
||||
1.28:
|
||||
* Improved connection reliability.
|
||||
|
||||
1.27:
|
||||
* Added back the mouse receiver plugin.
|
||||
|
||||
1.26:
|
||||
* Allow having different widgets for diferent devices.
|
||||
* Add stats about network packets sent and received.
|
||||
* Add the option to cancel a pairing request after sending it.
|
||||
* Fix device name set initially not being human-friendly.
|
||||
* Rewrite some of the internals to improve performance.
|
@@ -1,7 +0,0 @@
|
||||
1.29
|
||||
* Added MDNS device discovery
|
||||
* Fixed crash opening the Run Command widget settings
|
||||
* Added more fine-grained notification channels
|
||||
* Added a confirmation before copying contacts
|
||||
* Long-tapping the "Send clipboard" quick settings tile now opens the app
|
||||
* Removed the photo plugin
|
@@ -1,13 +0,0 @@
|
||||
1.30
|
||||
* Added Bluetooth support (beta)
|
||||
* Improved device controls
|
||||
* Added scroll sensitivity option to remote input
|
||||
* Accessibility improvements
|
||||
|
||||
1.29
|
||||
* Added MDNS device discovery
|
||||
* Fixed crash opening the Run Command widget settings
|
||||
* Added more fine-grained notification channels
|
||||
* Added a confirmation before copying contacts
|
||||
* Long-tapping the "Send clipboard" quick settings tile now opens the app
|
||||
* Removed the photo plugin
|
@@ -1,16 +0,0 @@
|
||||
1.30.1
|
||||
* Fixes recently introduced crashes
|
||||
|
||||
1.30
|
||||
* Added Bluetooth support (beta)
|
||||
* Improved device controls
|
||||
* Added scroll sensitivity option to remote input
|
||||
* Accessibility improvements
|
||||
|
||||
1.29
|
||||
* Added MDNS device discovery
|
||||
* Fixed crash opening the Run Command widget settings
|
||||
* Added more fine-grained notification channels
|
||||
* Added a confirmation before copying contacts
|
||||
* Long-tapping the "Send clipboard" quick settings tile now opens the app
|
||||
* Removed the photo plugin
|
@@ -1,11 +0,0 @@
|
||||
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
|
@@ -1,10 +0,0 @@
|
||||
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
|
@@ -1,13 +0,0 @@
|
||||
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
|
@@ -1,11 +0,0 @@
|
||||
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
|
@@ -1,14 +0,0 @@
|
||||
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
|
@@ -1,17 +0,0 @@
|
||||
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
|
@@ -1,16 +0,0 @@
|
||||
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
|
@@ -1,21 +0,0 @@
|
||||
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.
|
||||
- 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.
|
||||
|
||||
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.
|
Before Width: | Height: | Size: 698 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 216 KiB |
Before Width: | Height: | Size: 158 KiB |
@@ -1 +0,0 @@
|
||||
KDE Connect integrates your smartphone and computer
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
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.
|
||||
- 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.
|
||||
|
||||
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.
|
@@ -1 +0,0 @@
|
||||
KDE Connect integrates your smartphone and computer
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
KDE Connect proporciona una serie de funcionalidades para integrar tus flujos de trabajo entre distintos dispositivos:
|
||||
|
||||
- Transferir archivos entre dispositivos.
|
||||
- Acceder a archivos en tu teléfono desde tu equipo, sin cables.
|
||||
- Portapapeles compartido: copia y pega entre tus dispositivos.
|
||||
- Recibe notificaciones de llamadas entrantes y mensajes en tu equipo.
|
||||
- Panel táctil virtual: Usa la pantalla de tu teléfono como panel táctil de tu equipo.
|
||||
- Sincronización de notificaciones: Accede a las notificaciones de tu teléfono desde tu equipo y responde mensajes .
|
||||
- Control remoto multimedia: Usa tu teléfono como mando a distancia de tus reproductores multimedia Linux.
|
||||
- Conexión WiFi: no se necesitan cables USB o Bluetooth.
|
||||
- Cifrado TLS extremo a extremo: tu información está a salvo.
|
||||
|
||||
Ten en cuenta que necesitas tener instalado KDE en tu equipo para que esta aplicación funcione, y mantener la versión de escritorio actualizada con la versión de Android para tener acceso a las nuevas funcionalidades.
|
||||
|
||||
Información de permisos:
|
||||
* Permisos de acceso: Necesarios para recibir entradas desde otro dispositivo para controlar su dispositivo Android, si usa la funcionalidad de entrada remota.
|
||||
* Permisos de localización en segundo plano: Necesarios para saber a que red WiFi está conectado, si usa la funcionalidad de redes confiables.
|
||||
|
||||
KDE Connect nunca envía ninguna información a KDE o a terceros. KDE Connect envía datos de un dispositivo a otro usando directamente la red local, nunca a través de internet, y usando cifrado extremo a extremo.
|
||||
|
||||
Esta aplicación es parte de un proyecto de código abierto y existe gracias a toda gente que ha contribuido a ella. Visita la página web para acceder al código fuente.
|
@@ -1 +0,0 @@
|
||||
KDE Connect integra tu teléfono inteligente y tu equipo
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
«KDE Connect»ek zure lan-fluxua gailuen artean bateratzeko ezaugarri multzo bat eskaintzen du:
|
||||
|
||||
- Zure gailuen arteko fitxategi transferentziak.
|
||||
- Atzitu zure telefonoko fitxategiak zure ordenagailutik, haririk gabe.
|
||||
- Arbela partekatua: Gailu batetik bestera kopiatu eta itsatsi.
|
||||
- Jaso zure ordenagailuan sarrerako deien eta mezuen jakinarazpenak.
|
||||
- Alegiazko ukimen-sagua: Erabili zure telefonoaren pantaila zure ordenagailuaren ukimen-sagu gisa.
|
||||
- Jakinarazpenak sinkronizatzea: Atzitu zure telefonoko jakinarazpenak zure ordenagailutik eta erantzun mezuei.
|
||||
- Multimediaren urrutiko agintea: Erabili zure telefonoa Linuxeko euskarri jotzaileen urrutiko aginte gisa.
|
||||
- Wi-Fi konexioa: Ez da USB kablerik edo bluetooth-ik behar.
|
||||
- Muturren arteko TLS zifratzea: Zure informazioa seguru dago.
|
||||
|
||||
Kontuan izan, aplikazio hau ibil dadin KDE Connect zure ordenagailuan instalatu beharko duzula, eta mahaigaineko bertsioa Androideko bertsioarekin eguneratuta mantendu beharko duzula ezaugarri berrienak ibil daitezen.
|
||||
|
||||
Babes bereziko baimenei buruzko informazioa:
|
||||
* Irisgarritasun baimena: Beharrezkoa zure Android telefonoa kontrolatzeko beste gailu baten sarrera jasotzeko, urrutiko sarrera ezaugarria erabiltzen baduzu.
|
||||
* Atzeko planoko kokapen baimena: Beharrezkoa zein Wi-Fi sarera konektatuta zauden jakiteko, Konfiantzazko sareen ezaugarria erabiltzen baduzu.
|
||||
|
||||
«KDE Connect»ek ez dio sekula KDEri edo beste inori informaziorik bidaltzen. «KDE Connect»ek datuak gailu batetik beste batera zuzenean bidaltzen ditu sare lokala erabiliz, sekula ez Internet bidez, eta betiere muturren artean zifratuta.
|
||||
|
||||
Aplikazio hau sorburu irekiko proiektu baten zati da, eta horretan lagundu duten lagun guztiei esker existitzen da. Bisitatu webgunea sorburu-kodea hartzeko.
|
@@ -1 +0,0 @@
|
||||
«KDE Connect»ek zure telefono adimenduna eta ordenagailua bateratzen ditu
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,22 +0,0 @@
|
||||
KDE Connect tarjoaa joukon ominaisuuksia työvuon eheyttämiseksi laitteiden välillä:
|
||||
|
||||
– Tiedostojen siirto laitteesta toiseen.
|
||||
– Pääsy puhelimen tiedostoihin tietokoneelta kaapeleitta.
|
||||
– Jaettu leikepöytä: kopioi ja liitä laitteelta toiselle.
|
||||
– Ilmoitukset saapuvista puheluista ja tekstiviesteistä tietokoneellesi.
|
||||
– Jaa tiedostoja ja verkko-osoitteita tietokoneeseesi mistä sovelluksesta vain.
|
||||
– Näyttönäppäimistö: käytä puhelimen näyttöä tietokoneesi osoitinlaitteena.
|
||||
– Ilmoitusten tahdistus: lue Android-ilmoitukset ja vastaa viesteihin työpöydältä.
|
||||
– Multimedian etähallinta: käytä puhelinta Linux-mediasoitinten kaukosäätimenä.
|
||||
– Langaton verkkoyhteys: USB-johtoa tai Bluetoothia ei tarvita.
|
||||
– TLS-salaus päästä päähän: tietosi ovat turvassa.
|
||||
|
||||
Huomaa, että jotta sovellus kaikkine ominaisuuksineen toimisi, KDE Connect tulee asentaa tietokoneeseen ja pitää ajan tasalla Android-version kanssa.
|
||||
|
||||
Tietoa arkaluontoisista käyttöoikeuksista:
|
||||
– Saavutettavuuskäyttöoikeus: vaaditaan, jotta toisen laitteen syötteellä voisi hallita Android-puhelinta (jos käytetään etäsyöttöominaisuutta).
|
||||
– Sijaintitiedon käyttöoikeus taustalla: vaaditaan, jotta tiedetään, mihin verkkoon on yhdistetty (jos käytetään luotettujen verkkojen ominaisuutta).
|
||||
|
||||
KDE Connect ei koskaan lähetä tietoa KDE:lle tai kolmansille osapuolille. Tieto lähetetään suoraan laitteesta toiseen paikallisverkossa, ei koskaan internetissä, ja käytössä on salaus päästä päähän.
|
||||
|
||||
Sovellus on avoimen lähdekoodin projekti ja on olemassa sitä avustaneiden ihmisten ansiosta. Lähdekoodin saat noudettua kotisivulta.
|
@@ -1 +0,0 @@
|
||||
KDE Connect eheyttää älypuhelimen ja tietokoneen
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
KDEConnect fournit un ensemble de fonctionnalités pour intégrer votre flux de travail entre périphériques :
|
||||
|
||||
- Transfert des fichiers entre vos périphériques.
|
||||
- Accès aux fichiers sur votre téléphone depuis votre ordinateur, sans fil.
|
||||
- Presse-papier partagé : copier et coller entre vos périphériques.
|
||||
- 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é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é.
|
||||
|
||||
Veuillez noter que vous devrez installer KDEConnect sur votre ordinateur pour que cette application fonctionne et maintenir la version de bureau à jour avec la version Android pour les dernières fonctionnalités.
|
||||
|
||||
Informations sur les permissions sensibles :
|
||||
* Permission d'accessibilité : nécessaire pour recevoir les informations d'un autre périphérique pour contrôler votre téléphone Android, si vous utilisez la fonction de télécommande.
|
||||
* Permission pour emplacement en arrière-plan : nécessaire pour savoir à quel réseau Wifi auquel vous êtes connecté, si vous utilisez la fonctionnalité de réseaux de confiance.
|
||||
|
||||
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é. Veuillez visiter le site Internet pour accéder au code source.
|
@@ -1 +0,0 @@
|
||||
KDEConnect intègre votre téléphone et votre ordinateur.
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,22 +0,0 @@
|
||||
KDE Connect fornece funcionalidades para facilitar traballar con varios dispositivos:
|
||||
|
||||
|
||||
• Transferir ficheiros entre dispositivos.
|
||||
• Acceder a ficheiros do teléfono desde o computador, sen cables.
|
||||
• Portapapeis compartido: copie e pegue entre dispositivos.
|
||||
• Obter notificacións de chamadas e mensaxes no computador.
|
||||
• Panel táctil virtual: use a pantalla do teléfono como panel táctil do computador.
|
||||
• Sincronización de notificacións: lea as notificacións do teléfono desde o computador e responda a mensaxes.
|
||||
• Mando a distancia multimedia: use o teléfono como mando a distancia para reprodutores multimedia de Linux.
|
||||
• Conexión WiFi: non necesita cable USB nin Bluetooth.
|
||||
• Cifrado TLS de extremo a extremo: a súa información está segura.
|
||||
|
||||
Para que esta aplicación funcione ten que instalar KDE Connect no computador, e manter a versión do computador e de Android actualizadas para que funcionen as últimas funcionalidades.
|
||||
|
||||
Permisos de información persoal:
|
||||
• Permiso de accesibilidade: necesario para recibir entrada doutro dispositivo para controlar o teléfono Android, se usa a funcionalidade de entrada remota.
|
||||
• Permiso de localización en segundo plano: necesario para saber con que rede WiFi ten conexión, se usa a funcionalidade de redes de confianza.
|
||||
|
||||
KDE Connect nunca envía información a KDE nin a terceiras partes. KDE Connect envía os datos dun dispositivo a outro directamente pola rede local, nunca a través de Internet, e usando cifraxe de extremo a extremo.
|
||||
|
||||
Esta aplicación é parte dun proxecto de software libre e existe grazas á xente que colaborou no proxecto. Visite o sitio web para obter o código fonte.
|
@@ -1 +0,0 @@
|
||||
KDE Connect integra teléfono e computador.
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,22 +0,0 @@
|
||||
KDE Connect fornisce una serie di funzionalità per integrare il tuo flusso di lavoro su tutti i dispositivi:
|
||||
|
||||
- Trasferisci file tra i tuoi dispositivi.
|
||||
- Accedi ai file sul tuo telefono dal tuo computer, senza cavi.
|
||||
- Appunti condivisi: copia e incolla tra i tuoi dispositivi.
|
||||
- Condividi file e URL sul tuo computer da qualsiasi applicazione.
|
||||
- Ricevi notifiche per chiamate in arrivo e messaggi SMS sul tuo computer.
|
||||
- Touchpad virtuale: utilizza lo schermo del telefono come touchpad del computer.
|
||||
- Sincronizzazione delle notifiche: leggi le notifiche Android dal desktop.
|
||||
- Telecomando multimediale: usa il tuo telefono come telecomando per i lettori multimediali per Linux.
|
||||
- Connessione WiFi: non necessita di alcun cavo USB o bluetooth.
|
||||
- Cifratura TLS end-to-end: le tue informazioni sono al sicuro.
|
||||
|
||||
Tieni presente che dovrai installare KDE Connect sul tuo computer affinché questa applicazione funzioni e mantenere la versione desktop aggiornata con la versione Android affinché funzionino le funzionalità più recenti.
|
||||
|
||||
Informazioni sensibili sui permessi:
|
||||
* Permesso di accessibilità: necessario per ricevere input da un altro dispositivo per controllare il tuo telefono Android, se utilizzi la funzione di immissione remota.
|
||||
* Permesso alla posizione in background: necessario per sapere a quale rete WiFi sei collegato, se utilizzi la funzionalità Reti affidabili.
|
||||
|
||||
KDE Connect non invia mai alcuna informazione a KDE né a terze parti. KDE Connect invia i dati da un dispositivo all'altro direttamente utilizzando la rete locale, mai attraverso Internet, e utilizzando la cifratura end-to-end.
|
||||
|
||||
Questa applicazione fa parte di un progetto open source ed esiste grazie a tutte le persone che vi hanno contribuito. Visita il sito web per ottenere il codice sorgente.
|
@@ -1 +0,0 @@
|
||||
KDE Connect integra il tuo smartphone e computer
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
היישומון KDE Connect מספק מכוון יכולות לשילוב רצף העבודה שלך בין כמה מכשירים:
|
||||
|
||||
- העברת קבצים בין המכשירים שלך.
|
||||
- גישה לקבצים בטלפון שלך מהמחשב, ללא כבלים.
|
||||
- לוח גזירים משותף: העתקה והדבקה בין המכשירים שלך.
|
||||
- קבלת התראות על שיחות והודעות נכנסות במחשב שלך.
|
||||
- משטח מגע וירטואלי: אפשר להשתמש במסך הטלפון שלך כמשטח מגע למחשב.
|
||||
- סנכרון התראות: גישה להתראות של הטלפון שלך מהמחשב לרבות מענה על הודעות.
|
||||
- שליטה מרחוק במולטימדיה: אפשר להשתמש בטלפון שלך כשלט לנגני מדיה בלינוקס.
|
||||
- חיבור רשת אלחוטית: לא צריך כבל USB או בלוטות׳.
|
||||
- הצפנת TLS מקצה לקצה: המידע שלך מאובטח.
|
||||
|
||||
נא לשים לב שצריך להתקין את KDE Connect גם במחשב שלך כדי שהיישומון הזה יעבוד ולדאוג שהגרסה שבשולחן העבודה תהיה עדכנית בהתאם לגרסת היישומון ב־Android כדי שהיכולות העדכניות ביותר תעבודנה.
|
||||
|
||||
מידע על הרשאות רגישות:
|
||||
* הרשאות נגישות: נחוצות כדי לקבל קלט ממכשיר אחר לשליטה בטלפון ה־Android שלך, אם בחרת להשתמש ביכולת השליטה מרחוק.
|
||||
* הרשאת איתור מקום ברקע: נדרשת כדי לדעת לאיזו רשת אלחוטית התחברת אם בחרת להשתמש ביכולת הרשתות המהימנות.
|
||||
|
||||
יישומון KDE Connect אף פעם לא שולח מידע ל־KDE או לגוף שלישי כלשהו. היישומון שולחן נתונםי ממכשיר אחד ישירות למכשיר השני דרך הרשת המקומית, אף פעם לא דרך האינטרנט והוא משתמש בהצפנה מקצה לקצה.
|
||||
|
||||
יישומון זה הוא חלק ממיזם קוד פתוח והוא קיים בזכות כל אלו שתרמו לו. מזמינים אותך לבקר באתר כדי למשוך את קוד המקור.
|
@@ -1 +0,0 @@
|
||||
KDE Connect מגשר בין הטלפון החכם והמחשב שלך
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,20 +0,0 @@
|
||||
KDE Connect は携帯電話と PC を連携させてあなたのワークフローを円滑にします:
|
||||
|
||||
・クリップボードの共有: デバイス間でコピー・ペーストできます。
|
||||
・ファイルや URL をあらゆるアプリからコンピュータに送信できます。
|
||||
・電話や SMS の通知を PC 上に表示できます。
|
||||
・仮想タッチパッド: 携帯電話の画面をタッチパッドのように使用できます。
|
||||
・通知の同期: Android の通知をデスクトップに表示できます。
|
||||
・マルチメディアリモコン: 携帯電話を PC 上のメディアプレーヤーのリモコンとして使用できます。
|
||||
・WiFi 接続: USB ケーブルや Bluetooth は必要ありません。
|
||||
・エンドツーエンド TLS 暗号化: あなたの情報は保護されます。
|
||||
|
||||
このアプリを動作させるには、お使いのコンピュータにも KDE Connect をインストールする必要があることに注意してください。最新の機能を使用するために、いずれの機器の KDE Connect も最新バージョンに更新してください。
|
||||
|
||||
センシティブな権限に関する情報:
|
||||
*アクセシビリティ: リモート入力機能を使用する場合、他のデバイスから入力を受信して Android 端末を操作するために要求されます。
|
||||
*バックグラウンドでの位置情報: 「信頼されたネットワーク」機能を使用する場合、どの WiFi ネットワークに接続されているか検知するために要求されます。
|
||||
|
||||
KDE Connect は KDE や第三者にいかなる情報も送信しません。このアプリは、ローカルネットワークを通じてエンドツーエンドで暗号化されたデータを送受信します。インターネットは全く使用されません。
|
||||
|
||||
このアプリはオープンソースプロジェクトであり、多くの人々の貢献のもとに成り立っています。ソースコードを取得するには、私たちのウェブサイトを訪れてください。
|
@@ -1 +0,0 @@
|
||||
KDE Connect は携帯電話と PC を連携させます
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
KDE Connect უზრუნველყოფს კომპლექტი თვისებები ინტეგრირება თქვენი workflow მასშტაბით მოწყობილობები:
|
||||
|
||||
- ფაილების გადატანა თქვენს მოწყობილობებს შორის.
|
||||
- თქვენი ტელეფონის ფაილებზე წვდომა თქვენი კომპიუტერიდან, მავთულის გარეშე.
|
||||
- გაზიარებული ბუფერი: დააკოპირეთ და ჩასვით თქვენს მოწყობილობებს შორის.
|
||||
- მიიღეთ შეტყობინებები თქვენს კომპიუტერში შემომავალი ზარებისა და შეტყობინებების შესახებ.
|
||||
- ვირტუალური სენსორული პანელი: გამოიყენეთ თქვენი ტელეფონის ეკრანი, როგორც თქვენი კომპიუტერის სენსორული პანელი.
|
||||
- შეტყობინებების სინქრონიზაცია: შედით თქვენი ტელეფონის შეტყობინებებზე თქვენი კომპიუტერიდან და უპასუხეთ შეტყობინებებს.
|
||||
- მულტიმედიური დისტანციური მართვა: გამოიყენეთ თქვენი ტელეფონი, როგორც დისტანციური linux მედია ფლეერებისთვის.
|
||||
- WiFi კავშირი: არ არის საჭირო USB მავთული ან bluetooth.
|
||||
- ბოლომდე tls დაშიფვრა: თქვენი ინფორმაცია უსაფრთხოა.
|
||||
|
||||
გთხოვთ გაითვალისწინოთ, რომ თქვენ უნდა დააინსტალიროთ KDE Connect თქვენს კომპიუტერში ამ აპის მუშაობისთვის და შეინარჩუნოთ დესკტოპის ვერსია Android ვერსიასთან ერთად უახლესი ფუნქციების მუშაობისთვის.
|
||||
|
||||
მგრძნობიარე ნებართვების ინფორმაცია:
|
||||
* ხელმისაწვდომობის ნებართვა: საჭიროა სხვა მოწყობილობიდან შეყვანის მიღება თქვენი Android ტელეფონის გასაკონტროლებლად, თუ იყენებთ დისტანციური შეყვანის ფუნქციას.
|
||||
* ფონის მდებარეობის ნებართვა: საჭიროა იცოდეთ რომელ WiFi ქსელთან ხართ დაკავშირებული, თუ იყენებთ სანდო ქსელების ფუნქციას.
|
||||
|
||||
KDE Connect არასდროს უგზავნის ინფორმაციას KDE-ს და არც მესამე მხარეს. KDE Connect აგზავნის მონაცემებს ერთი მოწყობილობიდან მეორეზე პირდაპირ ადგილობრივი ქსელის გამოყენებით, არასდროს ინტერნეტის საშუალებით და იყენებს ბოლოდან ბოლოში დაშიფვრას.
|
||||
|
||||
ეს აპლიკაცია ღია კოდის პროექტის ნაწილია და ის არსებობს ყველა იმ ადამიანის წყალობით, ვინც მას წვლილი შეიტანა. ეწვიეთ ვებსაიტს, რომ აიღოთ კოდის კოდი.
|
@@ -1 +0,0 @@
|
||||
KDE Connect თქვენი ტელეფონისა და კომპიუტერის ინტეგრაციას ახდენს
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
KDE Connect를 사용하여 여러 장치에서 작업을 이어서 진행할 수 있습니다.
|
||||
|
||||
- 장치간 파일을 전송할 수 있습니다.
|
||||
- 케이블 연결 없이 컴퓨터에서 휴대폰에 있는 파일에 접근할 수 있습니다.
|
||||
- 공유 클립보드: 장치간 복사와 붙여넣기를 지원합니다.
|
||||
- 컴퓨터에서 수신 전화나 SMS 알림을 받을 수 있습니다.
|
||||
- 가상 터치패드: 휴대폰 화면을 컴퓨터 터치패드로 사용할 수 있습니다.
|
||||
- 알림 동기화: 휴대폰 알림을 데스크톱에서 확인하고 메시지에 답장할 수 있습니다.
|
||||
- 멀티미디어 리모콘: 리눅스 미디어 재생기의 리모콘으로 사용할 수 있습니다.
|
||||
- Wi-Fi 연결: 유선 USB나 블루투스 연결이 필요하지 않습니다.
|
||||
- 종단간 TLS 암호화: 정보를 안전하게 유지합니다.
|
||||
|
||||
이 앱을 사용하려면 KDE Connect를 컴퓨터에도 설치하고, 최신 기능을 사용하려면 데스크톱 버전을 안드로이드 버전에 따라서 업데이트해야 합니다.
|
||||
|
||||
권한 정보:
|
||||
* 접근성 권한: 원격 입력 기능을 사용할 때 다른 장치에서 입력을 받아서 안드로이드 장치를 제어할 때 필요합니다.
|
||||
* 백그라운드 위치 권한: 신뢰하는 네트워크 기능을 사용할 때 현재 연결된 Wi-Fi 네트워크 정보를 얻으려면 필요합니다.
|
||||
|
||||
KDE Connect는 KDE나 제3자에게 정보를 전송하지 않습니다. KDE Connect는 인터넷을 통하지 않고 로컬 네트워크 내에서 장치간 정보를 직접 전송하며, 종단간 암호화를 사용합니다.
|
||||
|
||||
이 앱은 오픈 소스 프로젝트의 일부입니다. 웹사이트를 방문하여 소스 코드를 확인할 수 있습니다.
|
@@ -1 +0,0 @@
|
||||
KDE Connect는 스마트폰과 컴퓨터를 통합합니다
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
KDE Connect biedt een set mogelijkheden om uw werkmethode te integreren tussen apparaten:
|
||||
|
||||
- Stuur bestanden over tussen apparaten.
|
||||
- heb toegang tot bestanden op uw telefoon vanaf uw computer, zonder draden.
|
||||
- Gedeeld klembord: kopiëren en plakken tussen uw apparaten.
|
||||
- Meldingen krijgen over inkomende oproepen en berichten op uw computer.
|
||||
- Virtueel touchpad: uw telefoonscherm gebruiken als het touchpad van uw computer.
|
||||
- Meldingen synchroniseren: lees uw Android meldingen vanaf uw computer en antwoord op berichten.
|
||||
- Afstandsbediening van multimedia: uw telefoon als een afstandsbediening gebruiken voor Linux mediaspelers.
|
||||
- WiFi verbinding: geen USB draad of bluetooth nodig.
|
||||
- End-to-end TLS versleuteling: uw informatie is veilig.
|
||||
|
||||
Merk op dat u KDE Connect op uw computer moet installeren om deze toepassing te laten werken en houd de bureaubladversie up-to-date met de Android versie om de laatste mogelijkheden te laten werken.
|
||||
|
||||
Informatie over gevoelige rechten:
|
||||
* Rechten voor toegang: vereist om invoer van een ander apparaat te ontvangen voor het besturen van uw Android telefoon, als u mogelijkheid invoer van afstand gebruikt.
|
||||
* Rechten voor achtergrondlocatie: vereist om te weten met welk WiFi-network u bent verbonden, als u de mogelijkheid vertrouwde netwerken gebruikt.
|
||||
|
||||
KDE Connect verzendt nooit enige informatie naar KDE of naar een derde. KDE Connect verzendt gegevens van het ene apparaat direct naar het andere met gebruik van het lokale netwerk, nooit via het internet en gebruikt end-to-end versleuteling.
|
||||
|
||||
Deze toepassing is onderdeel van een open-source project en het bestaat dankzij alle mensen die er aan hebben bijgedragen. Bezoek de website om de broncode te verkrijgen.
|
@@ -1 +0,0 @@
|
||||
KDE Connect integreert uw smartphone en computer
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
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 +0,0 @@
|
||||
KDE Connect koplar telefonen din saman med datamaskina
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
KDE Connect daje kila możliwości umożliwiających uwspólnienie ciągów pracy na przestrzeni urządzeń:
|
||||
|
||||
- Przenoszenie plików pomiędzy twoimi urządzeniami.
|
||||
- Dostęp do plików na twoim telefonie z twojego komputera bez kabli.
|
||||
- Współdzielony schowek: kopiuj i wklejaj pomiędzy swoimi urządzeniami.
|
||||
- Odbieraj powiadomienia o przychodzących rozmowach i wiadomościach na swoim komputerze.
|
||||
- Klawiatura wirtualna: Używaj ekranu swojego telefonu jako gładzika swojego komputera.
|
||||
- Synchronizacja powiadomień: Uzyskuj dostęp do powiadomień na swoim telefonie ze zwojego komputera i odpowiadaj na wiadomości.
|
||||
- Pilot do multimediów: Używaj swojego telefonu jako pilota do odtwarzaczy multimedialnych na Linuksie.
|
||||
- Połączenie WiFi: nie jest potrzebny żaden kabel USB czy bluetooth.
|
||||
- Szyfrowanie TLS koniec-do-końca: twoje dane są bezpieczne.
|
||||
|
||||
Pamiętaj, że musisz wgrać KDE Connect na swój komputer, aby ta aplikacja zadziałała i utrzymywać jej wersję zgodnie z wersją na Androidzie, aby móc korzystać z jej najnowszych możliwości.
|
||||
|
||||
Powiadomienie o wrażliwych uprawnieniach:
|
||||
* Uprawnienia dostępności: Wymagane, aby inne urządzenie mogło obsługiwać twój telefon z Androidem, jeśli chcesz skorzystać z możliwości Zdalnej Obsługi.
|
||||
* Uprawnienia do położenia w tle: Wymagane, aby wiedzieć do jakiej sieci WiFi jesteś podłączony, jeśli używasz możliwości Zaufanych Sieci.
|
||||
|
||||
KDE Connect nigdy nie wysyła żadnych danych do KDE, ani w żadne inne miejsce. KDE Connect wysyła dane z jednego urządzenia na inne bezpośrednio przy użyciu miejscowej sieci, nigdy przez internet i przy wykorzystaniu szyfrowania koniec-do-końca.
|
||||
|
||||
Ta aplikacja jest częścią projektu o otwartym kodzie i istnieje dzięki wszystkim ludziom, którzy dołożyli do niej swoją cegiełkę. Odwiedź stronę sieciową, aby pobrać jej kod źródłowy.
|
@@ -1 +0,0 @@
|
||||
KDE Connect łączy twojego smartfona z twoim komputerem
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,11 +0,0 @@
|
||||
O KDE Connect oferece um conjunto de funcionalidades para integrar os seus procedimentos com os dispositivos:
|
||||
- Área de transferência partilhada: copiar e colar entre os seus dispositivos.
|
||||
- Partilhar ficheiros e URL's para o seu computador a partir de qualquer aplicação.
|
||||
- Obter notificações para as chamadas e mensagens SMS recebidas no seu PC.
|
||||
- Rato por toque virtual: Use o ecrã do seu telefone como o rato do seu computador.
|
||||
- Sincronização das notificações: Leia as notificações do seu Android no ambiente de trabalho.
|
||||
- Comando à distância multimédia: Use o seu telefone como um comando para leitores multimédia do Linux.
|
||||
- Ligação WiFi: sem necessitar de um cabo USB ou de Bluetooth.
|
||||
- Encriptação TLS ponto-a-ponto: a sua informação está segura.
|
||||
Lembre-se que terá de instalar o KDE Connect no seu computador para esta aplicação funcionar, e manter a versão no computador actualizada com a versão do Android para as últimas funcionalidades resultarem.
|
||||
Esta aplicação faz parte de um projecto de código aberto e existe graças a todas as pessoas que contribuíram para elas. Visite a página Web para capturar o código-fonte.
|
@@ -1 +0,0 @@
|
||||
O KDE Connect integra o seu telemóvel com o computador
|
@@ -1 +0,0 @@
|
||||
KDE Connect
|
@@ -1,21 +0,0 @@
|
||||
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.
|
||||
- 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: 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 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 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 +0,0 @@
|
||||
O KDE Connect integra seu celular e computador
|