NetworkInformation/Android: Convert enum to integer in java side
Saving some jni boundary crossing Task-number: QTBUG-104188 Change-Id: I03f49d24848b4107a7e74b620be5e90eca2d4bdc Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This commit is contained in:
parent
431ddc58e7
commit
ba36f7947a
@ -15,9 +15,9 @@ import android.os.Build;
|
|||||||
public class QtAndroidNetworkInformation {
|
public class QtAndroidNetworkInformation {
|
||||||
private static final String LOG_TAG = "QtAndroidNetworkInformation";
|
private static final String LOG_TAG = "QtAndroidNetworkInformation";
|
||||||
|
|
||||||
private static native void networkConnectivityChanged(AndroidConnectivity connectivity);
|
private static native void networkConnectivityChanged(int connectivity);
|
||||||
private static native void genericInfoChanged(boolean captivePortal, boolean metered);
|
private static native void genericInfoChanged(boolean captivePortal, boolean metered);
|
||||||
private static native void transportMediumChanged(Transport transportMedium);
|
private static native void transportMediumChanged(int transportMedium);
|
||||||
|
|
||||||
private static QtNetworkInformationCallback m_callback = null;
|
private static QtNetworkInformationCallback m_callback = null;
|
||||||
private static final Object m_lock = new Object();
|
private static final Object m_lock = new Object();
|
||||||
@ -96,14 +96,14 @@ public class QtAndroidNetworkInformation {
|
|||||||
private void setState(AndroidConnectivity s) {
|
private void setState(AndroidConnectivity s) {
|
||||||
if (previousState != s) {
|
if (previousState != s) {
|
||||||
previousState = s;
|
previousState = s;
|
||||||
networkConnectivityChanged(s);
|
networkConnectivityChanged(s.ordinal());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setTransportMedium(Transport t) {
|
private void setTransportMedium(Transport t) {
|
||||||
if (previousTransport != t) {
|
if (previousTransport != t) {
|
||||||
previousTransport = t;
|
previousTransport = t;
|
||||||
transportMediumChanged(t);
|
transportMediumChanged(t.ordinal());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,15 +20,12 @@ Q_GLOBAL_STATIC(AndroidConnectivityManagerInstance, androidConnManagerInstance)
|
|||||||
static const char networkInformationClass[] =
|
static const char networkInformationClass[] =
|
||||||
"org/qtproject/qt/android/networkinformation/QtAndroidNetworkInformation";
|
"org/qtproject/qt/android/networkinformation/QtAndroidNetworkInformation";
|
||||||
|
|
||||||
Q_DECLARE_JNI_TYPE(AndroidConnectivity,
|
static void networkConnectivityChanged(JNIEnv *env, jobject obj, jint enumValue)
|
||||||
"Lorg/qtproject/qt/android/networkinformation/QtAndroidNetworkInformation$AndroidConnectivity;");
|
|
||||||
static void networkConnectivityChanged(JNIEnv *env, jobject obj,
|
|
||||||
QtJniTypes::AndroidConnectivity enumValue)
|
|
||||||
{
|
{
|
||||||
Q_UNUSED(env);
|
Q_UNUSED(env);
|
||||||
Q_UNUSED(obj);
|
Q_UNUSED(obj);
|
||||||
const jint value = QJniObject(enumValue).callMethod<jint>("ordinal");
|
const auto connectivity =
|
||||||
const auto connectivity = static_cast<AndroidConnectivityManager::AndroidConnectivity>(value);
|
static_cast<AndroidConnectivityManager::AndroidConnectivity>(enumValue);
|
||||||
Q_EMIT androidConnManagerInstance->connManager->connectivityChanged(connectivity);
|
Q_EMIT androidConnManagerInstance->connManager->connectivityChanged(connectivity);
|
||||||
}
|
}
|
||||||
Q_DECLARE_JNI_NATIVE_METHOD(networkConnectivityChanged)
|
Q_DECLARE_JNI_NATIVE_METHOD(networkConnectivityChanged)
|
||||||
@ -42,14 +39,11 @@ static void genericInfoChanged(JNIEnv *env, jobject obj, jboolean captivePortal,
|
|||||||
}
|
}
|
||||||
Q_DECLARE_JNI_NATIVE_METHOD(genericInfoChanged)
|
Q_DECLARE_JNI_NATIVE_METHOD(genericInfoChanged)
|
||||||
|
|
||||||
Q_DECLARE_JNI_TYPE(Transport,
|
static void transportMediumChanged(JNIEnv *env, jobject obj, jint enumValue)
|
||||||
"Lorg/qtproject/qt/android/networkinformation/QtAndroidNetworkInformation$Transport;");
|
|
||||||
static void transportMediumChanged(JNIEnv *env, jobject obj, QtJniTypes::Transport enumValue)
|
|
||||||
{
|
{
|
||||||
Q_UNUSED(env);
|
Q_UNUSED(env);
|
||||||
Q_UNUSED(obj);
|
Q_UNUSED(obj);
|
||||||
const jint value = QJniObject(enumValue).callMethod<jint>("ordinal");
|
const auto transport = static_cast<AndroidConnectivityManager::AndroidTransport>(enumValue);
|
||||||
const auto transport = static_cast<AndroidConnectivityManager::AndroidTransport>(value);
|
|
||||||
emit androidConnManagerInstance->connManager->transportMediumChanged(transport);
|
emit androidConnManagerInstance->connManager->transportMediumChanged(transport);
|
||||||
}
|
}
|
||||||
Q_DECLARE_JNI_NATIVE_METHOD(transportMediumChanged)
|
Q_DECLARE_JNI_NATIVE_METHOD(transportMediumChanged)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user