2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-09-01 06:35:09 +00:00

Compare commits

..

154 Commits
v0.8d ... v0.9d

Author SHA1 Message Date
Albert Vaca
4fab4d4a6c Bumped version number for release 2015-11-12 08:17:16 -08:00
Albert Vaca
47db10e055 Warnings 2015-11-12 08:16:54 -08:00
Albert Vaca
c0ae2c9c08 Make the rename box look slightly better 2015-11-12 08:14:24 -08:00
Albert Vaca
f4db8e6160 Trying to make the device label more easily clickable 2015-11-12 08:14:12 -08:00
Albert Vaca
d20cf1696b Added more device names 2015-11-12 06:33:20 -08:00
Albert Vaca
ca0ca6f7b7 Do not override system's screen orientation setting
BUG: 345934
2015-11-12 02:31:32 -08:00
Albert Vaca
29ff203f24 Spotify player name will now be lowercase, mind both variants... 2015-11-11 11:05:08 -08:00
Albert Vaca
47c9729e04 Removed logs 2015-09-18 04:40:33 -07:00
Albert Vaca
b2819557bc Bumped version number to release 2015-09-16 09:42:09 -07:00
Albert Vaca
b8daca41b0 Modified icon for better display on light backgrounds 2015-09-16 09:33:43 -07:00
Albert Vaca
45ca9aae89 Fixed concurrent modification exception 2015-09-14 04:19:13 -07:00
Albert Vaca
0e8257d515 Bumped version for release 2015-09-12 14:30:20 -07:00
Albert Vaca
a702f7869f Copied translations from master 2015-09-12 13:48:39 -07:00
Albert Vaca
606cbcdd8b Bumped version 2015-09-12 13:37:00 -07:00
Albert Vaca
24ca5f706a Fixed pairing requests not being displayed after clicking the notification 2015-09-12 13:21:06 -07:00
Albert Vaca
6b18c2f28e Top margin should be in the title, not in the view 2015-09-12 11:53:06 -07:00
Albert Vaca
16cffda2e2 Increased version number to beta-release 2015-09-11 07:10:38 -07:00
Albert Vaca
473d984971 Moved the unique ID out of networkpackage se we don't need to create one 2015-09-11 06:07:12 -07:00
Albert Vaca
78d80ef5eb Unused import 2015-09-11 04:38:45 -07:00
Albert Vaca
95046e547f Open URLs by default in share plugin 2015-09-11 03:46:23 -07:00
Albert Vaca
34ec43445d Better print something on exception 2015-09-11 03:46:23 -07:00
Albert Vaca
9fed9e4b9a Added a new custom icon for notifications 2015-09-11 03:46:23 -07:00
Albert Vaca
cf8f87b6a1 Fixed crash 2015-09-11 01:23:07 -07:00
Albert Vaca
52a61f5663 Fixed test 2015-09-10 15:49:50 -07:00
Albert Vaca
ec0d91d3c2 Volume icon conforming to the Android Material guidelines 2015-09-10 15:49:50 -07:00
Albert Vaca
bde4a06fe0 Increased the version number to beta-release 2015-09-10 08:07:06 -07:00
Albert Vaca
dcb54ebf4a Fixed some potential concurrent modification exceptions 2015-09-10 08:05:23 -07:00
Albert Vaca
b1ef93a90c Fixed drawer's updateComputerList not being called when there were changes
Plus removed some unnecessary calls in other places.
2015-09-10 07:48:32 -07:00
Albert Vaca
a6e22f57f3 Increased version number to beta-release 2015-09-09 12:35:00 -07:00
Albert Vaca
55ae564023 Removed logs 2015-09-09 12:34:50 -07:00
Albert Vaca
24561b58f9 The discovery now should be enabled while navigating the app UI 2015-09-09 12:34:42 -07:00
Albert Vaca
c837079e03 Fixed crash 2015-09-09 12:30:24 -07:00
Albert Vaca
a9b4a6bdea Removed printfs and coding style stuff 2015-09-09 12:30:13 -07:00
Albert Vaca
d35623a28a Fixed discoverable mode dropping connections that we didn't create 2015-09-09 03:31:39 -07:00
Albert Vaca
0b8500338a Removed some logging 2015-09-09 03:22:34 -07:00
Albert Vaca
d5114c2238 Don't disconnect paired devices! 2015-09-09 02:03:36 -07:00
Albert Vaca
59cdc2f6a8 Don't show buttons that can't be clicked 2015-09-09 01:50:12 -07:00
Albert Vaca
d860b67ba9 Prettier message 2015-09-09 01:50:12 -07:00
Albert Vaca
803464a7ce Fixed crash 2015-09-09 01:50:12 -07:00
Albert Vaca
b0a96ace32 Show connected devices in pairingfragment because otherwise it's confusing 2015-09-09 01:50:12 -07:00
Albert Vaca
10d9ff5a5a Commented out some logs 2015-09-09 01:50:12 -07:00
Albert Vaca
cedffe6578 Assume computer by default from the phone for device with no type 2015-09-09 01:50:12 -07:00
Albert Vaca
edb0ae3198 Device type should be "desktop", no "computer" 2015-09-09 01:50:11 -07:00
Albert Vaca
57bc4d46a9 Make it look better on old Androids 2015-09-09 01:50:11 -07:00
Albert Vaca
3bd6aabc96 Ooops 2015-09-09 01:50:11 -07:00
Aleix Pol
628142307f Reduce the amount of traffic we get
Only connect to the non-paired devices when we're on discovery mode,
otherwise disconnect from them.

Reviewed by Albert Vaca

BUG: 352424
2015-09-09 00:45:56 +02:00
David Edmundson
e68ba07e09 Use full keyboard handling rather than key events to get UTF-8 support
Use Androids InputConnection mechanism to get data from they keyboard,
rather than handling keys individually. This fixes UTF-8. As a side
effect, using "Google Voice Keyboard" to enter text will automatically
work.

Special keys and modifiers are still handled by the key event handler.

BUG: 350437
2015-09-08 10:23:49 +02:00
Albert Vaca
e637f46a46 Bumped version number to beta-release. 2015-09-07 02:19:47 -07:00
Albert Vaca
92e4fa864a Removed old UI 2015-09-07 02:16:23 -07:00
Albert Vaca
0e40327a50 Darkened volume icon 2015-09-07 02:16:23 -07:00
Albert Vaca
596440a0bc Bumped version number to release 2015-09-07 02:16:23 -07:00
Albert Vaca
8d9634730f DeviceFragment now also has the UI for pairing, dropped PairingActivity. 2015-09-07 02:16:23 -07:00
Albert Vaca
79f55d7ac2 Share Plugin now adds a "send file" item in the device plugins list. 2015-09-07 02:16:23 -07:00
Albert Vaca
9cc51287e2 MainActivity -> MaterialActivity 2015-09-07 02:16:23 -07:00
Albert Vaca
dd94f30c8a Implemented the context menu for PairingFragment 2015-09-07 02:16:23 -07:00
Albert Vaca
e2081d3892 Make sure we close our streams! 2015-09-07 02:16:23 -07:00
Albert Vaca
aa94a61732 Materialized logo 2015-09-07 02:16:23 -07:00
Albert Vaca
405dc258db Fixed DeviceFragment not loading the latest plugins list when displayed 2015-09-07 02:16:23 -07:00
Albert Vaca
c535637b45 Fixed PairingFragment and MaterialAct stealing the callback from each other 2015-09-07 02:16:23 -07:00
Albert Vaca
4d9f2d12b5 Change activity after unpairing 2015-09-07 02:16:23 -07:00
Albert Vaca
c46c669aad Fixed plugin list not reloading after the noti plugin is given permissions 2015-09-07 02:16:23 -07:00
Albert Vaca
e1f3ac9491 Removed some unused imports 2015-09-07 02:16:23 -07:00
Albert Vaca
1692fe714d Small appearance fixes. 2015-09-07 02:16:23 -07:00
Albert Vaca
9e44ce9c02 Trying to add the options menu to the DeviceFragment + crashes fixed 2015-09-07 02:16:23 -07:00
Albert Vaca
53d9b85d8b It's now possible to rename your device from the new UI 2015-09-07 02:16:23 -07:00
Albert Vaca
e71e409a38 Changed the colors of the drawer 2015-09-07 02:16:23 -07:00
Albert Vaca
4b9d946774 Fixed notifications plugin incompatibility with Android<21 2015-09-07 02:16:23 -07:00
Albert Vaca
e59ffc97fa More material: pairing works and revamped plugin preferences 2015-09-07 02:16:23 -07:00
Albert Vaca
12334f5a31 WIP 2015-09-07 02:16:22 -07:00
Ashish Bansal
0eb3c6e9f5 Load plugins which are registered to listen to unpaired devices
Plugins which are registered to receive packages from unpaired devices
should be loaded even if device is not paired, otherwise they won't be
able to listen to NetworkPackages from the unpaired devices.

REVIEW: 124906
2015-08-27 13:06:24 +05:30
Albert Vaca
b34e7c8a78 Missing breaks in switch 2015-08-20 00:50:56 -07:00
Ashish Bansal
0868394596 Changed abstract plugin to receive packages from unpaired device
Now plugin can register to receive network packages from unpaired
devices.

REVIEW: 124819
2015-08-19 21:36:56 +05:30
Albert Vaca
403c18a056 Notifications plugin now uses notifications' "key"s as id.
Instead of our custom packageName + tag + scoped id.
2015-08-10 00:28:16 -07:00
Albert Vaca
a15b06cdc7 Minor fixes (mostly cosmetic) as per Android Lint analysis 2015-08-10 00:26:58 -07:00
Albert Vaca
64c8eb8767 Oops! 2015-08-09 22:44:26 -07:00
Albert Vaca
7a5e0aca73 Updated device names list as per [1]
[1] https://github.com/meetup/android-device-names/pull/4
2015-08-04 10:53:50 -07:00
Albert Vaca
6c3aedbbc3 Removed some icons we don't need 2015-08-04 10:53:35 -07:00
Albert Vaca
fb49f471fb Bumped Android Gradle plugin version 2015-08-02 01:22:43 -07:00
l10n daemon script
b601f6b3c5 SVN_SILENT made messages (after extraction) 2015-08-01 02:07:19 +00:00
l10n daemon script
2c296c4d19 SVN_SILENT made messages (after extraction) 2015-07-14 02:30:21 +00:00
l10n daemon script
252bbb45d0 SVN_SILENT made messages (after extraction) 2015-07-11 02:01:33 +00:00
l10n daemon script
d9415eb0e9 SVN_SILENT made messages (after extraction) 2015-06-30 02:20:44 +00:00
l10n daemon script
861d98eeff SVN_SILENT made messages (after extraction) 2015-06-27 02:02:20 +00:00
l10n daemon script
4bc5c7e1ae SVN_SILENT made messages (after extraction) 2015-06-23 02:23:32 +00:00
l10n daemon script
e53e11a184 SVN_SILENT made messages (after extraction) 2015-06-19 02:14:47 +00:00
l10n daemon script
79df72b80b SVN_SILENT made messages (after extraction) 2015-06-18 02:07:27 +00:00
l10n daemon script
64eeb98b8e SVN_SILENT made messages (after extraction) 2015-06-17 02:02:24 +00:00
Albert Vaca
fb5fdf752d Don't mangle stacktraces, so crash reports are useful again. 2015-06-15 23:01:09 -07:00
Albert Vaca
99a6578ce3 If both devices request pairing at the same time, we just pair.
The second device accepts the request instead of failing.
2015-06-15 09:03:38 -07:00
l10n daemon script
4e46d83853 SVN_SILENT made messages (after extraction) 2015-06-15 02:06:13 +00:00
Albert Vaca
275cd03b19 Increased version number to release 2015-06-14 03:04:54 -07:00
Albert Vaca
c0a70e35f0 Fixed widgets not using the theme of the app
The problem was that I was passing the base context instead of the view's
2015-06-14 02:59:14 -07:00
Albert Vaca
8f3e0a8555 Don't define a theme that we don't use.
Now we use our theme, even though it just inherits from AppCompat's theme
2015-06-14 02:59:14 -07:00
Albert Vaca
2f77e24ad1 Possible crash related to device name handling
BUG: 348844
2015-06-14 02:59:14 -07:00
Albert Vaca
5b694a3b3e Fixed Android 4.1 crash 2015-06-14 02:59:14 -07:00
Albert Vaca
9a04f24de6 Apply AppCompat theme application-wise instead of per activity.
Last appcompat-v7-22 allows preference activities to use the AppCompat
themes via an AppCompatDelegate.
2015-06-14 02:59:14 -07:00
Albert Vaca
39fba2ef2a Bumped SDK version 2015-06-14 00:11:38 -07:00
Albert Vaca
de66bdfae3 pickFirst seems a better option than exclude 2015-06-13 21:47:32 -07:00
Albert Vaca
017d05b189 Added a proguard file that should fix a crash on Android 4.2 for Samsung
Also reduces the size of the APK.
2015-06-13 21:47:32 -07:00
l10n daemon script
d6264c3359 SVN_SILENT made messages (after extraction) 2015-06-14 02:11:57 +00:00
Vineet Garg
3e70c21031 Added LanLinkTest and LanLinkProviderTest 2015-06-13 12:36:22 +05:30
l10n daemon script
2a6325c472 SVN_SILENT made messages (after extraction) 2015-06-12 02:11:42 +00:00
Vineet Garg
3aadc94278 Added tests - DeviceTest and NetworkPackageTest 2015-06-10 12:29:53 +05:30
l10n daemon script
9e8efb1822 SVN_SILENT made messages (after extraction) 2015-06-10 02:11:10 +00:00
l10n daemon script
74f5e2bf84 SVN_SILENT made messages (after extraction) 2015-06-09 02:20:08 +00:00
l10n daemon script
45fdf3c0ac SVN_SILENT made messages (after extraction) 2015-06-08 02:03:58 +00:00
Albert Vaca
e00376a316 I meant "outdated comment" 2015-06-06 00:48:22 -07:00
Albert Vaca
f41fb4a9da Removed outdated plugin 2015-06-06 00:47:00 -07:00
Albert Vaca
e9a2cbd36b Fixed inconsistent plugin names 2015-06-06 00:43:38 -07:00
Albert Vaca
d5cb11e6c2 Changed color of device icons 2015-06-06 00:39:04 -07:00
Albert Vaca
3b0a3e265d Plugin key is now the plugin class instead of being defined by each plugin 2015-06-06 00:39:04 -07:00
Albert Vaca
a5e9b29e20 Don't call mutex.lock in the main thread 2015-06-06 00:32:05 -07:00
Albert Vaca
307071e9e7 Better names for some plugins 2015-06-06 00:32:05 -07:00
Albert Vaca
7c3e223e29 Default to phone instead of tablet for unknown devices 2015-06-06 00:32:05 -07:00
Albert Vaca
899c73d254 Removed ldpi icon 2015-06-06 00:25:33 -07:00
l10n daemon script
bd14c462dd SVN_SILENT made messages (after extraction) 2015-05-28 02:06:01 +00:00
l10n daemon script
e9b4ca70e9 SVN_SILENT made messages (after extraction) 2015-05-25 02:00:51 +00:00
l10n daemon script
706e3f71b5 SVN_SILENT made messages (after extraction) 2015-05-24 02:12:55 +00:00
l10n daemon script
f9b69a7e45 SVN_SILENT made messages (after extraction) 2015-05-17 02:10:34 +00:00
Albert Vaca
299e7e8375 Handling device type. Added device type icons (still unused). 2015-05-08 23:24:01 -07:00
Albert Vaca
f82c9c08cf Added icons to plugins (still unused). 2015-05-08 23:24:01 -07:00
Albert Vaca
25e1505df0 New interface for plugins 2015-05-08 23:23:36 -07:00
Albert Vaca
4d65382fa1 Moved icons from drawable to drawable-mdpi. We don't use drawable anymore. 2015-05-08 23:22:52 -07:00
Albert Vaca
bf02f639b7 Unpair if something goes wrong while loading a remembered device 2015-05-08 23:20:23 -07:00
Albert Vaca Cintora
067f01134a Added readme file. 2015-05-08 23:20:14 -07:00
l10n daemon script
7e2df27adb SVN_SILENT made messages (after extraction) 2015-04-14 02:47:49 +00:00
Albert Vaca
45bbed6d72 Increased version number to release 2015-04-11 23:53:24 -07:00
Albert Vaca
42f2f425a1 Commented out sendIcons logic until we fix the incomplete file transfers. 2015-04-11 23:53:24 -07:00
Albert Vaca
801c7cbd45 Default priority is not enough to intercept SMS with some apps.
Trying raising it to 500 (maximum is 999).

BUG: 342215
2015-04-11 23:53:24 -07:00
Albert Vaca
366aaea282 Removed unused styles.xml 2015-04-11 23:53:23 -07:00
Albert Vaca
02f5ce2581 Using setSoTimeout instead of implementing the timeout ourselves 2015-04-11 23:53:23 -07:00
l10n daemon script
a360ca0a01 SVN_SILENT made messages (after extraction) 2015-04-12 02:27:37 +00:00
l10n daemon script
d356a9e964 SVN_SILENT made messages (after extraction) 2015-04-08 02:03:18 +00:00
l10n daemon script
e588428812 SVN_SILENT made messages (after extraction) 2015-04-07 02:32:08 +00:00
l10n daemon script
db0f6288ff SVN_SILENT made messages (after extraction) 2015-04-06 02:03:40 +00:00
Albert Vaca
86236169d1 Increase version to release 2015-04-04 18:20:57 -07:00
Albert Vaca
32d9f199ff Let's flush this socket just in case 2015-04-04 18:08:53 -07:00
Albert Vaca
1d51c8792d Do not disconnect the devices when refreshing the listeners
This caused the devices to flicker in the main activity
2015-04-04 17:09:38 -07:00
Albert Vaca
6124b9a206 Minor changes trying to debug discovery issue reported by Aleix on the list 2015-04-04 17:08:26 -07:00
Albert Vaca
c3ad265490 Fixed crash 2015-04-04 14:41:22 -07:00
Albert Vaca
9cf9f43118 Fixes some potential null pointer exceptions reported by Coverity 2015-04-04 14:29:20 -07:00
Albert Vaca
11012e21e5 Added a different notification message for failed file transfers 2015-04-04 14:29:16 -07:00
Albert Vaca
b7faa97292 Handle closing some resources that we were missing to close 2015-04-04 14:29:11 -07:00
Albert Vaca
cc17402609 Fixed NioSocketConnector being kept open after every connection received
And other fixes in the LanLinkProvider
2015-04-04 12:55:52 -07:00
Albert Vaca
a0b82d17b4 Added some logging to help debugging an issue, now commented for future use
Also we prepend KDE/ to these logs to ease filtering them
2015-04-04 11:37:12 -07:00
Albert Vaca
8550de5e7f Coding style 2015-04-04 10:43:49 -07:00
Albert Vaca
46c70639ac Only unpair when receiving unknown packages if I'm not requesting pairing
In case the other device thinks we are paired and answers my identity
packet with unexpected stuff.
2015-03-30 23:26:57 -07:00
l10n daemon script
fb2b1232fb SVN_SILENT made messages (after extraction) 2015-03-31 02:22:21 +00:00
l10n daemon script
c2011831a9 SVN_SILENT made messages (after extraction) 2015-03-30 02:06:46 +00:00
l10n daemon script
ac3ab375ab SVN_SILENT made messages (after extraction) 2015-03-21 02:14:46 +00:00
Albert Vaca
ab4a1079cc Increased version number to release 2015-03-15 17:52:25 -07:00
Albert Vaca
57871802d8 Only try to mount the root of the phone if we have read access to it
BUG: 336043
2015-03-15 17:52:25 -07:00
Albert Vaca
838be381c3 Establishing connection only worked one way (bug introduced in 459fe40) 2015-03-15 16:58:28 -07:00
l10n daemon script
53ad94ef32 SVN_SILENT made messages (after extraction) 2015-03-14 02:09:03 +00:00
178 changed files with 5064 additions and 2698 deletions

View File

@@ -1,117 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.kde.kdeconnect_tp"
android:versionCode="804"
android:versionName="0.8d">
android:versionCode="908"
android:versionName="0.9d">
<uses-sdk android:minSdkVersion="9"
android:targetSdkVersion="21" />
android:targetSdkVersion="22" />
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"
/>
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature
android:name="android.hardware.telephony"
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.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" android:required="false" />
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
android:required="false" />
<uses-permission android:name="android.permission.BATTERY_STATS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" android:required="false" />
<uses-permission
android:name="android.permission.RECEIVE_SMS"
android:required="false" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="KDE Connect"
android:theme="@style/KdeConnectTheme"
>
<service
android:enabled="true"
android:name="org.kde.kdeconnect.BackgroundService">
android:name="org.kde.kdeconnect.BackgroundService"
android:enabled="true" >
</service>
<activity
android:theme="@style/Theme.AppCompat"
android:name="org.kde.kdeconnect.UserInterface.MainActivity"
android:label="KDE Connect" >
android:name="org.kde.kdeconnect.UserInterface.MaterialActivity"
android:label="KDE Connect"
android:theme="@style/KdeConnectTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.MainSettingsActivity"
android:label="@string/settings"
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:theme="@style/Theme.AppCompat"
android:name="org.kde.kdeconnect.UserInterface.DeviceActivity"
android:label="@string/device"
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:theme="@style/Theme.AppCompat"
android:name="org.kde.kdeconnect.UserInterface.PairActivity"
android:label="@string/pair_device"
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.SettingsActivity"
android:label="@string/device_menu_plugins"
android:parentActivityName="org.kde.kdeconnect.UserInterface.DeviceActivity"
>
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.DeviceActivity" />
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.CustomDevicesActivity"
android:label="@string/custom_devices_settings"
android:parentActivityName="org.kde.kdeconnect.UserInterface.DeviceActivity"
>
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.DeviceActivity" />
android:name="org.kde.kdeconnect.UserInterface.CustomDevicesActivity"
android:label="@string/custom_devices_settings"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.SharePlugin.SendFileActivity"
android:label="KDE Connect"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.PluginSettingsActivity"
android:label="@string/device_menu_plugins"
android:parentActivityName="org.kde.kdeconnect.UserInterface.SettingsActivity"
>
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:parentActivityName="org.kde.kdeconnect.UserInterface.SettingsActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.SettingsActivity" />
</activity>
<receiver android:name="org.kde.kdeconnect.KdeConnectBroadcastReceiver">
<receiver android:name="org.kde.kdeconnect.KdeConnectBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data android:scheme="package" android:path="org.kde.kdeconnect" />
<data
android:host="kdeconnect"
android:path="/"
android:scheme="package" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
@@ -122,7 +106,8 @@
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
<!--<intent-filter>
<!--
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
<intent-filter>
@@ -130,53 +115,53 @@
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED" />
</intent-filter>-->
</intent-filter>
-->
</receiver>
<!-- Plugin-related activities and services -->
<activity
android:theme="@style/Theme.AppCompat"
android:name="org.kde.kdeconnect.Plugins.MprisPlugin.MprisActivity"
android:label="@string/remote_control"
android:parentActivityName="org.kde.kdeconnect.UserInterface.DeviceActivity"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity"
>
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.DeviceActivity" />
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
<activity
android:theme="@style/Theme.AppCompat"
android:name="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity"
android:label="@string/remote_control"
android:windowSoftInputMode="stateHidden|adjustResize"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="fullSensor"
android:parentActivityName="org.kde.kdeconnect.UserInterface.DeviceActivity"
>
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.DeviceActivity" />
android:label="@string/remote_control"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity"
android:windowSoftInputMode="stateHidden|adjustResize" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
<activity
android:theme="@style/Theme.AppCompat"
android:name="org.kde.kdeconnect.Plugins.SharePlugin.ShareActivity"
android:label="KDE Connect"
>
<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>
</activity>
<service android:name="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationReceiver"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<service
android:name="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationReceiver"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
@@ -185,7 +170,6 @@
<activity
android:name="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationFilterActivity"
android:label="@string/title_activity_notification_filter"
android:theme="@style/Theme.AppCompat"
android:parentActivityName="org.kde.kdeconnect.UserInterface.PluginSettingsActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"

25
README.md Normal file
View File

@@ -0,0 +1,25 @@
# 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 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.
All this without wires, over the already existing WiFi network, and using a secure, encrypted protocol.
## 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://github.com/albertvaka/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://github.com/albertvaka/kdeconnect-kde) for it to work.
## 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://projects.kde.org/projects/playground/base/kdeconnect-android/repository/).

View File

@@ -3,18 +3,18 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.+'
classpath 'com.android.tools.build:gradle:1.3.0'
}
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion '21.1.2'
compileSdkVersion 22
buildToolsVersion '22.0.1'
defaultConfig {
minSdkVersion 9
targetSdkVersion 21
targetSdkVersion 22
}
sourceSets {
main {
@@ -24,19 +24,24 @@ android {
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
androidTest {
java.srcDirs = ['tests']
}
}
packagingOptions {
exclude "META-INF/DEPENDENCIES"
exclude "META-INF/NOTICE"
exclude "META-INF/LICENSE"
exclude "META-INF/LICENSE.txt"
exclude "META-INF/NOTICE.txt"
pickFirst "META-INF/DEPENDENCIES"
pickFirst "META-INF/LICENSE"
pickFirst "META-INF/NOTICE"
}
lintOptions {
abortOnError false
checkReleaseBuilds false
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
}
@@ -44,11 +49,19 @@ dependencies {
repositories {
mavenCentral()
}
compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
compile 'org.apache.mina:mina-core:2.0.9'
compile 'org.apache.sshd:sshd-core:0.8.0'
compile 'org.bouncycastle:bcprov-jdk16:1.46'
androidTestCompile 'org.mockito:mockito-core:1.10.19'
// Because mockito has some problems with dex environment
androidTestCompile 'com.google.dexmaker:dexmaker:1.1'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.1'
//compile fileTree(dir: 'libs', include: '*.jar')
}

281
icon.svg
View File

@@ -14,8 +14,11 @@
height="274.43201"
id="svg2"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="kdeconnect.svg">
inkscape:version="0.91 r"
sodipodi:docname="icon.svg"
inkscape:export-filename="/home/vaka/kdeconnect/kdeconnect-android/res/drawable-mdpi/icon.png"
inkscape:export-xdpi="15.741604"
inkscape:export-ydpi="15.741604">
<defs
id="defs4">
<linearGradient
@@ -65,18 +68,6 @@
offset="1"
id="stop4280" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient4153">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop4155" />
<stop
style="stop-color:#000000;stop-opacity:0"
offset="1"
id="stop4157" />
</linearGradient>
<linearGradient
id="linearGradient3994">
<stop
@@ -516,43 +507,6 @@
y2="967.36218"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-296.98485,-295.9747)" />
<filter
inkscape:collect="always"
id="filter3898"
x="-0.0093191492"
width="1.0186383"
y="-0.14599991"
height="1.2919998">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.91250003"
id="feGaussianBlur3900" />
</filter>
<filter
inkscape:collect="always"
id="filter3902">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.91250003"
id="feGaussianBlur3904" />
</filter>
<filter
inkscape:collect="always"
id="filter3935">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.5499999"
id="feGaussianBlur3937" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3994"
id="linearGradient4000"
x1="-61.213001"
y1="-85.49823"
x2="238.787"
y2="424.50177"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3994-1"
@@ -613,52 +567,6 @@
offset="1"
id="stop3998-2" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4153"
id="linearGradient4159"
x1="130"
y1="1052.3622"
x2="130"
y2="1032.3622"
gradientUnits="userSpaceOnUse" />
<filter
inkscape:collect="always"
id="filter4182"
x="-0.0093191487"
width="1.0186383"
y="-0.146"
height="1.292">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.91249998"
id="feGaussianBlur4184" />
</filter>
<filter
inkscape:collect="always"
id="filter4186">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.91249998"
id="feGaussianBlur4188" />
</filter>
<filter
color-interpolation-filters="sRGB"
inkscape:collect="always"
id="filter3935-5">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.5499999"
id="feGaussianBlur3937-7" />
</filter>
<filter
inkscape:collect="always"
id="filter4253">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.54999983"
id="feGaussianBlur4255" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4276"
@@ -680,7 +588,7 @@
gradientUnits="userSpaceOnUse"
gradientTransform="translate(415.17269,-239.40615)" />
<linearGradient
gradientTransform="matrix(1.5765306,0,0,1.5765306,-240.12657,-563.0272)"
gradientTransform="matrix(1.838244,0,0,1.760204,-248.41104,-733.67334)"
inkscape:collect="always"
xlink:href="#linearGradient4303-8"
id="linearGradient4309-4"
@@ -701,25 +609,6 @@
offset="1"
id="stop4307-0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4022"
id="linearGradient4028"
x1="338.78699"
y1="-145.49823"
x2="388.78699"
y2="-25.498228"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.5765306,0,0,1.5765306,-382.12995,246.43833)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4022"
id="linearGradient4052"
x1="141.07115"
y1="130.60065"
x2="243.84538"
y2="130.60065"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4123"
@@ -839,45 +728,38 @@
offset="1"
id="stop3998-0" />
</linearGradient>
<filter
inkscape:collect="always"
id="filter4199">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="2.555"
id="feGaussianBlur4201" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#000000"
pagecolor="#ffffff"
bordercolor="#9d4f2f"
borderopacity="1"
inkscape:pageopacity="0.51372549"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="237.10108"
inkscape:cy="152.16765"
inkscape:zoom="2"
inkscape:cx="118.88075"
inkscape:cy="143.06055"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1366"
inkscape:window-height="713"
inkscape:window-x="0"
inkscape:window-y="-3"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-4"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0">
fit-margin-bottom="0"
showborder="true">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
enabled="false"
snapvisiblegridlinesonly="true"
originx="8.7869998px"
originy="9.9302358px" />
@@ -885,10 +767,6 @@
orientation="1,0"
position="8.7869998,239.93024"
id="guide2989" />
<sodipodi:guide
orientation="0,1"
position="201.787,265.93024"
id="guide2991" />
<sodipodi:guide
orientation="1,0"
position="263.787,-0.0697642"
@@ -899,11 +777,7 @@
id="guide2995" />
<sodipodi:guide
orientation="1,0"
position="118.787,309.93024"
id="guide4512" />
<sodipodi:guide
orientation="1,0"
position="158.787,289.93024"
position="263.787,296.98485"
id="guide4514" />
<sodipodi:guide
orientation="0,1"
@@ -911,20 +785,8 @@
id="guide3939" />
<sodipodi:guide
orientation="0,1"
position="148.787,89.930236"
position="-434.64286,137.14286"
id="guide3941" />
<sodipodi:guide
orientation="1,0"
position="223.787,174.93024"
id="guide3942" />
<sodipodi:guide
orientation="1,0"
position="203.787,179.93024"
id="guide3944" />
<sodipodi:guide
orientation="1,0"
position="63.787,39.930236"
id="guide4111" />
<sodipodi:guide
orientation="1,0"
position="128.787,19.930236"
@@ -938,7 +800,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
<dc:title></dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Malcer</dc:title>
@@ -952,83 +814,31 @@
inkscape:groupmode="layer"
id="layer1"
transform="translate(8.7869998,-787.86042)">
<rect
style="opacity:0.5;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter4199)"
id="rect3908-2"
width="255"
height="256"
x="-7.9314225e-07"
y="796.36218"
rx="10"
ry="9.0819159"
transform="matrix(1.0053352,0,0,1.0053352,0.03271549,-4.2160417)" />
<rect
style="opacity:0.2;fill:#b3b3b3;fill-opacity:1;stroke:none"
id="rect3908-8"
width="259"
height="260"
x="-2"
y="794.36218"
rx="12"
ry="11.000009" />
<rect
style="fill:url(#linearGradient4000);fill-opacity:1;stroke:none"
id="rect3908"
width="255"
height="256"
x="8.7869997"
y="8.5017672"
transform="translate(-8.7869998,787.86042)"
rx="10"
ry="9.0819159" />
<rect
style="opacity:0.2;fill:url(#linearGradient4159);fill-opacity:1;stroke:none"
id="rect3908-1"
width="255"
height="229.99998"
x="0"
y="822.36218"
rx="10"
ry="9.0819159" />
<path
style="opacity:0.1;fill:#000000;fill-opacity:1;stroke:none"
d="m 33.787,244.50177 115,-219.999999 115,139.999999 0,90 0,0 0,0 c 0,0 0,-10 0,0 0,10 -10.11244,10 -10.11244,10 l -204.88756,0 z"
id="path4311"
inkscape:connector-curvature="0"
transform="translate(-8.7869998,787.86042)"
sodipodi:nodetypes="cccccczccc" />
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;opacity:0.2"
d="m 18.787,8.5017668 c 10,0 227,8.4e-6 235,4.2e-6 8,-4.2e-6 10,7 10,9 0,2 0,2 0,2 -1,-4 -5,-6 -8,-6 -82.05383,0 -156.925223,0 -239,0 -4,0 -7.014667,3.536667 -8.0000003,6 0,0 10e-8,-1 10e-8,-2 0,-1 0,-9.0000042 10.0000002,-9.0000042 z"
id="rect4116"
inkscape:connector-curvature="0"
sodipodi:nodetypes="zzzcccczz"
transform="translate(-8.7869998,787.86042)" />
<path
style="fill:#f2f2f2;fill-opacity:1;stroke:none"
d="m 27.883669,812.27851 110.357121,0 c 4.36699,0 7.88265,3.51567 7.88265,7.88266 l 0,39.41326 -9.45918,0 0,-36.2602 -107.204076,0 0,192.33677 107.204076,0 0,-156.07657 9.45918,0 0,165.53567 c 0,4.367 -3.51566,7.8827 -7.88265,7.8827 l -110.357121,0 c -4.367006,0 -7.882669,-3.5157 -7.882669,-7.8827 l 0,-204.94893 c 0,-4.36699 3.515663,-7.88266 7.882669,-7.88266 z"
style="fill:#f5f5f5;fill-opacity:1;stroke:none"
d="m 64.090487,801.86214 128.677053,0 c 5.09194,0 9.19121,3.92526 9.19121,8.80103 l 0,44.00509 -11.02945,0 0,-40.48469 -125.000587,0 0,214.74493 125.000587,0 0,-174.26024 11.02945,0 0,184.82144 c 0,4.8757 -4.09927,8.801 -9.19121,8.801 l -128.677053,0 c -5.091955,0 -9.191239,-3.9253 -9.191239,-8.801 l 0,-228.82653 c 0,-4.87577 4.099284,-8.80103 9.191239,-8.80103 z"
id="rect3099-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sssccccccccssssss" />
<rect
style="fill:#2d2d2d;fill-opacity:1;stroke:none"
id="rect3907-1"
width="107.20409"
height="192.33675"
x="29.460182"
y="823.31403"
width="125.0006"
height="214.7449"
x="65.928711"
y="814.18335"
rx="0"
ry="0" />
<rect
style="fill:#1a1a1a;fill-opacity:1;stroke:none"
id="rect3946-5"
width="31.530609"
height="1.5765324"
x="67.296921"
y="817.00793"
ry="0.78826618" />
width="35.204079"
height="1.760206"
x="110.82697"
y="807.14258"
ry="0.88010299" />
<g
transform="matrix(0.80336174,0,0,0.80336174,28.27591,877.43019)"
transform="matrix(0.99703783,0,0,0.99703783,60.422321,868.29896)"
id="g3764-6-1"
style="fill:#f2f2f2;fill-opacity:1">
<g
@@ -1048,20 +858,23 @@
</g>
<path
style="opacity:0.5;fill:url(#linearGradient4309-4);fill-opacity:1;stroke:none"
d="m 29.460184,823.31423 77.249996,0 13.39023,-0.95204 -76.27562,194.86531 -15.941137,0 z"
d="m 65.928713,814.18357 90.073947,0 15.61309,-1.06296 -88.937821,217.56809 -18.58746,0 z"
id="rect3907-9-4"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<g
<path
style="opacity:0.4;fill:#ffffff;fill-opacity:1;stroke:none"
d="m 72.876953,14.001953 c -5.091955,0 -9.191406,3.925011 -9.191406,8.800781 l 0,2 c 0,-4.87577 4.099451,-8.800781 9.191406,-8.800781 l 128.677737,0 c 5.09194,0 9.1914,3.925011 9.1914,8.800781 l 0,-2 c 0,-4.87577 -4.09946,-8.800781 -9.1914,-8.800781 z"
transform="translate(-8.7869998,787.86042)"
style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:url(#linearGradient4052);font-family:Nokia Pure Text;-inkscape-font-specification:Nokia Pure Text;stroke-width:7;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="text3247">
<path
d="m 175.48241,130.60064 c 0,-12.66854 -7.72782,-25.08374 -19.63624,-29.77109 -1.01349,-0.50675 -2.15367,-0.63344 -3.16714,-0.63344 -4.43399,0 -8.10788,3.54721 -8.10788,8.10788 0,9.62809 14.69552,6.96771 14.69552,22.29665 0,15.32892 -14.69552,12.66856 -14.69552,22.29665 0,4.56067 3.67389,8.10786 8.10788,8.10786 1.01347,0 2.15365,-0.12675 3.16714,-0.63341 11.90842,-4.81405 19.63624,-17.10257 19.63624,-29.7711 m 32.43149,0 c 0,-25.71712 -15.45564,-49.660734 -39.2725,-59.668882 -1.01349,-0.380054 -2.15365,-0.633418 -3.29383,-0.633418 -4.43399,0 -8.10787,3.673884 -8.10787,8.107876 0,3.547179 2.02697,5.95421 4.94073,7.474443 3.42051,1.773596 6.58766,3.293813 9.62811,5.574155 12.54186,9.121356 19.88962,23.690216 19.88962,39.145826 0,15.45561 -7.34776,30.02448 -19.88962,39.14582 -3.04045,2.28033 -6.2076,3.80056 -9.62811,5.57416 -2.91376,1.52023 -4.94073,3.92726 -4.94073,7.47444 0,4.43399 3.67388,8.10788 8.23456,8.10788 1.01349,0 2.15365,-0.25337 3.16714,-0.63344 23.81686,-10.00813 39.2725,-33.95173 39.2725,-59.66886 m 32.43149,0 c 0,-38.892415 -23.18348,-74.111022 -58.90875,-89.439944 -1.01349,-0.380071 -2.15365,-0.633435 -3.29383,-0.633435 -4.43398,0 -8.10786,3.673884 -8.10786,8.107877 0,3.673868 1.90028,5.700845 4.94072,7.474442 1.77359,1.013473 3.80057,1.646891 5.70086,2.66038 3.54718,1.900271 7.09439,4.053938 10.3882,6.460953 20.7764,15.328939 33.06492,39.525917 33.06492,65.369727 0,25.84382 -12.28852,50.04079 -33.06492,65.36973 -3.29381,2.40701 -6.84102,4.56066 -10.3882,6.46095 -1.90029,1.01349 -3.92727,1.64691 -5.70086,2.66039 -3.04044,1.7736 -4.94072,3.80058 -4.94072,7.47445 0,4.43399 3.67388,8.10787 8.10786,8.10787 1.14018,0 2.28034,-0.25338 3.29383,-0.63343 35.72527,-15.32892 58.90875,-50.54755 58.90875,-89.43996"
id="path3252"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsssssccccssccsccssccccsscccscccsscc"
style="fill:url(#linearGradient4028);fill-opacity:1;stroke:url(#linearGradient4052);stroke-opacity:1;stroke-width:7;stroke-miterlimit:4;stroke-dasharray:none" />
</g>
id="path4295"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sscsscsss" />
<path
style="fill:#000000;fill-opacity:1;stroke:none;opacity:0.1"
d="m 63.685547,249.62891 0,2 c 0,4.8757 4.099451,8.80078 9.191406,8.80078 l 128.677737,0 c 5.09194,0 9.1914,-3.92508 9.1914,-8.80078 l 0,-2 c 0,4.8757 -4.09946,8.80078 -9.1914,8.80078 l -128.677737,0 c -5.091955,0 -9.191406,-3.92508 -9.191406,-8.80078 z"
id="path4300"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csssscssc"
transform="translate(-8.7869998,787.86042)" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 28 KiB

30
proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1,30 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in {SDKHOME}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Allow obfuscation of android.support.v7.internal.view.menu.**
# to avoid problem on Samsung 4.2.2 devices with appcompat v21
# see https://code.google.com/p/android/issues/detail?id=78377
-keep class !android.support.v7.internal.view.menu.**,** {*;}
-dontwarn org.apache.sshd.**
-dontwarn org.apache.mina.**
-dontwarn org.bouncycastle.**
-dontwarn org.slf4j.**
-keepattributes SourceFile,LineNumberTable

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#FFFFFF" android:state_checked="true" />
<item android:color="#000000" android:state_checked="false" />
</selector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 823 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 645 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

View File

Before

Width:  |  Height:  |  Size: 431 B

After

Width:  |  Height:  |  Size: 431 B

View File

Before

Width:  |  Height:  |  Size: 750 B

After

Width:  |  Height:  |  Size: 750 B

View File

Before

Width:  |  Height:  |  Size: 365 B

After

Width:  |  Height:  |  Size: 365 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 B

BIN
res/drawable-mdpi/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 841 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 931 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/accent" />
<corners android:bottomRightRadius="2dip"
android:bottomLeftRadius="2dip"
android:topRightRadius="2dip"
android:topLeftRadius="2dip"/>
</shape>

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/drawer_header"
android:gravity="center|clip_vertical|clip_horizontal"
/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/primary" android:state_checked="true" />
<item android:drawable="@color/background_floating_material_light" android:state_checked="false" />
</selector>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:width="1000dp" android:height="2dp" />
<solid android:color="#cecbce"/>
</shape>

View File

@@ -1,13 +1,90 @@
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/buttons_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:fillViewport="true"
android:divider="@null"
tools:context=".MainActivity"
/>
android:padding="@dimen/activity_vertical_margin"
tools:context=".DeviceFragment"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/pairing_buttons"
android:layout_gravity="center">
<ProgressBar
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/pair_progress" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dip"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/device_not_paired"
android:id="@+id/pair_message"
android:layout_gravity="left|center_vertical"
/>
<Button
android:id="@+id/pair_button"
android:background="@drawable/button_round"
android:textColor="@android:color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/request_pairing"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:id="@+id/pair_request"
android:layout_gravity="center">
<Button
android:background="@drawable/button_round"
android:textColor="@android:color/white"
android:layout_margin="4dip"
android:id="@+id/accept_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/pairing_accept"
android:layout_weight="1"
/>
<Button
android:background="@drawable/button_round"
android:textColor="@android:color/white"
android:layout_margin="4dip"
android:id="@+id/reject_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/pairing_reject"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/unpair_message"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/unreachable_description"
android:textAppearance="?android:attr/textAppearanceMedium"
android:gravity="center" />
<ListView
android:id="@+id/buttons_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
tools:context=".DeviceActivity"
/>
</LinearLayout>

View File

@@ -0,0 +1,11 @@
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dip"
android:paddingRight="16dip"
tools:context=".MainActivity"
android:id="@+id/listView1"
android:addStatesFromChildren="true"
android:orientation="vertical">
</ListView>

View File

@@ -1,14 +1,40 @@
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:id="@+id/listView1"
android:addStatesFromChildren="true"
android:orientation="vertical">
android:fitsSystemWindows="true"
tools:context="org.kde.kdeconnect.UserInterface.MaterialActivity"> <!-- fitSystemWindows to make the drawer slide below the Lollipop transparent status bar -->
</ListView>
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:background="?attr/colorPrimary" />
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigation_drawer"
app:itemBackground="@drawable/state_list_drawer_background"
app:itemTextColor="@color/state_list_drawer_text"
app:itemIconTint="@color/state_list_drawer_text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
/>
</android.support.v4.widget.DrawerLayout>

View File

@@ -1,60 +0,0 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:orientation="vertical">
<ProgressBar
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/pair_progress" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/device_not_paired"
android:id="@+id/pair_message"
android:layout_gravity="left|center_vertical"
/>
<Button
android:id="@+id/pair_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/request_pairing"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:id="@+id/pair_request"
android:layout_gravity="center">
<Button
android:id="@+id/accept_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/pairing_accept"
android:layout_weight="1"
/>
<Button
android:id="@+id/reject_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/pairing_reject"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>

View File

@@ -30,7 +30,6 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/add_host"
android:onClick="addNewIp"
android:id="@android:id/button1"/>

View File

@@ -5,9 +5,20 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<include
android:id="@+id/list_item_category_text"
layout="@android:layout/preference_category" />
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:drawableBottom="@drawable/text_section_header"
android:textStyle="bold"
android:layout_marginTop="8dp"
android:textColor="?android:textColorSecondary"
android:drawablePadding="4dp"
android:textSize="14sp"
android:textAllCaps="true"
android:paddingLeft="8dip"
android:paddingRight="8dip"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/list_item_category_text"
/>
<TextView
android:layout_width="wrap_content"

View File

@@ -5,9 +5,11 @@
android:baselineAligned="false"
android:layout_height="wrap_content"
android:paddingLeft="12dip"
android:paddingStart="12dip"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:paddingRight="?android:attr/scrollbarSize"
android:paddingEnd="?android:attr/scrollbarSize"
android:background="@drawable/abc_list_selector_holo_dark"
android:orientation="vertical">
<!-- We should use android:background="@android:/listChoiceBackgroundIndicator"

View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:baselineAligned="false"
android:layout_height="wrap_content"
android:paddingLeft="12dip"
android:paddingStart="12dip"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:paddingRight="?android:attr/scrollbarSize"
android:paddingEnd="?android:attr/scrollbarSize"
android:orientation="horizontal">
<ImageView android:id="@+id/list_item_entry_icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:src="@drawable/ic_device_laptop"
android:layout_weight="0" />
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_weight="1"
android:layout_height="wrap_content">
<TextView android:id="@+id/list_item_entry_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dip"
android:layout_marginStart="8dip"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:text=""/>
<TextView android:id="@+id/list_item_entry_summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:singleLine="true"
android:textColor="#CC2222"
android:visibility="gone"
android:text="" />
</LinearLayout>
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:layout_weight="0"
android:indeterminate="true" />
<Button
android:layout_width="wrap_content"
android:minWidth="128dip"
android:layout_height="wrap_content"
android:text="@string/request_pairing"
android:padding="8dip"
android:background="@drawable/button_round"
android:textColor="#FFFFFF"
android:id="@+id/entry_pair_button"
android:layout_weight="0"
android:nestedScrollingEnabled="false" />
</LinearLayout>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:baselineAligned="false"
android:layout_height="wrap_content"
android:paddingLeft="12dip"
android:paddingStart="12dip"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:paddingRight="?android:attr/scrollbarSize"
android:paddingEnd="?android:attr/scrollbarSize"
android:clickable="true"
android:background="@drawable/abc_list_selector_holo_dark"
android:orientation="horizontal">
<ImageView android:id="@+id/list_item_entry_icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:src="@drawable/ic_device_laptop"
/>
<LinearLayout
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_height="wrap_content">
<TextView android:id="@+id/list_item_entry_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dip"
android:layout_marginStart="8dip"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:text="" />
<TextView android:id="@+id/list_item_entry_summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dip"
android:layout_marginStart="8dip"
android:textAppearance="?android:attr/textAppearanceSmall"
android:singleLine="true"
android:textColor="#CC2222"
android:visibility="gone"
android:text="" />
</LinearLayout>
</LinearLayout>

View File

@@ -145,6 +145,7 @@
android:layout_height="30dip"
android:maxWidth="30dip"
android:layout_marginRight="10dip"
android:layout_marginEnd="10dip"
android:id="@+id/imageView"
android:layout_weight="0"
android:layout_gravity="left|center_vertical"

58
res/layout/nav_header.xml Normal file
View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="160dp"
android:background="@drawable/drawer_header"
android:orientation="vertical"
android:gravity="bottom">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="KDE Connect"
android:textColor="#FFF"
android:textStyle="bold"
android:layout_above="@+id/device_name"
android:id="@+id/kdeconnect_label"
android:paddingLeft="16dp"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:paddingRight="48dp"
android:paddingEnd="48dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My device"
android:id="@+id/device_name"
android:layout_marginBottom="0dp"
android:textColor="#fff"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingBottom="16dp"
android:paddingTop="4dp"
android:paddingRight="48dp"
android:paddingEnd="48dp"
android:paddingStart="16dp"
android:paddingLeft="16dp" />
<!--
<ImageView
android:src="@drawable/ic_action_image_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:clickable="true"
android:background="@drawable/abc_list_selector_holo_dark"
android:layout_gravity="center_vertical"
android:contentDescription="@string/rename_device"
android:id="@+id/rename"
/>
-->
</RelativeLayout>

View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2006 The Android Open Source Project
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.
-->
<!-- Layout for a Preference in a PreferenceActivity. The
Preference is able to place a specific widget for its particular
type in the "widget_frame" layout. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:res="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:paddingEnd="?android:attr/scrollbarSize"
android:paddingRight="?android:attr/scrollbarSize"
android:background="?attr/selectableItemBackground" >
<!-- Preference should place its actual preference widget here. -->
<LinearLayout android:id="@+android:id/widget_frame"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical" />
<ImageView
android:id="@+android:id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
/>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dip"
android:layout_marginLeft="15dip"
android:layout_marginEnd="15dip"
android:layout_marginRight="4dip"
android:layout_marginTop="6dip"
android:layout_marginBottom="6dip"
android:layout_weight="1">
<TextView android:id="@+android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:ellipsize="marquee"
android:fadingEdge="horizontal" />
<TextView android:id="@+android:id/summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@android:id/title"
android:layout_alignStart="@android:id/title"
android:layout_alignLeft="@android:id/title"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorSecondary"
android:maxLines="3" />
</RelativeLayout>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/settingsButton"
android:padding="8dip"
android:background="@drawable/abc_btn_borderless_material"
android:src="@drawable/ic_action_settings_inverted"/>
</LinearLayout>

View File

@@ -2,11 +2,11 @@
xmlns:kdeconnect="http://schemas.android.com/apk/res-auto/android">
<item
android:id="@+id/menu_refresh"
android:icon="@drawable/ic_action_refresh"
android:orderInCategory="200"
kdeconnect:showAsAction="ifRoom"
android:title="@string/reconnect"
android:id="@+id/menu_refresh"
android:icon="@drawable/ic_action_refresh"
android:orderInCategory="200"
kdeconnect:showAsAction="never"
android:title="@string/refresh"
/>
<item
@@ -18,16 +18,14 @@
/>
<item
android:id="@+id/menu_settings"
android:icon="@drawable/ic_action_settings"
android:id="@+id/menu_rename"
android:orderInCategory="300"
android:title="@string/settings"
android:title="@string/device_rename_title"
kdeconnect:showAsAction="never"
/>
<item
android:id="@+id/menu_custom_device_list"
android:icon="@drawable/ic_action_settings"
android:orderInCategory="900"
android:title="@string/custom_device_list"
kdeconnect:showAsAction="never"

20
res/menu/refresh.xml Normal file
View File

@@ -0,0 +1,20 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:kdeconnect="http://schemas.android.com/apk/res-auto/android">
<item
android:id="@+id/menu_refresh"
android:icon="@drawable/ic_action_refresh"
android:orderInCategory="200"
kdeconnect:showAsAction="ifRoom"
android:title="@string/refresh"
/>
<item
android:id="@+id/menu_progress"
android:orderInCategory="200"
android:visible="false"
kdeconnect:showAsAction="ifRoom"
kdeconnect:actionViewClass="android.widget.ProgressBar"
/>
</menu>

View File

@@ -10,14 +10,11 @@
<string name="pref_plugin_clipboard_desc">شارك محتوى الحافظة</string>
<string name="pref_plugin_mousepad">الدَّخل البعيد</string>
<string name="pref_plugin_mousepad_desc">استخدم هاتفك كفأرة ولوحة مفاتيح</string>
<string name="pref_plugin_mpris">تحكّمات الوسائط المتعدّدة البعيدة</string>
<string name="pref_plugin_mpris_desc">تحكّم بالصّوت والصّورة من هاتفك</string>
<string name="pref_plugin_ping">وخزة</string>
<string name="pref_plugin_ping_desc">أرسل واستقبل وخزات</string>
<string name="pref_plugin_notifications">مزامنة الإخطارات</string>
<string name="pref_plugin_notifications_desc">انفذ إلى إخطاراتك من أجهزة أخرى</string>
<string name="pref_plugin_sharereceiver">شارك المستقبل</string>
<string name="pref_plugin_sharereceiver_desc">احفظ الملفّات الواردة إلى تخزين الهاتف</string>
<string name="plugin_not_available">هذه الميزة غير متوفّرة في إصدار أندرويد لديك</string>
<string name="device_list_empty">لا أجهزة</string>
<string name="ok">حسنًا</string>
@@ -25,8 +22,6 @@
<string name="open_settings">افتح الإعدادات</string>
<string name="no_permissions">عليك إعطاء التّطبيق صلاحيّات للنّفاذ إلى الإخطارات</string>
<string name="send_ping">أرسل وخزة</string>
<string name="open_mpris_controls">افتح التّحكّم البعيد</string>
<string name="open_mousepad">افتح تحكّم لوحة اللمس</string>
<string-array name="mousepad_tap_entries">
<item/>
<item/>

View File

@@ -8,7 +8,6 @@
<string name="pref_plugin_sftp_desc">Позволява отдалечен достъп до файловата система на телефона</string>
<string name="pref_plugin_clipboard">Синхронизиране на буфера</string>
<string name="pref_plugin_clipboard_desc">Споделяне съдържанието на буфера</string>
<string name="pref_plugin_mpris">Отдалечен мултимедиен контрол</string>
<string name="pref_plugin_mpris_desc">Управление на звук/видео от телефона</string>
<string name="pref_plugin_ping">Пинг</string>
<string name="pref_plugin_ping_desc">Изпращане и получаване на пинг</string>
@@ -21,7 +20,6 @@
<string name="open_settings">Отваряне на настройките</string>
<string name="no_permissions">Трябва да осигурите права за достъп до уведомленията</string>
<string name="send_ping">Изпращане на пинг</string>
<string name="open_mpris_controls">Отваряне на отдалечен контрол</string>
<string-array name="mousepad_tap_entries">
<item>Right click</item>
<item>Middle click</item>

View File

@@ -10,14 +10,11 @@
<string name="pref_plugin_clipboard_desc">Podijeli sadržaj sandučića</string>
<string name="pref_plugin_mousepad">Daljinska kontrola ulaza</string>
<string name="pref_plugin_mousepad_desc">Koristi telofon kao miš i tastaturu</string>
<string name="pref_plugin_mpris">Daljinske kontrole multimedije</string>
<string name="pref_plugin_mpris_desc">Upravljajte zvukom/slikom sa vašeg telefona</string>
<string name="pref_plugin_ping">Ping</string>
<string name="pref_plugin_ping_desc">Šalji i primaj ping-ove</string>
<string name="pref_plugin_notifications">Sinhronizovano obavještenje</string>
<string name="pref_plugin_notifications_desc">Pristupite vašim notifikacijama sa drugog uređaja</string>
<string name="pref_plugin_sharereceiver">Podijeli prijemnik</string>
<string name="pref_plugin_sharereceiver_desc">Spasi dolazeće datoteke na telefonsku memoriju</string>
<string name="plugin_not_available">Ovo svojstvo nije dostupno i vašoj Android verziji</string>
<string name="device_list_empty">Nema uređaja</string>
<string name="ok">OK</string>
@@ -25,8 +22,6 @@
<string name="open_settings">Otvori postavke</string>
<string name="no_permissions">Morate odobriti dopuštenje da pristupite notifikacijama</string>
<string name="send_ping">Pošalji ping</string>
<string name="open_mpris_controls">Otvori daljinsku kontrolu</string>
<string name="open_mousepad">Otvori touchpad kontrolu</string>
<string name="mousepad_info">Pomjerite prst na ekranu da opmjerite kursor miša. Tapnite za klik i koristite dva ili tri prsta za srednje i desno dugme. Koristite dugi pritisak za prevlačenje.</string>
<string name="mousepad_double_tap_settings_title">Postavite akciju tapa sa dva prsta</string>
<string name="mousepad_triple_tap_settings_title">Postavite akciju tapa sa tri prsta</string>

View File

@@ -10,14 +10,14 @@
<string name="pref_plugin_clipboard_desc">Comparteix el contingut del porta-retalls</string>
<string name="pref_plugin_mousepad">Entrada remota</string>
<string name="pref_plugin_mousepad_desc">Usa el vostre telèfon com un ratolí i un teclat</string>
<string name="pref_plugin_mpris">Comandament a distància multimèdia</string>
<string name="pref_plugin_mpris">Controls multimèdia</string>
<string name="pref_plugin_mpris_desc">Controla l\'àudio i el vídeo del vostre telèfon</string>
<string name="pref_plugin_ping">Ping</string>
<string name="pref_plugin_ping_desc">Envia i rep els pings</string>
<string name="pref_plugin_notifications">Sincronitza les notificacions</string>
<string name="pref_plugin_notifications_desc">Accedeix a les vostres notificacions des d\'altres dispositius</string>
<string name="pref_plugin_sharereceiver">Receptor de compartits</string>
<string name="pref_plugin_sharereceiver_desc">Desa els fitxers entrants a l\'emmagatzematge del telèfon</string>
<string name="pref_plugin_sharereceiver">Comparteix i rep</string>
<string name="pref_plugin_sharereceiver_desc">Comparteix els fitxers i els URL entre els dispositius</string>
<string name="plugin_not_available">Aquesta característica no està disponible en la vostra versió d\'Android</string>
<string name="device_list_empty">No hi ha cap dispositiu</string>
<string name="ok">D\'acord</string>
@@ -25,8 +25,8 @@
<string name="open_settings">Obre l\'arranjament</string>
<string name="no_permissions">Us caldrà concedir permís per accedir a les notificacions</string>
<string name="send_ping">Envia un ping</string>
<string name="open_mpris_controls">Obre el comandament a distància</string>
<string name="open_mousepad">Obre el control pel plafó tàctil</string>
<string name="open_mpris_controls">Control multimèdia</string>
<string name="open_mousepad">Entrada remota</string>
<string name="mousepad_info">Moveu un dit per la pantalla per a moure el cursor del ratolí. Toqueu per un clic, i empreu dos/tres dits pels botons dret i mig. Empreu un toc llarg per arrossegar i deixar anar.</string>
<string name="mousepad_double_tap_settings_title">Estableix l\'acció de tocar amb dos dits</string>
<string name="mousepad_triple_tap_settings_title">Estableix l\'acció de tocar amb tres dits</string>
@@ -62,6 +62,7 @@
<string name="outgoing_file_title">S\'està enviant el fitxer a %1s</string>
<string name="outgoing_file_text">%1s</string>
<string name="received_file_title">Fitxer rebut des de %1s</string>
<string name="received_file_fail_title">Ha fallat en rebre el fitxer des de %1s</string>
<string name="received_file_text">Puntegeu per obrir «%1s»</string>
<string name="sent_file_title">Envia el fitxer a %1s</string>
<string name="sent_file_text">%1s</string>
@@ -107,6 +108,8 @@
<string name="invalid_device_name">El nom del dispositiu no és vàlid</string>
<string name="shareplugin_text_saved">S\'ha rebut text i s\'ha desat al porta-retalls</string>
<string name="custom_devices_settings">Llista personalitzada de dispositius</string>
<string name="pair_device_action">Aparella amb un dispositiu nou</string>
<string name="unpair_device_action">Desparella %s</string>
<string name="custom_device_list">Afegeix dispositius per la IP</string>
<string name="share_notification_preference">Rebombori de les notificacions</string>
<string name="share_notification_preference_summary">Vibra i reprodueix un so en rebre un fitxer</string>
@@ -123,4 +126,16 @@
<string name="no_players_connected">No s\'ha trobat cap reproductor</string>
<string name="custom_dev_list_help">Empreu aquesta opció només si el dispositiu no és detectat automàticament. Introduïu a sota l\'adreça IP o nom de la màquina i premeu el botó per afegir-lo a la llista. Seleccioneu un element existent per eliminar-lo de la llista.</string>
<string name="mpris_player_on_device">%1$s sobre el %2$s</string>
<string name="send_files">Envia els fitxers</string>
<string name="pairing_title">Dispositius del KDE Connect</string>
<string name="pairing_description">Els altres dispositius que executin el KDE Connect a la mateixa xarxa han d\'aparèixer aquí.</string>
<string name="device_paired">Dispositiu aparellat</string>
<string name="device_rename_title">Reanomena el dispositiu</string>
<string name="device_rename_confirm">Reanomena</string>
<string name="refresh">Refresca</string>
<string name="unreachable_description">Aquest dispositiu aparellat no és accessible. Assegureu-vos que està connectat a la mateixa xarxa.</string>
<string name="no_file_browser">No hi ha instal·lat cap explorador de fitxers.</string>
<string name="pref_plugin_telepathy">Envia un SMS</string>
<string name="pref_plugin_telepathy_desc">Envia missatges de text des de l\'escriptori</string>
<string name="plugin_not_supported">Aquest connector no és admès pel dispositiu</string>
</resources>

View File

@@ -10,14 +10,14 @@
<string name="pref_plugin_clipboard_desc">Sdílet obsah schránky</string>
<string name="pref_plugin_mousepad">Vzdálený vstup</string>
<string name="pref_plugin_mousepad_desc">Používejte svůj telefon jako myš a klávesnici</string>
<string name="pref_plugin_mpris">Vzdálené ovládání multimédií</string>
<string name="pref_plugin_mpris">Ovládání multimédií</string>
<string name="pref_plugin_mpris_desc">Ovládejte audio/video z vašeho telefonu</string>
<string name="pref_plugin_ping">Ping</string>
<string name="pref_plugin_ping_desc">Posílat a přijímat ping</string>
<string name="pref_plugin_notifications">Synchronizace upozornění</string>
<string name="pref_plugin_notifications_desc">Zpřístupněte si upozornění z jiných zařízení</string>
<string name="pref_plugin_sharereceiver">Sdílet příjemce</string>
<string name="pref_plugin_sharereceiver_desc">Ukládat příchozí soubory do úložiště telefonu</string>
<string name="pref_plugin_sharereceiver">Sdílet s přijmnout</string>
<string name="pref_plugin_sharereceiver_desc">Sdílet soubory a odkazy mezi zařízeními</string>
<string name="plugin_not_available">Tato vlastnost není pro vaši verzi Androidu platná</string>
<string name="device_list_empty">Žádná zařízení</string>
<string name="ok">OK</string>
@@ -25,8 +25,8 @@
<string name="open_settings">Otevřít nastavení</string>
<string name="no_permissions">Pro zpřístupnění upozornění potřebujete oprávnění</string>
<string name="send_ping">Poslat ping</string>
<string name="open_mpris_controls">Otevřít vzdálené ovládání</string>
<string name="open_mousepad">Otevřít dotykové ovládání</string>
<string name="open_mpris_controls">Ovládání multimédií</string>
<string name="open_mousepad">Vzdálený vstup</string>
<string name="mousepad_info">Pohybujte prstem po obrazovce pro pohybování kurzorem myši. Ťukněte pro kliknutí a použijte dva/tři prsty jako pravé a prostřední tlačítko. Pro přetažení dlouze podržte.</string>
<string name="mousepad_double_tap_settings_title">Nastavit činnost pro ťuknutí dvěma prsty</string>
<string name="mousepad_triple_tap_settings_title">Nastavit činnost pro ťuknutí třemi prsty</string>
@@ -47,7 +47,7 @@
<string name="unknown_device">Neznámé zařízení</string>
<string name="error_not_reachable">Zařízení je nedostupné</string>
<string name="error_already_requested">Párování již bylo vyžádáno</string>
<string name="error_already_paired">Zařízení je již spárované</string>
<string name="error_already_paired">Zařízení je již spárováno</string>
<string name="error_could_not_send_package">Balíček nelze poslat</string>
<string name="error_timed_out">Čas vypršel</string>
<string name="error_canceled_by_user">Přerušeno uživatelem</string>
@@ -62,6 +62,7 @@
<string name="outgoing_file_title">Odesílám soubor do %1s</string>
<string name="outgoing_file_text">%1s</string>
<string name="received_file_title">Přijat soubor od %1s</string>
<string name="received_file_fail_title">Selhalo přijímání souboru od %1s</string>
<string name="received_file_text">Ťukněte pro otevření \'%1s\'</string>
<string name="sent_file_title">Soubor byl odeslán do %1s</string>
<string name="sent_file_text">%1s</string>
@@ -72,7 +73,7 @@
<string name="right_click">Poslat kliknutí pravým tlačítkem</string>
<string name="middle_click">Poslat kliknutí prostředním tlačítkem</string>
<string name="show_keyboard">Zobrazit klávesnici</string>
<string name="device_not_paired">Zařízení není spárované</string>
<string name="device_not_paired">Zařízení není spárováno</string>
<string name="request_pairing">Vyžádat párování</string>
<string name="pairing_accept">Přijmout</string>
<string name="pairing_reject">Odmítnout</string>
@@ -107,6 +108,8 @@
<string name="invalid_device_name">Neplatný název zařízení</string>
<string name="shareplugin_text_saved">Přijatý text byl uložen do schránky</string>
<string name="custom_devices_settings">Seznam vlastních zařízení</string>
<string name="pair_device_action">Spárovat nové zařízení</string>
<string name="unpair_device_action">Zrušit párování %s</string>
<string name="custom_device_list">Přidat zařízení podle IP</string>
<string name="share_notification_preference">Hlasitá upozornění</string>
<string name="share_notification_preference_summary">Vibrovat a přehrát melodii při přijímání souboru</string>
@@ -123,4 +126,16 @@
<string name="no_players_connected">Přehrávač nenalezen</string>
<string name="custom_dev_list_help">Použijte tuto možnost pouze pokud není vaše zařízení automaticky detekováno. Zadejte níže IP adresu a název hostitele a stiskněte tlačítko pro přidání do seznamu. Stiskněte existující položku pro odstranění ze seznamu.</string>
<string name="mpris_player_on_device">%1$s na %2$s</string>
<string name="send_files">Odeslat soubory</string>
<string name="pairing_title">Zařízení KDE Connect</string>
<string name="pairing_description">Zde by se měla zobrazit další zařízení, na kterých běží KDE Connect ve stejné síti.</string>
<string name="device_paired">Zařízení je spárováno</string>
<string name="device_rename_title">Přejmenovat zařízení</string>
<string name="device_rename_confirm">Přejmenovat</string>
<string name="refresh">Obnovit</string>
<string name="unreachable_description">Toto spárované zařízení je nedosažitelné. Ujistěte se, že běží ve stejné síti.</string>
<string name="no_file_browser">Není nainstalován žádný prohlížeč souborů.</string>
<string name="pref_plugin_telepathy">Poslat SMS</string>
<string name="pref_plugin_telepathy_desc">Posílejte zprávy ze své pracovní plochy</string>
<string name="plugin_not_supported">Tento modul zařízení nepodporuje</string>
</resources>

View File

@@ -10,14 +10,11 @@
<string name="pref_plugin_clipboard_desc">Del indholdet af udklipsholderen</string>
<string name="pref_plugin_mousepad">Eksternt input</string>
<string name="pref_plugin_mousepad_desc">Brug din telefon som mus og tastatur</string>
<string name="pref_plugin_mpris">Fjernbetjening af multimedie</string>
<string name="pref_plugin_mpris_desc">Styr lyd og video fra din telefon</string>
<string name="pref_plugin_ping">Ping</string>
<string name="pref_plugin_ping_desc">Send og modtag ping</string>
<string name="pref_plugin_notifications">Synk. af bekendtgørelser</string>
<string name="pref_plugin_notifications_desc">Tilgå dine bekendtgørelser fra andre enheder</string>
<string name="pref_plugin_sharereceiver">Del modtager</string>
<string name="pref_plugin_sharereceiver_desc">Gem indkommende filer til telefonens lager</string>
<string name="plugin_not_available">Denne funktion er ikke tilgængelig i din Android-version</string>
<string name="device_list_empty">Ingen enheder</string>
<string name="ok">O.k.</string>
@@ -25,8 +22,6 @@
<string name="open_settings">Åbn indstillinger</string>
<string name="no_permissions">Du skal give tilladelse for at tilgå bekendtgørelser</string>
<string name="send_ping">Send ping</string>
<string name="open_mpris_controls">Åbn fjernbetjening</string>
<string name="open_mousepad">Åbn touchpad-kontrol</string>
<string name="mousepad_info">Bevæg en finger på skærmen for at flytte musemarkøren. Tap for at klikke og brug to/tre-fingre for højre og midterste museknap. Brug et langt tryk til at trække og slippe.</string>
<string name="mousepad_double_tap_settings_title">Angiv handling for tap med to fingre</string>
<string name="mousepad_triple_tap_settings_title">Angiv handling for tap med tre fingre</string>
@@ -62,6 +57,7 @@
<string name="outgoing_file_title">Sender fil til %1s</string>
<string name="outgoing_file_text">%1s</string>
<string name="received_file_title">Modtog fil fra %1s</string>
<string name="received_file_fail_title">Kunne ikke modtage fil fra %1s</string>
<string name="received_file_text">Tap for at åbne \"%1s\"</string>
<string name="sent_file_title">Fil sendt til %1s</string>
<string name="sent_file_text">%1s</string>

View File

@@ -8,13 +8,15 @@
<string name="pref_plugin_sftp_desc">Erlaubt das Browsen des Dateisystems auf dem entfernten Handy</string>
<string name="pref_plugin_clipboard">Abgleich der Zwischenablage</string>
<string name="pref_plugin_clipboard_desc">Inhalt der Zwischenablage freigeben</string>
<string name="pref_plugin_mpris">Multimedia-Fernbedienungen</string>
<string name="pref_plugin_mousepad_desc">Verwendet Ihr Handy als Maus und Tastatur</string>
<string name="pref_plugin_mpris">Multimedia-Bedienung</string>
<string name="pref_plugin_mpris_desc">Audio und Video mit Ihrem Telefon steuern</string>
<string name="pref_plugin_ping">Ping</string>
<string name="pref_plugin_ping_desc">Senden und Empfangen von Pings</string>
<string name="pref_plugin_notifications">Benachrichtigungs-Abgleich</string>
<string name="pref_plugin_notifications_desc">Zugriff auf Ihre Benachrichtigungen von anderen Geräten</string>
<string name="pref_plugin_sharereceiver_desc">Eingehende Dateien auf dem Telefonspeicher ablegen</string>
<string name="pref_plugin_sharereceiver">Veröffentlichen und Empfangen</string>
<string name="pref_plugin_sharereceiver_desc">Dateien und Adressen (URLs) zwischen Geräten teilen</string>
<string name="plugin_not_available">Diese Funktion ist in Ihrer Android-Version nicht verfügbar</string>
<string name="device_list_empty">Keine Geräte</string>
<string name="ok">OK</string>
@@ -22,8 +24,7 @@
<string name="open_settings">Einstellungen öffnen</string>
<string name="no_permissions">Sie müssen die Erlaubnis zum Zugriff auf Benachrichtigungen erteilen</string>
<string name="send_ping">Ping senden</string>
<string name="open_mpris_controls">Fernbedienung öffnen</string>
<string name="open_mousepad">Touchpad-Steuerung öffnen</string>
<string name="open_mpris_controls">Multimedia-Bedienung</string>
<string-array name="mousepad_tap_entries">
<item>Rechtsklick</item>
<item>Mittelklick</item>
@@ -52,7 +53,14 @@
<string name="received_url_title">Verknüpfung von %1s erhalten</string>
<string name="incoming_file_title">Eingehende Datei von %1s</string>
<string name="incoming_file_text">%1s</string>
<string name="outgoing_file_title">Datei wird an %1s gesendet</string>
<string name="outgoing_file_text">%1s</string>
<string name="received_file_title">Datei von %1s erhalten</string>
<string name="received_file_fail_title">Der Empfang der Datei %1s ist fehlgeschlagen</string>
<string name="sent_file_title">Datei an %1s gesendet</string>
<string name="sent_file_text">%1s</string>
<string name="sent_file_failed_title">Das Senden der Datei an %1s ist fehlgeschlagen</string>
<string name="sent_file_failed_text">%1s</string>
<string name="tap_to_answer">Tippen zum Antworten</string>
<string name="reconnect">Erneut verbinden</string>
<string name="right_click">Rechtsklick senden</string>
@@ -65,7 +73,7 @@
<string name="device">Gerät</string>
<string name="pair_device">Gerät verbinden</string>
<string name="remote_control">Fernbedienung</string>
<string name="settings">KDE-Verbindungseinstellungen</string>
<string name="settings">KDE-Connect-Einstellungen</string>
<string name="mpris_play">Wiedergabe</string>
<string name="mpris_previous">Zurück</string>
<string name="mpris_rew">Schneller Rücklauf</string>
@@ -91,7 +99,10 @@
<string name="invalid_device_name">Ungültiger Gerätename</string>
<string name="shareplugin_text_saved">Text empfangen und in der Zwischenablage gespeichert</string>
<string name="custom_devices_settings">Benutzerdefinierte Geräteliste</string>
<string name="custom_device_list">Geräte nach IP hinzufügen</string>
<string name="share_notification_preference_summary">Beim Empfang einer Datei vibrieren und einen Sound abspielen</string>
<string name="title_activity_notification_filter">Benachrichtigungs-Filter</string>
<string name="filter_apps_info">Benachrichtigungen werden zwischen den ausgewählten Anwendungen abgeglichen.</string>
<string name="sftp_internal_storage">Interner Speicher</string>
<string name="sftp_all_files">Alle Dateien</string>
<string name="sftp_sdcard_num">SD-Karte %d</string>
@@ -99,5 +110,7 @@
<string name="sftp_readonly">(Nur lesen)</string>
<string name="sftp_camera">Kamerabilder</string>
<string name="add_host">Rechner/IP hinzufügen</string>
<string name="add_host_hint">Rechnername oder IP</string>
<string name="no_players_connected">Keine Medienspieler gefunden</string>
<string name="mpris_player_on_device">%1$s auf %2$s</string>
</resources>

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