diff options
author | Mårten Nordheim <marten.nordheim@qt.io> | 2022-08-08 15:57:24 +0200 |
---|---|---|
committer | Mårten Nordheim <marten.nordheim@qt.io> | 2022-08-09 11:59:11 +0200 |
commit | 72cfcf13c51e2b00171e8393a14fb775de718134 (patch) | |
tree | 6a36a0295d163d99f9d36a5e3adea1417899363d /src | |
parent | ba36f7947a1ed434ff3fc3f1969426e13c3bb456 (diff) |
NetworkInformation/Android: Delete member only used for validity check
And instead base the isValid function on the success of registering
callbacks.
The registerReceiver call has no way to report failures so I assume it
always succeeds.
Task-number: QTBUG-104188
Change-Id: I2b002f791d03f2ebc72fe5cfa215f8f8a1dabdf8
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.cpp | 14 | ||||
-rw-r--r-- | src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.h | 5 |
2 files changed, 9 insertions, 10 deletions
diff --git a/src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.cpp b/src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.cpp index dffe0fdc5f..203772971b 100644 --- a/src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.cpp +++ b/src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.cpp @@ -55,11 +55,6 @@ AndroidConnectivityManager::AndroidConnectivityManager() if (!registerNatives()) return; - m_connectivityManager = QJniObject::callStaticObjectMethod<QtJniTypes::ConnectivityManager>( - networkInformationClass, "getConnectivityManager", QAndroidApplication::context()); - if (!m_connectivityManager.isValid()) - return; - QJniObject::callStaticMethod<void>(networkInformationClass, "registerReceiver", QAndroidApplication::context()); } @@ -73,15 +68,20 @@ AndroidConnectivityManager *AndroidConnectivityManager::getInstance() : nullptr; } +bool AndroidConnectivityManager::isValid() const +{ + return registerNatives(); +} + AndroidConnectivityManager::~AndroidConnectivityManager() { QJniObject::callStaticMethod<void>(networkInformationClass, "unregisterReceiver", QAndroidApplication::context()); } -bool AndroidConnectivityManager::registerNatives() +bool AndroidConnectivityManager::registerNatives() const { - static bool registered = []() { + static const bool registered = []() { QJniEnvironment env; return env.registerNativeMethods(networkInformationClass, { Q_JNI_NATIVE_METHOD(networkConnectivityChanged), diff --git a/src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.h b/src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.h index 9b51bbfc19..d15faf0e8e 100644 --- a/src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.h +++ b/src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.h @@ -33,7 +33,7 @@ public: static AndroidConnectivityManager *getInstance(); ~AndroidConnectivityManager(); - inline bool isValid() const { return m_connectivityManager.isValid(); } + inline bool isValid() const; Q_SIGNALS: void connectivityChanged(AndroidConnectivity connectivity); @@ -44,8 +44,7 @@ Q_SIGNALS: private: friend struct AndroidConnectivityManagerInstance; AndroidConnectivityManager(); - bool registerNatives(); - QJniObject m_connectivityManager; + bool registerNatives() const; Q_DISABLE_COPY_MOVE(AndroidConnectivityManager); }; |