shift-shell/kcms/waydroidintegration/waydroidintegration.cpp
Florian RICHER 14839c4389 kcm: Implement minimal Waydroid support
I prefer create MR now to avoid biggest merge request.

It add minimalist implementation: 
- First configuration of Waydroid
- Stop / Start Waydroid session
- Configure properties of Waydroid
- Display current ip of Waydroid

| Not installed | First initialization | initializing | SessionNotStarted | SessionStarting | SessionStarted |
| ------ | ------ | ------ | ------ | ------ | ------ |
| ![Copie_d_écran_20250705_162112](/uploads/66844057ee6c955803288993809616fa/Copie_d_écran_20250705_162112.png) | ![Copie_d_écran_20250707_234822](/uploads/133779f8d4a70551a321938a7193aa3d/Copie_d_écran_20250707_234822.png) | ![Copie_d_écran_20250707_234829](/uploads/bacecd42875e3afd48dba2f9472b0f13/Copie_d_écran_20250707_234829.png) | ![Copie_d_écran_20250707_234908](/uploads/c6eff9833e33f30797088e327fcf6ea3/Copie_d_écran_20250707_234908.png) | ![Copie_d_écran_20250707_234919](/uploads/1927e2334d7e3b5790e5fab9037feff7/Copie_d_écran_20250707_234919.png) | ![Copie_d_écran_20250707_235239](/uploads/9be45b0a7b5f988de0e9ac297a2447c8/Copie_d_écran_20250707_235239.png) |

Linked to https://invent.kde.org/teams/plasma-mobile/issues/-/issues/307

**Note for Reviewer**: In my local environment, i need to add manually the KAuth files otherwise polkit not recognize the implementation.

```
sudo cp ~/kde/usr/share/dbus-1/system-services/org.kde.plasma.mobileshell.waydroidhelper.service /usr/share/dbus-1/system-services/
sudo cp ~/kde/usr/share/dbus-1/system.d/org.kde.plasma.mobileshell.waydroidhelper.conf /usr/share/dbus-1/system.d/
sudo cp ~/kde/usr/share/polkit-1/actions/org.kde.plasma.mobileshell.waydroidhelper.policy /usr/share/polkit-1/actions/
```
2025-07-10 12:00:41 -04:00

29 lines
658 B
C++

/**
* SPDX-FileCopyrightText: 2025 Florian RICHER <florian.richer@protonmail.com>
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include <KPluginFactory>
#include <KConfigGroup>
#include <KQuickManagedConfigModule>
#include <KSharedConfig>
class KCMWaydroidIntegration : public KQuickManagedConfigModule
{
Q_OBJECT
public:
KCMWaydroidIntegration(QObject *parent, const KPluginMetaData &data)
: KQuickManagedConfigModule(parent, data)
{
setButtons({});
}
private:
KSharedConfig::Ptr m_config;
};
K_PLUGIN_CLASS_WITH_JSON(KCMWaydroidIntegration, "kcm_waydroidintegration.json")
#include "waydroidintegration.moc"