2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-09-02 07:05:09 +00:00

Compare commits

...

294 Commits

Author SHA1 Message Date
Manuel de la Fuente
3b1f9d92ff initial work on new bigscreen remote ui 2022-09-15 08:00:18 +00:00
l10n daemon script
7c1d62f60c GIT_SILENT made messages (after extraction) 2022-09-11 00:44:55 +00:00
l10n daemon script
854555b142 GIT_SILENT made messages (after extraction) 2022-09-05 00:43:56 +00:00
l10n daemon script
bb97c5c4cb GIT_SILENT made messages (after extraction) 2022-09-01 00:44:31 +00:00
l10n daemon script
f9ddea53e2 GIT_SILENT made messages (after extraction) 2022-08-27 00:46:29 +00:00
l10n daemon script
a725cb3ac2 GIT_SILENT made messages (after extraction) 2022-08-26 00:44:29 +00:00
l10n daemon script
f5b9eae272 GIT_SILENT made messages (after extraction) 2022-08-25 00:46:12 +00:00
l10n daemon script
252d0a492d GIT_SILENT Add new file (after extraction) 2022-08-24 00:46:24 +00:00
l10n daemon script
0fd9ff2bf8 GIT_SILENT made messages (after extraction) 2022-08-15 00:44:12 +00:00
l10n daemon script
305a1d4c78 GIT_SILENT made messages (after extraction) 2022-08-09 00:45:40 +00:00
Nicolas Fella
2285c9b4d3 Remove arcconfig
We are not using Phabricator anymore
2022-08-05 01:34:08 +02:00
Nicolas Fella
a94eeb4947 Revert "Remove arcconfig"
Had unrelated changes

This reverts commit 53e2e0be10.
2022-08-05 01:23:55 +02:00
Nicolas Fella
53e2e0be10 Remove arcconfig
We are not using Phabricator anymore
2022-08-05 01:23:26 +02:00
l10n daemon script
357867145e GIT_SILENT made messages (after extraction) 2022-08-01 00:43:56 +00:00
Mikhail Zolotukhin
fccbdf0699 Declare repositories and project name in settings.gradle
Official gradle docs recommend using settings.gradle file (see https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#always_define_a_settings_file).
Blank Android projects in Android Studio declare their name and repositories in settings.gradle. Therefore, it makes sense to create such file here and add that information in it.

An explicit project name allows us to know exactly to what `project.name` resolves, instead of relying on the project root directory name, which can be changed by the developer locally.
2022-07-25 20:44:56 +00:00
l10n daemon script
9de62747f7 GIT_SILENT made messages (after extraction) 2022-07-14 00:44:59 +00:00
l10n daemon script
28c0ad3328 GIT_SILENT made messages (after extraction) 2022-07-10 00:46:44 +00:00
l10n daemon script
358dbee727 GIT_SILENT made messages (after extraction) 2022-07-09 00:44:54 +00:00
l10n daemon script
cfee01f820 GIT_SILENT made messages (after extraction) 2022-07-07 00:44:14 +00:00
l10n daemon script
461b096af3 GIT_SILENT made messages (after extraction) 2022-07-04 00:45:10 +00:00
Nicolas Fella
cf94436208 [mpris] Remove workarounds for Spotify
It looks like Spotify fixed its MPRIS impl and these things are no longer broken

There's no need to hide them from the UI any more
2022-06-27 23:15:37 +00:00
Ilmaz Gumerov
edc655da5a Add logs reading for sending clipboard on Android 10
Enable with:
adb -d shell pm grant org.kde.kdeconnect_tp android.permission.READ_LOGS;
adb -d shell appops set org.kde.kdeconnect_tp SYSTEM_ALERT_WINDOW allow;
adb -d shell am force-stop org.kde.kdeconnect_tp;
2022-06-27 17:00:34 -04:00
l10n daemon script
de1e68d62f GIT_SILENT made messages (after extraction) 2022-06-25 00:47:11 +00:00
Art Pinch
f1d0c9acc6 Fix MprisActivity crash in landscape orientation
## Summary

Fixed MprisActivity crash in landscape orientation caused by mismatched portrait and landscape layout resources

BUG: 435016

## Test Plan

### Before:
App crashed on MprisActivity when phone is switched to landscape orientation

### After:
App works normally in landscape mode
2022-06-09 02:10:37 +00:00
Nicolas Fella
f2481644ae Update Gradle plugin 2022-06-02 00:39:06 +02:00
Art Pinch
7080b43d2d Control remote device volume by volume keys when MPRIS session is active
Allows to control the volume of the default sink of the remote device by pressing phone volume keys on API21+ (Lollipop and onwards) when MPRIS session is active (i.e. MPRIS media control notification is present). Remote device should support System Volume Plugin and report its default sink. Volume controlling works both when the phone screen is off and on. When the screen is on, you'll see a new slider in the volume panel.

BUG: 398848
2022-06-01 22:35:54 +00:00
Ravi Mistry
8f49ff57ab Fix byte array conversions
## Summary

Currently, KDE Connect for Android doesn't show the last 2 characters of the verification key when pairing a device. This MR solves this issue.

This bug is caused by incomplete conversions from byte arrays to strings in `SslHelper.java`:

```java
for (int i = 0; i < hash.length - 1; i++) {
    formatter.format("%02x", hash[i]);
}
```
The ```i < hash.length -1``` converts the bytes in the array up to (inclusive) the penultimate one. Removing the ```- 1``` allows for the last byte to be converted (this is the missing 2 characters).

BUG: 445955

## Test Plan

### Before:
Selecting a desktop from the available devices, then clicking the `Request Pairing` button causes a 62 character key to be displayed. It is 2 characters short of the actual key, which can be seen on the desktop KDE Connect app.

### After:
Selecting the `Request Pairing` button now shows the whole verification key, as intended.
2022-05-30 21:28:03 +00:00
l10n daemon script
9834a690b4 GIT_SILENT made messages (after extraction) 2022-05-21 00:44:36 +00:00
l10n daemon script
5a64ff7ebd GIT_SILENT made messages (after extraction) 2022-05-10 00:44:37 +00:00
l10n daemon script
bcd1bdb856 GIT_SILENT made messages (after extraction) 2022-05-08 00:45:48 +00:00
l10n daemon script
4148d672ba GIT_SILENT made messages (after extraction) 2022-05-06 00:45:18 +00:00
l10n daemon script
96ad654d7c GIT_SILENT made messages (after extraction) 2022-05-01 00:47:59 +00:00
l10n daemon script
4e4c68526e GIT_SILENT made messages (after extraction) 2022-04-22 00:45:00 +00:00
Thore Goebel
8e43ef421b Capture back press in Settings and About
The Settings and About fragments are arguably one logical layer below the PairingFragment (which feels like the "main screen").
Capture the back press and return to the PairingFragment.

Fixes https://bugs.kde.org/show_bug.cgi?id=442716.

Notes:
- In a DeviceFragment back-pressing continues to close the app, as before. Judging from the fact that the app persists the last selected device to the shared prefs, I assume this is a intentional.
- I also thought about storing from where the Settings/About were opened (e.g. from a specific DeviceFragment) and returning there. However this would be a much larger change with arguable user benefit. After all, from the PairingFragment it's just a single click to your device.
2022-04-21 00:54:42 +00:00
l10n daemon script
cbabc40e7b GIT_SILENT made messages (after extraction) 2022-04-21 00:43:49 +00:00
l10n daemon script
91709c5a2a GIT_SILENT made messages (after extraction) 2022-04-17 00:46:22 +00:00
l10n daemon script
222f748211 GIT_SILENT made messages (after extraction) 2022-04-12 00:43:22 +00:00
Thore Goebel
a2c20d93f2 Set action bar title in SettingsFragment
Set the title "Settings" to the action bar in the SettingsFragment.

Previously, depending on where you came from, it just read "KDE Connect Devices", "About" or the device name.
2022-04-09 16:39:58 +00:00
l10n daemon script
a2d7a1b58a GIT_SILENT made messages (after extraction) 2022-03-30 00:50:21 +00:00
l10n daemon script
3dafea53c9 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-03-29 02:08:04 +00:00
l10n daemon script
006eb5bc4a GIT_SILENT made messages (after extraction) 2022-03-19 00:43:53 +00:00
Albert Vaca Cintora
f628bbdabc Share plugin: Honor received last modified metadata 2022-03-06 12:49:08 +01:00
Albert Vaca Cintora
4fa634afa4 Upgrade gradle plugin 2022-03-03 23:58:23 +01:00
Jing Xia
3bf3cb1629 Automatically reconnect to trusted networks in the background on API 29+
## Problem

On Android 10 (API 29) or later, when a trusted network has been configured, if the mobile device rejoins the network while KDE Connect is running in the background, it doesn't reconnect to any paired devices in the trusted network. It only reconnects when the user brings the app to the foreground.

## Cause

Android 10 introduced [a separate permission for background location access](https://developer.android.com/about/versions/10/privacy/changes#app-access-device-location). 

When KDE Connect is running in the background with API 29+, [`TrustedNetworkHelper.currentSSID` fails to get the SSID](d22967f475/src/org/kde/kdeconnect/Helpers/TrustedNetworkHelper.java (L77)) because it doesn't have the required permission. This prevents KDE Connect from verifying whether a network is trusted.

## Solution

Make KDE Connect request for background location access permission.

To request for background location access, an app must [declare it in the manifest](https://developer.android.com/training/location/permissions#background), or else the option to to enable background location access won't appear in settings.

As a side note, the permission request dialog in `TrustedNetworksActivity` doesn't require changes because after Android 11, the option to allow background location no longer shows up in a dialog. [It has to be manually enabled in settings.](https://developer.android.com/training/location/permissions#background-dialog-target-sdk-version)

## Test Plan

### Before:
On Android 10 or later, configure a trusted network and pair with a device in it. Let KDE Connect run in the background. Disconnect from the trusted network and then rejoin. KDE Connect won't automatically reconnect to the paired device.

### After:
Do the same steps as above, except after configuring the trust network, go into settings and allow KDE Connect to access location all the time. After KDE Connect rejoins the trusted network, it should automatically reconnect to the paired device.

![kdeconnect_location_permission_settings](/uploads/c7d03de9f1fb1502d7036f45ccb811a0/kdeconnect_location_permission_settings.png)
2022-03-01 22:08:54 +00:00
l10n daemon script
22f47b660b GIT_SILENT made messages (after extraction) 2022-02-26 00:47:37 +00:00
l10n daemon script
bdf5f1e25a GIT_SILENT made messages (after extraction) 2022-02-24 00:43:35 +00:00
l10n daemon script
980cfaedad GIT_SILENT made messages (after extraction) 2022-02-21 00:43:16 +00:00
l10n daemon script
422ad0a11f GIT_SILENT made messages (after extraction) 2022-02-20 00:44:05 +00:00
l10n daemon script
9115e0f24b GIT_SILENT made messages (after extraction) 2022-02-18 00:44:24 +00:00
Manuel Jesús de la Fuente
5ba84c6e78 Add Android 8+ adaptive icons
![image](/uploads/a1aa9ed5e5ea5c8a0f39fb655299e79d/image.png)

Adds the Android 8+ style adaptive icons, using the app's highlight color for extra contrast against the current fallback white background behind the white phone border. This new icon follows the size and grid guidelines of material design, and was created as a 108dp@1x svg
2022-02-16 22:54:52 +00:00
l10n daemon script
90ceb073ae GIT_SILENT made messages (after extraction) 2022-02-16 00:44:51 +00:00
l10n daemon script
2b5943572c GIT_SILENT made messages (after extraction) 2022-02-14 00:43:20 +00:00
l10n daemon script
65a5e59d4b GIT_SILENT made messages (after extraction) 2022-02-13 00:42:54 +00:00
l10n daemon script
3a338609e8 GIT_SILENT made messages (after extraction) 2022-02-12 00:43:09 +00:00
l10n daemon script
62744ddae3 GIT_SILENT made messages (after extraction) 2022-02-07 00:44:04 +00:00
l10n daemon script
152b6e9a96 GIT_SILENT made messages (after extraction) 2022-02-06 00:46:27 +00:00
Manuel Jesús de la Fuente
ecd2752579 Make trashcan icon visible
BUG: 435986
2022-02-05 09:52:50 +00:00
l10n daemon script
9b2cd6a97f GIT_SILENT made messages (after extraction) 2022-02-05 00:43:21 +00:00
l10n daemon script
b50c79a2c4 GIT_SILENT made messages (after extraction) 2022-02-03 00:43:21 +00:00
l10n daemon script
4d13a90ba5 GIT_SILENT made messages (after extraction) 2022-02-02 00:44:16 +00:00
l10n daemon script
2587569af7 GIT_SILENT made messages (after extraction) 2022-01-31 00:43:21 +00:00
Albert Vaca Cintora
0f0740e3ac Remove unused imports 2022-01-25 21:18:38 +01:00
Albert Vaca Cintora
c9b2b53d59 Fix division by 0 2022-01-24 14:01:49 +01:00
Albert Vaca Cintora
209f0f8f43 Fix NPE if BackgroundService.instance() doesn't exist 2022-01-24 14:01:40 +01:00
Albert Vaca Cintora
db3f8f7f74 Release 1.19.1 2022-01-24 01:56:10 +01:00
Albert Vaca Cintora
60ecec9751 Bump dependencies 2022-01-24 01:56:10 +01:00
Albert Vaca Cintora
6cf0ef79b2 Small tweaks suggested by static code analyzer 2022-01-24 01:56:10 +01:00
Albert Vaca Cintora
2d55f282a8 Hopefully fix some NPE crashes 2022-01-24 01:56:10 +01:00
Albert Vaca Cintora
5ef7154d5e Fix mpris control crashing (NPE) in landscape mode 2022-01-24 01:56:10 +01:00
l10n daemon script
1c137d5ca8 GIT_SILENT made messages (after extraction) 2022-01-24 00:42:50 +00:00
Albert Vaca Cintora
f747639304 Fix warning about resource IDs becoming non-final soon 2022-01-22 12:03:53 +01:00
Albert Vaca Cintora
6208e0babb Add icon for compose text menu item 2022-01-22 11:52:29 +01:00
Albert Vaca Cintora
7188285dac Compose text: close after sending 2022-01-22 11:52:05 +01:00
Albert Vaca Cintora
fe94854f02 Release 1.19.0 2022-01-22 11:33:36 +01:00
Albert Vaca Cintora
767fbdfdd9 Bump dependencies 2022-01-22 11:28:49 +01:00
Piyush Aggarwal
2a07c1f528 mousereceiverplugin: add support for back and forward mousebuttons 2022-01-22 10:27:55 +00:00
l10n daemon script
0a83597d3c GIT_SILENT made messages (after extraction) 2022-01-22 00:43:42 +00:00
l10n daemon script
e83b5c6e74 GIT_SILENT made messages (after extraction) 2022-01-18 00:43:30 +00:00
l10n daemon script
2468928b05 GIT_SILENT made messages (after extraction) 2022-01-17 00:42:44 +00:00
l10n daemon script
ae3ebec87c GIT_SILENT made messages (after extraction) 2022-01-16 00:43:14 +00:00
Forrest Hilton
64ad798d70 Added a screen to allow users to compose the key strokes to send.
Added a screen to allow users to compose the key strokes to send. This is necessary because the keyboard that appears on the mouse pad screen does not have the voice to text microphone button on my phone. Even if it could be made to appear as it does on my tablet, some kind of text buffering is necessary because the voice text will change its mind.
2022-01-15 20:35:45 +00:00
Maxim Leshchenko
a6339312e4 Fix crash 2022-01-15 20:30:19 +00:00
Maxim Leshchenko
d43c9aa325 Improve code 2022-01-15 20:30:19 +00:00
Maxim Leshchenko
b74a6e6c6e Run command in a separate thread 2022-01-15 20:30:19 +00:00
Maxim Leshchenko
7286b8a24a Add ability to run commands from Android 11 power menu 2022-01-15 20:30:19 +00:00
l10n daemon script
870c40e412 GIT_SILENT made messages (after extraction) 2022-01-15 00:42:58 +00:00
l10n daemon script
99d0e7eb43 GIT_SILENT made messages (after extraction) 2022-01-14 00:43:37 +00:00
l10n daemon script
4ad5733391 GIT_SILENT made messages (after extraction) 2022-01-13 00:43:05 +00:00
l10n daemon script
9cb8d52b4f GIT_SILENT made messages (after extraction) 2022-01-12 00:44:43 +00:00
Piyush Aggarwal
29ca097054 mousepadplugin: allow selecting which click to send for left click 2022-01-10 19:46:18 +00:00
Piyush Aggarwal
9b4c4ff9cb add option for Left click to be triggered when pressing two or three fingers 2022-01-10 19:46:18 +00:00
Piyush Aggarwal
bf40545e11 rename singleClick to leftClick 2022-01-10 19:46:18 +00:00
Maxim Leshchenko
ff3778e983 Show the send clipboard button on the device page only if the application is running on Android 10 or higher 2022-01-10 19:25:07 +00:00
Maxim Leshchenko
2b8d320b87 Add forgotten import 2022-01-10 19:25:07 +00:00
Trevor Terris
3633ee0b69 Move send clipboard button to the main menu 2022-01-10 19:25:07 +00:00
Maxim Leshchenko
492555ab9b Add more ways to send clipboard
Add the ability to send the clipboard to the device via the quick settings tile and via the menu on the device page

BUG: 439951
2022-01-10 19:25:07 +00:00
Patrick Wang
b3a3884333 Disable sftp random writes 2022-01-11 00:37:00 +08:00
Patrick Wang
46e4ff291c Fix for sftp random reads 2022-01-10 02:49:26 +08:00
l10n daemon script
ba1de4e035 GIT_SILENT made messages (after extraction) 2022-01-05 00:45:35 +00:00
l10n daemon script
eb7a69ea1b GIT_SILENT made messages (after extraction) 2022-01-02 00:46:12 +00:00
l10n daemon script
91d4c23950 GIT_SILENT made messages (after extraction) 2021-12-31 00:42:57 +00:00
l10n daemon script
1523e2709c GIT_SILENT made messages (after extraction) 2021-12-28 00:42:58 +00:00
l10n daemon script
325db14a38 GIT_SILENT made messages (after extraction) 2021-12-23 00:44:20 +00:00
l10n daemon script
77472749c2 GIT_SILENT made messages (after extraction) 2021-12-20 00:42:27 +00:00
l10n daemon script
8994a4724d GIT_SILENT made messages (after extraction) 2021-12-14 00:44:01 +00:00
l10n daemon script
29f0ff7e3f GIT_SILENT made messages (after extraction) 2021-12-12 00:43:09 +00:00
l10n daemon script
1b298ccc2a GIT_SILENT made messages (after extraction) 2021-12-10 00:43:54 +00:00
l10n daemon script
8292aaa62c GIT_SILENT made messages (after extraction) 2021-12-08 00:45:07 +00:00
l10n daemon script
b734e69323 GIT_SILENT made messages (after extraction) 2021-12-06 00:43:19 +00:00
l10n daemon script
786a385dde GIT_SILENT made messages (after extraction) 2021-12-05 00:43:02 +00:00
Éric Gillet
baa9b9af78 Overwrite title in ShareActivity toolbar 2021-12-03 20:30:13 +00:00
Sourav Das
8c226cb4c2 Added option to show notification only if the screen is off 2021-12-03 11:11:12 +06:00
Albert Vaca Cintora
f3fb7acef7 Release 1.18.1 2021-11-30 21:57:47 +01:00
Albert Vaca Cintora
5b7f4374ab Hopefully fix NPE
Probably introduced in !105
2021-11-30 21:57:47 +01:00
l10n daemon script
589e90890e GIT_SILENT made messages (after extraction) 2021-11-29 00:27:39 +00:00
l10n daemon script
7341cbd3d5 GIT_SILENT made messages (after extraction) 2021-11-28 00:27:20 +00:00
l10n daemon script
a78bde2a7c GIT_SILENT made messages (after extraction) 2021-11-27 00:27:41 +00:00
l10n daemon script
9e88dacfa6 GIT_SILENT made messages (after extraction) 2021-11-26 00:27:08 +00:00
Nishith Khanna
beafdb26ab Fixed package visibility for Android 11 devices
BUG: 445702
2021-11-25 06:33:22 +00:00
l10n daemon script
3f548f5efa GIT_SILENT made messages (after extraction) 2021-11-25 00:27:45 +00:00
l10n daemon script
a82478a6fb GIT_SILENT made messages (after extraction) 2021-11-24 00:27:23 +00:00
l10n daemon script
4053d224ec GIT_SILENT made messages (after extraction) 2021-11-23 00:27:50 +00:00
l10n daemon script
3cf7dfae55 GIT_SILENT made messages (after extraction) 2021-11-22 00:27:34 +00:00
l10n daemon script
d88eb51ede GIT_SILENT made messages (after extraction) 2021-11-21 00:27:21 +00:00
Éric Gillet
c69c885350 Remove android.intent.action.SEND_MULTIPLE intent filter for MainActivity
BUG: 429681
2021-11-19 22:14:03 +00:00
Éric Gillet
61699108bc Specific android:label for ShareActiviy 2021-11-19 22:14:03 +00:00
l10n daemon script
f265a8b379 GIT_SILENT made messages (after extraction) 2021-11-19 00:30:00 +00:00
Albert Vaca Cintora
bfb3eae492 Release 1.18.0 2021-11-17 19:15:31 +01:00
Albert Vaca Cintora
9ce72908e1 Bump all the things 2021-11-17 19:04:00 +01:00
l10n daemon script
d4cf2be7f5 GIT_SILENT made messages (after extraction) 2021-11-13 00:26:54 +00:00
l10n daemon script
e0ee8d753e GIT_SILENT made messages (after extraction) 2021-11-11 00:17:08 +00:00
l10n daemon script
43e076d98e GIT_SILENT made messages (after extraction) 2021-11-10 00:17:03 +00:00
Albert Vaca Cintora
9d09e5cd22 Fix low battery notification spam on Android 12 2021-11-09 00:39:00 +01:00
l10n daemon script
3fa5e041cf GIT_SILENT made messages (after extraction) 2021-11-05 00:16:50 +00:00
l10n daemon script
4608643567 GIT_SILENT made messages (after extraction) 2021-11-04 00:17:50 +00:00
l10n daemon script
a8c41fc608 GIT_SILENT made messages (after extraction) 2021-11-03 00:19:29 +00:00
l10n daemon script
10383fa3c9 GIT_SILENT made messages (after extraction) 2021-10-31 00:16:23 +00:00
Maxim Leshchenko
5837345fa3 Fix back behaviour in licenses activity 2021-10-30 17:05:04 +03:00
l10n daemon script
465ffc92cd GIT_SILENT made messages (after extraction) 2021-10-24 00:17:19 +00:00
Albert Vaca Cintora
e395dbae1d Bump kotlin patch version 2021-10-18 20:34:05 +02:00
Gobinath A L
c99764187a override onSupportNavigateUp method to mimic system BACK behaviour 2021-10-17 12:01:05 +05:30
Gobinath A L
69e29d09e0 override onSupportNavigateUp method to mimic system BACK behaviour 2021-10-17 11:32:41 +05:30
l10n daemon script
065516d3ca GIT_SILENT made messages (after extraction) 2021-10-11 00:17:28 +00:00
l10n daemon script
7895403396 GIT_SILENT made messages (after extraction) 2021-10-09 00:19:29 +00:00
l10n daemon script
be2bce30d5 GIT_SILENT made messages (after extraction) 2021-10-07 00:16:56 +00:00
l10n daemon script
4996ad571e GIT_SILENT made messages (after extraction) 2021-10-06 00:17:54 +00:00
Albert Vaca Cintora
33f1e29401 Remove deprecated option 2021-10-05 00:31:50 +02:00
Albert Vaca Cintora
66a81f3612 Update gradle and gradle plugin 2021-10-05 00:30:26 +02:00
Albert Vaca Cintora
f8e0d8ee71 Fix warning
Fixes "Multiple substitutions specified in non-positional format"
2021-10-05 00:02:53 +02:00
l10n daemon script
6fee826082 GIT_SILENT made messages (after extraction) 2021-09-28 00:17:01 +00:00
l10n daemon script
8a57627489 GIT_SILENT made messages (after extraction) 2021-09-27 00:16:41 +00:00
l10n daemon script
46b4a9a792 GIT_SILENT made messages (after extraction) 2021-09-26 00:17:09 +00:00
l10n daemon script
b05292ca0f GIT_SILENT made messages (after extraction) 2021-09-25 00:16:15 +00:00
Andy Holmes
cabb933118 SMSPlugin: fix documentation of attachment mime-type
The `mime_type` field of incoming attachments was incorrectly described
as being `<int>` when it is in fact `<String>`.
2021-09-20 23:35:33 +00:00
l10n daemon script
9597da61d2 GIT_SILENT made messages (after extraction) 2021-09-20 00:18:12 +00:00
l10n daemon script
e3ef74f414 GIT_SILENT made messages (after extraction) 2021-09-19 00:21:02 +00:00
l10n daemon script
257fa37b12 GIT_SILENT made messages (after extraction) 2021-09-17 00:16:58 +00:00
l10n daemon script
31a8a08108 GIT_SILENT made messages (after extraction) 2021-09-15 00:18:24 +00:00
l10n daemon script
1963cbb842 GIT_SILENT made messages (after extraction) 2021-09-14 00:17:59 +00:00
l10n daemon script
05418b6623 GIT_SILENT made messages (after extraction) 2021-09-13 00:18:11 +00:00
Philip Cohn-Cort
5940e957a8 Display battery status at the bottom of each device on its DeviceFragment
kdeconnect-android!105
2021-09-13 00:09:43 +00:00
l10n daemon script
0f4aaa286d GIT_SILENT made messages (after extraction) 2021-09-12 00:17:53 +00:00
l10n daemon script
fe606cf644 GIT_SILENT made messages (after extraction) 2021-09-11 00:17:21 +00:00
Simon Redman
23b8d2e70b [SMS Plugin] Don't remove the sending address if it is the only thing in the list 2021-09-06 15:27:05 -07:00
l10n daemon script
a1fb54faf1 GIT_SILENT made messages (after extraction) 2021-09-06 00:17:54 +00:00
l10n daemon script
1932fbc313 GIT_SILENT made messages (after extraction) 2021-09-05 00:18:05 +00:00
l10n daemon script
d25d402ade GIT_SILENT made messages (after extraction) 2021-09-03 00:17:09 +00:00
l10n daemon script
dcd66e9f7a GIT_SILENT made messages (after extraction) 2021-09-02 00:17:30 +00:00
l10n daemon script
c3ba621af2 GIT_SILENT made messages (after extraction) 2021-09-01 00:18:21 +00:00
l10n daemon script
f308a79294 GIT_SILENT made messages (after extraction) 2021-08-31 00:20:18 +00:00
l10n daemon script
750351d288 GIT_SILENT made messages (after extraction) 2021-08-30 00:16:52 +00:00
l10n daemon script
c65b6a672d GIT_SILENT made messages (after extraction) 2021-08-29 00:18:04 +00:00
l10n daemon script
cde9e46f3f GIT_SILENT made messages (after extraction) 2021-08-28 00:17:13 +00:00
l10n daemon script
f992fc6431 GIT_SILENT made messages (after extraction) 2021-08-26 00:16:59 +00:00
l10n daemon script
cf44f9fdea GIT_SILENT made messages (after extraction) 2021-08-25 00:17:49 +00:00
l10n daemon script
b2f0d1c0f0 GIT_SILENT made messages (after extraction) 2021-08-24 00:17:36 +00:00
l10n daemon script
3695673627 GIT_SILENT made messages (after extraction) 2021-08-23 00:19:23 +00:00
l10n daemon script
1e738e3c31 GIT_SILENT made messages (after extraction) 2021-08-22 00:17:17 +00:00
Maxim Leshchenko
049cb6d6a6 Add a desktop-like about app page
Show version, authors and useful links
2021-08-21 13:11:55 +00:00
l10n daemon script
988ffe92ff GIT_SILENT made messages (after extraction) 2021-07-28 00:17:36 +00:00
l10n daemon script
db76c8add4 GIT_SILENT made messages (after extraction) 2021-07-26 00:17:24 +00:00
l10n daemon script
de3de39def GIT_SILENT made messages (after extraction) 2021-07-19 00:16:51 +00:00
l10n daemon script
682c3cb7c1 GIT_SILENT made messages (after extraction) 2021-07-18 00:17:49 +00:00
Piyush Aggarwal
956103b646 mousereceiver: add nullptr check 2021-07-16 05:10:25 +05:30
Piyush Aggarwal
e18522f731 mousereceiverplugin: add singlerelease support 2021-07-16 00:41:20 +05:30
Simon Redman
b7de76ce36 [SMS Plugin] Prevent crashing when trying to send when we do not know the device's local number 2021-07-11 15:40:01 +00:00
l10n daemon script
6853bce106 GIT_SILENT made messages (after extraction) 2021-07-08 00:17:05 +00:00
l10n daemon script
f3e92a6614 GIT_SILENT made messages (after extraction) 2021-07-05 00:17:23 +00:00
l10n daemon script
95ce471871 GIT_SILENT made messages (after extraction) 2021-07-03 00:17:01 +00:00
l10n daemon script
6d3bed9fcc GIT_SILENT made messages (after extraction) 2021-06-30 00:17:43 +00:00
l10n daemon script
589bfc0ffc GIT_SILENT made messages (after extraction) 2021-06-29 00:16:46 +00:00
l10n daemon script
f0502be190 GIT_SILENT made messages (after extraction) 2021-06-28 00:18:42 +00:00
l10n daemon script
cac8c80671 GIT_SILENT made messages (after extraction) 2021-06-26 00:17:28 +00:00
Łukasz Patron
843d25d112 Don't convert shuffle value to String when sending the command 2021-06-25 15:37:27 +00:00
l10n daemon script
8da49741f2 GIT_SILENT made messages (after extraction) 2021-06-25 00:16:26 +00:00
l10n daemon script
98fde5193e GIT_SILENT made messages (after extraction) 2021-06-23 00:17:55 +00:00
Piyush Aggarwal
116fa02795 mprisplugin: allow hiding per-app volume meter if not supported by remote media app 2021-06-22 08:10:34 +05:30
l10n daemon script
432753154f GIT_SILENT made messages (after extraction) 2021-06-22 00:16:55 +00:00
Łukasz Patron
d87a65d8b7 Add LoopStatus and Shuffle control to mpris plugin 2021-06-21 17:36:44 +00:00
Piyush Aggarwal
48abfa0c05 systemvolumeplugin: dont relay volumeChange packet when changed by remote system itself 2021-06-21 11:09:33 +05:30
Piyush Aggarwal
e86f731188 systemvolumeplugin: make long-press display device details, instead of displaying the label again 2021-06-21 10:52:27 +05:30
l10n daemon script
5189d238d0 GIT_SILENT made messages (after extraction) 2021-06-16 00:18:15 +00:00
l10n daemon script
53ff153e55 GIT_SILENT made messages (after extraction) 2021-06-15 00:16:26 +00:00
l10n daemon script
17a0dc7c24 GIT_SILENT made messages (after extraction) 2021-06-14 00:16:54 +00:00
l10n daemon script
2369041d81 GIT_SILENT made messages (after extraction) 2021-06-13 00:18:03 +00:00
l10n daemon script
d7c256d7d6 GIT_SILENT made messages (after extraction) 2021-06-01 00:17:31 +00:00
l10n daemon script
4d792a22bd GIT_SILENT made messages (after extraction) 2021-05-29 00:16:35 +00:00
l10n daemon script
682bfee88e GIT_SILENT made messages (after extraction) 2021-05-28 00:16:25 +00:00
l10n daemon script
b4dab18f5a GIT_SILENT made messages (after extraction) 2021-05-17 00:20:52 +00:00
l10n daemon script
cd085c6b46 GIT_SILENT made messages (after extraction) 2021-05-15 00:18:17 +00:00
Maxim Leshchenko
04f3662a56 Replace checkboxes with switches in plugins settings 2021-05-11 17:22:08 +00:00
Maxim Leshchenko
0875532d61 Add plugin settings fragment switch animation 2021-05-11 17:20:51 +00:00
l10n daemon script
5e71cdd636 GIT_SILENT made messages (after extraction) 2021-05-10 00:19:35 +00:00
l10n daemon script
d4ccaf5804 GIT_SILENT made messages (after extraction) 2021-05-08 00:18:00 +00:00
l10n daemon script
430aaf153f GIT_SILENT made messages (after extraction) 2021-05-07 00:18:19 +00:00
Albert Vaca Cintora
0d23639b15 Release 1.17.0 2021-05-06 20:02:25 +02:00
Albert Vaca Cintora
28f2ccb391 Bump dependencies and change jcenter (EOLd) to maven 2021-05-06 20:01:33 +02:00
Nicolas Fella
77d0b4aec9 Check plugin permissions before calling onCreate
Otherwise if we call something in onCreate for which we don't (yet) have permission we get a permission violation
2021-05-06 11:58:16 +00:00
l10n daemon script
1a5a60a722 GIT_SILENT made messages (after extraction) 2021-04-30 00:18:03 +00:00
l10n daemon script
fdfef1bd0e GIT_SILENT made messages (after extraction) 2021-04-26 00:18:44 +00:00
l10n daemon script
742d82f2a8 GIT_SILENT made messages (after extraction) 2021-04-25 00:18:13 +00:00
l10n daemon script
d0f76de334 GIT_SILENT made messages (after extraction) 2021-04-24 00:18:48 +00:00
l10n daemon script
266dce4bfa GIT_SILENT made messages (after extraction) 2021-04-22 00:17:36 +00:00
l10n daemon script
b9f6a8f484 GIT_SILENT made messages (after extraction) 2021-04-21 12:49:46 +00:00
l10n daemon script
3e9ebff477 GIT_SILENT Add new file (after extraction) 2021-04-21 00:18:32 +00:00
l10n daemon script
3ce370631a GIT_SILENT made messages (after extraction) 2021-04-21 00:18:21 +00:00
l10n daemon script
d1c799221e GIT_SILENT made messages (after extraction) 2021-04-19 00:19:10 +00:00
l10n daemon script
0d3ec8f2d1 GIT_SILENT made messages (after extraction) 2021-04-17 00:19:55 +00:00
l10n daemon script
a5a958e653 GIT_SILENT made messages (after extraction) 2021-04-15 00:18:25 +00:00
l10n daemon script
cf65a39110 GIT_SILENT made messages (after extraction) 2021-04-12 00:17:58 +00:00
l10n daemon script
df9bc885fa GIT_SILENT made messages (after extraction) 2021-04-11 00:19:13 +00:00
Andy Holmes
abae0a45e0 strings.xml: fix fingerprint label
Both remote and local certificates are SHA256, fix the local string to
reflect that.
2021-04-08 22:48:55 -07:00
Maxim Leshchenko
96f75431cd Fix mouse receiver plugin description 2021-04-07 13:03:45 +03:00
l10n daemon script
7821ed434d GIT_SILENT made messages (after extraction) 2021-04-07 00:18:52 +00:00
l10n daemon script
f3d5fa3bef GIT_SILENT made messages (after extraction) 2021-04-06 00:17:59 +00:00
Simon Redman
0499245ed2 Remove some noisy logging from last commit 2021-04-03 23:39:09 -07:00
Sohny Bohny
28efb48257 Implement basic mouse receiver
## Summary

A basic mouse receiver implementation. You can now control your Android Device remotely which might be useful when it's connected to a bigger screen (via HDMI).

Unfortunately Android does not provide moving mouse by software (other than adb and without root). Therefore this implementation uses Android [AccessibilityService](https://developer.android.com/reference/android/accessibilityservice/AccessibilityService) to create an ImageView Overlay as mouse pointer and simulate touch gestures.
This is quite hacky but I think the best way to do so.

## Demo
Here is a small demo

![Screen_Capture_select-area_20200803155517](/uploads/635de03b6c7cc6765c4535cb8d80e77e/Screen_Capture_select-area_20200803155517.gif)
2021-04-04 06:34:52 +00:00
l10n daemon script
8e8eca62b0 GIT_SILENT made messages (after extraction) 2021-04-04 00:18:16 +00:00
l10n daemon script
ef778a3c56 GIT_SILENT made messages (after extraction) 2021-04-01 00:17:31 +00:00
Albert Vaca Cintora
3825970c8e Update dependencies 2021-03-28 20:09:52 +02:00
l10n daemon script
e037247f48 GIT_SILENT made messages (after extraction) 2021-03-28 03:23:30 +02:00
l10n daemon script
d779a6751c GIT_SILENT made messages (after extraction) 2021-03-27 02:21:02 +01:00
l10n daemon script
38eaa2e21f GIT_SILENT made messages (after extraction) 2021-03-24 02:21:32 +01:00
l10n daemon script
b2cd347270 GIT_SILENT made messages (after extraction) 2021-03-22 02:18:37 +01:00
l10n daemon script
f89e96d42c GIT_SILENT made messages (after extraction) 2021-03-20 02:36:10 +01:00
l10n daemon script
a1b27d2b55 GIT_SILENT made messages (after extraction) 2021-03-19 03:10:33 +01:00
Maxim Leshchenko
7f23453cef Fix display of navigation drawer header on devices with high status bar 2021-03-18 13:48:57 +02:00
Simon Redman
edd9d0d8af [SMS App] Prevent assert in PduPersistor.load 2021-03-17 06:10:26 +00:00
l10n daemon script
ca86efa25d GIT_SILENT made messages (after extraction) 2021-03-17 04:10:00 +01:00
Albert Vaca Cintora
352b7be5dc More logging 2021-03-16 21:24:06 +01:00
Albert Vaca Cintora
fd3346626e Fix old typo 2021-03-16 21:21:15 +01:00
Albert Vaca Cintora
bb5b6f4fea Fail if server is not ready when we try to broadcast 2021-03-16 21:21:15 +01:00
Albert Vaca Cintora
1c31d3cb49 Update everything 2021-03-16 21:21:15 +01:00
Albert Vaca Cintora
d0e9a4bf8a Add foregroundServiceType, whatever it is used for 2021-03-16 21:21:15 +01:00
Maxim Leshchenko
e57e7b0257 Improve and fixup SendKeystrokesToHostActivity
Changes:
1. Add toolbar
2. Add device icons
3. Fix unexpected on-screen keyboard popping up when starting an activity on some Android versions
4. The distance between the device list and the text box has been reduced
2021-03-16 20:02:00 +00:00
Lorem Ipsum
b9a6681a4f Set navigation bar color according to theme on API 27+ 2021-03-16 19:59:33 +00:00
Maxim Leshchenko
d3b409ab52 Add Material ripple to lists 2021-03-16 19:44:51 +00:00
Art Pinch
a8065bab85 Open device screen on foreground notification tap 2021-03-16 19:42:38 +00:00
l10n daemon script
aa597d7f76 GIT_SILENT made messages (after extraction) 2021-03-15 03:07:17 +01:00
l10n daemon script
ade17468af GIT_SILENT made messages (after extraction) 2021-03-14 02:51:49 +01:00
Maxim Leshchenko
fa3065579a Fix some outdated links 2021-03-13 01:41:44 +00:00
l10n daemon script
78e11d613d GIT_SILENT made messages (after extraction) 2021-03-13 02:35:24 +01:00
Simon Redman
56ac852be5 (Fix build) Change reference from tp_alt.R to tp.R 2021-03-12 17:20:25 -08:00
David Shlemayev
32785cb510 Add ConnectivityReport Plugin
This plugin lets you monitor the signal strength of the mobile connection of the phone,
so you may know if opening a hotspot is viable, or figuring out why a connection dropped while hotspot-ing.
2021-03-13 00:35:47 +00:00
Aniket Kumar
10925b9724 [SMS App] Add support to extract attachments from network packet and send it MMS
## Summary

Add support for handling message request packets which have a list of attachments

## Test Plan

- Sent message with no attached file from desktop which was sent and received correctly
- Sent message with attached file from desktop which was sent and received correctly
- Sent message with two attached files which was sent and received correctly
2021-03-12 15:06:20 -08:00
l10n daemon script
88ef4cbca1 GIT_SILENT made messages (after extraction) 2021-03-12 02:52:55 +01:00
l10n daemon script
dbf012915f GIT_SILENT made messages (after extraction) 2021-03-11 02:52:09 +01:00
Daniel Weigl
801b6451ed Accept data via Intent and pass them on to the host as keystrokes
Adds new functionality to the MousepadPlugin to accept data via Intent and pass them on to the host as keystrokes via the existing MousePadPlugin.PACKET_TYPE_MOUSEPAD_REQUEST PackageType

 eg. to easily send OTP codes from the phone to the Desktop
2021-03-09 16:47:15 +00:00
l10n daemon script
f41360a7fc GIT_SILENT made messages (after extraction) 2021-03-08 02:49:05 +01:00
Maxim Leshchenko
8ddb28c001 Small redesign
Changes:
1. In the menu, the design of the selected item was changed, the icon of the current device was added and the image was removed
2. Changed the accent color to orange
3. Separators have been removed from almost all lists
4. The design of the selected item was changed in the menu, the icon of the current device was added and the image was removed
4. Changed the color of the toolbar to white or black (depending on the theme)
2021-03-07 10:55:47 +00:00
l10n daemon script
061b9b63ee GIT_SILENT made messages (after extraction) 2021-03-05 02:38:31 +01:00
Art Pinch
a4b3da7a14 Added switching between audio outputs and split player and devices into two pages 2021-02-19 19:00:29 +00:00
Daniel Tang
2f71fab62c Fix NullPointerException in MprisReceiverPlayer 2021-02-19 18:43:15 +00:00
Daniel Tang
3444771a62 Help Android Studio select the correct res dir 2021-02-19 18:28:47 +00:00
l10n daemon script
9f14d45626 GIT_SILENT made messages (after extraction) 2021-02-19 03:18:14 +01:00
l10n daemon script
07f571bf1a GIT_SILENT made messages (after extraction) 2021-02-18 02:34:25 +01:00
l10n daemon script
23356c87c7 GIT_SILENT made messages (after extraction) 2021-02-16 02:33:22 +01:00
l10n daemon script
3f57f3443a GIT_SILENT made messages (after extraction) 2021-02-15 02:45:55 +01:00
l10n daemon script
b28ef53940 GIT_SILENT made messages (after extraction) 2021-02-09 02:52:48 +01:00
l10n daemon script
6b94804ac8 GIT_SILENT made messages (after extraction) 2021-02-05 02:49:03 +01:00
l10n daemon script
046a66affa GIT_SILENT made messages (after extraction) 2021-02-02 02:41:02 +01:00
l10n daemon script
f105844eff GIT_SILENT made messages (after extraction) 2021-01-25 02:31:44 +01:00
l10n daemon script
80388fc530 GIT_SILENT made messages (after extraction) 2021-01-24 02:33:35 +01:00
l10n daemon script
19ff86d2ea GIT_SILENT made messages (after extraction) 2021-01-23 02:40:36 +01:00
l10n daemon script
59d9713240 GIT_SILENT made messages (after extraction) 2021-01-21 02:41:02 +01:00
l10n daemon script
53bac2ea05 GIT_SILENT made messages (after extraction) 2021-01-17 02:37:15 +01:00
l10n daemon script
ddd58b051d GIT_SILENT made messages (after extraction) 2021-01-16 02:39:43 +01:00
l10n daemon script
1573ede4fb GIT_SILENT made messages (after extraction) 2021-01-15 02:44:30 +01:00
l10n daemon script
a00c7a633b GIT_SILENT made messages (after extraction) 2021-01-14 02:45:23 +01:00
George Hopkins
a799854f36 Allow AES-GCM ciphers with RSA certificates 2021-01-12 16:43:30 +00:00
Daniel Tang
04a8bebe3a Add links and comply with GPL 2021-01-12 04:04:28 +00:00
l10n daemon script
7c8ea00cce GIT_SILENT made messages (after extraction) 2021-01-12 02:44:04 +01:00
l10n daemon script
b995af671b GIT_SILENT made messages (after extraction) 2021-01-10 02:43:02 +01:00
Albert Vaca Cintora
dfdb76103f Ignore exception when url is not http/https 2021-01-06 12:56:11 +01:00
245 changed files with 11344 additions and 2289 deletions

View File

@@ -1,3 +0,0 @@
{
"phabricator.uri" : "https://phabricator.kde.org/project/profile/159/"
}

View File

@@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.kde.kdeconnect_tp"
android:versionCode="11600"
android:versionName="1.16.0">
android:versionCode="11910"
android:versionName="1.19.1">
<supports-screens
android:anyDensity="true"
@@ -42,16 +42,21 @@
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.READ_LOGS" tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<application
android:icon="@drawable/icon"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:label="KDE Connect"
android:supportsRtl="true"
android:allowBackup="false"
android:networkSecurityConfig="@xml/network_security_config"
android:theme="@style/KdeConnectTheme"
android:theme="@style/KdeConnectTheme.NoActionBar"
android:name="org.kde.kdeconnect.MyApplication">
<receiver
@@ -72,6 +77,8 @@
<service
android:name="org.kde.kdeconnect.BackgroundService"
android:foregroundServiceType="connectedDevice"
android:icon="@drawable/icon"
android:enabled="true" />
<service
android:name="org.kde.kdeconnect.Plugins.RemoteKeyboardPlugin.RemoteKeyboardService"
@@ -95,12 +102,6 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.PluginSettingsActivity"
@@ -174,6 +175,7 @@
android:name="org.kde.kdeconnect.Plugins.MprisPlugin.MprisActivity"
android:label="@string/open_mpris_controls"
android:launchMode="singleTop"
android:theme="@style/KdeConnectTheme.NoActionBar"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
@@ -249,11 +251,34 @@
<activity
android:name="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity"
android:label="@string/pref_plugin_mousepad"
android:launchMode="singleTop"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.MousePadPlugin.ComposeSendActivity"
android:label="Compose send"
android:parentActivityName="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.MousePadPlugin.SendKeystrokesToHostActivity"
android:label="@string/pref_plugin_mousepad_send_keystrokes"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
<!-- Accept data with "text/x-keystrokes" to send the text to the connected host and emulate keystrokes -->
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/x-keystrokes"/>
</intent-filter>
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.PresenterPlugin.PresenterActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
@@ -266,7 +291,7 @@
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.SharePlugin.ShareActivity"
android:label="KDE Connect">
android:label="@string/manifest_label_share">
<intent-filter>
<action android:name="android.intent.action.SEND" />
@@ -317,6 +342,16 @@
<action android:name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
<service
android:name="org.kde.kdeconnect.Plugins.MouseReceiverPlugin.MouseReceiverService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/mouse_receiver_service" />
</service>
<activity
android:name="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationFilterActivity"
@@ -338,7 +373,49 @@
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.About.EasterEggActivity"
android:label="@string/easter_egg"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.About.AboutKDEActivity"
android:label="@string/about_kde"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.About.LicensesActivity"
android:label="@string/licenses"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MainActivity" />
</activity>
<service
android:name="org.kde.kdeconnect.Plugins.ClibpoardPlugin.ClipboardTileService"
android:icon="@drawable/ic_baseline_content_paste_24"
android:label="@string/send_clipboard"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE" />
</intent-filter>
</service>
<service android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandControlsProviderService" android:label="@string/kde_connect"
android:permission="android.permission.BIND_CONTROLS">
<intent-filter>
<action android:name="android.service.controls.ControlsProviderService" />
</intent-filter>
</service>
</application>
</manifest>

View File

@@ -13,11 +13,11 @@ All this without wires, over the already existing WiFi network, and using TLS en
## 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/KDE/kdeconnect-kde).
This is a native Android port of the KDE Connect Qt app. You will find a more complete readme about KDE Connect [here](https://invent.kde.org/network/kdeconnect-kde/).
## How to install this app
You can install this app from the [Play Store](https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp) as well as [F-Droid](https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp). Note you will also need to install the [desktop app](https://github.com/KDE/kdeconnect-kde) for it to work.
You can install this app from the [Play Store](https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp) as well as [F-Droid](https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp). Note you will also need to install the [desktop app](https://invent.kde.org/network/kdeconnect-kde) for it to work.
## Contributing
@@ -34,4 +34,4 @@ Please know that all translations for all KDE apps are handled by the [localizat
## License
[GNU GPL v2](https://www.gnu.org/licenses/gpl-2.0.html) and [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.html)
If you are reading this from Github, you should know that this is just a mirror of the [KDE Project repo](https://projects.kde.org/projects/extragear/network/kdeconnect-android/repository/).
If you are reading this from Github, you should know that this is just a mirror of the [KDE Project repo](https://invent.kde.org/network/kdeconnect-android/).

620
adaptive_icon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -1,29 +1,29 @@
import com.android.build.gradle.AppExtension
import com.android.build.gradle.api.ApkVariantOutput
import com.android.build.gradle.api.ApplicationVariant
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
import com.github.jk1.license.render.TextReportRenderer
buildscript {
ext.kotlin_version = '1.4.21'
repositories {
jcenter()
google()
}
ext.kotlin_version = '1.6.10'
dependencies {
// Pinned 4.0.2 due to this bug on 4.1: https://issuetracker.google.com/issues/172096891
//noinspection GradleDependency
classpath 'com.android.tools.build:gradle:4.1.1'
classpath 'com.android.tools.build:gradle:7.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
plugins {
id 'com.github.jk1.dependency-license-report' version '1.16'
}
def licenseResDir = new File("$projectDir/build/dependency-license-res")
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
compileSdkVersion 29
compileSdkVersion 31
defaultConfig {
minSdkVersion 14
targetSdkVersion 29
targetSdkVersion 30
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
multiDexEnabled true
@@ -31,9 +31,6 @@ android {
buildFeatures {
viewBinding true
}
dexOptions {
javaMaxHeapSize "2g"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
@@ -49,7 +46,7 @@ android {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['resources']
res.srcDirs = ['res']
res.srcDirs = [licenseResDir, 'res']
assets.srcDirs = ['assets']
}
test {
@@ -57,13 +54,9 @@ android {
}
}
packagingOptions {
merge "META-INF/DEPENDENCIES"
merge "META-INF/LICENSE"
merge "META-INF/NOTICE"
}
lintOptions {
abortOnError false
checkReleaseBuilds false
resources {
merges += ['META-INF/DEPENDENCIES', 'META-INF/LICENSE', 'META-INF/NOTICE']
}
}
signingConfigs {
debug {
@@ -86,6 +79,10 @@ android {
shrinkResources true
}
}
lint {
abortOnError false
checkReleaseBuilds false
}
}
/**
@@ -137,36 +134,25 @@ Provider<String> gitHashProvider = project.provider {
}
ext {
coroutines_version = '1.3.8'
coroutines_version = '1.6.0'
}
dependencies {
repositories {
jcenter()
google()
/* Needed for org.apache.sshd debugging
maven {
url "https://jitpack.io"
}
*/
}
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.media:media:1.2.1'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.media:media:1.4.3'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.preference:preference:1.1.1'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.documentfile:documentfile:1.0.1'
implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0'
implementation 'androidx.lifecycle:lifecycle-runtime:2.4.0'
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0'
implementation 'androidx.lifecycle:lifecycle-common-java8:2.4.0'
implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'com.jakewharton:disklrucache:2.0.2' //For caching album art bitmaps
implementation 'com.jaredrummler:android-device-names:1.1.9' //To get a human-friendly device name
@@ -191,15 +177,27 @@ dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
// Testing
testImplementation 'junit:junit:4.12'
testImplementation 'junit:junit:4.13.1'
testImplementation 'org.powermock:powermock-core:2.0.0'
testImplementation 'org.powermock:powermock-module-junit4:2.0.0'
testImplementation 'org.powermock:powermock-api-mockito2:2.0.0'
testImplementation 'org.mockito:mockito-core:2.23.0'
testImplementation 'org.skyscreamer:jsonassert:1.3.0'
// For device controls
implementation 'org.reactivestreams:reactive-streams:1.0.3'
implementation 'io.reactivex.rxjava2:rxjava:2.2.0'
}
repositories {
google()
mavenCentral()
licenseReport {
configurations = ALL
renderers = [new TextReportRenderer()]
}
generateLicenseReport.doLast {
def target = new File(licenseResDir, "raw/license")
target.parentFile.mkdirs()
target.text =
files("COPYING", "$projectDir/build/reports/dependency-license/THIRD-PARTY-NOTICES.txt")
.collect { it.getText() }.join('\n')
}
preBuild.dependsOn(generateLicenseReport)

View File

@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/* //device/apps/common/res/anim/slide_in_left.xml
**
** SPDX-FileCopyrightText: 2007 The Android Open Source Project
**
** SPDX-License-Identifier: Apache-2.0
*/
-->
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="-50%p" android:toXDelta="0"
android:duration="@android:integer/config_shortAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime" />
</set>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/* //device/apps/common/res/anim/slide_in_right.xml
**
** SPDX-FileCopyrightText: 2007 The Android Open Source Project
**
** SPDX-License-Identifier: Apache-2.0
*/
-->
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="50%p" android:toXDelta="0"
android:duration="@android:integer/config_shortAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime" />
</set>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/* //device/apps/common/res/anim/slide_out_left.xml
**
** SPDX-FileCopyrightText: 2007 The Android Open Source Project
**
** SPDX-License-Identifier: Apache-2.0
*/
-->
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="-50%p"
android:duration="@android:integer/config_shortAnimTime"/>
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_shortAnimTime" />
</set>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/* //device/apps/common/res/anim/slide_out_right.xml
**
** SPDX-FileCopyrightText: 2007 The Android Open Source Project
**
** SPDX-License-Identifier: Apache-2.0
*/
-->
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="50%p"
android:duration="@android:integer/config_shortAnimTime"/>
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_shortAnimTime" />
</set>

View File

@@ -0,0 +1,26 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:pathData="m0,0h108v108h-108z"
android:fillColor="@color/accent"/>
<path
android:pathData="m0,0h108v108h-108z"
android:strokeAlpha="0.2"
android:fillAlpha="0.2">
<aapt:attr name="android:fillColor">
<gradient
android:startY="0"
android:endY="108"
android:startX="0"
android:endX="0"
android:type="linear">
<item android:offset="0" android:color="#FFFFFFFF"/>
<item android:offset="1" android:color="#00FFFFFF"/>
</gradient>
</aapt:attr>
</path>
</vector>

View File

@@ -0,0 +1,66 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<group android:scaleX="0.8"
android:scaleY="0.8"
android:translateX="10.8"
android:translateY="10.8">
<path
android:pathData="M40,27L68,27A2,2 0,0 1,70 29L70,79A2,2 0,0 1,68 81L40,81A2,2 0,0 1,38 79L38,29A2,2 0,0 1,40 27z"
android:strokeWidth="1.73436">
<aapt:attr name="android:fillColor">
<gradient
android:startY="27"
android:startX="38"
android:endY="81"
android:endX="38"
android:type="linear">
<item android:offset="0" android:color="#FFF5F5F5"/>
<item android:offset="1" android:color="#FFF0F0F0"/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData="m41,30h26v48h-26z"
android:strokeWidth="1.00241"
android:fillColor="#2d2d2d"/>
<path
android:pathData="M50.25,28.25L57.75,28.25A0.25,0.25 0,0 1,58 28.5L58,28.5A0.25,0.25 0,0 1,57.75 28.75L50.25,28.75A0.25,0.25 0,0 1,50 28.5L50,28.5A0.25,0.25 0,0 1,50.25 28.25z"
android:strokeWidth=".632455"
android:fillColor="#2d2d2d"/>
<path
android:pathData="m47.694,47.379c-0.04,0.004 -0.083,0.015 -0.113,0.045 0,0 -1.381,1.381 -1.381,1.381 -0.058,0.058 -0.065,0.147 -0.023,0.218 0,0 1.614,2.665 1.614,2.665 -0.287,0.482 -0.519,0.999 -0.683,1.547 0,0 -2.965,0.616 -2.965,0.616 -0.083,0.017 -0.143,0.096 -0.143,0.18v1.952c0,0.083 0.063,0.153 0.143,0.173 0,0 2.875,0.698 2.875,0.698 0.154,0.634 0.391,1.241 0.706,1.794 0,0 -1.667,2.538 -1.667,2.538 -0.046,0.071 -0.037,0.165 0.023,0.225 0,0 1.381,1.381 1.381,1.381 0.058,0.058 0.147,0.065 0.218,0.023 0,0 2.613,-1.584 2.613,-1.584 0.512,0.296 1.067,0.533 1.652,0.691 0,0 0.608,2.928 0.608,2.928 0.017,0.083 0.088,0.143 0.173,0.143h1.952c0.082,0 0.153,-0.055 0.173,-0.135 0,0 0.721,-2.943 0.721,-2.943 0.603,-0.163 1.171,-0.404 1.697,-0.713 0,0 2.575,1.689 2.575,1.689 0.071,0.046 0.165,0.037 0.225,-0.023 0,0 1.374,-1.381 1.374,-1.381 0.058,-0.058 0.073,-0.147 0.03,-0.218 0,0 -0.938,-1.547 -0.938,-1.547s-0.308,0.098 -0.308,0.098c-0.044,0.014 -0.094,-0.006 -0.12,-0.045 0,0 -0.593,-0.872 -1.366,-2.005 -0.925,1.81 -2.812,3.048 -4.985,3.048 -3.088,0 -5.593,-2.505 -5.593,-5.593 0,-2.271 1.358,-4.222 3.303,-5.098v-1.441c-0.354,0.124 -0.696,0.273 -1.021,0.45 -0.001,-0 0.001,-0.007 0,-0.007 0,0 -2.635,-1.727 -2.635,-1.727 -0.035,-0.023 -0.073,-0.027 -0.113,-0.023 0,0 0,0 0,-0zM55.659,43.85s-3.514,0.338 -3.514,0.338v14.475s3.476,-0.526 3.476,-0.526v-6.171s4.677,6.847 4.677,6.847 3.664,-1.164 3.664,-1.164 -4.79,-6.584 -4.79,-6.584 4.827,-6.209 4.827,-6.209 -3.739,-0.856 -3.739,-0.856 -4.64,6.209 -4.64,6.209 0.038,-6.359 0.038,-6.359z"
android:fillColor="#f2f2f2"/>
<path
android:pathData="m41,30h22l-18,45h-4z"
android:strokeAlpha="0.1"
android:fillAlpha="0.1">
<aapt:attr name="android:fillColor">
<gradient
android:startY="30"
android:startX="41"
android:endY="70"
android:endX="60"
android:type="linear">
<item android:offset="0" android:color="#FFFFFFFD"/>
<item android:offset="1" android:color="#00FFFFFD"/>
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FF000000"
android:pathData="m38,78v1c0,1.108 0.892,2 2,2h28c1.108,0 2,-0.892 2,-2v-1c0,1.108 -0.892,2 -2,2h-28c-1.108,0 -2,-0.892 -2,-2z"
android:strokeAlpha="0.1"
android:strokeWidth="1.73436"
android:fillAlpha="0.1"/>
<path
android:pathData="m70,30v-1c0,-1.108 -0.892,-2 -2,-2h-28c-1.108,0 -2,0.892 -2,2v1c0,-1.108 0.892,-2 2,-2h28c1.108,0 2,0.892 2,2z"
android:strokeAlpha="0.5"
android:strokeWidth="1.73436"
android:fillColor="#fffff8"
android:fillAlpha="0.5"/>
</group>
</vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

View File

@@ -1,4 +1,4 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportWidth="32"
android:viewportHeight="32"
android:width="32dp"

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M11.8,10.9c-2.27,-0.59 -3,-1.2 -3,-2.15 0,-1.09 1.01,-1.85 2.7,-1.85 1.78,0 2.44,0.85 2.5,2.1h2.21c-0.07,-1.72 -1.12,-3.3 -3.21,-3.81V3h-3v2.16c-1.94,0.42 -3.5,1.68 -3.5,3.61 0,2.31 1.91,3.46 4.7,4.13 2.5,0.6 3,1.48 3,2.41 0,0.69 -0.49,1.79 -2.7,1.79 -2.06,0 -2.87,-0.92 -2.98,-2.1h-2.2c0.12,2.19 1.76,3.42 3.68,3.83V21h3v-2.15c1.95,-0.37 3.5,-1.5 3.5,-3.55 0,-2.84 -2.43,-3.81 -4.7,-4.4z"/>
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M20,8h-2.81c-0.45,-0.78 -1.07,-1.45 -1.82,-1.96L17,4.41 15.59,3l-2.17,2.17C12.96,5.06 12.49,5 12,5c-0.49,0 -0.96,0.06 -1.41,0.17L8.41,3 7,4.41l1.62,1.63C7.88,6.55 7.26,7.22 6.81,8L4,8v2h2.09c-0.05,0.33 -0.09,0.66 -0.09,1v1L4,12v2h2v1c0,0.34 0.04,0.67 0.09,1L4,16v2h2.81c1.04,1.79 2.97,3 5.19,3s4.15,-1.21 5.19,-3L20,18v-2h-2.09c0.05,-0.33 0.09,-0.66 0.09,-1v-1h2v-2h-2v-1c0,-0.34 -0.04,-0.67 -0.09,-1L20,10L20,8zM14,16h-4v-2h4v2zM14,12h-4v-2h4v2z"/>
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M9.4,16.6L4.8,12l4.6,-4.6L8,6l-6,6 6,6 1.4,-1.4zM14.6,16.6l4.6,-4.6 -4.6,-4.6L16,6l6,6 -6,6 -1.4,-1.4z"/>
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M19,2h-4.18C14.4,0.84 13.3,0 12,0c-1.3,0 -2.4,0.84 -2.82,2L5,2c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,4c0,-1.1 -0.9,-2 -2,-2zM12,2c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM19,20L5,20L5,4h2v3h10L17,4h2v16z"/>
</vector>

View File

@@ -0,0 +1,19 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M5.2496,8.0688l2.83,-2.8268l14.134,14.15l-2.83,2.8268z"/>
<path
android:fillColor="@android:color/white"
android:pathData="M9.4857,3.8272l2.828,-2.8288l5.6576,5.656l-2.828,2.8288z"/>
<path
android:fillColor="@android:color/white"
android:pathData="M0.9989,12.3147l2.8284,-2.8284l5.6568,5.6568l-2.8284,2.8284z"/>
<path
android:fillColor="@android:color/white"
android:pathData="M1,21h12v2h-12z"/>
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z"/>
</vector>

View File

@@ -0,0 +1,12 @@
<vector
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="@android:color/white"
android:pathData="M7.41,8.59L12,13.17l4.59,-4.58L18,10l-6,6 -6,-6 1.41,-1.41z" />
</vector>

View File

@@ -0,0 +1,12 @@
<vector
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="@android:color/white"
android:pathData="M15.41,16.59L10.83,12l4.58,-4.59L14,6l-6,6 6,6 1.41,-1.41z" />
</vector>

View File

@@ -0,0 +1,12 @@
<vector
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="@android:color/white"
android:pathData="M8.59,16.59L13.17,12 8.59,7.41 10,6l6,6 -6,6 -1.41,-1.41z" />
</vector>

View File

@@ -0,0 +1,12 @@
<vector
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="@android:color/white"
android:pathData="M7.41,15.41L12,10.83l4.59,4.58L18,14l-6,-6 -6,6z" />
</vector>

View File

@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
android:autoMirrored="true">
<path
android:fillColor="@android:color/white"
android:pathData="M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z"/>
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
</vector>

View File

@@ -1,7 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path android:fillColor="#FFF" android:pathData="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z" />
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:pathData="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z"
android:fillColor="@android:color/white" />
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M3,10h11v2H3V10zM3,8h11V6H3V8zM3,16h7v-2H3V16zM18.01,12.87l0.71,-0.71c0.39,-0.39 1.02,-0.39 1.41,0l0.71,0.71c0.39,0.39 0.39,1.02 0,1.41l-0.71,0.71L18.01,12.87zM17.3,13.58l-5.3,5.3V21h2.12l5.3,-5.3L17.3,13.58z"/>
</vector>

View File

@@ -1,9 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<vector
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#FF000000"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z"/>
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
</vector>

View File

@@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="48"
android:viewportWidth="48" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#fcfcfc" android:pathData="m26.8172,6.058 l-5.9774,0.5722v24.6133l5.9142,-0.8904v-10.494l7.9499,11.6392 6.2324,-1.972 -8.1405,-11.1935 8.2042,-10.5576 -6.3594,-1.4621 -7.8865,10.5572zM13.2678,12.0558c-0.0675,0.0071 -0.1327,0.0369 -0.1834,0.0877l-2.346,2.3456c-0.0986,0.0989 -0.1172,0.2523 -0.0445,0.3721l2.7467,4.5238c-0.4872,0.819 -0.8776,1.7021 -1.1567,2.6336l-5.0426,1.0489c-0.1403,0.0291 -0.2414,0.1534 -0.2414,0.2973v3.3173c0,0.1403 0.096,0.2618 0.2312,0.2945l4.8943,1.1963c0.261,1.0789 0.6654,2.1016 1.2,3.0416l-2.833,4.32c-0.079,0.1208 -0.0625,0.2798 0.0396,0.3815l2.3452,2.3456c0.0986,0.0984 0.2526,0.1176 0.3729,0.0454l4.4393,-2.6961c0.872,0.5032 1.8124,0.8992 2.8063,1.1677l1.0358,4.98c0.0291,0.1412 0.1539,0.2414 0.2969,0.2414h3.3177c0.1395,0 0.2612,-0.0952 0.2945,-0.232l1.22,-4.9903c1.0246,-0.2765 1.9935,-0.6886 2.8869,-1.2147l4.3747,2.8684c0.1203,0.0792 0.2794,0.0633 0.3815,-0.0387l2.346,-2.3456c0.0992,-0.0992 0.117,-0.2526 0.0441,-0.3721l-1.597,-2.632 -0.5167,0.1634c-0.0753,0.0238 -0.1575,-0.0043 -0.2018,-0.0699 0,0 -1.0186,-1.4912 -2.3342,-3.4167 -1.5727,3.0779 -4.7723,5.1864 -8.4672,5.1864 -5.2496,0 -9.5055,-4.2561 -9.5055,-9.5059 0,-3.8619 2.3035,-7.1832 5.6102,-8.6711v-2.4523c-0.6018,0.2105 -1.1836,0.4644 -1.7362,0.7654 -0.0004,-0.0004 -0.0008,-0.0014 -0.0024,-0.0028l-4.4777,-2.9368c-0.0603,-0.0394 -0.1302,-0.0551 -0.1977,-0.0482z"/>
</vector>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="48"
android:viewportHeight="48">
<path
android:pathData="m26.8172,6.058 l-5.9774,0.5722v24.6133l5.9142,-0.8904v-10.494l7.9499,11.6392 6.2324,-1.972 -8.1405,-11.1935 8.2042,-10.5576 -6.3594,-1.4621 -7.8865,10.5572zM13.2678,12.0558c-0.0675,0.0071 -0.1327,0.0369 -0.1834,0.0877l-2.346,2.3456c-0.0986,0.0989 -0.1172,0.2523 -0.0445,0.3721l2.7467,4.5238c-0.4872,0.819 -0.8776,1.7021 -1.1567,2.6336l-5.0426,1.0489c-0.1403,0.0291 -0.2414,0.1534 -0.2414,0.2973v3.3173c0,0.1403 0.096,0.2618 0.2312,0.2945l4.8943,1.1963c0.261,1.0789 0.6654,2.1016 1.2,3.0416l-2.833,4.32c-0.079,0.1208 -0.0625,0.2798 0.0396,0.3815l2.3452,2.3456c0.0986,0.0984 0.2526,0.1176 0.3729,0.0454l4.4393,-2.6961c0.872,0.5032 1.8124,0.8992 2.8063,1.1677l1.0358,4.98c0.0291,0.1412 0.1539,0.2414 0.2969,0.2414h3.3177c0.1395,0 0.2612,-0.0952 0.2945,-0.232l1.22,-4.9903c1.0246,-0.2765 1.9935,-0.6886 2.8869,-1.2147l4.3747,2.8684c0.1203,0.0792 0.2794,0.0633 0.3815,-0.0387l2.346,-2.3456c0.0992,-0.0992 0.117,-0.2526 0.0441,-0.3721l-1.597,-2.632 -0.5167,0.1634c-0.0753,0.0238 -0.1575,-0.0043 -0.2018,-0.0699 0,0 -1.0186,-1.4912 -2.3342,-3.4167 -1.5727,3.0779 -4.7723,5.1864 -8.4672,5.1864 -5.2496,0 -9.5055,-4.2561 -9.5055,-9.5059 0,-3.8619 2.3035,-7.1832 5.6102,-8.6711v-2.4523c-0.6018,0.2105 -1.1836,0.4644 -1.7362,0.7654 -0.0004,-0.0004 -0.0008,-0.0014 -0.0024,-0.0028l-4.4777,-2.9368c-0.0603,-0.0394 -0.1302,-0.0551 -0.1977,-0.0482z"
android:fillColor="#fcfcfc"/>
</vector>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M7,7h10v3l4,-4 -4,-4v3L5,5v6h2L7,7zM17,17L7,17v-3l-4,4 4,4v-3h12v-6h-2v4z" />
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:fillType="evenOdd"
android:pathData="M21,1L3,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM7,7h10v3l4,-4 -4,-4v3L5,5v6h2L7,7zM17,17L7,17v-3l-4,4 4,4v-3h12v-6h-2v4z" />
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:fillType="evenOdd"
android:pathData="M21,1L3,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM7,7h10v3l4,-4 -4,-4v3L5,5v6h2L7,7zM17,17L7,17v-3l-4,4 4,4v-3h12v-6h-2v4zM13,15L13,9h-1l-2,1v1h1.5v4L13,15z" />
</vector>

View File

@@ -1,9 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
<vector
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
android:tint="?attr/colorControlNormal"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#FF000000"
android:pathData="M 16.766667,8.7612589 v 2.5197071 c 0,2.182796 -2.138935,3.959544 -4.766667,3.959544 -2.6277329,0 -4.7666673,-1.776748 -4.7666673,-3.959544 V 8.7612589 H 5.4999999 v 2.5197071 c 0,2.732804 2.4587328,4.991913 5.6333321,5.345392 v 2.933663 H 8.0999999 v 1.439831 H 15.9 V 19.560021 H 12.866667 V 16.626358 C 16.041267,16.272879 18.5,14.01377 18.5,11.280966 V 8.7612589 Z M 12,13.800679 A 3.0333332,2.5197106 0 0 1 8.9666671,11.280966 V 5.5216304 a 3.0333332,2.5197106 0 1 1 6.0666649,0 V 11.280966 A 3.0333332,2.5197106 0 0 1 12,13.800679 Z"/>
android:pathData="M 16.766667,8.7612589 v 2.5197071 c 0,2.182796 -2.138935,3.959544 -4.766667,3.959544 -2.6277329,0 -4.7666673,-1.776748 -4.7666673,-3.959544 V 8.7612589 H 5.4999999 v 2.5197071 c 0,2.732804 2.4587328,4.991913 5.6333321,5.345392 v 2.933663 H 8.0999999 v 1.439831 H 15.9 V 19.560021 H 12.866667 V 16.626358 C 16.041267,16.272879 18.5,14.01377 18.5,11.280966 V 8.7612589 Z M 12,13.800679 A 3.0333332,2.5197106 0 0 1 8.9666671,11.280966 V 5.5216304 a 3.0333332,2.5197106 0 1 1 6.0666649,0 V 11.280966 A 3.0333332,2.5197106 0 0 1 12,13.800679 Z" />
</vector>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M10.59,9.17L5.41,4 4,5.41l5.17,5.17 1.42,-1.41zM14.5,4l2.04,2.04L4,18.59 5.41,20 17.96,7.46 20,9.5L20,4h-5.5zM14.83,13.41l-1.41,1.41 3.13,3.13L14.5,20L20,20v-5.5l-2.04,2.04 -3.13,-3.13z" />
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:fillType="evenOdd"
android:pathData="M21,1L3,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM10.59,9.17L5.41,4 4,5.41l5.17,5.17 1.42,-1.41zM14.5,4l2.04,2.04L4,18.59 5.41,20 17.96,7.46 20,9.5L20,4h-5.5zM14.83,13.41l-1.41,1.41 3.13,3.13L14.5,20L20,20v-5.5l-2.04,2.04 -3.13,-3.13z" />
</vector>

BIN
res/drawable/konqi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#000000"/>
<size
android:width="12dp"
android:height="12dp"/>
<stroke
android:width="1dp"
android:color="#ffffff"/>
</shape>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#000000"/>
<size
android:width="12dp"
android:height="12dp"/>
<stroke
android:width="1dp"
android:color="#ffffff"/>
</shape>
</item>
<item
android:top="4dp"
android:right="4dp"
android:bottom="4dp"
android:left="4dp">
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#ffffff"/>
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="8dp"/>
<stroke android:width="3dp" android:color="?colorAccent" />
</shape>

View File

@@ -1,7 +0,0 @@
<?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

@@ -3,10 +3,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingBottom="25dp"
android:paddingLeft="25dp"
android:paddingRight="25dp"
android:paddingTop="25dp">
android:paddingHorizontal="@dimen/activity_horizontal_margin"
android:paddingVertical="@dimen/activity_vertical_margin">
<ImageView
android:id="@+id/album_art"
@@ -19,6 +17,7 @@
android:scaleType="fitCenter" />
<include
android:id="@+id/mpris_control"
layout="@layout/mpris_control"
android:layout_width="0dp"
android:layout_height="match_parent"

View File

@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="false"
android:drawableStart="@drawable/ic_warning"
android:drawablePadding="8dp"
android:drawableTint="?attr/colorControlNormal"
android:paddingTop="16dp"
android:paddingBottom="12dp"
android:text="@string/on_non_trusted_message">
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="@string/on_non_trusted_message"
app:drawableTint="?attr/colorControlNormal"
app:drawableStartCompat="@drawable/ic_warning">
</TextView>

View File

@@ -1,14 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:drawableStart="@drawable/ic_wifi"
android:focusable="true"
android:drawablePadding="8dp"
android:drawableTint="?attr/colorControlNormal"
android:paddingTop="16dp"
android:paddingBottom="12dp"
android:text="@string/no_wifi">
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="@string/no_wifi"
app:drawableStartCompat="@drawable/ic_wifi"
app:drawableTint="?attr/colorControlNormal">
</TextView>

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:background="?android:attr/selectableItemBackground"
android:baselineAligned="false"
android:minHeight="?android:attr/listPreferredItemHeight"
android:orientation="horizontal"
android:paddingStart="4dp"
android:paddingLeft="4dp"
android:gravity="center_vertical"
android:paddingEnd="?android:attr/scrollbarSize"
android:paddingRight="?android:attr/scrollbarSize">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
android:id="@+id/about_person_list_item_entry_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="17sp"
tools:text="Konqi Konqueror" />
<TextView
android:id="@+id/about_person_list_item_entry_task"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:visibility="gone"
tools:text="Developer"
tools:visibility="visible" />
</LinearLayout>
<ImageButton
android:id="@+id/about_person_list_item_entry_visit_homepage_button"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginEnd="@dimen/default_gap"
android:layout_marginRight="@dimen/default_gap"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/visit_contributors_homepage"
android:src="@drawable/ic_baseline_web_24"
android:visibility="gone"
app:tint="@color/text_color"
tools:visibility="visible" />
<ImageButton
android:id="@+id/about_person_list_item_entry_email_button"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/email_contributor"
android:src="@drawable/ic_baseline_send_24"
android:visibility="gone"
app:tint="@color/text_color"
tools:visibility="visible" />
</LinearLayout>

View File

@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.UserInterface.About.AboutKDEActivity">
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:id="@+id/about_layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="8dp"
android:gravity="center_vertical"
android:layout_margin="24dp"
android:text="@string/kde_be_free"
android:textAppearance="?attr/textAppearanceHeadline6"
app:drawableLeftCompat="@drawable/ic_kde_48dp"
app:drawableStartCompat="@drawable/ic_kde_48dp"
app:drawableTint="@color/text_color" />
<com.google.android.material.card.MaterialCardView
xmlns:card_view="https://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_marginRight="12dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="12dp"
card_view:cardBackgroundColor="@color/card_stroke_color"
card_view:cardCornerRadius="12dp"
card_view:cardElevation="5dp"
card_view:cardUseCompatPadding="true">
<TextView
android:id="@+id/about_text_view"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:padding="12dp"
android:textIsSelectable="true"
tools:text="@string/about_kde_about" />
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
xmlns:card_view="https://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_marginRight="12dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="12dp"
card_view:cardBackgroundColor="@color/card_stroke_color"
card_view:cardCornerRadius="12dp"
card_view:cardElevation="5dp"
card_view:cardUseCompatPadding="true">
<TextView
android:id="@+id/report_bugs_or_wishes_text_view"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:padding="12dp"
android:textIsSelectable="true"
tools:text="@string/about_kde_report_bugs_or_wishes" />
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
xmlns:card_view="https://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_marginRight="12dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="12dp"
card_view:cardBackgroundColor="@color/card_stroke_color"
card_view:cardCornerRadius="12dp"
card_view:cardElevation="5dp"
card_view:cardUseCompatPadding="true">
<TextView
android:id="@+id/join_kde_text_view"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:padding="12dp"
android:textIsSelectable="true"
tools:text="@string/about_kde_join_kde" />
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
xmlns:card_view="https://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_marginRight="12dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="12dp"
card_view:cardBackgroundColor="@color/card_stroke_color"
card_view:cardCornerRadius="12dp"
card_view:cardElevation="5dp"
card_view:cardUseCompatPadding="true">
<TextView
android:id="@+id/support_kde_text_view"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:padding="12dp"
android:textIsSelectable="true"
tools:text="@string/about_kde_support_kde" />
</com.google.android.material.card.MaterialCardView>
<ImageView
android:layout_width="wrap_content"
android:layout_height="256dp"
android:layout_gravity="center"
android:contentDescription="@string/konqi"
android:paddingBottom="12dp"
android:src="@drawable/konqi" />
</LinearLayout>
</ScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -1,77 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.gridlayout.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:grid="http://schemas.android.com/apk/res-auto"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
grid:useDefaultMargins="true">
tools:context="org.kde.kdeconnect.Plugins.BigscreenPlugin.BigscreenActivity">
<ImageButton
android:id="@+id/home_button"
grid:layout_column="0"
grid:layout_row="0"
grid:layout_columnWeight="1"
grid:layout_rowWeight="1"
android:contentDescription="@string/bigscreen_home"
android:src="@drawable/ic_home_black_24dp"
android:theme="@style/DisableableButton" />
<include
android:id="@+id/toolbar_layout"
layout="@layout/toolbar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageButton
android:id="@+id/up_button"
grid:layout_column="1"
grid:layout_row="0"
grid:layout_columnWeight="1"
grid:layout_rowWeight="1"
android:contentDescription="@string/bigscreen_up"
android:src="@drawable/ic_arrow_upward_black_24dp"
android:theme="@style/DisableableButton" />
<org.kde.kdeconnect.UserInterface.Utils.RoundedConstraintLayout
android:id="@+id/rConstraintLayout"
<ImageButton
android:id="@+id/mic_button"
grid:layout_column="2"
grid:layout_columnWeight="1"
grid:layout_row="0"
grid:layout_rowWeight="1"
android:contentDescription="@string/bigscreen_mic"
android:src="@drawable/ic_mic_black"
android:theme="@style/DisableableButton" />
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="24dp"
<ImageButton
android:id="@+id/left_button"
grid:layout_column="0"
grid:layout_row="1"
grid:layout_columnWeight="1"
grid:layout_rowWeight="1"
android:contentDescription="@string/bigscreen_left"
android:src="@drawable/ic_arrow_back_black_24dp"
android:theme="@style/DisableableButton" />
app:layout_constraintBottom_toTopOf="@+id/rLinearLayout"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar_layout">
<ImageButton
android:id="@+id/select_button"
grid:layout_column="1"
grid:layout_row="1"
grid:layout_columnWeight="1"
grid:layout_rowWeight="1"
android:contentDescription="@string/bigscreen_select"
android:src="@drawable/ic_keyboard_return_black_24dp"
android:theme="@style/DisableableButton" />
<androidx.gridlayout.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/disabled_grey"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageButton
android:id="@+id/right_button"
grid:layout_column="2"
grid:layout_row="1"
grid:layout_columnWeight="1"
grid:layout_rowWeight="1"
android:contentDescription="@string/bigscreen_right"
android:src="@drawable/ic_arrow_forward_black_24dp"
android:theme="@style/DisableableButton" />
<ImageButton
android:id="@+id/up_button"
android:contentDescription="@string/bigscreen_up"
android:src="@drawable/ic_baseline_keyboard_arrow_up_24"
android:theme="@style/TransparentButton"
app:layout_column="1"
app:layout_columnWeight="1"
app:layout_row="0"
app:layout_rowWeight="1" />
<ImageButton
android:id="@+id/down_button"
grid:layout_column="1"
grid:layout_row="2"
grid:layout_columnWeight="1"
grid:layout_rowWeight="1"
android:contentDescription="@string/bigscreen_down"
android:src="@drawable/ic_arrow_downward_black_24dp"
android:theme="@style/DisableableButton" />
</androidx.gridlayout.widget.GridLayout>
<ImageButton
android:id="@+id/left_button"
android:contentDescription="@string/bigscreen_left"
android:src="@drawable/ic_baseline_keyboard_arrow_left_24"
android:theme="@style/TransparentButton"
app:layout_column="0"
app:layout_columnWeight="1"
app:layout_row="1"
app:layout_rowWeight="1" />
<ImageButton
android:id="@+id/select_button"
style="@style/CircleButton"
android:contentDescription="@string/bigscreen_select"
app:layout_column="1"
app:layout_columnWeight="2"
app:layout_row="1"
app:layout_rowWeight="2" />
<ImageButton
android:id="@+id/right_button"
android:contentDescription="@string/bigscreen_right"
android:src="@drawable/ic_baseline_keyboard_arrow_right_24"
android:theme="@style/TransparentButton"
app:layout_column="2"
app:layout_columnWeight="1"
app:layout_row="1"
app:layout_rowWeight="1" />
<ImageButton
android:id="@+id/down_button"
android:contentDescription="@string/bigscreen_down"
android:src="@drawable/ic_baseline_keyboard_arrow_down_24"
android:theme="@style/TransparentButton"
app:layout_column="1"
app:layout_columnWeight="1"
app:layout_row="2"
app:layout_rowWeight="1" />
</androidx.gridlayout.widget.GridLayout>
</org.kde.kdeconnect.UserInterface.Utils.RoundedConstraintLayout>
<LinearLayout
android:id="@+id/rLinearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="32dp"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/rConstraintLayout">
<ImageButton
android:id="@+id/home_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:contentDescription="@string/bigscreen_home"
android:src="@drawable/ic_home_black_24dp"
android:theme="@style/DisableableButton"/>
<ImageButton
android:id="@+id/mic_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:contentDescription="@string/bigscreen_mic"
android:src="@drawable/ic_mic_black"
android:theme="@style/DisableableButton"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBarLayout2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
</com.google.android.material.appbar.AppBarLayout>
<EditText
android:id="@+id/compose"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="16dp"
android:ems="10"
android:hint="@string/click_here_to_type"
android:imeActionLabel="@string/send_compose"
android:imeOptions="actionSend|actionDone"
android:importantForAutofill="no"
android:inputType="textLongMessage|textMultiLine"
android:isScrollContainer="true"
android:saveEnabled="true"
android:scrollbars="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/appBarLayout2"
app:layout_constraintVertical_bias="1.0"
tools:ignore="SpeakableTextPresentCheck,TextContrastCheck" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,36 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools">
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.UserInterface.CustomDevicesActivity">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:listitem="@layout/custom_device_item"/>
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<TextView
android:id="@+id/emptyListMessage"
style="@style/TextAppearance.AppCompat.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:gravity="center_horizontal"
android:text="@string/custom_device_list_help"
/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:listitem="@layout/custom_device_item"/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/floatingActionButton"
style="@style/KdeConnectThemeBase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:elevation="@dimen/fab_elevation"
android:src="@drawable/ic_add"/>
<TextView
android:id="@+id/emptyListMessage"
style="@style/TextAppearance.AppCompat.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:gravity="center_horizontal"
android:text="@string/custom_device_list_help"
/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/floatingActionButton"
style="@style/KdeConnectThemeBase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:elevation="@dimen/fab_elevation"
android:src="@drawable/ic_add"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -1,125 +1,68 @@
<LinearLayout
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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="org.kde.kdeconnect.UserInterface.DeviceFragment">
<LinearLayout
android:id="@+id/pairing_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
android:padding="@dimen/activity_vertical_margin"
android:visibility="gone">
<ProgressBar
android:id="@+id/pair_progress"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"/>
<TextView
android:id="@+id/pair_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dip"
android:text="@string/device_not_paired"
android:textAppearance="?android:attr/textAppearanceMedium"/>
<TextView
android:id="@+id/pair_verification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="5dp"
android:drawableLeft="@drawable/ic_key"
android:drawableStart="@drawable/ic_key"
android:layout_marginBottom="8dip"
android:visibility="gone"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium"/>
<Button
android:id="@+id/pair_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/button_round"
android:text="@string/request_pairing"
android:textColor="@android:color/white"/>
<LinearLayout
android:id="@+id/pair_request_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="gone">
<Button
android:id="@+id/accept_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="4dip"
android:layout_weight="1"
android:background="@drawable/button_round"
android:text="@string/pairing_accept"
android:textColor="@android:color/white"/>
<Button
android:id="@+id/reject_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="4dip"
android:layout_weight="1"
android:background="@drawable/button_round"
android:text="@string/pairing_reject"
android:textColor="@android:color/white"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/error_message_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="horizontal"
android:padding="16dp"
android:visibility="gone">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/error_message_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:importantForAccessibility="no"
android:paddingEnd="8dip"
android:paddingLeft="0dip"
android:paddingRight="8dip"
android:paddingStart="0dip"
android:src="@drawable/ic_error_outline_48dp"
app:tint="?attr/colorHighContrast"
tools:ignore="UnusedAttribute"/>
<TextView
android:id="@+id/not_reachable_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="@string/unreachable_description"
android:textAppearance="?android:attr/textAppearanceMedium"
android:visibility="gone" />
</LinearLayout>
<!-- Layout shown when device is reachable but not yet paired -->
<include
android:id="@+id/pair_request"
layout="@layout/view_pair_request"
tools:visibility="gone"/>
<!-- Layout shown when we can't pair with device or device is not reachable -->
<include
android:id="@+id/pair_error"
layout="@layout/view_pair_error"
tools:visibility="gone"/>
<!-- Layout shown when device is paired and reachable -->
<ListView
android:id="@+id/buttons_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="0dp"
android:fillViewport="true"
android:divider="@drawable/list_divider"
tools:context=".DeviceActivity"
tools:listitem="@layout/list_item_with_icon_entry"/>
tools:listitem="@layout/list_item_with_icon_entry"
android:layout_weight=".8"
android:divider="@null"
android:dividerHeight="0dp" />
<!-- Extra information about the current device -->
<RelativeLayout
android:id="@+id/view_status_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="4dp"
android:padding="8dp"
android:visibility="gone"
tools:visibility="visible"
tools:ignore="UnusedAttribute">
<TextView
android:id="@+id/view_status_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:padding="4dp"
android:text="@string/view_status_title"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
/>
<CheckedTextView
android:id="@+id/view_battery_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/view_status_title"
android:checkMark="@null"
android:clickable="false"
android:padding="4dp"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
android:text="@string/battery_status_unknown"
tools:text="100%"
/>
</RelativeLayout>
</LinearLayout>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/easter_egg_layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#1d99f3"
android:gravity="center">
<ImageView
android:id="@+id/logo"
android:layout_width="396dp"
android:layout_height="396dp"
android:src="@drawable/ic_kde_48dp"
android:contentDescription="@string/easter_egg" />
<TextView
android:id="@+id/angle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
tools:text="90°"/>
</LinearLayout>

View File

@@ -1,23 +1,33 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.Plugins.FindMyPhonePlugin.FindMyPhoneActivity">
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<Button
android:id="@+id/bFindMyPhone"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:text="@string/findmyphone_found"
android:textSize="50sp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<Button
android:id="@+id/bFindMyPhone"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:text="@string/findmyphone_found"
android:textSize="50sp" />
</RelativeLayout>
</RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="org.kde.kdeconnect.UserInterface.About.LicensesActivity">
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/licenses_text"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -12,17 +12,7 @@
android:layout_width="match_parent"
tools:context="org.kde.kdeconnect.UserInterface.MainActivity">
<com.google.android.material.appbar.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="8dp"/>
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<FrameLayout
android:id="@+id/container"
@@ -37,7 +27,6 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
style="?attr/mainNavigationViewStyle" />
app:headerLayout="@layout/nav_header" />
</androidx.drawerlayout.widget.DrawerLayout>

View File

@@ -1,25 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mousepad_view"
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"
android:orientation="vertical">
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity">
<TextView
style="@android:style/TextAppearance.Medium"
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<RelativeLayout
android:id="@+id/mousepad_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:padding="12dip"
android:text="@string/mousepad_info" />
android:layout_height="match_parent"
android:keepScreenOn="true"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<view
android:id="@+id/keyListener"
class="org.kde.kdeconnect.Plugins.MousePadPlugin.KeyListenerView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
style="@android:style/TextAppearance.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:padding="12dip"
android:text="@string/mousepad_info" />
</RelativeLayout>
<view
android:id="@+id/keyListener"
class="org.kde.kdeconnect.Plugins.MousePadPlugin.KeyListenerView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -1,32 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout
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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="15dp"
android:paddingLeft="25dp"
android:paddingRight="25dp"
android:paddingTop="25dp">
tools:context="org.kde.kdeconnect.Plugins.MprisPlugin.MprisActivity">
<ImageView
android:id="@+id/album_art"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="25dp"
android:layout_weight="4"
android:contentDescription="@string/mpris_coverart_description"
android:scaleType="fitCenter" />
<include
layout="@layout/mpris_control"
android:id="@+id/mpris_control"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<fragment android:name="org.kde.kdeconnect.Plugins.SystemvolumePlugin.SystemvolumeFragment"
android:id="@+id/systemvolume_fragment"
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"/>
android:elevation="8dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar">
</LinearLayout>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/mpris_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/toolbar_color"
app:tabIndicatorColor="?android:textColorPrimary"
app:tabSelectedTextColor="?android:textColorPrimary" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/mpris_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -1,31 +1,55 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationFilterActivity">
<TextView
android:id="@+id/tFilter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="16dp"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:text="@string/filter_apps_info" />
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<ProgressBar
android:id="@+id/spinner"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="64dip" />
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationFilterActivity"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<ListView
android:id="@+id/lvFilterApps"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/smScreenOffNotification"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="16dp"
android:text="@string/show_notification_if_screen_off" />
</LinearLayout>
<TextView
android:id="@+id/tFilter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="16dp"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:text="@string/filter_apps_info" />
<ProgressBar
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="64dip" />
<ListView
android:id="@+id/lvFilterApps"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone"
android:divider="@android:color/transparent"
android:dividerHeight="4dp" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -1,7 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragmentPlaceHolder"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.UserInterface.PluginSettingsActivity">
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragmentPlaceHolder"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -1,63 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mpris_control_view"
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="12dp"
android:orientation="vertical">
<TextView
style="@android:style/TextAppearance.Medium"
android:id="@+id/textView"
android:layout_weight="0"
android:layout_marginBottom="6dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/presenter_lock_tip" />
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.Plugins.PresenterPlugin.PresenterActivity">
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<LinearLayout
android:id="@+id/mpris_control_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="6dp"
android:orientation="horizontal"
android:layout_weight="1">
android:layout_height="match_parent"
android:padding="12dp"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<ImageButton
android:id="@+id/previous_button"
<TextView
style="@android:style/TextAppearance.Medium"
android:id="@+id/textView"
android:layout_weight="0"
android:layout_marginBottom="6dp"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/mpris_rew"
android:layout_weight="0.25"
android:layout_marginRight="3dp"
android:layout_marginEnd="3dp"
android:src="@drawable/ic_previous_black"
android:layout_height="wrap_content"
android:text="@string/presenter_lock_tip" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="6dp"
android:orientation="horizontal"
android:layout_weight="1">
<ImageButton
android:id="@+id/previous_button"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/mpris_rew"
android:layout_weight="0.25"
android:layout_marginRight="3dp"
android:layout_marginEnd="3dp"
android:src="@drawable/ic_previous_black"
android:theme="@style/DisableableButton" />
<ImageButton
android:id="@+id/next_button"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="3dp"
android:layout_marginStart="3dp"
android:layout_weight="0.25"
android:contentDescription="@string/mpris_ff"
android:src="@drawable/ic_next_black"
android:theme="@style/DisableableButton" />
</LinearLayout>
<Button
android:id="@+id/pointer_button"
android:layout_width="match_parent"
android:layout_marginBottom="6dp"
android:layout_height="wrap_content"
android:layout_weight="0.30"
android:visibility="gone"
android:text="@string/presenter_pointer"
android:theme="@style/DisableableButton" />
<ImageButton
android:id="@+id/next_button"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="3dp"
android:layout_marginStart="3dp"
android:layout_weight="0.25"
android:contentDescription="@string/mpris_ff"
android:src="@drawable/ic_next_black"
android:theme="@style/DisableableButton" />
</LinearLayout>
<Button
android:id="@+id/pointer_button"
android:layout_width="match_parent"
android:layout_marginBottom="6dp"
android:layout_height="wrap_content"
android:layout_weight="0.30"
android:visibility="gone"
android:text="@string/presenter_pointer"
android:theme="@style/DisableableButton" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -1,36 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandActivity">
<ListView
android:id="@+id/run_commands_list"
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="4dp"
android:addStatesFromChildren="true"
android:orientation="vertical" />
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/add_command_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:src="@drawable/ic_action_image_edit_24dp"
app:backgroundTint="@color/primary"
app:layout_anchor="@id/run_commands_list"
app:layout_anchorGravity="bottom|end" />
<ListView
android:id="@+id/run_commands_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="4dp"
android:addStatesFromChildren="true"
android:orientation="vertical"
android:divider="@null"
android:dividerHeight="0dp" />
<TextView
android:id="@+id/add_comand_explanation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="30dp"
android:text="@string/addcommand_explanation"
android:textAlignment="center"
android:textSize="16sp" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/add_command_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:src="@drawable/ic_action_image_edit_24dp"
app:backgroundTint="@color/primary"
app:layout_anchor="@id/run_commands_list"
app:layout_anchorGravity="bottom|end" />
<TextView
android:id="@+id/add_comand_explanation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="30dp"
android:text="@string/addcommand_explanation"
android:textAlignment="center"
android:textSize="16sp" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.Plugins.MousePadPlugin.SendKeystrokesToHostActivity">
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<LinearLayout
android:id="@+id/sendkeystrokes_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"
android:orientation="vertical"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="4dp"
android:layout_margin="4dp"
app:errorEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/textToSend"
style="@style/Widget.MaterialComponents.TextInputEditText.FilledBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:cursorVisible="true"
android:hint="@string/sendkeystrokes_textbox_hint"
android:inputType="text"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true"
android:text="" />
</com.google.android.material.textfield.TextInputLayout>
<ListView
android:id="@+id/devices_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:addStatesFromChildren="true"
android:divider="@null"
android:dividerHeight="0dp"
android:orientation="vertical"
android:paddingTop="8dp"
tools:context=".MainActivity" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.Plugins.SharePlugin.ShareActivity">
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<androidx.coordinatorlayout.widget.CoordinatorLayout
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_height="match_parent"
android:layout_width="match_parent">
<include
layout="@layout/devices_list"
android:id="@+id/devices_list_layout" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -13,8 +13,6 @@
android:divider="@null"
android:dividerHeight="0dp"
android:orientation="vertical"
android:paddingLeft="16dip"
android:paddingRight="16dip"
tools:context=".MainActivity" />
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

View File

@@ -0,0 +1,191 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fillViewport="true">
<LinearLayout
android:id="@+id/about_layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.card.MaterialCardView
xmlns:card_view="https://schemas.android.com/apk/res-auto"
android:id="@+id/general_info_card"
android:background="?android:attr/selectableItemBackground"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
card_view:cardBackgroundColor="@color/card_stroke_color"
card_view:cardCornerRadius="12dp"
card_view:cardElevation="5dp"
card_view:cardUseCompatPadding="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="12dp">
<LinearLayout
android:orientation="horizontal"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/app_icon"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_gravity="top"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:paddingBottom="4dp"
android:contentDescription="@string/kde_connect"
tools:src="@drawable/icon" />
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView
android:id="@+id/app_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:text="Application Name"
android:textAppearance="?attr/textAppearanceHeadline6" />
<TextView
android:id="@+id/app_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="Version 1.xy.z" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/app_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:layout_margin="12dp"
tools:text="Application Description" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<org.kde.kdeconnect.UserInterface.About.AutoGridLayout
android:id="@+id/info_buttons_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:columnCount="3"
app:columnWidth="84dp"
app:changeColumnCountIfTheyHaveOnlyOneElement="true">
<FrameLayout
android:id="@+id/report_bug_button"
style="@style/AboutButton">
<TextView
android:text="@string/report_bug"
app:drawableTopCompat="@drawable/ic_baseline_bug_report_24"
style="@style/AboutButton.TextView" />
</FrameLayout>
<FrameLayout
android:id="@+id/donate_button"
style="@style/AboutButton">
<TextView
android:text="@string/donate"
app:drawableTopCompat="@drawable/ic_baseline_attach_money_24"
style="@style/AboutButton.TextView" />
</FrameLayout>
<FrameLayout
android:id="@+id/source_code_button"
style="@style/AboutButton">
<TextView
android:text="@string/source_code"
app:drawableTopCompat="@drawable/ic_baseline_code_24"
style="@style/AboutButton.TextView" />
</FrameLayout>
<FrameLayout
android:id="@+id/licenses_button"
style="@style/AboutButton">
<TextView
android:text="@string/licenses"
app:drawableTopCompat="@drawable/ic_baseline_gavel_24"
style="@style/AboutButton.TextView" />
</FrameLayout>
<FrameLayout
android:id="@+id/about_kde_button"
style="@style/AboutButton">
<TextView
android:text="@string/about_kde"
app:drawableTopCompat="@drawable/ic_kde_24dp"
style="@style/AboutButton.TextView" />
</FrameLayout>
<FrameLayout
android:id="@+id/website_button"
style="@style/AboutButton">
<TextView
android:text="@string/website"
app:drawableTopCompat="@drawable/ic_baseline_web_24"
style="@style/AboutButton.TextView" />
</FrameLayout>
</org.kde.kdeconnect.UserInterface.About.AutoGridLayout>
<com.google.android.material.card.MaterialCardView
xmlns:card_view="https://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
card_view:cardBackgroundColor="@color/card_stroke_color"
card_view:cardCornerRadius="12dp"
card_view:cardElevation="5dp"
card_view:cardUseCompatPadding="true">
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:padding="12dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/authors"
android:textAppearance="?attr/textAppearanceHeadline6" />
<org.kde.kdeconnect.UserInterface.About.AdapterLinearLayout
android:id="@+id/authors_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="0dp" />
<TextView
android:id="@+id/authors_footer_text"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textSize="14sp"
android:layout_marginTop="8dp"
android:paddingStart="4dp"
android:paddingLeft="4dp"
tools:text="Everyone else who has contributed to KDE Connect over the years"
tools:ignore="RtlSymmetry" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
</ScrollView>

View File

@@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical">
<TextView
@@ -9,14 +10,11 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:drawableBottom="@drawable/text_section_header"
android:drawablePadding="4dp"
android:paddingLeft="8dip"
android:paddingRight="8dip"
android:textAllCaps="true"
android:textColor="?android:textColorSecondary"
android:textSize="14sp"
android:textStyle="bold" />
android:paddingLeft="16dip"
android:paddingRight="16dip"
android:textSize="16sp"
tools:text="Header" />
<TextView
android:id="@+id/list_item_category_empty_placeholder"

View File

@@ -3,7 +3,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/abc_list_selector_holo_dark"
android:background="?android:attr/selectableItemBackground"
android:baselineAligned="false"
android:gravity="center_vertical"
android:minHeight="?android:attr/listPreferredItemHeight"
@@ -13,8 +13,6 @@
android:paddingRight="?android:attr/scrollbarSize"
android:paddingStart="12dip"
android:id="@+id/list_item_entry">
<!-- We should use android:background="@android:/listChoiceBackgroundIndicator"
instead of abc_list_selector_holo_dark but that's only supported from API11 -->
<TextView
android:id="@+id/list_item_entry_title"

View File

@@ -1,44 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/sink_card"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/systemvolume_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
android:layout_height="wrap_content"
app:cardCornerRadius="8dp"
app:cardElevation="0dp"
app:contentPadding="8dp"
app:strokeColor="@color/card_stroke_color"
app:strokeWidth="1dp">
<LinearLayout
android:id="@+id/systemvolume_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="8dip"
android:orientation="horizontal">
android:gravity="center"
android:orientation="vertical">
<ImageButton
android:id="@+id/systemvolume_mute"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@android:color/transparent"
android:contentDescription="@string/mute"
android:scaleType="fitXY"
android:src="@drawable/ic_volume_black"
app:tint="?attr/colorHighContrast" />
<RadioButton
android:id="@+id/systemvolume_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:ellipsize="end"
android:maxLines="1"
android:paddingLeft="14dp"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
tools:text="Device name" />
<SeekBar
android:id="@+id/systemvolume_seek"
android:layout_width="0dp"
<LinearLayout
android:id="@+id/systemvolume_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:max="100" />
android:layout_marginTop="8dip"
android:orientation="horizontal">
<ImageButton
android:id="@+id/systemvolume_mute"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@android:color/transparent"
android:contentDescription="@string/mute"
android:scaleType="fitXY"
android:src="@drawable/ic_volume_black"
app:tint="?attr/colorHighContrast" />
<SeekBar
android:id="@+id/systemvolume_seek"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:max="100" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

View File

@@ -3,9 +3,10 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/abc_list_selector_holo_dark"
android:background="?android:attr/selectableItemBackground"
android:baselineAligned="false"
android:gravity="center_vertical"
android:minHeight="?android:attr/listPreferredItemHeight"
@@ -40,7 +41,9 @@
android:fadingEdge="horizontal"
android:singleLine="true"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium"/>
android:textAppearance="?android:attr/textAppearanceMedium"
tools:maxLength="20"
tools:text="@tools:sample/lorem/random"/>
<TextView
android:id="@+id/list_item_entry_summary"
@@ -52,8 +55,10 @@
android:text=""
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#CC2222"
android:visibility="gone"/>
android:visibility="gone"
tools:text="Other (optional) info"
tools:visibility="visible"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/mouse_cursor"
android:src="@drawable/mouse_pointer" />
</RelativeLayout>

View File

@@ -36,18 +36,56 @@
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ImageButton
android:id="@+id/play_button"
android:layout_width="fill_parent"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="75dp"
android:layout_gravity="center"
android:layout_weight="0"
android:adjustViewBounds="false"
android:baselineAlignBottom="true"
android:clickable="false"
android:contentDescription="@string/mpris_play"
android:src="@drawable/ic_play_black"
android:theme="@style/DisableableButton" />
android:orientation="horizontal">
<ImageButton
android:id="@+id/loop_button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:adjustViewBounds="false"
android:baselineAlignBottom="true"
android:clickable="false"
android:contentDescription="@string/mpris_loop"
android:src="@drawable/ic_loop_none_black"
android:theme="@style/DisableableButton"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.20" />
<ImageButton
android:id="@+id/play_button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:adjustViewBounds="false"
android:baselineAlignBottom="true"
android:clickable="false"
android:contentDescription="@string/mpris_play"
android:src="@drawable/ic_play_black"
android:theme="@style/DisableableButton"
app:layout_constraintEnd_toStartOf="@id/shuffle_button"
app:layout_constraintStart_toEndOf="@id/loop_button"
app:layout_constraintTop_toTopOf="parent" />
<ImageButton
android:id="@+id/shuffle_button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:adjustViewBounds="false"
android:baselineAlignBottom="true"
android:clickable="false"
android:contentDescription="@string/mpris_shuffle"
android:src="@drawable/ic_shuffle_off_black"
android:theme="@style/DisableableButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintWidth_percent="0.20" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingHorizontal="@dimen/activity_horizontal_margin"
android:paddingVertical="@dimen/activity_vertical_margin">
<ImageView
android:id="@+id/album_art"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="25dp"
android:layout_weight="4"
android:contentDescription="@string/mpris_coverart_description"
android:scaleType="fitCenter" />
<include
android:id="@+id/mpris_control"
layout="@layout/mpris_control"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>

View File

@@ -1,36 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="160dp"
android:background="@drawable/drawer_header"
android:gravity="bottom"
android:orientation="vertical">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<TextView
android:id="@+id/kdeconnect_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingEnd="48dp"
android:paddingLeft="16dp"
android:paddingRight="48dp"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:text="@string/kde_connect"
android:textColor="#FFF"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingStart="@dimen/nav_header_horizontal_margin"
android:paddingLeft="@dimen/nav_header_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingEnd="@dimen/nav_header_horizontal_margin"
android:paddingRight="@dimen/nav_header_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin">
<TextView
android:id="@+id/device_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="0dp"
android:paddingBottom="16dp"
android:paddingEnd="48dp"
android:paddingLeft="16dp"
android:paddingRight="48dp"
android:paddingStart="16dp"
android:paddingTop="4dp"
android:text="My device"
android:textColor="#fff" />
<ImageView
android:id="@+id/device_type"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_gravity="top"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:paddingBottom="4dp"
tools:srcCompat="@drawable/ic_device_phone_32dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical">
<TextView
android:id="@+id/kdeconnect_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/kde_connect"
android:textAppearance="?attr/textAppearanceHeadline6" />
<TextView
android:id="@+id/device_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody2"
android:textColor="@color/material_on_surface_emphasis_medium"
tools:text="My device" />
</LinearLayout>
</LinearLayout>
</FrameLayout>

View File

@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="false"
android:drawableStart="@drawable/ic_warning"
android:drawableLeft="@drawable/ic_warning"
android:drawablePadding="8dp"
android:paddingTop="16dp"
android:paddingBottom="12dp"
android:text="@string/on_non_trusted_message">
android:paddingLeft="16dip"
android:paddingRight="16dip"
android:text="@string/on_non_trusted_message"
app:drawableStartCompat="@drawable/ic_warning"
app:drawableLeftCompat="@drawable/ic_warning">
</TextView>

View File

@@ -5,6 +5,8 @@
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingBottom="12dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="@string/pairing_description"
android:clickable="false"
android:background="@android:color/transparent"

View File

@@ -1,14 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:drawableStart="@drawable/ic_wifi"
android:drawableLeft="@drawable/ic_wifi"
android:focusable="true"
android:drawablePadding="8dp"
android:paddingTop="16dp"
android:paddingBottom="12dp"
android:text="@string/no_wifi">
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="@string/no_wifi"
app:drawableStartCompat="@drawable/ic_wifi"
app:drawableLeftCompat="@drawable/ic_wifi">
</TextView>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/audio_devices_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:orientation="vertical"
android:paddingHorizontal="@dimen/activity_horizontal_margin"
android:paddingVertical="@dimen/activity_vertical_margin">
</androidx.recyclerview.widget.RecyclerView>

16
res/layout/toolbar.xml Normal file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.appbar.AppBarLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="8dp"
app:title="@string/kde_connect"/>
</com.google.android.material.appbar.AppBarLayout>

View File

@@ -1,38 +1,51 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="org.kde.kdeconnect.UserInterface.TrustedNetworksActivity">
<include layout="@layout/toolbar" android:id="@+id/toolbar_layout" />
<CheckBox
<LinearLayout
android:id="@+id/trusted_networks_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<CheckBox
android:text="@string/allow_all_networks_text"
android:layout_width="match_parent"
android:checked="true"
android:layout_height="wrap_content"
android:id="@+id/trust_all_networks_checkBox"/>
<TextView
<TextView
android:id="@+id/trusted_network_list_empty"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:text="@string/empty_trusted_networks_list_text"
android:gravity="center" />
<ListView
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<Button
android:id="@android:id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<Button
android:id="@android:id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/error_message_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="horizontal"
android:padding="16dp"
android:visibility="gone"
tools:visibility="visible">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/error_message_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:importantForAccessibility="no"
android:paddingEnd="8dip"
android:paddingLeft="0dip"
android:paddingRight="8dip"
android:paddingStart="0dip"
android:src="@drawable/ic_error_outline_48dp"
app:tint="?attr/colorHighContrast"
tools:ignore="UnusedAttribute" />
<TextView
android:id="@+id/not_reachable_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="@string/unreachable_description"
android:textAppearance="?android:attr/textAppearanceMedium"
android:visibility="gone"
tools:visibility="visible" />
</LinearLayout>

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pairing_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
android:padding="@dimen/activity_vertical_margin"
android:visibility="gone"
tools:visibility="visible">
<ProgressBar
android:id="@+id/pair_progress"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<TextView
android:id="@+id/pair_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dip"
android:text="@string/device_not_paired"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/pair_verification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="5dp"
android:drawableLeft="@drawable/ic_key"
android:drawableStart="@drawable/ic_key"
android:layout_marginBottom="8dip"
android:visibility="gone"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/pair_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/button_round"
android:text="@string/request_pairing"
android:textColor="@android:color/white" />
<LinearLayout
android:id="@+id/pair_request_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="gone">
<Button
android:id="@+id/accept_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="4dip"
android:layout_weight="1"
android:background="@drawable/button_round"
android:text="@string/pairing_accept"
android:textColor="@android:color/white" />
<Button
android:id="@+id/reject_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="4dip"
android:layout_weight="1"
android:background="@drawable/button_round"
android:text="@string/pairing_reject"
android:textColor="@android:color/white" />
</LinearLayout>
</LinearLayout>

View File

@@ -11,6 +11,8 @@
android:layout_height="match_parent"
android:layout_margin="4dp"
android:addStatesFromChildren="true"
android:orientation="vertical" />
android:orientation="vertical"
android:divider="@null"
android:dividerHeight="0dp" />
</LinearLayout>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:kdeconnect="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_send_compose"
android:icon="@android:drawable/ic_menu_send"
android:title="@string/send_compose"
kdeconnect:showAsAction="ifRoom" />
<item
android:id="@+id/menu_clear_compose"
android:title="@string/clear_compose"
kdeconnect:showAsAction="always" />
</menu>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:kdeconnect="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_rise_up"
android:icon="@drawable/ic_arrow_upward_black_24dp"
android:title="@string/rise_up"
android:iconTint="@color/text_color"
kdeconnect:showAsAction="ifRoom" />
<item
android:id="@+id/menu_rise_down"
android:icon="@drawable/ic_arrow_downward_black_24dp"
android:title="@string/rise_down"
android:iconTint="@color/text_color"
kdeconnect:showAsAction="ifRoom" />
</menu>

View File

@@ -8,6 +8,11 @@
android:title="@string/show_keyboard"
kdeconnect:showAsAction="ifRoom" />
<item
android:id="@+id/menu_open_compose_send"
android:icon="@drawable/ic_edit_note_24dp"
android:title="@string/open_compose_send"
kdeconnect:showAsAction="ifRoom" />
<item
android:id="@+id/menu_right_click"
android:title="@string/right_click"

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,18 +1,27 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="kde_connect">كدي المتّصل</string>
<string name="manifest_label_share">أرسِل إلى جهاز</string>
<string name="foreground_notification_no_devices">غير متصل بأي جهاز</string>
<string name="foreground_notification_devices">متّصل بـ: %s</string>
<string name="foreground_notification_send_clipboard">أرسل الحافظة</string>
<string name="pref_plugin_telephony">مُخطِر المهاتفة</string>
<string name="pref_plugin_telephony_desc">أرسل إخطارات للمكالمات الواردة</string>
<string name="pref_plugin_battery">تقرير البطّاريّة</string>
<string name="pref_plugin_battery_desc">بلّغ عن حالة البطّاريّة دوريًّا</string>
<string name="pref_plugin_connectivity_report">تقرير الاتصال</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_clipboard_sent">أرسل الحافظة</string>
<string name="pref_plugin_mousepad">الدّخل البعيد</string>
<string name="pref_plugin_mousepad_desc">استخدم الهاتف أو اللوحيّ كفأرة ولوحة مفاتيح</string>
<string name="pref_plugin_mpris">تحكّمات الوسائط المتعدّدة</string>
<string name="pref_plugin_mpris_desc">توفّر تحكّمًا بعيدًا لمشغّل الوسائط</string>
<string name="pref_plugin_runcommand">شغّل أمرًا</string>
<string name="pref_plugin_runcommand_desc">تحفّز أوامر عن بعد من الهاتف أو اللوحيّ</string>
<string name="pref_plugin_contacts">مزامن المتراسلين</string>
<string name="pref_plugin_ping">وخزة</string>
<string name="pref_plugin_ping_desc">أرسل واستقبل وخزات</string>
<string name="pref_plugin_notifications">مزامنة الإخطارات</string>
@@ -23,18 +32,22 @@
<string name="pref_plugin_sharereceiver_desc">شارك الملفّات والعناوين بين الجهازين</string>
<string name="device_list_empty">لا أجهزة</string>
<string name="ok">حسنًا</string>
<string name="sad_ok">حسنًا ):</string>
<string name="cancel">ألغِ</string>
<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 name="mousepad_single_tap_settings_title">اضبط إجراء الطَرق بالأصبع</string>
<string name="mousepad_double_tap_settings_title">اضبط إجراء اللمس بإصبعين</string>
<string name="mousepad_triple_tap_settings_title">اضبط إجراء اللمس بثلاث أصابع</string>
<string name="mousepad_sensitivity_settings_title">اضبط حساسيّة لوحة اللمس</string>
<string name="mousepad_acceleration_profile_settings_title">عيّن تسارع المؤشر</string>
<string name="mousepad_scroll_direction_title">اعكس اتّجاه التّمرير</string>
<string-array name="mousepad_tap_entries">
<item>النّقر باليمين</item>
<item>النّقر باليسار</item>
<item>النقر باليمين</item>
<item>النّقر بالوسط</item>
<item>لا شيء</item>
</string-array>
@@ -46,13 +59,17 @@
<item>الأسرع</item>
</string-array>
<string-array name="mousepad_acceleration_profile_entries">
<item>No Acceleration</item>
<item>Weakest</item>
<item>Weaker</item>
<item>Medium</item>
<item>Stronger</item>
<item>Strongest</item>
<item>بدون تسريع</item>
<item>الأكثر ضعفاً</item>
<item>ضعيف</item>
<item>متوسط</item>
<item>أقوى</item>
<item>الأقوى</item>
</string-array>
<string name="view_status_title">الحالة</string>
<string name="battery_status_format">البطارية: %d%%</string>
<string name="battery_status_low_format">البطارية: %d%% منخفضة</string>
<string name="battery_status_charging_format">البطارية: %d%% تشحن</string>
<string name="category_connected_devices">الأجهزة المقترن بها</string>
<string name="category_not_paired_devices">الأجهزة المتوفّرة</string>
<string name="category_remembered_devices">الأجهزة المتذكَّرة</string>
@@ -68,9 +85,9 @@
<string name="error_canceled_by_other_peer">ألغاه ندّ آخر</string>
<string name="encryption_info_title">معلومات التّعمية</string>
<string name="encryption_info_msg_no_ssl">لا يستخدم الجهاز الآخر إصدارة حديثة من «كدي المتّصل»، ستُستخدم طريقة التّعمية القديمة.</string>
<string name="my_device_fingerprint">بصمة SHA1 لشهادة جهازك هي:</string>
<string name="pair_requested">طُلب الاقتران</string>
<string name="pairing_request_from">طلب اقتران من %1s</string>
<string name="tap_to_open">اطرق لتفتح</string>
<string name="received_file_text">المس لفتح \'%1s\'</string>
<string name="tap_to_answer">المس للإجابة</string>
<string name="right_click">أرسل نقرة باليمين</string>
@@ -80,13 +97,18 @@
<string name="request_pairing">اطلب الاقتران</string>
<string name="pairing_accept">اقبل</string>
<string name="pairing_reject">ارفض</string>
<string name="settings">إعدادات</string>
<string name="mpris_play">شغّل</string>
<string name="mpris_pause">ألبث</string>
<string name="mpris_previous">السّابق</string>
<string name="mpris_rew">رجوع</string>
<string name="mpris_ff">تقدّم سريع</string>
<string name="mpris_next">التّالي</string>
<string name="mpris_loop">حلقة</string>
<string name="mpris_shuffle">اخلط</string>
<string name="mpris_volume">المستوى</string>
<string name="mpris_time_settings_title">زرّا التّقدّم والإرجاع</string>
<string name="mpris_time_settings_summary">اضبط الوقت عند نقر زرّيّ التّقديم أو الإرجاع</string>
<string-array name="mpris_time_entries">
<item>10 ثوان</item>
<item>20 ثانية</item>
@@ -94,20 +116,33 @@
<item>دقيقة واحدة</item>
<item>دقيقتان</item>
</string-array>
<string name="share_to">شارك مع...</string>
<string name="protocol_version_newer">يستخدم هذا الجهاز إصدار ميفاق أحدث</string>
<string name="plugin_settings_with_name">إعدادات %s</string>
<string name="invalid_device_name">اسم جهاز غير صالح</string>
<string name="shareplugin_text_saved">استُقبل نصّ، حُفظ إلى الحافظة</string>
<string name="custom_devices_settings">قائمة أجهزة مخصّصة</string>
<string name="custom_device_list">أضف أجهزة بميفاق الإنترنت م​إ</string>
<string name="custom_device_deleted">حُذف الجهاز المخصّص</string>
<string name="custom_device_fab_hint">أضف جهازاً</string>
<string name="undo">تراجع</string>
<string name="share_notification_preference">إخطارات مزعجة</string>
<string name="share_notification_preference_summary">اهتزّ وشغّل صوتًا عند استقبال ملفّ</string>
<string name="share_destination_folder_preference">مجلد الوجهة</string>
<string name="share">شارك</string>
<string name="share_received_file">شارك \"%s\"</string>
<string name="title_activity_notification_filter">مرشّح الإخطارات</string>
<string name="filter_apps_info">ستُزامن الإخطارات من التّطبيقات المحدّدة.</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_device_dialog_title">أضف جهازاً</string>
<string name="add_device_hint">اسم المضيف أو عنوان IP</string>
<string name="sftp_storage_preference_click_to_select">"انقر للاختيار "</string>
<string name="sftp_storage_preference_display_name">اسم العرض</string>
<string name="sftp_action_mode_menu_delete">احذف</string>
<string name="sftp_no_sdcard_detected">لم يكتشف أي بطاقة ذاكرة</string>
<string name="no_players_connected">لم يُعثر على مشغّلات</string>
<string name="send_files">أرسل ملفّات</string>
<string name="pairing_title">أجهزة «كدي المتّصل»</string>
@@ -122,23 +157,108 @@
<string name="findmyphone_title">جِد جهازي</string>
<string name="findmyphone_title_tablet">جِد جهازي اللوحيّ</string>
<string name="findmyphone_description">يرّن هذا الجهاز لتجده</string>
<string name="findmyphone_found">عثر عليه</string>
<string name="open">افتح</string>
<string name="close">أغلق</string>
<string name="select_ringtone">اختر النغمة</string>
<string name="telephony_pref_blocked_title">أرقام محظورة</string>
<string name="mpris_coverart_description">الصورة الفنية للوسيط الحالي</string>
<string name="device_icon_description">أيقونة الجهاز</string>
<string name="settings_icon_description">أيقونة الإعدادات</string>
<string name="presenter_fullscreen">ملء الشّاشة</string>
<string name="presenter_exit">اخرج من العرض التقديمي</string>
<string name="add_command">أضف أمراً</string>
<string name="addcommand_explanation">لا يوجد أوامر مسجلة</string>
<string name="pref_plugin_mprisreceiver">متحكم الوسائط</string>
<string name="notification_channel_default">إخطارات أخرى</string>
<string name="notification_channel_media_control">متحكم الوسائط</string>
<string name="notification_channel_filetransfer">نقل الملفّات</string>
<string name="notification_channel_high_priority">مرتفعة الأولوية</string>
<string name="notification_channel_sms_mms">رسالة جديدة</string>
<string name="mpris_stop">أوقف المشغل الحالي</string>
<string name="copy_url_to_clipboard">انسخ المسار إلى الحافظة</string>
<string name="clipboard_toast">نُسخ إلى الحافظة</string>
<string name="runcommand_notreachable">الجهاز غير قابل الوصول</string>
<string name="runcommand_notpaired">الجهاز غير مقترن</string>
<string name="pref_plugin_findremotedevice">اعثر على جهاز بعيد</string>
<string name="pref_plugin_findremotedevice_desc">رنّ على الجهاز البعيد</string>
<string name="ring">رّن</string>
<string name="pref_plugin_systemvolume">صوت النظام</string>
<string name="mute">اكتم</string>
<string name="all">الكلّ</string>
<string name="devices">الأجهزة</string>
<string name="settings_rename">اسم الجهاز</string>
<string name="settings_dark_mode">سمة مظلمة</string>
<string name="settings_more_settings_title">المزيد من الإعدادات</string>
<string name="privacy_options">خيارات الخصوصية</string>
<string name="set_privacy_options">حدد خيارات الخصوصية</string>
<string name="block_contents">امنح محتويات الإخطارات</string>
<string name="block_images">امنع الصور في الإخطارات</string>
<string name="notification_channel_receivenotification">إخطارات من أجهزة أخرى</string>
<string name="take_picture">شغّل الكاميرا</string>
<string name="presenter_pointer">المؤشر</string>
<string name="trusted_networks">الشّبكات الموثوقة</string>
<string name="add_trusted_network">أضف %s</string>
<string name="allow_all_networks_text">اسمح للكل</string>
<string name="location_permission_needed_title">الإذن مطلوب</string>
<string name="bigscreen_home">المنزل</string>
<string name="bigscreen_up">أعلى</string>
<string name="bigscreen_left">يسار</string>
<string name="bigscreen_select">اختر</string>
<string name="bigscreen_right">يمين</string>
<string name="bigscreen_down">أسفل</string>
<string name="bigscreen_mic">اللاقط</string>
<string name="pref_plugin_bigscreen">متحكم الشاشة الكبيرة</string>
<string name="bigscreen_speech_extra_prompt">حديث</string>
<string name="message_reply_label">ردّ</string>
<string name="mark_as_read_label">علّم كمقروءة</string>
<string name="user_display_name">أنت</string>
<string name="set_default_sms_app_title">أرسل رسالة قصيرة</string>
<string name="set_group_message_as_mms_title">أرسل رسالة جماعية</string>
<string name="set_long_text_as_mms_title">أرسل نص طويل كرسالة وسائط</string>
<string name="convert_to_mms_after_title">حول إلى رسالة وسائط</string>
<string-array name="convert_to_mms_after_entries">
<item>After one message</item>
<item>After two messages</item>
<item>After three messages</item>
<item>After four messages</item>
<item>After five messages</item>
<item>بعد رسالة واحدة</item>
<item>بعد رسالتين</item>
<item>بعد ثلاث رسائل</item>
<item>بعد أربع رسائل</item>
<item>بعد خمس رسائل</item>
</string-array>
<string name="theme_dialog_title">اختر سمة</string>
<string-array name="theme_list">
<item>Set by Battery Saver</item>
<item/>
<item>Dark</item>
<item>معينة بواسطة حافظ البطارية</item>
<item>خفيف</item>
<item>مظلمة</item>
</string-array>
<string-array name="theme_list_v28">
<item/>
<item/>
<item>Dark</item>
<item>افتراضيات النظام</item>
<item>خفيف</item>
<item>مظلمة</item>
</string-array>
<string name="report_bug">أبلغ عن علة</string>
<string name="donate">تبرّع</string>
<string name="source_code">الشيفرة المصدرية</string>
<string name="licenses">الرّخص</string>
<string name="website">موقع الوبّ</string>
<string name="about">عن</string>
<string name="authors">المؤلفين</string>
<string name="thanks_to">الشكر إلى</string>
<string name="easter_egg">بيض الفصح</string>
<string name="email_contributor">راسل المساهم:\n%s</string>
<string name="visit_contributors_homepage">زر صفحة المساهم الرئيسية\n%s</string>
<string name="version">الإصدار %s</string>
<string name="about_kde">عن كدي</string>
<string name="kde_be_free">كدي- كن حرًّا!</string>
<string name="kde">كدي</string>
<string name="konqi">كوينكي</string>
<string name="rise_up">ارفع</string>
<string name="rise_down">اخفض</string>
<string name="click_here_to_type">اطُرق لتكتب</string>
<string name="clear_compose">امسح</string>
<string name="send_compose">أرسل</string>
<string name="open_compose_send">ألف نص</string>
<string name="maintainer_and_developer">المصين ومطوّر</string>
<string name="developer">مطوّر</string>
<string name="bug_fixes_and_general_improvements">إصلاح علل وتحسينات عامة</string>
<string name="send_clipboard">أرسل الحافظة</string>
</resources>

View File

@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Nun se coneutó con nengún preséu</string>
<string name="foreground_notification_no_devices">Nun se conectó con nengún preséu</string>
<string name="foreground_notification_devices">Coneutóse con %s</string>
<string name="pref_plugin_telephony">Avisador telefónicu</string>
<string name="pref_plugin_telephony_desc">Unvia avisos de les llamaes entrantes</string>
@@ -47,11 +47,6 @@
<string name="mousepad_sensitivity_settings_title">Sensibilidá del panel táctil</string>
<string name="mousepad_acceleration_profile_settings_title">Aceleración del punteru</string>
<string name="mousepad_scroll_direction_title">Direición de desplazamientu inversa</string>
<string-array name="mousepad_tap_entries">
<item>Clic derechu</item>
<item>Clic d\'en mediu</item>
<item>Nada</item>
</string-array>
<string-array name="mousepad_sensitivity_entries">
<item>Perlenta</item>
<item>Lenta</item>
@@ -67,7 +62,7 @@
<item>Muncha</item>
<item>Permuncha</item>
</string-array>
<string name="category_connected_devices">Preseos coneutaos</string>
<string name="category_connected_devices">Preseos conectaos</string>
<string name="category_not_paired_devices">Preseos disponibles</string>
<string name="category_remembered_devices">Preseos recordaos</string>
<string name="device_menu_plugins">Axustes de plugins</string>
@@ -77,7 +72,7 @@
<string name="error_timed_out">Escosó\'l tiempu d\'espera</string>
<string name="encryption_info_title">Información del cifráu</string>
<string name="encryption_info_msg_no_ssl">L\'otru preséu nun executa una versión recién de KDE Connect y usa\'l métodu heredáu de cifráu.</string>
<string name="my_device_fingerprint">La buelga SHA1 d\'esti preséu ye:</string>
<string name="my_device_fingerprint">La buelga SHA256 d\'esti preséu ye:</string>
<string name="remote_device_fingerprint">La buelga SHA256 del certificáu del preséu remotu:</string>
<string name="pair_requested">Solicitóse l\'empareyamientu</string>
<string name="pairing_request_from">Solicitú d\'empareyamientu de %1s</string>
@@ -168,21 +163,21 @@
<string name="sftp_action_mode_menu_delete">Desaniciar</string>
<string name="sftp_no_storage_locations_configured">Nun se configuraron allugamientos d\'almacenamientu</string>
<string name="sftp_saf_permission_explanation">P\'acceder remotamente a los ficheros tienes de configurar allugamientos d\'almacenamientu</string>
<string name="no_players_connected">Nun s\'alcontraron reproductores</string>
<string name="no_players_connected">Nun s\'atoparon reproductores</string>
<string name="send_files">Unviar ficheros</string>
<string name="pairing_title">Preseos con KDE Connect</string>
<string name="pairing_description">Equí deberíen apaecer los demás preseos que tean executando KDE Connect na mesma rede.</string>
<string name="device_rename_title">Renomáu del preséu</string>
<string name="device_rename_confirm">Renomar</string>
<string name="refresh">Refrescar</string>
<string name="unreachable_description">Esti preséu empareyáu nun ye algamable. Asegúrate de que ta coneutáu a la mesma rede que tu.</string>
<string name="no_wifi">Nun tas coneutáu a una rede Wi-Fi polo que nun vas ser a ver nengún preséu. Calca equí p\'activar el Wi-Fi.</string>
<string name="unreachable_description">Esti preséu empareyáu nun ye algamable. Asegúrate de que ta conectáu a la mesma rede que tu.</string>
<string name="no_wifi">Nun tas conectáu a una rede Wi-Fi polo que nun vas ser a ver nengún preséu. Calca equí p\'activar el Wi-Fi.</string>
<string name="on_non_trusted_message">Nun tas nuna rede d\'enfotu. Desactivóse la descubrición automática.</string>
<string name="no_file_browser">Nun hai nengún restolador de ficheros instaláu.</string>
<string name="pref_plugin_telepathy">Unviu de SMS</string>
<string name="pref_plugin_telepathy_desc">Unvia SMS dende l\'ordenador</string>
<string name="findmyphone_description">Fai qu\'esti preséu suene pa que pueas alcontralu</string>
<string name="findmyphone_found">Alcontrélu</string>
<string name="findmyphone_description">Fai qu\'esti preséu suene pa que pueas atopalu</string>
<string name="findmyphone_found">Atopélu</string>
<string name="plugins_need_permission">Dalgunos plugins precisen permisos pa funcionar (tócalos pa más información):</string>
<string name="permission_explanation">Esti plugin precisa permisos pa funcionar</string>
<string name="optional_permission_explanation">Precises conceder permisos adicionales p\'activar toles funciones</string>
@@ -230,7 +225,7 @@
<string name="notification_channel_receivenotification">Avisos d\'otros preseos</string>
<string name="take_picture">Llanzamientu de la cámara</string>
<string name="plugin_photo_desc">Llanza l\'aplicación de la cámara p\'acenciellar la fechura y tresferencia de semeyes</string>
<string name="no_app_for_opening">Nun alcontró nenguna aplicación afayadiza p\'abrir esti ficheru.</string>
<string name="no_app_for_opening">Nun atopó nenguna aplicación afayadiza p\'abrir esti ficheru.</string>
<string name="remote_keyboard_service">Tecláu remotu de KDE Connect</string>
<string name="presenter_pointer">Punteru</string>
<string name="trusted_networks">Redes d\'enfotu</string>

View File

@@ -1,6 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="kde_connect">KDE Connect</string>
<string name="manifest_label_share">Cihaza göndərin</string>
<string name="foreground_notification_no_devices">Hər hansı bir cihaz qoşulmayıb</string>
<string name="foreground_notification_devices">Qoşulub: %s</string>
<string name="foreground_notification_send_clipboard">Mübadilə buferindəkini göndərmək</string>
@@ -8,6 +9,8 @@
<string name="pref_plugin_telephony_desc">Gələn zəng bildirişlərini göndərmək</string>
<string name="pref_plugin_battery">Batareya məlumatı</string>
<string name="pref_plugin_battery_desc">Batareya vəziyyətini vaxtaşırı bildirmək</string>
<string name="pref_plugin_connectivity_report">Bağlantı hesabatı</string>
<string name="pref_plugin_connectivity_report_desc">Şəbəkə siqnalının gücünü və vəziyyətini bildirin</string>
<string name="pref_plugin_sftp">Fayl sistemi açılır</string>
<string name="pref_plugin_sftp_desc">Bu cihazın fayl sisteminə baxmağa icazə vermək</string>
<string name="pref_plugin_clipboard">Mübadilə Buferini eyniləşdirmək</string>
@@ -23,7 +26,7 @@
<string name="pref_plugin_mpris_desc">Media oynadıcınızı idarə etməyə imkan verir</string>
<string name="pref_plugin_runcommand">Əmr başlatmaq</string>
<string name="pref_plugin_runcommand_desc">Əmrləri telefon və ya planşetiniz ilə məsafədən başlatmaq</string>
<string name="pref_plugin_contacts">Kontaktları eyniləşdirmək</string>
<string name="pref_plugin_contacts">Əlaqələri eyniləşdirin</string>
<string name="pref_plugin_contacts_desc">Cihazın kontak kitabçasını eyniləşdirməyə icazə vermək</string>
<string name="pref_plugin_ping">Dümsükləmək</string>
<string name="pref_plugin_ping_desc">Siqnal göndərmək və almaq</string>
@@ -49,15 +52,17 @@
<string name="remotekeyboard_multiple_connections">Birdən çox uzaq klaviatura bağlantısı var, tənzimləmək üçün cihazı seçin</string>
<string name="open_mousepad">Məsafədən giriş</string>
<string name="mousepad_info">Siçan kursorunu hərəkət etdirmək üçün barmağı ekranda sürüşdürün. Klik üçün ekrana vurun, sağ və orta siçan düymələri üçün iki/üç barmaqla toxunuş edin. Sürüşdürmək üçün iki barmaqdan istifadə edin. Tutub saxlamaq üçün basın saxlayın.</string>
<string name="mousepad_single_tap_settings_title">Bir barmaq toxunuşu əməlini təyin edin</string>
<string name="mousepad_double_tap_settings_title">İki barmaq toxunuşu əməlini təyin edin</string>
<string name="mousepad_triple_tap_settings_title">Üç barmaq toxunuşu əməlini təyin edin</string>
<string name="mousepad_sensitivity_settings_title">Toxunma panelinin həsassləğını təyin edin</string>
<string name="mousepad_acceleration_profile_settings_title">Kursorun sürətini təyin edin</string>
<string name="mousepad_scroll_direction_title">Sürüşdürmənin əks istiqaməti</string>
<string-array name="mousepad_tap_entries">
<item>Sağ klik</item>
<item>Orta klik</item>
<item>Heç biri</item>
<item>Sol toxunuş</item>
<item>Sağ toxunuş</item>
<item>Orta toxunuş</item>
<item>Heç nə</item>
</string-array>
<string-array name="mousepad_sensitivity_entries">
<item>Ən yavaş</item>
@@ -74,6 +79,26 @@
<item>Güclü</item>
<item>Ən güclü</item>
</string-array>
<string name="sendkeystrokes_send_to">Düymələrə vuruşları buraya göndərin:</string>
<string name="sendkeystrokes_textbox_hint">Düyməyə vurulmanı ana komputerə göndərin</string>
<string name="sendkeystrokes_disabled_toast">Düyməə vuruşun göndərilməsi söndürülüb - onu ayarlardan aktiv edin</string>
<string name="sendkeystrokes_wrong_data">Səhv mime növü - \'text/x-keystrokes\' üçün lazımdır</string>
<string name="sendkeystrokes_sent_text">%2s cihazına %1s göndərildi</string>
<string name="sendkeystrokes_pref_category_summary">Bu modul, düyməyə vurmaqla, qoşulmuş ana komputerə göndərərərk başqa tətbiqlərin mətn hissəsininlərini mübadilə etməyə imkan verir</string>
<string name="sendkeystrokes_pref_category_title">Düymələrə vuruşları göndərin</string>
<string name="sendkeystrokes_pref_enabled">Düyməyə vuruşun göndərilməsini aktiv edin</string>
<string name="sendkeystrokes_pref_enabled_summary">\'text/x-keystrokes\' mime növü ilə verilənləri dinləyin</string>
<string name="sendkeystrokes_safe_text_enabled">Təhlükəsiz mətni dərhal göndərin</string>
<string name="sendkeystrokes_safe_text_enabled_summary">Yalnız qısa nömrəli sətirləri təsdiqləmədən göndərin</string>
<string name="pref_plugin_mousepad_send_keystrokes">Düymə vuruşu kimi göndərmək</string>
<string name="mouse_receiver_plugin_description">Uzaqdakı siçanın hərəkətini qəbul etmək</string>
<string name="mouse_receiver_plugin_name">Siçanı qəbul edən</string>
<string name="mouse_receiver_no_permissions">Xüsusi İmkanlarda xidməti aktiv etməlisiniz</string>
<string name="view_status_title">Vəziyyət</string>
<string name="battery_status_format">Batareya: %d%%</string>
<string name="battery_status_low_format">Batareya: %d%% Zəif batareya</string>
<string name="battery_status_charging_format">Batareya: %d%% doldurulur</string>
<string name="battery_status_unknown">Batareya haqqında məlumat əlçatan deyil</string>
<string name="category_connected_devices">Qoşulmuş cihazlar</string>
<string name="category_not_paired_devices">Mövcud cihazlar</string>
<string name="category_remembered_devices">Yadda saxlanılan cihazlar</string>
@@ -89,7 +114,7 @@
<string name="error_canceled_by_other_peer">Digər istifadəçi ləğv etdi</string>
<string name="encryption_info_title">Şifrələmə məlumatı</string>
<string name="encryption_info_msg_no_ssl">Digər cihaz köhnə şifrələmə metodu istifadə edən KDE Connect\'in sonuncu versiyasını istifadə etmir.</string>
<string name="my_device_fingerprint">Cihazınızın SHA1 şifrə izi:</string>
<string name="my_device_fingerprint">Cihazınızın sertifikatının SHA256 şifrə izi:</string>
<string name="remote_device_fingerprint">Uzaq cihaz sertifikatının SHA256 şifrə izi:</string>
<string name="pair_requested">Qoşulma soruşuldu</string>
<string name="pairing_request_from">%1s tərəfindən qoşulma sorğusu</string>
@@ -143,6 +168,8 @@
<string name="mpris_rew">Geri almaq</string>
<string name="mpris_ff">Sürətli irəli</string>
<string name="mpris_next">Sonrakı</string>
<string name="mpris_loop">Dairəvi</string>
<string name="mpris_shuffle">Qarışıq</string>
<string name="mpris_volume">Səs səviyyəsi</string>
<string name="mpris_time_settings_title">İrəli/Geri düymələri</string>
<string name="mpris_time_settings_summary">Basıldığında sürətli irəli/geriyə üçün vaxtı ayarlamaq</string>
@@ -176,6 +203,7 @@
<string name="share_received_file">\"%s\" paylaşmaq</string>
<string name="title_activity_notification_filter">Bildiriş filtri</string>
<string name="filter_apps_info">Bildirişlər seçilmiş tətbiqlər üçün eyniləşdiriləcəkdir</string>
<string name="show_notification_if_screen_off">Yalnız ekran söndükdə bildiriş göndərmək</string>
<string name="sftp_sdcard_num">SD kart %d</string>
<string name="sftp_sdcard">SD kart</string>
<string name="sftp_readonly">(yalnız oxumaq)</string>
@@ -228,9 +256,9 @@
<string name="plugins_need_optional_permission">Bəzi qoşmalarda icazə çatışmamazlığı səbəbindən bir sıra imkanlar söndürülmüşdür (daha çox məlumat üçün toxunun)</string>
<string name="share_optional_permission_explanation">Paylaşılan faylları qəbul etmək üçün saxlama qovluğu seçməlisiniz</string>
<string name="telepathy_permission_explanation">İş Masanızdan telefonunuzdakı SMS\'ləri oxumaq və SMS göndərmək üçün SMS\'ə girişə icazə verməlisiniz</string>
<string name="telephony_permission_explanation">İş Masanızda telefon zənglərini görmək üçün Zəng Tarixşəsinə və Zəng yığımı vəziyyətinə icazə verməlisiniz</string>
<string name="telephony_optional_permission_explanation">Telefon nömrəsi əvəzinə kontaktın adını görmək üçün Kontakt Kitabçasına girişə icazə verməlisiniz</string>
<string name="contacts_permission_explanation">İş Masası vasitəsi ilə kontaktlar kitabçasını paylaşmaq üçün kontaktlara girişə icazə verməlisiniz</string>
<string name="telephony_permission_explanation">İş Masanızda telefon zənglərini görmək üçün Zəng Tarixçəsinə və Zəng yığımı vəziyyətinə icazə verməlisiniz</string>
<string name="telephony_optional_permission_explanation">Telefon nömrəsi əvəzinə əlaqənin adını görmək üçün Əlaqə Kitabçasına girişə icazə verməlisiniz</string>
<string name="contacts_permission_explanation">İş masası vasitəsi ilə əlaqələr kitabçasını paylaşmaq üçün əlaqələra girişə icazə verməlisiniz</string>
<string name="select_ringtone">Zəng səsini seçmək</string>
<string name="telephony_pref_blocked_title">Əngəllənmiş nömrələr</string>
<string name="telephony_pref_blocked_dialog_desc">Bu nömrədən SMS və zənglər göstərilməsin. Hər sətirdə bir nömrə göstərin</string>
@@ -242,8 +270,8 @@
<string name="presenter_lock_tip">Siz cihazınızı kilidləyə və səs düymələri ilə əvvəlki/sonrakı slayda keçid edə bilərsiniz</string>
<string name="add_command">Əmr əlavə etmək</string>
<string name="addcommand_explanation">Əmrlər qeyd edilməyib</string>
<string name="addcommand_explanation2">Sİz KDE Connect Sistem Ayarların\'da yeni əmr əlavə edə bilərsiniz</string>
<string name="add_command_description">İş Masasında yeni əmr əlavə edə bilərsiniz</string>
<string name="addcommand_explanation2">Sİz KDE Connect sistem ayarlarında yeni əmrlər əlavə edə bilərsiniz</string>
<string name="add_command_description">İş masasında yeni əmr əlavə edə bilərsiniz</string>
<string name="pref_plugin_mprisreceiver">Media Pleyer İdarəsi</string>
<string name="pref_plugin_mprisreceiver_desc">Telefonunuzun media pleyerlərini digər cihazdan idarə edin</string>
<string name="notification_channel_default">Digər bildirişlər</string>
@@ -331,4 +359,44 @@
<item>İşıqlı</item>
<item>Qaranlıq</item>
</string-array>
<string name="report_bug">Xəta hesabatı</string>
<string name="donate">Maddi Dəstək</string>
<string name="source_code">Qaynaq Kodu</string>
<string name="licenses">Lisenziyalar</string>
<string name="website">Veb sayt</string>
<string name="about">Haqqında</string>
<string name="authors">Müəlliflər</string>
<string name="thanks_to">Minəttdarlıq</string>
<string name="easter_egg">Pasxa yumurtası</string>
<string name="email_contributor">Əməkdaşın e-poçt ünvanı\n%s</string>
<string name="visit_contributors_homepage">Əməkdaşın ev səhifəsinə baxın\n%s</string>
<string name="version">Versiya %s</string>
<string name="about_kde">KDE haqqında</string>
<string name="kde_be_free">KDE - Sərbəst olun!</string>
<string name="kde">KDE</string>
<string name="konqi">Konqi</string>
<string name="rise_up">Qalxmaq</string>
<string name="rise_down">Aşağı enmək</string>
<string name="click_here_to_type">Yazmaq üçün toxunun</string>
<string name="clear_compose">Təmizləmək</string>
<string name="send_compose">Göndərin</string>
<string name="open_compose_send">Mətn yazın</string>
<string name="app_description">Cihazlarınızı (məs., telefonunuz və ya kompyuteriniz) arasında əlaqə yaratmaq üçün çox platformalı tətbiq.</string>
<string name="about_kde_about">&lt;h1&gt;Haqqında&lt;/h1&gt; &lt;p&gt;KDE, özlərini &lt;a href=https://www.gnu.org/philosophy/free-sw.html&gt;Azad Proqram Təminatı&lt;/a&gt; tərtibatına həsr etmiş, proqram təminatı üzrə mühəndislərdən, rəssamlardan, yazıçılardan, tərcüməçilərdən və yaradıcılardan ibarət dünya miqyasında bir cəmiyyətdir. KDE, Plasma İş masası mühiti, yüzlərlə tətbiqlər və onları dəstəkləyən proqram təminatı kitabxanaları nəşr edir. &lt;/p&gt; &lt;p&gt;KDE kooperativ bir müəssisədir: heç bir müəssisə onun işinə və məhsullarına nəzarət etmir. Bunun əvəzinə, dünyanın ən yaxşı Proqram Təminatını yaratmaq məsədimizə çatmaq üçün birlikdə çalışırıq. &lt;a href=https://community.kde.org/Get_Involved&gt;KDE\'yə qoşulmaq və işimizə töhvə vermək istəyən, &lt;/a&gt; siz də daxil olmaqla&lt;/p&gt; hər kəsi salamlayırıq. &lt;a href=https://www.kde.org/&gt;https://www.kde.org/&lt;/a&gt; saytına daxil olun ki, KDE cəmiyyəti və bizim proqram təminatı və məhsullarımız haqqında daha çox məlumat əldə edə biləsiniz.</string>
<string name="about_kde_report_bugs_or_wishes">&lt;h1&gt;Səhvləri və Arzularınızı bildirin&lt;/h1&gt; &lt;p&gt;Proqram təminatı hər zaman təkmilləşdirilə bilər və KDE komandası buna hazırdır. Lakin siz - istifadəçi - , nə isə gözlənildiyi kimi düzgün işləmədikdə və ya bundan daha yaxşısını yaratmaq barədə təklifiniz olduqda bizə bildirməlisiniz.&lt;/p&gt; &lt;p&gt;KDE\'nin xətaları izləmə sistemi var. &lt;a href=https://bugs.kde.org/&gt;https://bugs.kde.org/&lt;/a&gt; ziyarət edin və ya xətalar haqında hesabat vermək üçün ekrandakı \"Xətaları bildirin\" düyməsindən istifadə edin.&lt;/p&gt; Əgər təkmilləşdirmə üçün bir təklifiniz varsa, bu istəyinizi bildirmək üçün xətaları izləmə sistemində qeyd edə bilərsiniz. \"İstəklər siyahısı\" ciddilik səviyyəsindən istifadə etdiyinizə əmin olun.</string>
<string name="about_kde_join_kde">&lt;h1&gt;KDE\'yə qoşulun&lt;/h1&gt; &lt;p&gt;KDE komandasının üzvü olmaq üçün proqram tərtibatçısı olmanız vacib deyil. Sİz proqram interfeysini tərcümə etmək üçün milli komandanıza da qoşula bilərsiniz. Siz, həmçinin qrafiklər, mövzular, səslər və təkmilləşdirilmiş sənədləşmələr təqdim edə bilərsiniz. Siz, &lt;/p&gt; &lt;p&gt;buradan - &lt;a href=https://community.kde.org/Get_Involved&gt;https://community.kde.org/Get_Involved&lt;/a&gt; - üzərində çalışmağa qərar verdiyiniz bəzi layihələr haqqında məlumat ala bilərsiniz.&lt;/p&gt; Daha çox məlumat əldə etmək istəsəniz, lazım lazım olan nə varsa tapa biləcəyiniz bu sayta daxil olun: &lt;a href=https://techbase.kde.org/&gt;https://techbase.kde.org/&lt;/a&gt;.</string>
<string name="about_kde_support_kde">&lt;h1&gt;KDE\'yə dəstək&lt;/h1&gt; &lt;p&gt;KDE tətbiqləri pulsuzdur və bu hər zaman belə olacaqdır, lakin onların yaradılması pulsuz deyil.&lt;/p&gt; &lt;p&gt;KDE Cəmiyyətini dəstəkləmək üçün Almaniyada qanuni olaraq yaradılmış, qeyri-kommersiya təşkilatı olan KDE e.V formalaşdırlıb. KDE e.V., KDE Cəmiyyətinə maddi və hüquqi yardım göstərir. Da çox məlumat üçün: &lt;a href=https://ev.kde.org/&gt;https://ev.kde.org/&lt;/a&gt; KDE e.V. baxın&lt;/p&gt; &lt;p&gt;KDE ona göstərilən malliyə da daxil olmaqla bir çox yardımlardan faydalanır. Vəsaitlər, üzvlərə və başqalarına töhfə verərkən çəkdikləri xərcləri ödəmək üçün xərclənir. Əlavə vəsait, hüquqi dəstək üçün və konfrans və görüşlərin təşkili üçün istifadə olunur.&lt;/p&gt; &lt;p&gt;Biz sizi, aşağıda göstərilən yollardan istifadə etməklə bizə maddi dəstəyinizi göztərməyə dəvət edirik: &lt;a href=https://www.kde.org/community/donations/&gt;https://www.kde.org/community/donations/&lt;/a&gt;.&lt;/p&gt; Göstərdiyiniz və göstərəcəyiniz hər hansı dəstək üçün sizə təşəkkür edirik.</string>
<string name="maintainer_and_developer">Müşayətçi və tərtibatçı</string>
<string name="developer">Tərtibatçı</string>
<string name="apple_support">macOS dəstəyi. İOS dəstəklənməsi üzərində işləyirik</string>
<string name="bug_fixes_and_general_improvements">Xəta sazlamaları və əsas yaxşılaşdırmalar</string>
<string name="samoilenko_yuri_task">SFTP tətbiqi, xəta sazlamaları və əsas yaxşılaşdırmalar</string>
<string name="aniket_kumar_task">SMS əlavəsi yaxşılaşdırılması</string>
<string name="alex_fiestas_task">Əlaqələr əlavəsi yaxşılaşdırılması</string>
<string name="maxim_leshchenko_task">İİ yaxşılaşdırmaları və bu haqda səhifə</string>
<string name="holger_kaelberer_task">Uzaq klaviatura əlavəsi və xəta sazlamaları</string>
<string name="saikrishna_arcot_task">Uzaq daxiletmə əlavəsində klaviaturanın istifadəsini dəstəklənməsi, xəta sazlamaları və əsas yaxşılaşdırmalar</string>
<string name="everyone_else">İllər boyu KDE Connect\'ə töhfə verən hər kəs</string>
<string name="send_clipboard">Mübadilə buferinə göndərin</string>
<string name="tap_to_execute">İcra etmək üçün vurun</string>
</resources>

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