4#include <QtCore/QLoggingCategory>
5#include <QtCore/qrandom.h>
13const
char *
scanModes[] = {
"SCAN_MODE_NONE",
"SCAN_MODE_CONNECTABLE",
"SCAN_MODE_CONNECTABLE_DISCOVERABLE"};
14const char *
bondModes[] = {
"BOND_NONE",
"BOND_BONDING",
"BOND_BONDED"};
19 addAction(valueForStaticField<QtJniTypes::BluetoothDevice, JavaNames::ActionBondStateChanged>());
20 addAction(valueForStaticField<QtJniTypes::BluetoothAdapter, JavaNames::ActionScanModeChanged>());
21 addAction(valueForStaticField<QtJniTypes::BluetoothDevice, JavaNames::ActionAclConnected>());
22 addAction(valueForStaticField<QtJniTypes::BluetoothDevice, JavaNames::ActionAclDisconnected>());
26 for (
uint i = 0;
i < (
sizeof(hostModePreset)/
sizeof(hostModePreset[0]));
i++) {
27 hostModePreset[
i] = QJniObject::getStaticField<jint>(
28 QtJniTypes::className<QtJniTypes::BluetoothAdapter>(),
32 for (
uint i = 0;
i < (
sizeof(bondingModePreset)/
sizeof(bondingModePreset[0]));
i++) {
33 bondingModePreset[
i] = QJniObject::getStaticField<jint>(
34 QtJniTypes::className<QtJniTypes::BluetoothDevice>(),
45 const QString action = intentObject.callMethod<jstring>(
"getAction").
toString();
46 qCDebug(QT_BT_ANDROID) <<
QStringLiteral(
"LocalDeviceBroadcastReceiver::onReceive() - event: %1").arg(action);
52 intentObject.callMethod<QtJniTypes::Bundle>(
"getExtras");
56 int extra = extrasBundle.callMethod<jint>(
"getInt", keyExtra.object<jstring>());
58 if (previousScanMode != extra) {
59 previousScanMode = extra;
61 if (extra == hostModePreset[0])
63 else if (extra == hostModePreset[1])
65 else if (extra == hostModePreset[2])
68 qCWarning(QT_BT_ANDROID) <<
"Unknown Host State";
76 intentObject.callMethod<QtJniTypes::Parcelable>(
"getParcelableExtra",
77 keyExtra.object<jstring>());
83 intentObject.callMethod<QtJniTypes::Bundle>(
"getExtras");
84 int bondState = extrasBundle.callMethod<jint>(
"getInt", keyExtra.object<jstring>());
90 if (bondState == bondingModePreset[0])
92 else if (bondState == bondingModePreset[1])
94 else if (bondState == bondingModePreset[2])
97 qCWarning(QT_BT_ANDROID) <<
"Unknown BOND_STATE_CHANGED value:" << bondState;
106 const bool isConnectEvent =
107 action == connectEvent ? true :
false;
113 intentObject.callMethod<QtJniTypes::Parcelable>(
"getParcelableExtra",
114 keyExtra.object<jstring>());
void addAction(const QJniObject &filter)
void pairingStateChanged(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)
void connectDeviceChanges(const QBluetoothAddress &address, bool isConnectEvent)
void hostModeStateChanged(QBluetoothLocalDevice::HostMode state)
LocalDeviceBroadcastReceiver(QObject *parent=nullptr)
virtual void onReceive(JNIEnv *env, jobject context, jobject intent)
\macro QT_RESTRICTED_CAST_FROM_ASCII
QJniObject valueForStaticField()
QT_BEGIN_NAMESPACE const char * scanModes[]
Combined button and popup list for selecting options.
#define qCWarning(category,...)
#define qCDebug(category,...)
#define Q_DECLARE_LOGGING_CATEGORY(name)
GLuint GLuint64EXT address
#define QStringLiteral(str)
char * toString(const MyType &t)
[31]
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent