diff options
author | Artyom Palvelev <artyompp@google.com> | 2023-01-03 18:43:30 +0000 |
---|---|---|
committer | Artyom Palvelev <artyompp@google.com> | 2023-01-04 07:42:56 +0000 |
commit | fb459260978b04c208566b86181aa2069dec6a8a (patch) | |
tree | 9a7c9b1adb4503d53b4074d676984c034f480dff | |
parent | 1db664430a8b4c4d7304367156fca67ed7ff99e0 (diff) | |
download | gamesdk-fb459260978b04c208566b86181aa2069dec6a8a.tar.gz |
fix for fontWeightAdjustment not being available in old APIs
Bug: 263285534
Test: Build and run AGDK samples
Change-Id: Iae97612daef4df07c7f2f5270117521fc0a82de1
-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, |