diff options
author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-02-02 12:23:23 +0200 |
---|---|---|
committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-02-03 11:02:24 +0200 |
commit | 4493b90224f575e5570afeb1ec181be5c4e74b09 (patch) | |
tree | 3d42bafbd296947119ddb8d6cae9d71102a1a37b /src/plugins/platforms/android/qandroidplatformintegration.cpp | |
parent | b1d750d59b66b75db0a3919144188004fd3b1983 (diff) |
Android: fix compiler warnings for Android input
QPointingDevice requires using the constructor to set its settings
in Qt 6.
Replace + with | operator and return QKeyCombination instead of int.
Change-Id: Id3da469cc13b34ec7b55afa751dbc04601880df6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/plugins/platforms/android/qandroidplatformintegration.cpp')
-rw-r--r-- | src/plugins/platforms/android/qandroidplatformintegration.cpp | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformintegration.cpp b/src/plugins/platforms/android/qandroidplatformintegration.cpp index 1468343831..5f90a05648 100644 --- a/src/plugins/platforms/android/qandroidplatformintegration.cpp +++ b/src/plugins/platforms/android/qandroidplatformintegration.cpp @@ -212,25 +212,35 @@ QAndroidPlatformIntegration::QAndroidPlatformIntegration(const QStringList ¶ if (touchScreen == QJniObject::getStaticField<jint>("android/content/res/Configuration", "TOUCHSCREEN_FINGER") || touchScreen == QJniObject::getStaticField<jint>("android/content/res/Configuration", "TOUCHSCREEN_STYLUS")) { - m_touchDevice = new QPointingDevice; - m_touchDevice->setType(QInputDevice::DeviceType::TouchScreen); - m_touchDevice->setCapabilities(QPointingDevice::Capability::Position - | QPointingDevice::Capability::Area - | QPointingDevice::Capability::Pressure - | QPointingDevice::Capability::NormalizedPosition); - QJniObject pm = javaActivity.callObjectMethod("getPackageManager", "()Landroid/content/pm/PackageManager;"); Q_ASSERT(pm.isValid()); + int maxTouchPoints = 1; if (pm.callMethod<jboolean>("hasSystemFeature","(Ljava/lang/String;)Z", - QJniObject::getStaticObjectField("android/content/pm/PackageManager", "FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND", "Ljava/lang/String;").object())) { - m_touchDevice->setMaximumTouchPoints(10); + QJniObject::getStaticObjectField("android/content/pm/PackageManager", + "FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND", + "Ljava/lang/String;").object())) { + maxTouchPoints = 10; } else if (pm.callMethod<jboolean>("hasSystemFeature","(Ljava/lang/String;)Z", - QJniObject::getStaticObjectField("android/content/pm/PackageManager", "FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT", "Ljava/lang/String;").object())) { - m_touchDevice->setMaximumTouchPoints(4); + QJniObject::getStaticObjectField("android/content/pm/PackageManager", + "FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT", + "Ljava/lang/String;").object())) { + maxTouchPoints = 4; } else if (pm.callMethod<jboolean>("hasSystemFeature","(Ljava/lang/String;)Z", - QJniObject::getStaticObjectField("android/content/pm/PackageManager", "FEATURE_TOUCHSCREEN_MULTITOUCH", "Ljava/lang/String;").object())) { - m_touchDevice->setMaximumTouchPoints(2); + QJniObject::getStaticObjectField("android/content/pm/PackageManager", + "FEATURE_TOUCHSCREEN_MULTITOUCH", + "Ljava/lang/String;").object())) { + maxTouchPoints = 2; } + + m_touchDevice = new QPointingDevice("Android touchscreen", 1, + QInputDevice::DeviceType::TouchScreen, + QPointingDevice::PointerType::Finger, + QPointingDevice::Capability::Position + | QPointingDevice::Capability::Area + | QPointingDevice::Capability::Pressure + | QPointingDevice::Capability::NormalizedPosition, + maxTouchPoints, + 0); QWindowSystemInterface::registerInputDevice(m_touchDevice); } |