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

Compare commits

..

247 Commits

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
Albert Vaca
53031a0ff1 Increased version number to release 2015-03-07 20:16:19 -08:00
Albert Vaca
459fe403a8 Increased the maximum length of incoming NetworkPackages from 1KB to 512KB
BUG: 343417
2015-03-07 20:13:35 -08:00
Albert Vaca
c15263b416 MPRIS Activity kept the last song played while showing "No players found" 2015-03-07 13:44:45 -08:00
Albert Vaca
6e2b3289e6 Increased version number to release 2015-03-07 13:37:03 -08:00
Albert Vaca
7d7f10f022 MPRIS Activity didn't get any info from the plugin if there were no players 2015-03-07 13:31:09 -08:00
Vineet Garg
ea514c0a19 Previous commit was blocking links.add(link) for unpaired devices
Public key was set to null for unpaired devices and its Base64 encoding
was causing an exception.

REVIEW: 122806
2015-03-04 18:32:55 -08:00
l10n daemon script
1e34a42b8f SVN_SILENT made messages (after extraction) 2015-03-03 03:06:33 +00:00
Albert Vaca
db3f4a2fec We now update the name of a device if it changed the next time we see it 2015-03-01 20:57:45 -08:00
Albert Vaca
63a3b6afe4 Fixed crash when answering a pair request after the device is gone 2015-03-01 19:19:11 -08:00
Albert Vaca
66c137d11d Increased version number to release 2015-03-01 16:08:13 -08:00
Albert Vaca
7f26472665 Fixed crash when browsing the settings if the device got disconnected. 2015-03-01 16:06:49 -08:00
l10n daemon script
3c3cfa9c94 SVN_SILENT made messages (after extraction) 2015-03-01 02:13:28 +00:00
l10n daemon script
7f808a2e0f SVN_SILENT made messages (after extraction) 2015-02-27 02:17:02 +00:00
l10n daemon script
970f8c63b0 SVN_SILENT made messages (after extraction) 2015-02-26 02:06:37 +00:00
l10n daemon script
d2dbfd6384 SVN_SILENT made messages (after extraction) 2015-02-23 02:17:59 +00:00
l10n daemon script
d1b2cba609 SVN_SILENT made messages (after extraction) 2015-02-21 02:22:00 +00:00
l10n daemon script
bd6ab61594 SVN_SILENT made messages (after extraction) 2015-02-19 02:11:34 +00:00
l10n daemon script
73356a3ef7 SVN_SILENT made messages (after extraction) 2015-02-17 02:31:28 +00:00
l10n daemon script
71352bff0e SVN_SILENT made messages (after extraction) 2015-02-16 02:15:33 +00:00
Albert Vaca
f76977ef21 Fixed release build failing on lint errors 2015-02-01 12:31:51 -08:00
Albert Vaca
0510182866 De-duplicated code 2015-02-01 12:31:51 -08:00
Albert Vaca
88b38f224b Increased version number to release 2015-02-01 12:31:42 -08:00
Albert Vaca
3d415c5959 Fixes to the new sendPackage logic 2015-02-01 12:31:42 -08:00
Albert Vaca
bda6e3cb7f Fixed battery plugin 2015-02-01 12:31:42 -08:00
Albert Vaca
86261bd105 Lint fixes 2015-02-01 12:31:42 -08:00
Albert Vaca
f0935ebb8a Trying to simplify the sendPackage logic. 2015-02-01 12:31:41 -08:00
Albert Vaca
288ca01e44 Log cleanup 2015-02-01 12:31:41 -08:00
Albert Vaca
83a22cab9d Payload sizes are now longs instead of ints 2015-02-01 12:31:41 -08:00
Albert Vaca
e4f9c15b36 Explicit exceptions in NetworkPackage's encrypt/decrypt 2015-02-01 12:31:41 -08:00
l10n daemon script
ba64b42711 SVN_SILENT made messages (after extraction) 2015-02-01 02:01:09 +00:00
l10n daemon script
f218d61f71 SVN_SILENT made messages (after extraction) 2015-01-27 02:02:36 +00:00
l10n daemon script
2dbbfa70c4 SVN_SILENT made messages (after extraction) 2015-01-25 02:04:39 +00:00
l10n daemon script
92be045f3a SVN_SILENT made messages (after extraction) 2015-01-23 02:09:35 +00:00
Albert Vaca
8765b7c692 Made notifications from KDE Connect silent
Flag "requestAnswer" should be renamed to "silent", using both for now.
2015-01-20 23:11:55 -08:00
Albert Vaca
39af8f96e6 Hide notifications for Google Now 2015-01-20 23:11:55 -08:00
Albert Vaca
823531ddea Code cleanup 2015-01-20 23:11:55 -08:00
Albert Vaca
2a224e5757 Hide empty facebook messenger notification 2015-01-20 23:11:55 -08:00
l10n daemon script
a45a56e779 SVN_SILENT made messages (after extraction) 2015-01-20 02:02:59 +00:00
l10n daemon script
f4ac548eeb SVN_SILENT made messages (after extraction) 2015-01-19 02:01:35 +00:00
l10n daemon script
b488aeaeee SVN_SILENT made messages (after extraction) 2015-01-18 02:00:17 +00:00
Albert Vaca
79480d0b23 In some cases file size was being incorrectly set when sharing a file.
It was set as a field in the network package instead of with the payload.
2015-01-17 16:40:57 -08:00
Vineet Garg
1edca5e45c Added progress bar in notification while sending file
REVIEW: 121980
2015-01-17 16:40:57 -08:00
Albert Vaca
ded027d3cc Revert "Added MPRIS controls from the notifications panel"
This reverts commit 816a6f5c79.

Conflicts:
	src/org/kde/kdeconnect/Plugins/MprisPlugin/MprisActivity.java
	src/org/kde/kdeconnect/Plugins/MprisPlugin/NotificationPanel.java
	src/org/kde/kdeconnect/Plugins/MprisPlugin/NotificationReturnSlot.java
2015-01-17 16:40:57 -08:00
l10n daemon script
e1cec047d8 SVN_SILENT made messages (after extraction) 2015-01-17 01:59:03 +00:00
l10n daemon script
ad3046118b SVN_SILENT made messages (after extraction) 2015-01-16 02:04:47 +00:00
l10n daemon script
f951f4769e SVN_SILENT made messages (after extraction) 2015-01-15 01:58:17 +00:00
l10n daemon script
a67f7cdfbd SVN_SILENT made messages (after extraction) 2015-01-14 02:04:34 +00:00
l10n daemon script
8acb022c80 SVN_SILENT made messages (after extraction) 2015-01-13 02:00:22 +00:00
l10n daemon script
0d575016ed SVN_SILENT made messages (after extraction) 2015-01-12 02:06:27 +00:00
Albert Vaca
391b61867d Added a comment 2015-01-10 22:46:18 -08:00
Albert Vaca
74bec9a7de Fixed not being able to read some customized notifications
Fixed error "Expected String but value was a android.text.SpannableString"
2015-01-10 00:47:13 -08:00
Albert Vaca
c4a87ecb50 Added a new setting to do nothing when using two/three finger taps. 2015-01-10 00:33:47 -08:00
Albert Vaca
e2b2e91f73 Improvements to plugins settings.
Added a startPreferencesActivity method to Plugin so we don't need to do a
hack to launch a custom activity for the notifications plugin.

CCMAIL: grg.vineet@gmail.com
2015-01-10 00:33:47 -08:00
Vineet Garg
5e905ddd63 Added setting to filter notifications from certain applications
REVIEW: 121687
2015-01-10 00:33:31 -08:00
Vineet Garg
75697cedca Added a progress bar in the notification while receiving a file
RB: 121910
2015-01-09 21:40:06 -08:00
l10n daemon script
41aa3fe53e SVN_SILENT made messages (after extraction) 2015-01-09 02:06:39 +00:00
Albert Vaca
332c2d4856 Added support for Ctrl, Alt, Shift combinations and F keys to keyboard.
To use with keyboards like Hacker's Keyboard (tested with it).
2015-01-06 00:05:44 -08:00
Mikhail Ivchenko
96e8610363 Implemented functionality to mute an incoming call.
REVIEW: 121855
2015-01-05 21:59:09 -08:00
l10n daemon script
820b32d260 SVN_SILENT made messages (after extraction) 2015-01-03 01:58:12 +00:00
l10n daemon script
63c47d201e SVN_SILENT made messages (after extraction) 2015-01-02 02:02:08 +00:00
l10n daemon script
7e24d87db0 SVN_SILENT made messages (after extraction) 2014-12-31 01:58:56 +00:00
l10n daemon script
2d60a25192 SVN_SILENT made messages (after extraction) 2014-12-30 01:52:18 +00:00
Albert Vaca
7e9b61a4fb Updated device names list 2014-12-28 21:09:48 -08:00
l10n daemon script
527381104d SVN_SILENT made messages (after extraction) 2014-12-27 01:54:34 +00:00
Da-Jin Chu
8d67e0b0f1 Added a "No players found" message to MPRIS Plugin when player list is empty 2014-12-24 20:51:55 -08:00
Albert Vaca
6328a01d1e Added comment 2014-12-21 20:32:12 -08:00
Albert Vaca
1c76720794 Detect shared youtube videos and open them in a browser instead of as text 2014-12-21 20:31:29 -08:00
Albert Vaca
e4d683f27c Moved ShareToReceiver to SharePlugin 2014-12-21 19:59:31 -08:00
Albert Vaca
227bb855dd Made the mousepad activity full screen. 2014-12-21 19:13:39 -08:00
Albert Vaca
0f612c195d Made the mousepad activity keep the screen on. 2014-12-21 17:14:53 -08:00
l10n daemon script
39db2180a7 SVN_SILENT made messages (after extraction) 2014-12-21 02:04:46 +00:00
l10n daemon script
c03cdf8a6d SVN_SILENT made messages (after extraction) 2014-12-20 01:56:01 +00:00
l10n daemon script
631635498d SVN_SILENT made messages (after extraction) 2014-12-18 02:03:48 +00:00
l10n daemon script
a33e1fa0d0 SVN_SILENT made messages (after extraction) 2014-12-17 02:00:14 +00:00
l10n daemon script
b36dc23028 SVN_SILENT made messages (after extraction) 2014-12-16 02:02:59 +00:00
Albert Vaca
b519bc5e1d Improvements and bugs fixed in the mpris plugin 2014-12-14 01:14:35 -08:00
Da-Jin Chu
816a6f5c79 Added MPRIS controls from the notifications panel 2014-12-13 21:55:36 -08:00
Albert Vaca
26b321ee76 Do not send notifications with the flag "local only" 2014-12-13 21:48:54 -08:00
Albert Vaca
1a7697009d Better support for seeking long media:
-Displaying duration in hours if longer than 60 minutes.
-Using miliseconds instead of nanoseconds for time.
-Using longs instead of ints to store time.

CCMAIL: zelitomas@gmail.com
2014-12-13 18:43:05 -08:00
Tomáš Zelina
8e23ff5cf6 Implemented current/total time and progress slider in MPRIS plugin
CCMAIL: zelitomas@gmail.com.
2014-12-13 14:43:20 -08:00
Albert Vaca
edff3a86bc Added haptic feedback for drag'n drop.
CCMAIL: michael@hathaways.me.uk
2014-12-10 23:39:28 -08:00
Michael Hathaway
d7e7de4079 Implemented drag'n drop in the mousepad plugin.
REVIEW: 121415
CCMAIL: michael@hathaways.me.uk
2014-12-10 23:38:34 -08:00
Albert Vaca
59c0a06143 For some reason my Android Studio doesn't like 21.0.3, rolling back to .2 2014-12-10 23:32:07 -08:00
Albert Vaca
fd91c3f27d Updated build.gradle to be used with the just released Android Studio 1.0 2014-12-10 21:57:58 -08:00
l10n daemon script
49b1e5c467 SVN_SILENT made messages (after extraction) 2014-12-11 01:59:40 +00:00
l10n daemon script
6829dac516 SVN_SILENT made messages (after extraction) 2014-12-10 01:58:24 +00:00
l10n daemon script
0fdb649ee4 SVN_SILENT made messages (after extraction) 2014-12-08 02:02:05 +00:00
Luigi Toscano
580c3ff30b Ignore fuzzy messages when importing translations
Fuzzy messages are de-facto untranslated messages.

CCBUG: 341632
2014-12-07 16:14:27 +01:00
l10n daemon script
27d853d778 SVN_SILENT made messages (after extraction) 2014-12-07 01:56:33 +00:00
l10n daemon script
4e2a264ab9 SVN_SILENT made messages (after extraction) 2014-12-04 01:58:45 +00:00
l10n daemon script
d9aae111fe SVN_SILENT made messages (after extraction) 2014-12-03 01:57:46 +00:00
Albert Vaca
c0f103fdde More fixes to the store translations system 2014-12-01 21:32:59 -08:00
l10n daemon script
4f3ff37712 SVN_SILENT made messages (after extraction) 2014-12-02 02:03:25 +00:00
192 changed files with 7394 additions and 3554 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="736"
android:versionName="0.7.3.6">
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/settings"
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/device_menu_plugins"
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/mpris_settings"
android:parentActivityName="org.kde.kdeconnect.UserInterface.SettingsActivity"
>
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:label="@string/device_menu_plugins"
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,58 +115,66 @@
</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.UserInterface.ShareToReceiver"
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>
</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>
</application>

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

@@ -15,7 +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
a2po import --android res/ --gettext $podir
a2po import --ignore-fuzzy --android res/ --gettext $podir
}

View File

@@ -3,18 +3,18 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+' //Update to 14 when Studio 0.9 gets to beta
classpath 'com.android.tools.build:gradle:1.3.0'
}
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion '21.1.1'
compileSdkVersion 22
buildToolsVersion '22.0.1'
defaultConfig {
minSdkVersion 9
targetSdkVersion 21
targetSdkVersion 22
}
sourceSets {
main {
@@ -24,18 +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'
}
}
}
@@ -43,11 +49,19 @@ dependencies {
repositories {
mavenCentral()
}
compile 'com.android.support:support-v4:21.0.2'
compile 'com.android.support:appcompat-v7:21.0.2'
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,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:keepScreenOn="true"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -19,9 +20,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
class="org.kde.kdeconnect.Plugins.MousePadPlugin.KeyListenerView"
android:id="@+id/keyListener"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="58dp" />
android:id="@+id/keyListener" />
</RelativeLayout>

View File

@@ -0,0 +1,22 @@
<RelativeLayout 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="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationFilterActivity">
<TextView
android:text="@string/filter_apps_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:id="@+id/tFilter"/>
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/lvFilterApps"
android:layout_below="@id/tFilter"/>
</RelativeLayout>

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

@@ -9,7 +9,7 @@
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_height="0dp"
android:id="@android:id/list"
android:layout_weight="1"
/>
@@ -23,13 +23,13 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:imeOptions="actionSend"
android:hint="@string/add_host_hint"
android:id="@+id/ip_edittext"/>
<Button
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

@@ -12,6 +12,14 @@
android:paddingRight="60dip"
android:paddingBottom="5dip">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/no_players_connected"
android:id="@+id/no_players"
android:layout_gravity="center_horizontal" />
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -88,18 +96,56 @@
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/progress_slider">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/progress_textview"
android:singleLine="true"
android:gravity="center"
android:padding="8dip"
android:layout_gravity="center"
android:text="00:00" />
<SeekBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/positionSeek"
android:layout_weight="1"
android:layout_gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/time_textview"
android:singleLine="true"
android:gravity="center"
android:padding="8dip"
android:layout_gravity="center"
android:text="00:00" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="70dip"
android:layout_height="wrap_content"
android:id="@+id/volume_layout"
android:layout_gravity="center">
android:layout_gravity="center"
android:layout_marginTop="8dip">
<ImageView
android:layout_width="30dip"
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>

104
res/values-ar/strings.xml Normal file
View File

@@ -0,0 +1,104 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="pref_plugin_telephony">مُخطِر المهاتفة</string>
<string name="pref_plugin_telephony_desc">أرسل إخطارات لرسائل SMS والمكالمات</string>
<string name="pref_plugin_battery">تقرير البطّاريّة</string>
<string name="pref_plugin_battery_desc">بلّغ عن حالة البطّاريّة دوريًّا</string>
<string name="pref_plugin_sftp">اكشف نظام الملفّات</string>
<string name="pref_plugin_sftp_desc">تسمح بتصفّح نظام ملفّات الهاتف عن بعد</string>
<string name="pref_plugin_clipboard">مزامنة الحافظة</string>
<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_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="plugin_not_available">هذه الميزة غير متوفّرة في إصدار أندرويد لديك</string>
<string name="device_list_empty">لا أجهزة</string>
<string name="ok">حسنًا</string>
<string name="cancel">ألغِ</string>
<string name="open_settings">افتح الإعدادات</string>
<string name="no_permissions">عليك إعطاء التّطبيق صلاحيّات للنّفاذ إلى الإخطارات</string>
<string name="send_ping">أرسل وخزة</string>
<string-array name="mousepad_tap_entries">
<item/>
<item/>
<item>Nothing</item>
</string-array>
<string name="category_connected_devices">الأجهزة المقترن بها</string>
<string name="category_not_paired_devices">الأجهزة المتوفّرة</string>
<string name="category_remembered_devices">الأجهزة المتذكَّرة</string>
<string name="plugins_failed_to_load">فشل تحميل الملحقات (المس لمعلومات اكثر):</string>
<string name="device_menu_unpair">أزل الاقتران</string>
<string name="device_not_reachable">الجهاز المقترن غير قابل الوصول</string>
<string name="unknown_device">جهاز مجهول</string>
<string name="error_not_reachable">الجهاز غير قابل الوصول</string>
<string name="error_already_requested">طُلب الاقتران بالفعل</string>
<string name="error_already_paired">الجهاز مقترن بالفعل</string>
<string name="error_could_not_send_package">تعذّر إرسال الحزمة</string>
<string name="error_timed_out">انتهت المهلة</string>
<string name="error_canceled_by_user">ألغاه المستخدم</string>
<string name="error_canceled_by_other_peer">ألغاه ندّ آخر</string>
<string name="error_invalid_key">استُقبل مفتاح غير صالح</string>
<string name="pair_requested">طُلب الاقتران</string>
<string name="pairing_request_from">طلب اقتران من %1s</string>
<string name="received_url_title">استُلمت وصلة من %1s</string>
<string name="received_url_text">المس لفتح \'%1s\'</string>
<string name="incoming_file_title">ملفّ وارد من %1s</string>
<string name="incoming_file_text">%1s</string>
<string name="received_file_title">استُلم ملفّ من %1s</string>
<string name="received_file_text">المس لفتح \'%1s\'</string>
<string name="tap_to_answer">المس للإجابة</string>
<string name="reconnect">أعد الاتّصال</string>
<string name="right_click">أرسل نقرة باليمين</string>
<string name="middle_click">أرسل نقرة بالوسط</string>
<string name="show_keyboard">أظهر لوحة المفاتيح</string>
<string name="device_not_paired">الجهاز غير مقترن</string>
<string name="request_pairing">اطلب الاقتران</string>
<string name="pairing_accept">اقبل</string>
<string name="pairing_reject">ارفض</string>
<string name="device">الجهاز</string>
<string name="pair_device">اقرن الجهاز</string>
<string name="remote_control">التّحكّم البعيد</string>
<string name="settings">إعدادات كدي المتّصل</string>
<string name="mpris_play">شغّل</string>
<string name="mpris_previous">السّابق</string>
<string name="mpris_rew">رجوع</string>
<string name="mpris_ff">تقدّم سريع</string>
<string name="mpris_next">التّالي</string>
<string name="mpris_volume">المستوى</string>
<string name="mpris_settings">إعدادات الوسائط المتعدّدة</string>
<string-array name="mpris_time_entries">
<item>10 ثوان</item>
<item>20 ثانية</item>
<item>30 ثانية</item>
<item>دقيقة واحدة</item>
<item>دقيقتان</item>
</string-array>
<string name="share_to">شارك مع...</string>
<string name="protocol_version_older">يستخدم هذا الجهاز إصدار ميفاق أقدم</string>
<string name="protocol_version_newer">يستخدم هذا الجهاز إصدار ميفاق أحدث</string>
<string name="general_settings">إعدادات عامّة</string>
<string name="plugin_settings">إعدادات</string>
<string name="plugin_settings_with_name">إعدادات %s</string>
<string name="device_name">اسم الجهاز</string>
<string name="device_name_preference_summary">%s</string>
<string name="invalid_device_name">اسم جهاز غير صالح</string>
<string name="shareplugin_text_saved">استُقبل نصّ، حُفظ إلى الحافظة</string>
<string name="custom_devices_settings">قائمة أجهزة مخصّصة</string>
<string name="custom_device_list">أضف أجهزة بميفاق الإنترنت م​إ</string>
<string name="share_notification_preference">إخطارات مزعجة</string>
<string name="share_notification_preference_summary">اهتزّ وشغّل صوتًا عند استقبال ملفّ</string>
<string name="sftp_internal_storage">التّخزين الدّاخليّ</string>
<string name="sftp_all_files">كلّ الملفّات</string>
<string name="sftp_sdcard_num">بطاقة SD %d</string>
<string name="sftp_sdcard">بطاقة SD</string>
<string name="sftp_readonly">(للقراءة فقط)</string>
<string name="sftp_camera">صور الكاميرا</string>
<string name="add_host">أضف مضيفًا/م​إ</string>
<string name="no_players_connected">لم يُعثر على مشغّلات</string>
<string name="custom_dev_list_help">استخدم هذا الخيار فقط إن لم يُكتَشف جهازك آليًّا. أدخِل عنوان م​إ أو اسم المضيف أدناه والمس الزرّ لإضافته إلى القائمة. المس عنصرًا موجودًا لإزالته من القائمة.</string>
<string name="mpris_player_on_device">%1$s على %2$s</string>
</resources>

View File

@@ -8,8 +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_mousepad">Отдалечен контрол</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>
@@ -22,15 +20,15 @@
<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>Right click</item>
<item>Middle click</item>
<item>Nothing</item>
</string-array>
<string name="category_connected_devices">Свързани устройства</string>
<string name="category_not_paired_devices">Несдвоени устройства</string>
<string name="category_remembered_devices">Запомнени устройства</string>
<string name="plugins_failed_to_load">Неуспешно зареждане на приставки (докоснете за подробности)</string>
<string name="device_menu_plugins">Изберете приставки</string>
<string name="device_menu_unpair">Разкачване</string>
<string name="device_not_reachable">Устройството е недостъпно</string>
<string name="unknown_device">Неизвестно устройство</string>
<string name="error_not_reachable">Устройството е недостъпно</string>
<string name="error_already_requested">Вече е заявено сдвояване</string>
@@ -42,8 +40,6 @@
<string name="error_invalid_key">Получен е неправилен ключ</string>
<string name="pair_requested">Заявено е сдвояване</string>
<string name="pairing_request_from">Заявено е сдвояване от %1s</string>
<string name="incoming_file_title">Заявено е сдвояване от %1s</string>
<string name="incoming_file_text">%s</string>
<string name="tap_to_answer">Докоснете за да отговорите</string>
<string name="reconnect">Ново свързване</string>
<string name="device_not_paired">Устройството не е сдвоено</string>
@@ -60,20 +56,6 @@
<string name="mpris_ff">Превъртане напред</string>
<string name="mpris_next">Следващ</string>
<string name="mpris_volume">Сила на звука</string>
<string name="mpris_settings">Отдалечен мултимедиен контрол</string>
<string name="share_to">Споделяне...</string>
<string name="protocol_version_older">Това устройство използва стара версия на протокола</string>
<string name="protocol_version_newer">Това устройство използва по-нова версия на протокола</string>
<string name="general_settings">Общи настройки</string>
<string name="plugin_settings">Общи настройки</string>
<string name="plugin_settings_with_name">Отваряне на настройките</string>
<string name="device_name">Име на устройството</string>
<string name="device_name_preference_summary">%s</string>
<string name="invalid_device_name">Невалидно име на устройство</string>
<string name="custom_devices_settings">Няма устройства</string>
<string name="custom_device_list">Няма устройства</string>
<string name="custom_device_list_summary">Няма устройства</string>
<string name="share_notification_preference">Синхронизиране на уведомленията</string>
<string-array name="mpris_time_entries">
<item>10 seconds</item>
<item>20 seconds</item>
@@ -81,4 +63,11 @@
<item>1 minute</item>
<item>2 minutes</item>
</string-array>
<string name="share_to">Споделяне...</string>
<string name="protocol_version_older">Това устройство използва стара версия на протокола</string>
<string name="protocol_version_newer">Това устройство използва по-нова версия на протокола</string>
<string name="general_settings">Общи настройки</string>
<string name="device_name">Име на устройството</string>
<string name="device_name_preference_summary">%s</string>
<string name="invalid_device_name">Невалидно име на устройство</string>
</resources>

View File

@@ -1,16 +1,121 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="pref_plugin_telephony">Telefonski obavještavač</string>
<string name="pref_plugin_telephony_desc">Pošalji notifikacije za SMS i pozive</string>
<string name="pref_plugin_battery">Baterijski izvještaj</string>
<string name="pref_plugin_battery_desc">Periodično javi baterijski status</string>
<string name="pref_plugin_sftp">Otkrivanje datotečnog sistema</string>
<string name="pref_plugin_sftp_desc">Dopušta daljinsko pretraživanje datotečnog sistema telefona</string>
<string name="pref_plugin_clipboard">Sinhronizovanje sandučića</string>
<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_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="share_notification_preference">Sinhronizovano obavještenje</string>
<string-array name="mpris_time_entries">
<item>10 seconds</item>
<item>20 seconds</item>
<item>30 seconds</item>
<item>1 minute</item>
<item>2 minutes</item>
<string name="pref_plugin_notifications_desc">Pristupite vašim notifikacijama sa drugog uređaja</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>
<string name="cancel">Prekini</string>
<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="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>
<string-array name="mousepad_tap_entries">
<item>Desni klik</item>
<item>Srednji klik</item>
<item>Ništa</item>
</string-array>
<string name="mousepad_double_default">desno</string>
<string name="mousepad_triple_default">Srednje</string>
<string name="category_connected_devices">Spojeni uređaji</string>
<string name="category_not_paired_devices">Dostupni uređaji</string>
<string name="category_remembered_devices">Zapamćeni uređaji</string>
<string name="plugins_failed_to_load">Dodaci se nisu uspjeli učitati (kucnite za više informacija):</string>
<string name="device_menu_plugins">Postavke dodatka</string>
<string name="device_menu_unpair">Razdvoji</string>
<string name="device_not_reachable">Upareni uređaj nije dostupan</string>
<string name="unknown_device">Nepoznat uređaj</string>
<string name="error_not_reachable">Uređaj nije dostupan</string>
<string name="error_already_requested">Uparivanje već zatraženo</string>
<string name="error_already_paired">Uređaj već uparen</string>
<string name="error_could_not_send_package">Nije moguće poslati paket</string>
<string name="error_timed_out">Isteklo</string>
<string name="error_canceled_by_user">Prekinuo korisnik</string>
<string name="error_canceled_by_other_peer">Prekinuo drugi korisnik</string>
<string name="error_invalid_key">Primljen pogrešan ključ</string>
<string name="pair_requested">Uparivanje zatraženo</string>
<string name="pairing_request_from">Uparivanje zatraženo od %1s</string>
<string name="received_url_title">Primljena veza od %1s</string>
<string name="received_url_text">Kucni za otvaranje \'%1s\'</string>
<string name="incoming_file_title">Dolazna datoteka od %1s</string>
<string name="incoming_file_text">%1s</string>
<string name="outgoing_file_title">Slanje datoteke na %1s</string>
<string name="outgoing_file_text">%1s</string>
<string name="received_file_title">Primljena datoteka od %1s</string>
<string name="received_file_text">Kucni za otvaranje \'%1s\'</string>
<string name="sent_file_title">Poslana datoteka na %1s</string>
<string name="sent_file_text">%1s</string>
<string name="sent_file_failed_title">Neuspjelo slanje datoteke %1s</string>
<string name="sent_file_failed_text">%1s</string>
<string name="tap_to_answer">Kucni za odgovor</string>
<string name="reconnect">Ponovo uspostavi vezu</string>
<string name="right_click">Pošalji Desni Klik</string>
<string name="middle_click">Pošalji Srednji Klik</string>
<string name="show_keyboard">Pokaži Tastaturu</string>
<string name="device_not_paired">Uređaj nije uparen</string>
<string name="request_pairing">Zatraži uparivanje</string>
<string name="pairing_accept">Prihvati</string>
<string name="pairing_reject">Odbij</string>
<string name="device">Uređaj</string>
<string name="pair_device">Upari uređaj</string>
<string name="remote_control">Daljinska kontrola</string>
<string name="settings">KDE Postavke Veze</string>
<string name="mpris_play">Reprodukuj</string>
<string name="mpris_previous">Prethodni</string>
<string name="mpris_rew">Premotaj</string>
<string name="mpris_ff">Ubrzano</string>
<string name="mpris_next">Sljedeći</string>
<string name="mpris_volume">Glasnoća</string>
<string name="mpris_settings">Postavke multimedije</string>
<string name="mpris_time_settings_title">Dugmad za naprijed/premotavanje</string>
<string name="mpris_time_settings_summary">Postavi vrijeme na ubrzano ili premotaj multimedijalnu datoteku.</string>
<string-array name="mpris_time_entries">
<item>10 sekundi</item>
<item>20 sekundi</item>
<item>30 sekundi</item>
<item>1 minuta</item>
<item>2 minute</item>
</string-array>
<string name="share_to">Podijeli na...</string>
<string name="protocol_version_older">Ovaj uređaj koristi staru verziju protokola</string>
<string name="protocol_version_newer">Ovaj uređaj koristi noviju verziju protokola</string>
<string name="general_settings">Opšte postavke</string>
<string name="plugin_settings">Postavke</string>
<string name="plugin_settings_with_name">%s Postavke</string>
<string name="device_name">Naziv uređaja</string>
<string name="device_name_preference_summary">%s</string>
<string name="invalid_device_name">Pogrešnan naziv uređaja</string>
<string name="shareplugin_text_saved">Primljeni tekst, spašen u ormarić</string>
<string name="custom_devices_settings">Lista vlastitih uređaja</string>
<string name="custom_device_list">Dodaj uređaje po IP</string>
<string name="share_notification_preference">Glasne notifikacije</string>
<string name="share_notification_preference_summary">Vibriraj i reprodukuj zvuk kad se prima datoteka</string>
<string name="title_activity_notification_filter">Filter napomena</string>
<string name="filter_apps_info">Notifikacije će biti sinhronizovane s izabranim aplikacijama.</string>
<string name="sftp_internal_storage">Unutrašnji smještaj</string>
<string name="sftp_all_files">Sve fajlove</string>
<string name="sftp_sdcard_num">SD kartica %d</string>
<string name="sftp_sdcard">SD kartica</string>
<string name="sftp_readonly">(samo za čitanje)</string>
<string name="sftp_camera">Slike sa kamere</string>
<string name="add_host">Dodaj host/IP</string>
<string name="add_host_hint">IP ili ime računara</string>
<string name="no_players_connected">Nema nađenih igrača</string>
<string name="custom_dev_list_help">Koristite ovu opciju samo ako vaš uređaj nije automatski otkriven. Unesite IP adresu ili ime hosta i dodirnite dugme da dodate na listu. Dodirnite postojeće dume da uklonite s liste.</string>
<string name="mpris_player_on_device">%1$s na %2$s</string>
</resources>

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,18 +25,23 @@
<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="mousepad_info">Moveu un dit per la pantalla per a moure el cursor del ratolí</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>
<string name="mousepad_right_click">Clic dret</string>
<string name="mousepad_middle_click">Clic del mig</string>
<string-array name="mousepad_tap_entries">
<item>Clic dret</item>
<item>Clic del mig</item>
<item>No fer res</item>
</string-array>
<string name="mousepad_double_default">dret</string>
<string name="mousepad_triple_default">mig</string>
<string name="category_connected_devices">Dispositius connectats</string>
<string name="category_not_paired_devices">Dispositius sense aparellar</string>
<string name="category_not_paired_devices">Dispositius disponibles</string>
<string name="category_remembered_devices">Dispositius recordats</string>
<string name="plugins_failed_to_load">Els connectors han fallat en carregar-los (puntegeu per a més informació):</string>
<string name="device_menu_plugins">Selecció dels connectors</string>
<string name="device_menu_plugins">Arranjament del connector</string>
<string name="device_menu_unpair">Desparella</string>
<string name="device_not_reachable">No s\'ha pogut accedir al dispositiu parell</string>
<string name="unknown_device">Dispositiu desconegut</string>
@@ -54,8 +59,15 @@
<string name="received_url_text">Puntegeu per obrir «%1s»</string>
<string name="incoming_file_title">Fitxer entrant des de %1s</string>
<string name="incoming_file_text">%1s</string>
<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>
<string name="sent_file_failed_title">Ha fallat en enviar el fitxer %1s</string>
<string name="sent_file_failed_text">%1s</string>
<string name="tap_to_answer">Puntegeu per a respondre</string>
<string name="reconnect">Reconnecta</string>
<string name="right_click">Envia un clic del botó dret</string>
@@ -76,31 +88,8 @@
<string name="mpris_next">Següent</string>
<string name="mpris_volume">Volum</string>
<string name="mpris_settings">Arranjament multimèdia</string>
<string name="mpris_time_settings_title">Interval de temps</string>
<string name="mpris_time_settings_summary">Ajusta el temps per avançar o rebobinar un fitxer multimèdia.</string>
<string name="share_to">Comparteix amb...</string>
<string name="protocol_version_older">Aquest dispositiu usa una versió antiga del protocol</string>
<string name="protocol_version_newer">Aquest dispositiu usa una versió nova del protocol</string>
<string name="general_settings">Arranjament general</string>
<string name="plugin_settings">Arranjament</string>
<string name="plugin_settings_with_name">Ajustaments de %s</string>
<string name="device_name">Nom del dispositiu</string>
<string name="device_name_preference_summary">%s</string>
<string name="invalid_device_name">El nom del dispositiu no és vàlid</string>
<string name="shareplugin_text_saved">S\'ha rebut text i s\'ha desat al porta-retalls</string>
<string name="custom_devices_settings">Llista personalitzada de dispositius</string>
<string name="custom_device_list">Llista personalitzada de dispositius</string>
<string name="custom_device_list_summary">Llista personalitzada de dispositius</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>
<string name="sftp_internal_storage">Emmagatzematge intern</string>
<string name="sftp_all_files">Tots els fitxers</string>
<string name="sftp_sdcard_num">Targeta SD %d</string>
<string name="sftp_sdcard">Targeta SD</string>
<string name="sftp_readonly">(només de lectura)</string>
<string name="sftp_camera">Imatges de la càmera</string>
<string name="add_host">Afegeix una màquina/IP</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_time_settings_title">Botons per avançar o rebobinar</string>
<string name="mpris_time_settings_summary">Ajusta el temps per avançar o rebobinar quan es toca.</string>
<string-array name="mpris_time_entries">
<item>10 segons</item>
<item>20 segons</item>
@@ -108,4 +97,45 @@
<item>1 minut</item>
<item>2 minuts</item>
</string-array>
<string name="share_to">Comparteix amb...</string>
<string name="protocol_version_older">Aquest dispositiu usa una versió antiga del protocol</string>
<string name="protocol_version_newer">Aquest dispositiu usa una versió nova del protocol</string>
<string name="general_settings">Arranjament general</string>
<string name="plugin_settings">Arranjament</string>
<string name="plugin_settings_with_name">Ajustaments del %s</string>
<string name="device_name">Nom del dispositiu</string>
<string name="device_name_preference_summary">%s</string>
<string name="invalid_device_name">El nom del dispositiu no és vàlid</string>
<string name="shareplugin_text_saved">S\'ha rebut text i s\'ha desat al porta-retalls</string>
<string name="custom_devices_settings">Llista personalitzada de dispositius</string>
<string name="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>
<string name="title_activity_notification_filter">Filtre per a les notificacions</string>
<string name="filter_apps_info">Les notificacions se sincronitzaran per a les aplicacions seleccionades.</string>
<string name="sftp_internal_storage">Emmagatzematge intern</string>
<string name="sftp_all_files">Tots els fitxers</string>
<string name="sftp_sdcard_num">Targeta SD %d</string>
<string name="sftp_sdcard">Targeta SD</string>
<string name="sftp_readonly">(només de lectura)</string>
<string name="sftp_camera">Imatges de la càmera</string>
<string name="add_host">Afegeix una màquina/IP</string>
<string name="add_host_hint">Nom de la màquina o IP</string>
<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>

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