You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
implement AssetManager.getLocales()
This commit is contained in:
@@ -441,3 +441,18 @@ JNIEXPORT jlong JNICALL Java_android_content_res_AssetManager_openXmlAssetNative
|
||||
Asset_delete(asset);
|
||||
return _INTPTR(res_xml);
|
||||
}
|
||||
|
||||
JNIEXPORT jobjectArray JNICALL Java_android_content_res_AssetManager_getLocales(JNIEnv *env, jobject this)
|
||||
{
|
||||
struct AssetManager *asset_manager = _PTR(_GET_LONG_FIELD(this, "mObject"));
|
||||
char **locales = AssetManager_getLocales(asset_manager, true);
|
||||
int i = 0;
|
||||
while (locales[i] != NULL) i++;
|
||||
jobjectArray array = (*env)->NewObjectArray(env, i, (*env)->FindClass(env, "java/lang/String"), NULL);
|
||||
for (i = 0; locales[i] != NULL; i++) {
|
||||
(*env)->SetObjectArrayElement(env, array, i, (*env)->NewStringUTF(env, locales[i]));
|
||||
free(locales[i]);
|
||||
}
|
||||
free(locales);
|
||||
return array;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user