diff options
author | Artyom Palvelev <artyompp@google.com> | 2023-01-04 16:05:28 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2023-01-04 16:05:28 +0000 |
commit | fd1ddaa12b110384031f09fb8fb6b96d80f896c4 (patch) | |
tree | 2febeaf0ca5ad888b8e236577f8966058671cf17 | |
parent | aebf66a400f19caa0a1da3c92696fbc4faeb83f6 (diff) | |
parent | fb459260978b04c208566b86181aa2069dec6a8a (diff) | |
download | gamesdk-fd1ddaa12b110384031f09fb8fb6b96d80f896c4.tar.gz |
Merge "fix for fontWeightAdjustment not being available in old APIs"
-rw-r--r-- | game-activity/prefab-src/modules/game-activity/include/game-activity/GameActivity.cpp | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/game-activity/prefab-src/modules/game-activity/include/game-activity/GameActivity.cpp b/game-activity/prefab-src/modules/game-activity/include/game-activity/GameActivity.cpp index 3c0e762a..702f0b89 100644 --- a/game-activity/prefab-src/modules/game-activity/include/game-activity/GameActivity.cpp +++ b/game-activity/prefab-src/modules/game-activity/include/game-activity/GameActivity.cpp @@ -593,14 +593,21 @@ static void onStop_native(JNIEnv *env, jobject javaGameActivity, jlong handle) { } static void readConfigurationValues(NativeCode *code, jobject javaConfig) { - gConfiguration.colorMode = - code->env->GetIntField(javaConfig, gConfigurationClassInfo.colorMode); + if (gConfigurationClassInfo.colorMode != NULL) { + gConfiguration.colorMode = code->env->GetIntField( + javaConfig, gConfigurationClassInfo.colorMode); + } + gConfiguration.densityDpi = code->env->GetIntField(javaConfig, gConfigurationClassInfo.densityDpi); gConfiguration.fontScale = code->env->GetFloatField(javaConfig, gConfigurationClassInfo.fontScale); - gConfiguration.fontWeightAdjustment = code->env->GetIntField( - javaConfig, gConfigurationClassInfo.fontWeightAdjustment); + + if (gConfigurationClassInfo.fontWeightAdjustment != NULL) { + gConfiguration.fontWeightAdjustment = code->env->GetIntField( + javaConfig, gConfigurationClassInfo.fontWeightAdjustment); + } + gConfiguration.hardKeyboardHidden = code->env->GetIntField( javaConfig, gConfigurationClassInfo.hardKeyboardHidden); gConfiguration.mcc = @@ -1055,14 +1062,22 @@ extern "C" int GameActivity_register(JNIEnv *env) { jclass configuration_class; FIND_CLASS(configuration_class, kConfigurationPathName); - GET_FIELD_ID(gConfigurationClassInfo.colorMode, configuration_class, - "colorMode", "I"); + + if (android_get_device_api_level() >= 26) { + GET_FIELD_ID(gConfigurationClassInfo.colorMode, configuration_class, + "colorMode", "I"); + } + GET_FIELD_ID(gConfigurationClassInfo.densityDpi, configuration_class, "densityDpi", "I"); GET_FIELD_ID(gConfigurationClassInfo.fontScale, configuration_class, "fontScale", "F"); - GET_FIELD_ID(gConfigurationClassInfo.fontWeightAdjustment, - configuration_class, "fontWeightAdjustment", "I"); + + if (android_get_device_api_level() >= 31) { + GET_FIELD_ID(gConfigurationClassInfo.fontWeightAdjustment, + configuration_class, "fontWeightAdjustment", "I"); + } + GET_FIELD_ID(gConfigurationClassInfo.hardKeyboardHidden, configuration_class, "hardKeyboardHidden", "I"); GET_FIELD_ID(gConfigurationClassInfo.keyboard, configuration_class, |