diff options
Diffstat (limited to 'src/plugins/platforms/android')
3 files changed, 23 insertions, 20 deletions
diff --git a/src/plugins/platforms/android/androidjniaccessibility.cpp b/src/plugins/platforms/android/androidjniaccessibility.cpp index a38741cc91..fa7e259460 100644 --- a/src/plugins/platforms/android/androidjniaccessibility.cpp +++ b/src/plugins/platforms/android/androidjniaccessibility.cpp @@ -170,7 +170,7 @@ if (!clazz) { \ jmethodID method = env->GetMethodID(clazz, METHOD_NAME, METHOD_SIGNATURE); \ if (!method) { \ __android_log_print(ANDROID_LOG_WARN, m_qtTag, m_methodErrorMsg, METHOD_NAME, METHOD_SIGNATURE); \ - return; \ + return false; \ } \ env->CallVoidMethod(OBJECT, method, __VA_ARGS__); \ } @@ -190,12 +190,12 @@ if (!clazz) { \ return jdesc; } - static void populateNode(JNIEnv *env, jobject /*thiz*/, jint objectId, jobject node) + static bool populateNode(JNIEnv *env, jobject /*thiz*/, jint objectId, jobject node) { QAccessibleInterface *iface = interfaceFromId(objectId); if (!iface || !iface->isValid()) { __android_log_print(ANDROID_LOG_WARN, m_qtTag, "Accessibility: populateNode for Invalid ID"); - return; + return false; } QAccessible::State state = iface->state(); @@ -215,11 +215,10 @@ if (!clazz) { \ } CALL_METHOD(node, "setEnabled", "(Z)V", !state.disabled) - //CALL_METHOD(node, "setFocusable", "(Z)V", state.focusable) - CALL_METHOD(node, "setFocusable", "(Z)V", true) - //CALL_METHOD(node, "setFocused", "(Z)V", state.focused) - CALL_METHOD(node, "setCheckable", "(Z)V", state.checkable) - CALL_METHOD(node, "setChecked", "(Z)V", state.checked) + CALL_METHOD(node, "setFocusable", "(Z)V", (bool)state.focusable) + CALL_METHOD(node, "setFocused", "(Z)V", (bool)state.focused) + CALL_METHOD(node, "setCheckable", "(Z)V", (bool)state.checkable) + CALL_METHOD(node, "setChecked", "(Z)V", (bool)state.checked) CALL_METHOD(node, "setVisibleToUser", "(Z)V", !state.invisible) if (iface->actionInterface()) { @@ -227,7 +226,7 @@ if (!clazz) { \ bool clickable = actions.contains(QAccessibleActionInterface::pressAction()); bool toggle = actions.contains(QAccessibleActionInterface::toggleAction()); if (clickable || toggle) { - CALL_METHOD(node, "setClickable", "(Z)V", clickable) + CALL_METHOD(node, "setClickable", "(Z)V", (bool)clickable) CALL_METHOD(node, "addAction", "(I)V", 16) // ACTION_CLICK defined in AccessibilityNodeInfo } } @@ -235,6 +234,8 @@ if (!clazz) { \ jstring jdesc = env->NewString((jchar*) desc.constData(), (jsize) desc.size()); //CALL_METHOD(node, "setText", "(Ljava/lang/CharSequence;)V", jdesc) CALL_METHOD(node, "setContentDescription", "(Ljava/lang/CharSequence;)V", jdesc) + + return true; } static JNINativeMethod methods[] = { @@ -244,7 +245,7 @@ if (!clazz) { \ {"descriptionForAccessibleObject", "(I)Ljava/lang/String;", (jstring)descriptionForAccessibleObject}, {"screenRect", "(I)Landroid/graphics/Rect;", (jobject)screenRect}, {"hitTest", "(FF)I", (void*)hitTest}, - {"populateNode", "(ILandroid/view/accessibility/AccessibilityNodeInfo;)V", (void*)populateNode}, + {"populateNode", "(ILandroid/view/accessibility/AccessibilityNodeInfo;)Z", (void*)populateNode}, {"clickAction", "(I)Z", (void*)clickAction}, }; diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp index 2998762cc3..7ca4db710b 100644 --- a/src/plugins/platforms/android/androidjnimain.cpp +++ b/src/plugins/platforms/android/androidjnimain.cpp @@ -463,17 +463,19 @@ static void *startMainMethod(void */*data*/) static jboolean startQtApplication(JNIEnv *env, jobject /*object*/, jstring paramsString, jstring environmentString) { m_mainLibraryHnd = NULL; - const char *nativeString = env->GetStringUTFChars(environmentString, 0); - QByteArray string = nativeString; - env->ReleaseStringUTFChars(environmentString, nativeString); - m_applicationParams=string.split('\t'); - foreach (string, m_applicationParams) { - if (!string.isEmpty() && putenv(string.constData())) - qWarning() << "Can't set environment" << string; + { // Set env. vars + const char *nativeString = env->GetStringUTFChars(environmentString, 0); + const QList<QByteArray> envVars = QByteArray(nativeString).split('\t'); + env->ReleaseStringUTFChars(environmentString, nativeString); + foreach (const QByteArray &envVar, envVars) { + const QList<QByteArray> envVarPair = envVar.split('='); + if (envVarPair.size() == 2 && ::setenv(envVarPair[0], envVarPair[1], 1) != 0) + qWarning() << "Can't set environment" << envVarPair; + } } - nativeString = env->GetStringUTFChars(paramsString, 0); - string = nativeString; + const char *nativeString = env->GetStringUTFChars(paramsString, 0); + QByteArray string = nativeString; env->ReleaseStringUTFChars(paramsString, nativeString); m_applicationParams=string.split('\t'); diff --git a/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp b/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp index 7423e6c55a..935caed467 100644 --- a/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp +++ b/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp @@ -82,7 +82,7 @@ QStringList QAndroidPlatformFontDatabase::fallbacksForFamily(const QString &fami Q_UNUSED(family); Q_UNUSED(style); - if (styleHint == QFont::Monospace) + if (styleHint == QFont::Monospace || styleHint == QFont::Courier) return QString(qgetenv("QT_ANDROID_FONTS_MONOSPACE")).split(";") + m_fallbacks[script]; return QString(qgetenv("QT_ANDROID_FONTS")).split(";") + m_fallbacks[script]; |