2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-08-31 14:15:14 +00:00

Compare commits

..

1 Commits

Author SHA1 Message Date
Albert Vaca
231433737e Increased version number to release 2014-03-02 20:17:27 +01:00
745 changed files with 7474 additions and 60466 deletions

1
.gitattributes vendored
View File

@@ -1 +0,0 @@
*.bat text eol=crlf

20
.gitignore vendored
View File

@@ -1,15 +1,7 @@
local.properties
/.gradle/
/.idea/
/out/
/gen/
/bin/
/build/
/target/
/classes/
*.iml
*.keystore
!debug.keystore
.directory
GPUCache/
/release/
.gradle/
.idea/
out/
build/
target/
classes/

View File

@@ -1,68 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nicolas Fella <nicolas.fella@gmx.de>
# SPDX-FileCopyrightText: 2023 Simon Redman <simon@ergotech.com>
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#
# Test this pipeline locally by:
# - Set up Docker on your machine, if not already set up
# - 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"
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
stages:
- build
- test
lintDebug:
stage: build
script:
- ./gradlew generateLicenseReport
- ./gradlew -Pci --console=plain lintDebug -PbuildDir=lint
assembleDebug:
stage: build
script:
- ./gradlew assembleDebug
artifacts:
paths:
- build/outputs/
debugTests:
stage: test
script:
- ./gradlew -Pci --console=plain testDebug

View File

@@ -1,32 +0,0 @@
## Summary
Add a description of your merge request here. What does your new feature do?
Describe in detail what your patch does, why it does that, etc. Merge requests
without an adequate description are difficult to review, and probably we will
ask for more information!
Please also keep this description up-to-date with any discussion that takes
place so that reviewers can understand your intent. This is especially
important if they didn't participate in the discussion.
Make sure to remove this comment when you are done.
Fill in the following lines as appropriate to automatically close GitLab issue or Bugzilla bugs
Fixes <!-- Gitlab Issue Number -->
BUG: <!-- bugzilla bug -->
## Test Plan
### Before:
Add a quick discription of the (buggy) behavior of the app before this fix
This section does not need to be too detailed because it should mostly be
covered by the bug report and the summary. Just share the steps for how to
reproduce the bug.
### After:
Add a more detailed description of how to exercise the new behavior, showing
that the bug has been fixed. If any other behavior has been changed, share
the steps to verify that the new behavior doesn't have any regressions.
/label ~bugfix

View File

@@ -1,27 +0,0 @@
## Summary
Add a description of your merge request here. What does your new feature do?
Describe in detail what your patch does, why it does that, etc. Merge requests
without an adequate description are difficult to review, and probably we will
ask for more information!
Please also keep this description up-to-date with any discussion that takes
place so that reviewers can understand your intent. This is especially
important if they didn't participate in the discussion.
Make sure to remove this comment when you are done.
Implements <!-- GitLab Issue Number -->
## Test Plan
Add a description of how to test your patch here. Tell us how to use the new
feature and what we should be seeing. If applicable, it is great to include
screenshots, either here or in the Summary section.
It can be difficult to understand a new feature from the text description in
the summary, so put enough detail here that so that we can understand how to run
the new feature and we can play with it ourselves to understand it.
/label ~feature

View File

@@ -1,464 +0,0 @@
<?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">
<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" />
<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.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" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<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.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" />
<application
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: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"
android:exported="true"
android:permission="android.permission.BROADCAST_WAP_PUSH">
<intent-filter>
<action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
<data android:mimeType="application/vnd.wap.mms-message" />
</intent-filter>
</receiver>
<service
android:name="com.android.mms.transaction.TransactionService"
android:enabled="true"
android:exported="true" />
<service
android:name="org.kde.kdeconnect.BackgroundService"
android:foregroundServiceType="connectedDevice"
android:icon="@drawable/icon"
android:enabled="true" />
<service
android:name="org.kde.kdeconnect.Plugins.RemoteKeyboardPlugin.RemoteKeyboardService"
android:label="@string/remote_keyboard_service"
android:exported="true"
android:permission="android.permission.BIND_INPUT_METHOD">
<intent-filter>
<action android:name="android.view.InputMethod" />
</intent-filter>
<meta-data
android:name="android.view.im"
android:resource="@xml/remotekeyboardplugin_method" />
</service>
<activity
android:name="org.kde.kdeconnect.UserInterface.MainActivity"
android:exported="true">
<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"
android:label="@string/device_menu_plugins"
android:exported="false"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.CustomDevicesActivity"
android:label="@string/custom_devices_settings"
android:exported="false"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.SharePlugin.SendFileActivity"
android:label="KDE Connect"
android:exported="true"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<receiver android:name="org.kde.kdeconnect.KdeConnectBroadcastReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
<activity
android:name="org.kde.kdeconnect.Plugins.FindMyPhonePlugin.FindMyPhoneActivity"
android:configChanges="orientation|screenSize"
android:excludeFromRecents="true"
android:label="@string/findmyphone_title"
android:launchMode="singleInstance" />
<receiver android:name="org.kde.kdeconnect.Plugins.FindMyPhonePlugin.FindMyPhoneReceiver"
android:exported="true">
<intent-filter>
<action android:name="org.kde.kdeconnect.Plugins.FindMyPhonePlugin.foundIt" />
</intent-filter>
</receiver>
<!-- Plugin-related activities and services -->
<activity
android:name="org.kde.kdeconnect.Plugins.ClibpoardPlugin.ClipboardFloatingActivity"
android:theme="@style/Theme.Transparent"
android:excludeFromRecents="true"/>
<activity
android:name="org.kde.kdeconnect.Plugins.MprisPlugin.MprisActivity"
android:label="@string/open_mpris_controls"
android:launchMode="singleTop"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<receiver android:name="org.kde.kdeconnect.Plugins.MprisPlugin.MprisMediaNotificationReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
<activity
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandActivity"
android:label="@string/pref_plugin_runcommand"
android:exported="false"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandWidgetConfigActivity"
android:excludeFromRecents="true"
android:label="@string/pref_plugin_runcommand"
android:launchMode="singleTask"
android:noHistory="true"
android:screenOrientation="user"/>
<service
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.CommandsRemoteViewsService"
android:exported="false"
android:permission="android.permission.BIND_REMOTEVIEWS" />
<receiver
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandWidgetProvider"
android:label="@string/pref_plugin_runcommand"
android:exported="true">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<intent-filter>
<action android:name="RUN_COMMAND_ACTION" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/remotecommandplugin_widget" />
</receiver>
<activity android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandUrlActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="runcommand"
android:scheme="kdeconnect" />
</intent-filter>
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.BigscreenPlugin.BigscreenActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/pref_plugin_bigscreen"
android:exported="true"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity"
android:windowSoftInputMode="stateHidden|adjustResize">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity"
android:label="@string/pref_plugin_mousepad"
android:exported="false"
android:launchMode="singleTop"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.MousePadPlugin.ComposeSendActivity"
android:label="@string/compose_send_title"
android:exported="false"
android:parentActivityName="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity"
android:windowSoftInputMode="adjustResize">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.MousePadPlugin.SendKeystrokesToHostActivity"
android:label="@string/pref_plugin_mousepad_send_keystrokes"
android:exported="true"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
<!-- Accept data with "text/x-keystrokes" to send the text to the connected host and emulate keystrokes -->
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/x-keystrokes"/>
</intent-filter>
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.PresenterPlugin.PresenterActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/pref_plugin_presenter"
android:exported="false"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity"
android:windowSoftInputMode="stateHidden|adjustResize">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.SharePlugin.ShareActivity"
android:exported="true"
android:label="@string/manifest_label_share">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
<meta-data
android:name="android.service.chooser.chooser_target_service"
android:value="org.kde.kdeconnect.Plugins.SharePlugin.ShareChooserTargetService" />
</activity>
<receiver android:name="org.kde.kdeconnect.Plugins.SharePlugin.ShareBroadcastReceiver"
android:exported="true">
<intent-filter>
<action android:name="org.kde.kdeconnect.Plugins.SharePlugin.CancelShare" />
</intent-filter>
</receiver>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="org.kde.kdeconnect_tp.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/fileprovider_paths" />
</provider>
<service
android:name="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationReceiver"
android:exported="true"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
<service
android:name="org.kde.kdeconnect.Plugins.SharePlugin.ShareChooserTargetService"
android:exported="true"
android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
<intent-filter>
<action android:name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
<service
android:name="org.kde.kdeconnect.Plugins.MouseReceiverPlugin.MouseReceiverService"
android:exported="true"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/mouse_receiver_service" />
</service>
<activity
android:name="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationFilterActivity"
android:label="@string/title_activity_notification_filter"
android:parentActivityName="org.kde.kdeconnect.UserInterface.PluginSettingsActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.PluginSettingsActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.TrustedNetworksActivity"
android:label="@string/trusted_networks"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.About.EasterEggActivity"
android:label="@string/easter_egg"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.About.AboutKDEActivity"
android:label="@string/about_kde"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.About.LicensesActivity"
android:label="@string/licenses"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<service
android:name="org.kde.kdeconnect.Plugins.ClibpoardPlugin.ClipboardTileService"
android:icon="@drawable/ic_baseline_content_paste_24"
android:exported="true"
android:label="@string/send_clipboard"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE" />
</intent-filter>
</service>
<service android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandControlsProviderService"
android:label="@string/kde_connect"
android:exported="true"
android:permission="android.permission.BIND_CONTROLS">
<intent-filter>
<action android:name="android.service.controls.ControlsProviderService" />
</intent-filter>
</service>
</application>
</manifest>

View File

@@ -1,208 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION,
AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution
as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright
owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities
that control, are controlled by, or are under common control with that entity.
For the purposes of this definition, "control" means (i) the power, direct
or indirect, to cause the direction or management of such entity, whether
by contract or otherwise, or (ii) ownership of fifty percent (50%) or more
of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions
granted by this License.
"Source" form shall mean the preferred form for making modifications, including
but not limited to software source code, documentation source, and configuration
files.
"Object" form shall mean any form resulting from mechanical transformation
or translation of a Source form, including but not limited to compiled object
code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form,
made available under the License, as indicated by a copyright notice that
is included in or attached to the work (an example is provided in the Appendix
below).
"Derivative Works" shall mean any work, whether in Source or Object form,
that is based on (or derived from) the Work and for which the editorial revisions,
annotations, elaborations, or other modifications represent, as a whole, an
original work of authorship. For the purposes of this License, Derivative
Works shall not include works that remain separable from, or merely link (or
bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version
of the Work and any modifications or additions to that Work or Derivative
Works thereof, that is intentionally submitted to Licensor for inclusion in
the Work by the copyright owner or by an individual or Legal Entity authorized
to submit on behalf of the copyright owner. For the purposes of this definition,
"submitted" means any form of electronic, verbal, or written communication
sent to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and
issue tracking systems that are managed by, or on behalf of, the Licensor
for the purpose of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by the copyright
owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
of whom a Contribution has been received by Licensor and subsequently incorporated
within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this
License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable copyright license to reproduce, prepare
Derivative Works of, publicly display, publicly perform, sublicense, and distribute
the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License,
each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable (except as stated in this section) patent
license to make, have made, use, offer to sell, sell, import, and otherwise
transfer the Work, where such license applies only to those patent claims
licensable by such Contributor that are necessarily infringed by their Contribution(s)
alone or by combination of their Contribution(s) with the Work to which such
Contribution(s) was submitted. If You institute patent litigation against
any entity (including a cross-claim or counterclaim in a lawsuit) alleging
that the Work or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses granted to You
under this License for that Work shall terminate as of the date such litigation
is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or
Derivative Works thereof in any medium, with or without modifications, and
in Source or Object form, provided that You meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works a copy
of this License; and
(b) You must cause any modified files to carry prominent notices stating that
You changed the files; and
(c) You must retain, in the Source form of any Derivative Works that You distribute,
all copyright, patent, trademark, and attribution notices from the Source
form of the Work, excluding those notices that do not pertain to any part
of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its distribution,
then any Derivative Works that You distribute must include a readable copy
of the attribution notices contained within such NOTICE file, excluding those
notices that do not pertain to any part of the Derivative Works, in at least
one of the following places: within a NOTICE text file distributed as part
of the Derivative Works; within the Source form or documentation, if provided
along with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works
that You distribute, alongside or as an addendum to the NOTICE text from the
Work, provided that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction,
or distribution of Your modifications, or for any such Derivative Works as
a whole, provided Your use, reproduction, and distribution of the Work otherwise
complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any
Contribution intentionally submitted for inclusion in the Work by You to the
Licensor shall be under the terms and conditions of this License, without
any additional terms or conditions. Notwithstanding the above, nothing herein
shall supersede or modify the terms of any separate license agreement you
may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names,
trademarks, service marks, or product names of the Licensor, except as required
for reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to
in writing, Licensor provides the Work (and each Contributor provides its
Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied, including, without limitation, any warranties
or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR
A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness
of using or redistributing the Work and assume any risks associated with Your
exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether
in tort (including negligence), contract, or otherwise, unless required by
applicable law (such as deliberate and grossly negligent acts) or agreed to
in writing, shall any Contributor be liable to You for damages, including
any direct, indirect, special, incidental, or consequential damages of any
character arising as a result of this License or out of the use or inability
to use the Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all other commercial
damages or losses), even if such Contributor has been advised of the possibility
of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work
or Derivative Works thereof, You may choose to offer, and charge a fee for,
acceptance of support, warranty, indemnity, or other liability obligations
and/or rights consistent with this License. However, in accepting such obligations,
You may act only on Your own behalf and on Your sole responsibility, not on
behalf of any other Contributor, and only if You agree to indemnify, defend,
and hold each Contributor harmless for any liability incurred by, or claims
asserted against, such Contributor by reason of your accepting any such warranty
or additional liability. END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following boilerplate
notice, with the fields enclosed by brackets "[]" replaced with your own identifying
information. (Don't include the brackets!) The text should be enclosed in
the appropriate comment syntax for the file format. We also recommend that
a file or class name and description of purpose be included on the same "printed
page" as the copyright notice for easier identification within third-party
archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@@ -1,319 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share
and change it. By contrast, the GNU General Public License is intended to
guarantee your freedom to share and change free software--to make sure the
software is free for all its users. This General Public License applies to
most of the Free Software Foundation's software and to any other program whose
authors commit to using it. (Some other Free Software Foundation software
is covered by the GNU Lesser General Public License instead.) You can apply
it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our
General Public Licenses are designed to make sure that you have the freedom
to distribute copies of free software (and charge for this service if you
wish), that you receive source code or can get it if you want it, that you
can change the software or use pieces of it in new free programs; and that
you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to
deny you these rights or to ask you to surrender the rights. These restrictions
translate to certain responsibilities for you if you distribute copies of
the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or
for a fee, you must give the recipients all the rights that you have. You
must make sure that they, too, receive or can get the source code. And you
must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2)
offer you this license which gives you legal permission to copy, distribute
and/or modify the software.
Also, for each author's protection and ours, we want to make certain that
everyone understands that there is no warranty for this free software. If
the software is modified by someone else and passed on, we want its recipients
to know that what they have is not the original, so that any problems introduced
by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We
wish to avoid the danger that redistributors of a free program will individually
obtain patent licenses, in effect making the program proprietary. To prevent
this, we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification
follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice
placed by the copyright holder saying it may be distributed under the terms
of this General Public License. The "Program", below, refers to any such program
or work, and a "work based on the Program" means either the Program or any
derivative work under copyright law: that is to say, a work containing the
Program or a portion of it, either verbatim or with modifications and/or translated
into another language. (Hereinafter, translation is included without limitation
in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered
by this License; they are outside its scope. The act of running the Program
is not restricted, and the output from the Program is covered only if its
contents constitute a work based on the Program (independent of having been
made by running the Program). Whether that is true depends on what the Program
does.
1. You may copy and distribute verbatim copies of the Program's source code
as you receive it, in any medium, provided that you conspicuously and appropriately
publish on each copy an appropriate copyright notice and disclaimer of warranty;
keep intact all the notices that refer to this License and to the absence
of any warranty; and give any other recipients of the Program a copy of this
License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you
may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it,
thus forming a work based on the Program, and copy and distribute such modifications
or work under the terms of Section 1 above, provided that you also meet all
of these conditions:
a) You must cause the modified files to carry prominent notices stating that
you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or
in part contains or is derived from the Program or any part thereof, to be
licensed as a whole at no charge to all third parties under the terms of this
License.
c) If the modified program normally reads commands interactively when run,
you must cause it, when started running for such interactive use in the most
ordinary way, to print or display an announcement including an appropriate
copyright notice and a notice that there is no warranty (or else, saying that
you provide a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this License.
(Exception: if the Program itself is interactive but does not normally print
such an announcement, your work based on the Program is not required to print
an announcement.)
These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be reasonably
considered independent and separate works in themselves, then this License,
and its terms, do not apply to those sections when you distribute them as
separate works. But when you distribute the same sections as part of a whole
which is a work based on the Program, the distribution of the whole must be
on the terms of this License, whose permissions for other licensees extend
to the entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise
the right to control the distribution of derivative or collective works based
on the Program.
In addition, mere aggregation of another work not based on the Program with
the Program (or with a work based on the Program) on a volume of a storage
or distribution medium does not bring the other work under the scope of this
License.
3. You may copy and distribute the Program (or a work based on it, under Section
2) in object code or executable form under the terms of Sections 1 and 2 above
provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code,
which must be distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give
any third party, for a charge no more than your cost of physically performing
source distribution, a complete machine-readable copy of the corresponding
source code, to be distributed under the terms of Sections 1 and 2 above on
a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute
corresponding source code. (This alternative is allowed only for noncommercial
distribution and only if you received the program in object code or executable
form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making
modifications to it. For an executable work, complete source code means all
the source code for all modules it contains, plus any associated interface
definition files, plus the scripts used to control compilation and installation
of the executable. However, as a special exception, the source code distributed
need not include anything that is normally distributed (in either source or
binary form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component itself
accompanies the executable.
If distribution of executable or object code is made by offering access to
copy from a designated place, then offering equivalent access to copy the
source code from the same place counts as distribution of the source code,
even though third parties are not compelled to copy the source along with
the object code.
4. You may not copy, modify, sublicense, or distribute the Program except
as expressly provided under this License. Any attempt otherwise to copy, modify,
sublicense or distribute the Program is void, and will automatically terminate
your rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses terminated
so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed
it. However, nothing else grants you permission to modify or distribute the
Program or its derivative works. These actions are prohibited by law if you
do not accept this License. Therefore, by modifying or distributing the Program
(or any work based on the Program), you indicate your acceptance of this License
to do so, and all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program),
the recipient automatically receives a license from the original licensor
to copy, distribute or modify the Program subject to these terms and conditions.
You may not impose any further restrictions on the recipients' exercise of
the rights granted herein. You are not responsible for enforcing compliance
by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement
or for any other reason (not limited to patent issues), conditions are imposed
on you (whether by court order, agreement or otherwise) that contradict the
conditions of this License, they do not excuse you from the conditions of
this License. If you cannot distribute so as to satisfy simultaneously your
obligations under this License and any other pertinent obligations, then as
a consequence you may not distribute the Program at all. For example, if a
patent license would not permit royalty-free redistribution of the Program
by all those who receive copies directly or indirectly through you, then the
only way you could satisfy both it and this License would be to refrain entirely
from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply and
the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents
or other property right claims or to contest validity of any such claims;
this section has the sole purpose of protecting the integrity of the free
software distribution system, which is implemented by public license practices.
Many people have made generous contributions to the wide range of software
distributed through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing to
distribute software through any other system and a licensee cannot impose
that choice.
This section is intended to make thoroughly clear what is believed to be a
consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain
countries either by patents or by copyrighted interfaces, the original copyright
holder who places the Program under this License may add an explicit geographical
distribution limitation excluding those countries, so that distribution is
permitted only in or among countries not thus excluded. In such case, this
License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of
the General Public License from time to time. Such new versions will be similar
in spirit to the present version, but may differ in detail to address new
problems or concerns.
Each version is given a distinguishing version number. If the Program specifies
a version number of this License which applies to it and "any later version",
you have the option of following the terms and conditions either of that version
or of any later version published by the Free Software Foundation. If the
Program does not specify a version number of this License, you may choose
any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs
whose distribution conditions are different, write to the author to ask for
permission. For software which is copyrighted by the Free Software Foundation,
write to the Free Software Foundation; we sometimes make exceptions for this.
Our decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing and reuse
of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible
use to the public, the best way to achieve this is to make it free software
which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach
them to the start of each source file to most effectively convey the exclusion
of warranty; and each file should have at least the "copyright" line and a
pointer to where the full notice is found.
<one line to give the program's name and an idea of what it does.>
Copyright (C)< yyyy> <name of author>
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor, Boston, MA 02110-1301, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when
it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software,
and you are welcome to redistribute it under certain conditions; type `show
c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may be
called something other than `show w' and `show c'; they could even be mouse-clicks
or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school,
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision'
(which makes passes at compilers) written by James Hacker.
<signature of Ty Coon >, 1 April 1989 Ty Coon, President of Vice This General
Public License does not permit incorporating your program into proprietary
programs. If your program is a subroutine library, you may consider it more
useful to permit linking proprietary applications with the library. If this
is what you want to do, use the GNU Lesser General Public License instead
of this License.

View File

@@ -1,625 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for software and
other kinds of works.
The licenses for most software and other practical works are designed to take
away your freedom to share and change the works. By contrast, the GNU General
Public License is intended to guarantee your freedom to share and change all
versions of a program--to make sure it remains free software for all its users.
We, the Free Software Foundation, use the GNU General Public License for most
of our software; it applies also to any other work released this way by its
authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our
General Public Licenses are designed to make sure that you have the freedom
to distribute copies of free software (and charge for them if you wish), that
you receive source code or can get it if you want it, that you can change
the software or use pieces of it in new free programs, and that you know you
can do these things.
To protect your rights, we need to prevent others from denying you these rights
or asking you to surrender the rights. Therefore, you have certain responsibilities
if you distribute copies of the software, or if you modify it: responsibilities
to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or
for a fee, you must pass on to the recipients the same freedoms that you received.
You must make sure that they, too, receive or can get the source code. And
you must show them these terms so they know their rights.
Developers that use the GNU GPL protect your rights with two steps: (1) assert
copyright on the software, and (2) offer you this License giving you legal
permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains that
there is no warranty for this free software. For both users' and authors'
sake, the GPL requires that modified versions be marked as changed, so that
their problems will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users access to install or run modified
versions of the software inside them, although the manufacturer can do so.
This is fundamentally incompatible with the aim of protecting users' freedom
to change the software. The systematic pattern of such abuse occurs in the
area of products for individuals to use, which is precisely where it is most
unacceptable. Therefore, we have designed this version of the GPL to prohibit
the practice for those products. If such problems arise substantially in other
domains, we stand ready to extend this provision to those domains in future
versions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents. States
should not allow patents to restrict development and use of software on general-purpose
computers, but in those that do, we wish to avoid the special danger that
patents applied to a free program could make it effectively proprietary. To
prevent this, the GPL assures that patents cannot be used to render the program
non-free.
The precise terms and conditions for copying, distribution and modification
follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of works,
such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this License.
Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals
or organizations.
To "modify" a work means to copy from or adapt all or part of the work in
a fashion requiring copyright permission, other than the making of an exact
copy. The resulting work is called a "modified version" of the earlier work
or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based on the
Program.
To "propagate" a work means to do anything with it that, without permission,
would make you directly or secondarily liable for infringement under applicable
copyright law, except executing it on a computer or modifying a private copy.
Propagation includes copying, distribution (with or without modification),
making available to the public, and in some countries other activities as
well.
To "convey" a work means any kind of propagation that enables other parties
to make or receive copies. Mere interaction with a user through a computer
network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices" to the
extent that it includes a convenient and prominently visible feature that
(1) displays an appropriate copyright notice, and (2) tells the user that
there is no warranty for the work (except to the extent that warranties are
provided), that licensees may convey the work under this License, and how
to view a copy of this License. If the interface presents a list of user commands
or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work for making
modifications to it. "Object code" means any non-source form of a work.
A "Standard Interface" means an interface that either is an official standard
defined by a recognized standards body, or, in the case of interfaces specified
for a particular programming language, one that is widely used among developers
working in that language.
The "System Libraries" of an executable work include anything, other than
the work as a whole, that (a) is included in the normal form of packaging
a Major Component, but which is not part of that Major Component, and (b)
serves only to enable use of the work with that Major Component, or to implement
a Standard Interface for which an implementation is available to the public
in source code form. A "Major Component", in this context, means a major essential
component (kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to produce
the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all the source
code needed to generate, install, and (for an executable work) run the object
code and to modify the work, including scripts to control those activities.
However, it does not include the work's System Libraries, or general-purpose
tools or generally available free programs which are used unmodified in performing
those activities but which are not part of the work. For example, Corresponding
Source includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically linked
subprograms that the work is specifically designed to require, such as by
intimate data communication or control flow between those subprograms and
other parts of the work.
The Corresponding Source need not include anything that users can regenerate
automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright
on the Program, and are irrevocable provided the stated conditions are met.
This License explicitly affirms your unlimited permission to run the unmodified
Program. The output from running a covered work is covered by this License
only if the output, given its content, constitutes a covered work. This License
acknowledges your rights of fair use or other equivalent, as provided by copyright
law.
You may make, run and propagate covered works that you do not convey, without
conditions so long as your license otherwise remains in force. You may convey
covered works to others for the sole purpose of having them make modifications
exclusively for you, or provide you with facilities for running those works,
provided that you comply with the terms of this License in conveying all material
for which you do not control copyright. Those thus making or running the covered
works for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of your copyrighted
material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions
stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure
under any applicable law fulfilling obligations under article 11 of the WIPO
copyright treaty adopted on 20 December 1996, or similar laws prohibiting
or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention
of technological measures to the extent such circumvention is effected by
exercising rights under this License with respect to the covered work, and
you disclaim any intention to limit operation or modification of the work
as a means of enforcing, against the work's users, your or third parties'
legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive
it, in any medium, provided that you conspicuously and appropriately publish
on each copy an appropriate copyright notice; keep intact all notices stating
that this License and any non-permissive terms added in accord with section
7 apply to the code; keep intact all notices of the absence of any warranty;
and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you
may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce
it from the Program, in the form of source code under the terms of section
4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and
giving a relevant date.
b) The work must carry prominent notices stating that it is released under
this License and any conditions added under section 7. This requirement modifies
the requirement in section 4 to "keep intact all notices".
c) You must license the entire work, as a whole, under this License to anyone
who comes into possession of a copy. This License will therefore apply, along
with any applicable section 7 additional terms, to the whole of the work,
and all its parts, regardless of how they are packaged. This License gives
no permission to license the work in any other way, but it does not invalidate
such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate
Legal Notices; however, if the Program has interactive interfaces that do
not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works,
which are not by their nature extensions of the covered work, and which are
not combined with it such as to form a larger program, in or on a volume of
a storage or distribution medium, is called an "aggregate" if the compilation
and its resulting copyright are not used to limit the access or legal rights
of the compilation's users beyond what the individual works permit. Inclusion
of a covered work in an aggregate does not cause this License to apply to
the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections
4 and 5, provided that you also convey the machine-readable Corresponding
Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including
a physical distribution medium), accompanied by the Corresponding Source fixed
on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including
a physical distribution medium), accompanied by a written offer, valid for
at least three years and valid for as long as you offer spare parts or customer
support for that product model, to give anyone who possesses the object code
either (1) a copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical medium customarily
used for software interchange, for a price no more than your reasonable cost
of physically performing this conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written
offer to provide the Corresponding Source. This alternative is allowed only
occasionally and noncommercially, and only if you received the object code
with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis
or for a charge), and offer equivalent access to the Corresponding Source
in the same way through the same place at no further charge. You need not
require recipients to copy the Corresponding Source along with the object
code. If the place to copy the object code is a network server, the Corresponding
Source may be on a different server (operated by you or a third party) that
supports equivalent copying facilities, provided you maintain clear directions
next to the object code saying where to find the Corresponding Source. Regardless
of what server hosts the Corresponding Source, you remain obligated to ensure
that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform
other peers where the object code and Corresponding Source of the work are
being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from
the Corresponding Source as a System Library, need not be included in conveying
the object code work.
A "User Product" is either (1) a "consumer product", which means any tangible
personal property which is normally used for personal, family, or household
purposes, or (2) anything designed or sold for incorporation into a dwelling.
In determining whether a product is a consumer product, doubtful cases shall
be resolved in favor of coverage. For a particular product received by a particular
user, "normally used" refers to a typical or common use of that class of product,
regardless of the status of the particular user or of the way in which the
particular user actually uses, or expects or is expected to use, the product.
A product is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent the
only significant mode of use of the product.
"Installation Information" for a User Product means any methods, procedures,
authorization keys, or other information required to install and execute modified
versions of a covered work in that User Product from a modified version of
its Corresponding Source. The information must suffice to ensure that the
continued functioning of the modified object code is in no case prevented
or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically
for use in, a User Product, and the conveying occurs as part of a transaction
in which the right of possession and use of the User Product is transferred
to the recipient in perpetuity or for a fixed term (regardless of how the
transaction is characterized), the Corresponding Source conveyed under this
section must be accompanied by the Installation Information. But this requirement
does not apply if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has been installed
in ROM).
The requirement to provide Installation Information does not include a requirement
to continue to provide support service, warranty, or updates for a work that
has been modified or installed by the recipient, or for the User Product in
which it has been modified or installed. Access to a network may be denied
when the modification itself materially and adversely affects the operation
of the network or violates the rules and protocols for communication across
the network.
Corresponding Source conveyed, and Installation Information provided, in accord
with this section must be in a format that is publicly documented (and with
an implementation available to the public in source code form), and must require
no special password or key for unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this License
by making exceptions from one or more of its conditions. Additional permissions
that are applicable to the entire Program shall be treated as though they
were included in this License, to the extent that they are valid under applicable
law. If additional permissions apply only to part of the Program, that part
may be used separately under those permissions, but the entire Program remains
governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any
additional permissions from that copy, or from any part of it. (Additional
permissions may be written to require their own removal in certain cases when
you modify the work.) You may place additional permissions on material, added
by you to a covered work, for which you have or can give appropriate copyright
permission.
Notwithstanding any other provision of this License, for material you add
to a covered work, you may (if authorized by the copyright holders of that
material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of
sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author
attributions in that material or in the Appropriate Legal Notices displayed
by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring
that modified versions of such material be marked in reasonable ways as different
from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors
of the material; or
e) Declining to grant rights under trademark law for use of some trade names,
trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by
anyone who conveys the material (or modified versions of it) with contractual
assumptions of liability to the recipient, for any liability that these contractual
assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered "further restrictions"
within the meaning of section 10. If the Program as you received it, or any
part of it, contains a notice stating that it is governed by this License
along with a term that is a further restriction, you may remove that term.
If a license document contains a further restriction but permits relicensing
or conveying under this License, you may add to a covered work material governed
by the terms of that license document, provided that the further restriction
does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place,
in the relevant source files, a statement of the additional terms that apply
to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form
of a separately written license, or stated as exceptions; the above requirements
apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided
under this License. Any attempt otherwise to propagate or modify it is void,
and will automatically terminate your rights under this License (including
any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from
a particular copyright holder is reinstated (a) provisionally, unless and
until the copyright holder explicitly and finally terminates your license,
and (b) permanently, if the copyright holder fails to notify you of the violation
by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently
if the copyright holder notifies you of the violation by some reasonable means,
this is the first time you have received notice of violation of this License
(for any work) from that copyright holder, and you cure the violation prior
to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses
of parties who have received copies or rights from you under this License.
If your rights have been terminated and not permanently reinstated, you do
not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy
of the Program. Ancillary propagation of a covered work occurring solely as
a consequence of using peer-to-peer transmission to receive a copy likewise
does not require acceptance. However, nothing other than this License grants
you permission to propagate or modify any covered work. These actions infringe
copyright if you do not accept this License. Therefore, by modifying or propagating
a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives
a license from the original licensors, to run, modify and propagate that work,
subject to this License. You are not responsible for enforcing compliance
by third parties with this License.
An "entity transaction" is a transaction transferring control of an organization,
or substantially all assets of one, or subdividing an organization, or merging
organizations. If propagation of a covered work results from an entity transaction,
each party to that transaction who receives a copy of the work also receives
whatever licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the Corresponding
Source of the work from the predecessor in interest, if the predecessor has
it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights
granted or affirmed under this License. For example, you may not impose a
license fee, royalty, or other charge for exercise of rights granted under
this License, and you may not initiate litigation (including a cross-claim
or counterclaim in a lawsuit) alleging that any patent claim is infringed
by making, using, selling, offering for sale, or importing the Program or
any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this License
of the Program or a work on which the Program is based. The work thus licensed
is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims owned or controlled
by the contributor, whether already acquired or hereafter acquired, that would
be infringed by some manner, permitted by this License, of making, using,
or selling its contributor version, but do not include claims that would be
infringed only as a consequence of further modification of the contributor
version. For purposes of this definition, "control" includes the right to
grant patent sublicenses in a manner consistent with the requirements of this
License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent
license under the contributor's essential patent claims, to make, use, sell,
offer for sale, import and otherwise run, modify and propagate the contents
of its contributor version.
In the following three paragraphs, a "patent license" is any express agreement
or commitment, however denominated, not to enforce a patent (such as an express
permission to practice a patent or covenant not to sue for patent infringement).
To "grant" such a patent license to a party means to make such an agreement
or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the
Corresponding Source of the work is not available for anyone to copy, free
of charge and under the terms of this License, through a publicly available
network server or other readily accessible means, then you must either (1)
cause the Corresponding Source to be so available, or (2) arrange to deprive
yourself of the benefit of the patent license for this particular work, or
(3) arrange, in a manner consistent with the requirements of this License,
to extend the patent license to downstream recipients. "Knowingly relying"
means you have actual knowledge that, but for the patent license, your conveying
the covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that country
that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement,
you convey, or propagate by procuring conveyance of, a covered work, and grant
a patent license to some of the parties receiving the covered work authorizing
them to use, propagate, modify or convey a specific copy of the covered work,
then the patent license you grant is automatically extended to all recipients
of the covered work and works based on it.
A patent license is "discriminatory" if it does not include within the scope
of its coverage, prohibits the exercise of, or is conditioned on the non-exercise
of one or more of the rights that are specifically granted under this License.
You may not convey a covered work if you are a party to an arrangement with
a third party that is in the business of distributing software, under which
you make payment to the third party based on the extent of your activity of
conveying the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory patent
license (a) in connection with copies of the covered work conveyed by you
(or copies made from those copies), or (b) primarily for and in connection
with specific products or compilations that contain the covered work, unless
you entered into that arrangement, or that patent license was granted, prior
to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied
license or other defenses to infringement that may otherwise be available
to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise)
that contradict the conditions of this License, they do not excuse you from
the conditions of this License. If you cannot convey a covered work so as
to satisfy simultaneously your obligations under this License and any other
pertinent obligations, then as a consequence you may not convey it at all.
For example, if you agree to terms that obligate you to collect a royalty
for further conveying from those to whom you convey the Program, the only
way you could satisfy both those terms and this License would be to refrain
entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have permission to
link or combine any covered work with a work licensed under version 3 of the
GNU Affero General Public License into a single combined work, and to convey
the resulting work. The terms of this License will continue to apply to the
part which is the covered work, but the special requirements of the GNU Affero
General Public License, section 13, concerning interaction through a network
will apply to the combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the
GNU General Public License from time to time. Such new versions will be similar
in spirit to the present version, but may differ in detail to address new
problems or concerns.
Each version is given a distinguishing version number. If the Program specifies
that a certain numbered version of the GNU General Public License "or any
later version" applies to it, you have the option of following the terms and
conditions either of that numbered version or of any later version published
by the Free Software Foundation. If the Program does not specify a version
number of the GNU General Public License, you may choose any version ever
published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of
the GNU General Public License can be used, that proxy's public statement
of acceptance of a version permanently authorizes you to choose that version
for the Program.
Later license versions may give you additional or different permissions. However,
no additional obligations are imposed on any author or copyright holder as
a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM
AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO
USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot
be given local legal effect according to their terms, reviewing courts shall
apply local law that most closely approximates an absolute waiver of all civil
liability in connection with the Program, unless a warranty or assumption
of liability accompanies a copy of the Program in return for a fee. END OF
TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible
use to the public, the best way to achieve this is to make it free software
which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach
them to the start of each source file to most effectively state the exclusion
of warranty; and each file should have at least the "copyright" line and a
pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like
this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it under certain
conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands might
be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary. For
more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General Public
License instead of this License. But first, please read <https://www.gnu.org/
licenses /why-not-lgpl.html>.

View File

@@ -1,12 +0,0 @@
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 3 of
the license or (at your option) at any later version that is
accepted by the membership of KDE e.V. (or its successor
approved by the membership of KDE e.V.), which shall act as a
proxy as defined in Section 14 of version 3 of the license.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

View File

@@ -1,37 +0,0 @@
# KDE Connect - Android app
KDE Connect is a multi-platform app that allows your devices to communicate (eg: your phone and your computer).
## (Some) Features
- **Shared clipboard**: copy and paste between your phone and your computer (or any other device).
- **Notification sync**: Read and reply to your Android notifications from the desktop.
- **Share files and URLs** instantly from one device to another.
- **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.
## About this app
This is a native Android port of the KDE Connect Qt app. You will find a more complete readme about KDE Connect [here](https://invent.kde.org/network/kdeconnect-kde/).
## How to install this app
You can install this app from the [Play Store](https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp) as well as [F-Droid](https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp). Note you will also need to install the [desktop app](https://invent.kde.org/network/kdeconnect-kde) for it to work.
## Contributing
A lot of useful information, including how to get started working on KDE Connect and how to connect with the current developers, is on our [KDE Community Wiki page](https://community.kde.org/KDEConnect)
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/).
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).
Please know that all translations for all KDE apps are handled by the [localization team](https://l10n.kde.org/). If you would like to submit a translation, that should be done by working with the proper team for that language.
## 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/).

View File

@@ -7,7 +7,7 @@ function export_pot_file # First parameter will be the path of the pot file we h
{
potfile=$1
mkdir outdir
ANSI_COLORS_DISABLED=1 a2po export --android res/ --gettext outdir
a2po export --android src/main/res/ --gettext outdir
mv outdir/template.pot $potfile
rm -rf outdir
}
@@ -15,37 +15,7 @@ function export_pot_file # First parameter will be the path of the pot file we h
function import_po_files # First parameter will be a path that will contain several .po files with the format LANG.po
{
podir=$1
# Android doesn't support languages with an @
find "$podir" -type f -name "*@*.po" -delete
# drop obsolete messages, as Babel cannot parse them -- see:
# https://github.com/python-babel/babel/issues/206
# https://github.com/python-babel/babel/issues/566
find "$podir" -name '*.po' -exec msgattrib --no-obsolete -o {} {} \;
ANSI_COLORS_DISABLED=1 a2po import --ignore-fuzzy --android res/ --gettext $podir
# Generate the locales_config.xml
pushd res
echo '<?xml version="1.0" encoding="utf-8"?>' > xml/locales_config.xml
echo '<locale-config xmlns:android="http://schemas.android.com/apk/res/android">' >> xml/locales_config.xml
transform_locale_regex='(\w+)-r(\w+)'
# Add en-US as the first locale so that is the fallback, and also because it won't be handled in the following loop
echo -e '\t<locale android:name="en-US"/>' >> xml/locales_config.xml
for i in values-*; do
if [ -d "${i}" ]; then
if [ -e "${i}/strings.xml" ]; then
locale="${i:7}"
if [[ "${locale}" =~ $transform_locale_regex ]]; then
# Special case to turn locales like "en-rUS", "en-rGB" into "en-US" and "en-GB"
transformed_locale="${BASH_REMATCH[1]}-${BASH_REMATCH[2]}"
echo -e "\t<locale android:name=\"${transformed_locale}\"/>" >> xml/locales_config.xml
else
echo -e "\t<locale android:name=\"${locale}\"/>" >> xml/locales_config.xml
fi
fi
fi
done
echo "</locale-config>" >> xml/locales_config.xml
popd
a2po import --android src/main/res/ --gettext $podir
}

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 26 KiB

40
build.gradle Normal file
View File

@@ -0,0 +1,40 @@
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "19"
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
}
packagingOptions {
exclude "META-INF/DEPENDENCIES"
exclude "META-INF/NOTICE"
exclude "META-INF/LICENSE"
exclude "META-INF/LICENSE.txt"
exclude "META-INF/NOTICE.txt"
}
}
dependencies {
repositories {
mavenCentral()
}
compile "com.android.support:support-v4:19.0.+"
compile "com.android.support:appcompat-v7:19.0.+"
compile "org.apache.mina:mina-core:2.0.+"
compile 'org.bouncycastle:bcprov-jdk16:1.45'
compile 'org.apache.sshd:sshd-core:0.8.0'
compile 'tomcat:tomcat-apr:5.5.+'
//compile fileTree(dir: 'libs', include: '*.jar')
}

View File

@@ -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")
}

Binary file not shown.

View File

@@ -1,2 +0,0 @@
json_key_file("/please/pass/the/key/using/--json-key/instead")
package_name("org.kde.kdeconnect_tp")

View File

@@ -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.

View File

@@ -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
}

View File

@@ -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.

View File

@@ -1 +0,0 @@
KDE Connect kompyuteriniz ilə smartfonunuzu inteqrasiya edir

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -1,21 +0,0 @@
KDE Connect предоставя набор от функции за интегриране на вашия работен процес на различни устройства:
- Прехвърляйте файлове между вашите устройства.
- Осъществявайте достъп до файлове на телефона си от компютъра си, без кабели.
- Споделен клипборд: копирайте и поставяйте между вашите устройства.
- Получавайте известия за входящи обаждания и съобщения на вашия компютър.
- Виртуален тъчпад: Използвайте екрана на телефона си като тъчпад на компютъра.
- Синхронизиране на известия: Достъп до известията на телефона ви от вашия компютър и отговаряне на съобщения.
- Мултимедийно дистанционно управление: Използвайте телефона си като дистанционно за Linux медийни плейъри.
- WiFi връзка: не е необходим USB кабел или bluetooth.
- TLS криптиране от край до край: информацията ви е в безопасност.
Моля, имайте предвид, че ще трябва да инсталирате KDE Connect на вашия компютър, за да работи това приложение, и поддържайте версията за настолен компютър актуална с версията за Android, за да работят най-новите функции.
Поверителна информация за разрешения:
* Разрешение за достъпност: Изисква се за получаване на вход от друго устройство за управление на вашия телефон с Android, ако използвате функцията за отдалечено въвеждане.
* Разрешение за местоположение във фонов режим: Изисква се, за да знаете към коя WiFi мрежа сте свързани, ако използвате функцията Trusted Networks.
KDE Connect никога не изпраща никаква информация на KDE или на трета страна. KDE Connect изпраща данни от едно устройство на друго директно чрез локалната мрежа, никога през интернет, и чрез криптиране от край до край.
Това приложение е част от проект с отворен код и съществува благодарение на всички хора, които са допринесли за него. Посетете уебсайта, за да вземете изходния код.

View File

@@ -1 +0,0 @@
KDE Connect интегрира вашия смартфон и компютър

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
El KDE Connect integra el vostre telèfon intel·ligent i l'ordinador

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
KDE Connect integruje váš chytrý telefon a počítač

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
KDE Connect verbindet Ihr Smartphone mit Ihrem Computer

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -1,3 +0,0 @@
1.25.0:
* Rewrite some of the internals to improve performance.
* Add search by name in the notification plugin settings.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 698 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

View File

@@ -1 +0,0 @@
KDE Connect integrates your smartphone and computer

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
KDE Connect integrates your smartphone and computer

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
KDE Connect integra tu teléfono inteligente y tu equipo

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
«KDE Connect»ek zure telefono adimenduna eta ordenagailua bateratzen ditu

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
KDE Connect eheyttää älypuhelimen ja tietokoneen

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
KDEConnect intègre votre téléphone et votre ordinateur.

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
KDE Connect integra teléfono e computador.

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
KDE Connect integra il tuo smartphone e computer

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -1,21 +0,0 @@
היישומון KDE Connect מספק מכוון יכולות לשילוב רצף העבודה שלך בין כמה מכשירים:
- העברת קבצים בין המכשירים שלך.
- גישה לקבצים בטלפון שלך מהמחשב, ללא כבלים.
- לוח גזירים משותף: העתקה והדבקה בין המכשירים שלך.
- קבלת התראות על שיחות והודעות נכנסות במחשב שלך.
- משטח מגע וירטואלי: אפשר להשתמש במסך הטלפון שלך כמשטח מגע למחשב.
- סנכרון התראות: גישה להתראות של הטלפון שלך מהמחשב לרבות מענה על הודעות.
- שליטה מרחוק במולטימדיה: אפשר להשתמש בטלפון שלך כשלט לנגני מדיה בלינוקס.
- חיבור רשת אלחוטית: לא צריך כבל USB או בלוטות׳.
- הצפנת TLS מקצה לקצה: המידע שלך מאובטח.
נא לשים לב שצריך להתקין את KDE Connect גם במחשב שלך כדי שהיישומון הזה יעבוד ולדאוג שהגרסה שבשולחן העבודה תהיה עדכנית בהתאם לגרסת היישומון ב־Android כדי שהיכולות העדכניות ביותר תעבודנה.
מידע על הרשאות רגישות:
* הרשאות נגישות: נחוצות כדי לקבל קלט ממכשיר אחר לשליטה בטלפון ה־Android שלך, אם בחרת להשתמש ביכולת השליטה מרחוק.
* הרשאת איתור מקום ברקע: נדרשת כדי לדעת לאיזו רשת אלחוטית התחברת אם בחרת להשתמש ביכולת הרשתות המהימנות.
יישומון KDE Connect אף פעם לא שולח מידע ל־KDE או לגוף שלישי כלשהו. היישומון שולחן נתונםי ממכשיר אחד ישירות למכשיר השני דרך הרשת המקומית, אף פעם לא דרך האינטרנט והוא משתמש בהצפנה מקצה לקצה.
יישומון זה הוא חלק ממיזם קוד פתוח והוא קיים בזכות כל אלו שתרמו לו. מזמינים אותך לבקר באתר כדי למשוך את קוד המקור.

View File

@@ -1 +0,0 @@
KDE Connect מגשר בין הטלפון החכם והמחשב שלך

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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 や第三者にいかなる情報も送信しません。このアプリは、ローカルネットワークを通じてエンドツーエンドで暗号化されたデータを送受信します。インターネットは全く使用されません。
このアプリはオープンソースプロジェクトであり、多くの人々の貢献のもとに成り立っています。ソースコードを取得するには、私たちのウェブサイトを訪れてください。

View File

@@ -1 +0,0 @@
KDE Connect は携帯電話と PC を連携させます

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -1,21 +0,0 @@
KDE Connect უზრუნველყოფს კომპლექტი თვისებები ინტეგრირება თქვენი workflow მასშტაბით მოწყობილობები:
- ფაილების გადატანა თქვენს მოწყობილობებს შორის.
- თქვენი ტელეფონის ფაილებზე წვდომა თქვენი კომპიუტერიდან, მავთულის გარეშე.
- გაზიარებული ბუფერი: დააკოპირეთ და ჩასვით თქვენს მოწყობილობებს შორის.
- მიიღეთ შეტყობინებები თქვენს კომპიუტერში შემომავალი ზარებისა და შეტყობინებების შესახებ.
- ვირტუალური სენსორული პანელი: გამოიყენეთ თქვენი ტელეფონის ეკრანი, როგორც თქვენი კომპიუტერის სენსორული პანელი.
- შეტყობინებების სინქრონიზაცია: შედით თქვენი ტელეფონის შეტყობინებებზე თქვენი კომპიუტერიდან და უპასუხეთ შეტყობინებებს.
- მულტიმედიური დისტანციური მართვა: გამოიყენეთ თქვენი ტელეფონი, როგორც დისტანციური linux მედია ფლეერებისთვის.
- WiFi კავშირი: არ არის საჭირო USB მავთული ან bluetooth.
- ბოლომდე tls დაშიფვრა: თქვენი ინფორმაცია უსაფრთხოა.
გთხოვთ გაითვალისწინოთ, რომ თქვენ უნდა დააინსტალიროთ KDE Connect თქვენს კომპიუტერში ამ აპის მუშაობისთვის და შეინარჩუნოთ დესკტოპის ვერსია Android ვერსიასთან ერთად უახლესი ფუნქციების მუშაობისთვის.
მგრძნობიარე ნებართვების ინფორმაცია:
* ხელმისაწვდომობის ნებართვა: საჭიროა სხვა მოწყობილობიდან შეყვანის მიღება თქვენი Android ტელეფონის გასაკონტროლებლად, თუ იყენებთ დისტანციური შეყვანის ფუნქციას.
* ფონის მდებარეობის ნებართვა: საჭიროა იცოდეთ რომელ WiFi ქსელთან ხართ დაკავშირებული, თუ იყენებთ სანდო ქსელების ფუნქციას.
KDE Connect არასდროს უგზავნის ინფორმაციას KDE-ს და არც მესამე მხარეს. KDE Connect აგზავნის მონაცემებს ერთი მოწყობილობიდან მეორეზე პირდაპირ ადგილობრივი ქსელის გამოყენებით, არასდროს ინტერნეტის საშუალებით და იყენებს ბოლოდან ბოლოში დაშიფვრას.
ეს აპლიკაცია ღია კოდის პროექტის ნაწილია და ის არსებობს ყველა იმ ადამიანის წყალობით, ვინც მას წვლილი შეიტანა. ეწვიეთ ვებსაიტს, რომ აიღოთ კოდის კოდი.

View File

@@ -1 +0,0 @@
KDE Connect თქვენი ტელეფონისა და კომპიუტერის ინტეგრაციას ახდენს

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -1,21 +0,0 @@
KDE Connect를 사용하여 여러 장치에서 작업을 이어서 진행할 수 있습니다.
- 장치간 파일을 전송할 수 있습니다.
- 케이블 연결 없이 컴퓨터에서 휴대폰에 있는 파일에 접근할 수 있습니다.
- 공유 클립보드: 장치간 복사와 붙여넣기를 지원합니다.
- 컴퓨터에서 수신 전화나 SMS 알림을 받을 수 있습니다.
- 가상 터치패드: 휴대폰 화면을 컴퓨터 터치패드로 사용할 수 있습니다.
- 알림 동기화: 휴대폰 알림을 데스크톱에서 확인하고 메시지에 답장할 수 있습니다.
- 멀티미디어 리모콘: 리눅스 미디어 재생기의 리모콘으로 사용할 수 있습니다.
- Wi-Fi 연결: 유선 USB나 블루투스 연결이 필요하지 않습니다.
- 종단간 TLS 암호화: 정보를 안전하게 유지합니다.
이 앱을 사용하려면 KDE Connect를 컴퓨터에도 설치하고, 최신 기능을 사용하려면 데스크톱 버전을 안드로이드 버전에 따라서 업데이트해야 합니다.
권한 정보:
* 접근성 권한: 원격 입력 기능을 사용할 때 다른 장치에서 입력을 받아서 안드로이드 장치를 제어할 때 필요합니다.
* 백그라운드 위치 권한: 신뢰하는 네트워크 기능을 사용할 때 현재 연결된 Wi-Fi 네트워크 정보를 얻으려면 필요합니다.
KDE Connect는 KDE나 제3자에게 정보를 전송하지 않습니다. KDE Connect는 인터넷을 통하지 않고 로컬 네트워크 내에서 장치간 정보를 직접 전송하며, 종단간 암호화를 사용합니다.
이 앱은 오픈 소스 프로젝트의 일부입니다. 웹사이트를 방문하여 소스 코드를 확인할 수 있습니다.

View File

@@ -1 +0,0 @@
KDE Connect는 스마트폰과 컴퓨터를 통합합니다

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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.

View File

@@ -1 +0,0 @@
KDE Connect integreert uw smartphone en computer

View File

@@ -1 +0,0 @@
KDE Connect

View File

@@ -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 telefon­skjermen som styreplate for datamaskina
Synkronisering av varslingar: få tilgang til telefon­varslingar 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»
Bakgrunns­lø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.

Some files were not shown because too many files have changed in this diff Show More