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 {
|
||||
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 transportMediumChanged(Transport transportMedium);
|
||||
private static native void transportMediumChanged(int transportMedium);
|
||||
|
||||
private static QtNetworkInformationCallback m_callback = null;
|
||||
private static final Object m_lock = new Object();
|
||||
@ -96,14 +96,14 @@ public class QtAndroidNetworkInformation {
|
||||
private void setState(AndroidConnectivity s) {
|
||||
if (previousState != s) {
|
||||
previousState = s;
|
||||
networkConnectivityChanged(s);
|
||||
networkConnectivityChanged(s.ordinal());
|
||||
}
|
||||
}
|
||||
|
||||
private void setTransportMedium(Transport t) {
|
||||
if (previousTransport != t) {
|
||||
previousTransport = t;
|
||||
transportMediumChanged(t);
|
||||
transportMediumChanged(t.ordinal());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -20,15 +20,12 @@ Q_GLOBAL_STATIC(AndroidConnectivityManagerInstance, androidConnManagerInstance)
|
||||
static const char networkInformationClass[] =
|
||||
"org/qtproject/qt/android/networkinformation/QtAndroidNetworkInformation";
|
||||
|
||||
Q_DECLARE_JNI_TYPE(AndroidConnectivity,
|
||||
"Lorg/qtproject/qt/android/networkinformation/QtAndroidNetworkInformation$AndroidConnectivity;");
|
||||
static void networkConnectivityChanged(JNIEnv *env, jobject obj,
|
||||
QtJniTypes::AndroidConnectivity enumValue)
|
||||
static void networkConnectivityChanged(JNIEnv *env, jobject obj, jint enumValue)
|
||||
{
|
||||
Q_UNUSED(env);
|
||||
Q_UNUSED(obj);
|
||||
const jint value = QJniObject(enumValue).callMethod<jint>("ordinal");
|
||||
const auto connectivity = static_cast<AndroidConnectivityManager::AndroidConnectivity>(value);
|
||||
const auto connectivity =
|
||||
static_cast<AndroidConnectivityManager::AndroidConnectivity>(enumValue);
|
||||
Q_EMIT androidConnManagerInstance->connManager->connectivityChanged(connectivity);
|
||||
}
|
||||
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_TYPE(Transport,
|
||||
"Lorg/qtproject/qt/android/networkinformation/QtAndroidNetworkInformation$Transport;");
|
||||
static void transportMediumChanged(JNIEnv *env, jobject obj, QtJniTypes::Transport enumValue)
|
||||
static void transportMediumChanged(JNIEnv *env, jobject obj, jint enumValue)
|
||||
{
|
||||
Q_UNUSED(env);
|
||||
Q_UNUSED(obj);
|
||||
const jint value = QJniObject(enumValue).callMethod<jint>("ordinal");
|
||||
const auto transport = static_cast<AndroidConnectivityManager::AndroidTransport>(value);
|
||||
const auto transport = static_cast<AndroidConnectivityManager::AndroidTransport>(enumValue);
|
||||
emit androidConnManagerInstance->connManager->transportMediumChanged(transport);
|
||||
}
|
||||
Q_DECLARE_JNI_NATIVE_METHOD(transportMediumChanged)
|
||||
|
Loading…
x
Reference in New Issue
Block a user