So obviously the Jolla Phone 2026 has been released!
One of it’s major features is its “Privacy Switch[1]”.
With the current release (5.2.0.13) it is configurable with the following options:
- Turn off microphone
- Disable location
- Disable WLAN
- Disable Bluetooth
- Disable Appsupport
- Silent Mode
- Enable default VPN connection
This thread is meant to collect ideas of what this switch could be doing in addition or instead of these.
Go wild, it’s intended to be in a similar vein to the ToH assessment thread.
Suggestions don’t need to be possible or useful - although of course it’s better if you add some of those as well.
App developers may be interested in:
$ busctl --user introspect org.sailfishos.privacyswitch /privacyswitch org.sailfishos.privacyswitch
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
.privacyModeActive method - b -
.privacyModeActiveChanged signal b - -
And for low-level stuff:
nemo@PGJolla26-I:/sys/class/input $ evdev_trace -t /dev/input/by-path/platform-1c00e000.kp-event
/dev/input/by-path/platform-1c00e000.kp-event: 1784105811.273 - 0x01/EV_KEY - 0x0c0/KEY_F22 - 1
/dev/input/by-path/platform-1c00e000.kp-event: 1784105811.288 - 0x01/EV_KEY - 0x0c0/KEY_F22 - 0
/dev/input/by-path/platform-1c00e000.kp-event: 1784105817.026 - 0x01/EV_KEY - 0x0bf/KEY_F21 - 1
/dev/input/by-path/platform-1c00e000.kp-event: 1784105817.040 - 0x01/EV_KEY - 0x0bf/KEY_F21 - 0
0x0c0/KEY_F22 is switch enabled, 0x0bf/KEY_F21 is switch disabled.
#include <QObject>
#include <QDBusConnection>
#include <QDBusMessage>
#include <QDebug>
class Foo : public QObject
{
Q_OBJECT
public:
explicit Foo(QObject *parent = nullptr);
public slots:
void onPrivacySwitchChanged(const QDBusMessage &dBusMessage);
};
Foo::Foo(QObject *parent) : QObject(parent)
{
QDBusConnection::sessionBus().connect("org.sailfishos.privacyswitch", "/privacyswitch", "org.sailfishos.privacyswitch", "privacyModeActiveChanged",
this, SLOT(onPrivacySwitchChanged(const QDBusMessage&)));
}
void Foo::onPrivacySwitchChanged(const QDBusMessage &dBusMessage)
{
qDebug() << "Foo::onPrivacySwitchChanged" << dBusMessage;
bool switchState = dBusMessage.arguments().at(0).toBool();
[...]
}
We know it’s “just” a software switch, please refrain from complaining about that! ↩︎