Lines Matching defs:env

109 static jint copyValue(JNIEnv* env, jobject outValue, const ResTable* table,
113 jint copyValue(JNIEnv* env, jobject outValue, const ResTable* table,
117 env->SetIntField(outValue, gTypedValueOffsets.mType, value.dataType);
118 env->SetIntField(outValue, gTypedValueOffsets.mAssetCookie,
120 env->SetIntField(outValue, gTypedValueOffsets.mData, value.data);
121 env->SetObjectField(outValue, gTypedValueOffsets.mString, NULL);
122 env->SetIntField(outValue, gTypedValueOffsets.mResourceId, ref);
123 env->SetIntField(outValue, gTypedValueOffsets.mChangingConfigurations,
126 env->SetIntField(outValue, gTypedValueOffsets.mDensity, config->density);
212 AssetManager* assetManagerForJavaObject(JNIEnv* env, jobject obj)
214 jlong amHandle = env->GetLongField(obj, gAssetManagerOffsets.mObject);
219 jniThrowException(env, "java/lang/IllegalStateException", "AssetManager has been finalized!");
223 static jlong android_content_AssetManager_openAsset(JNIEnv* env, jobject clazz,
226 AssetManager* am = assetManagerForJavaObject(env, clazz);
233 ScopedUtfChars fileName8(env, fileName);
235 jniThrowException(env, "java/lang/IllegalArgumentException", "Empty file name");
241 jniThrowException(env, "java/lang/IllegalArgumentException", "Bad access mode");
248 jniThrowException(env, "java/io/FileNotFoundException", fileName8.c_str());
257 static jobject returnParcelFileDescriptor(JNIEnv* env, Asset* a, jlongArray outOffsets)
264 jniThrowException(env, "java/io/FileNotFoundException",
269 jlong* offsets = (jlong*)env->GetPrimitiveArrayCritical(outOffsets, 0);
278 env->ReleasePrimitiveArrayCritical(outOffsets, offsets, 0);
280 jobject fileDesc = jniCreateFileDescriptor(env, fd);
286 return newParcelFileDescriptor(env, fileDesc);
289 static jobject android_content_AssetManager_openAssetFd(JNIEnv* env, jobject clazz,
292 AssetManager* am = assetManagerForJavaObject(env, clazz);
299 ScopedUtfChars fileName8(env, fileName);
307 jniThrowException(env, "java/io/FileNotFoundException", fileName8.c_str());
313 return returnParcelFileDescriptor(env, a, outOffsets);
316 static jlong android_content_AssetManager_openNonAssetNative(JNIEnv* env, jobject clazz,
321 AssetManager* am = assetManagerForJavaObject(env, clazz);
328 ScopedUtfChars fileName8(env, fileName);
335 jniThrowException(env, "java/lang/IllegalArgumentException", "Bad access mode");
345 jniThrowException(env, "java/io/FileNotFoundException", fileName8.c_str());
354 static jobject android_content_AssetManager_openNonAssetFdNative(JNIEnv* env, jobject clazz,
359 AssetManager* am = assetManagerForJavaObject(env, clazz);
366 ScopedUtfChars fileName8(env, fileName);
376 jniThrowException(env, "java/io/FileNotFoundException", fileName8.c_str());
382 return returnParcelFileDescriptor(env, a, outOffsets);
385 static jobjectArray android_content_AssetManager_list(JNIEnv* env, jobject clazz,
388 AssetManager* am = assetManagerForJavaObject(env, clazz);
393 ScopedUtfChars fileName8(env, fileName);
401 jniThrowException(env, "java/io/FileNotFoundException", fileName8.c_str());
407 jobjectArray array = env->NewObjectArray(dir->getFileCount(),
416 jstring str = env->NewStringUTF(name.string());
421 env->SetObjectArrayElement(array, i, str);
422 env->DeleteLocalRef(str);
430 static void android_content_AssetManager_destroyAsset(JNIEnv* env, jobject clazz,
438 jniThrowNullPointerException(env, "asset");
445 static jint android_content_AssetManager_readAssetChar(JNIEnv* env, jobject clazz,
451 jniThrowNullPointerException(env, "asset");
460 static jint android_content_AssetManager_readAsset(JNIEnv* env, jobject clazz,
467 jniThrowNullPointerException(env, "asset");
475 jsize bLen = env->GetArrayLength(bArray);
477 jniThrowException(env, "java/lang/IndexOutOfBoundsException", "");
481 jbyte* b = env->GetByteArrayElements(bArray, NULL);
483 env->ReleaseByteArrayElements(bArray, b, 0);
488 jniThrowException(env, "java/io/IOException", "");
493 static jlong android_content_AssetManager_seekAsset(JNIEnv* env, jobject clazz,
500 jniThrowNullPointerException(env, "asset");
508 static jlong android_content_AssetManager_getAssetLength(JNIEnv* env, jobject clazz,
514 jniThrowNullPointerException(env, "asset");
521 static jlong android_content_AssetManager_getAssetRemainingLength(JNIEnv* env, jobject clazz,
527 jniThrowNullPointerException(env, "asset");
534 static jint android_content_AssetManager_addAssetPath(JNIEnv* env, jobject clazz,
537 ScopedUtfChars path8(env, path);
542 AssetManager* am = assetManagerForJavaObject(env, clazz);
553 static jint android_content_AssetManager_addOverlayPath(JNIEnv* env, jobject clazz,
556 ScopedUtfChars idmapPath8(env, idmapPath);
561 AssetManager* am = assetManagerForJavaObject(env, clazz);
572 static jboolean android_content_AssetManager_isUpToDate(JNIEnv* env, jobject clazz)
574 AssetManager* am = assetManagerForJavaObject(env, clazz);
581 static jobjectArray getLocales(JNIEnv* env, jobject clazz, bool includeSystemLocales)
585 AssetManager* am = assetManagerForJavaObject(env, clazz);
594 jobjectArray result = env->NewObjectArray(N, g_stringClass, NULL);
600 jstring str = env->NewStringUTF(locales[i].string());
604 env->SetObjectArrayElement(result, i, str);
605 env->DeleteLocalRef(str);
611 static jobjectArray android_content_AssetManager_getLocales(JNIEnv* env, jobject clazz)
613 return getLocales(env, clazz, true /* include system locales */);
616 static jobjectArray android_content_AssetManager_getNonSystemLocales(JNIEnv* env, jobject clazz)
618 return getLocales(env, clazz, false /* don't include system locales */);
621 static jobject constructConfigurationObject(JNIEnv* env, const ResTable_config& config) {
622 jobject result = env->NewObject(gConfigurationOffsets.classObject,
628 env->SetIntField(result, gConfigurationOffsets.mSmallestScreenWidthDpOffset,
630 env->SetIntField(result, gConfigurationOffsets.mScreenWidthDpOffset, config.screenWidthDp);
631 env->SetIntField(result, gConfigurationOffsets.mScreenHeightDpOffset, config.screenHeightDp);
636 static jobjectArray getSizeConfigurationsInternal(JNIEnv* env,
639 jobjectArray result = env->NewObjectArray(N, gConfigurationOffsets.classObject, NULL);
645 jobject config = constructConfigurationObject(env, configs[i]);
647 env->DeleteLocalRef(result);
651 env->SetObjectArrayElement(result, i, config);
652 env->DeleteLocalRef(config);
658 static jobjectArray android_content_AssetManager_getSizeConfigurations(JNIEnv* env, jobject clazz) {
659 AssetManager* am = assetManagerForJavaObject(env, clazz);
668 return getSizeConfigurationsInternal(env, configs);
671 static void android_content_AssetManager_setConfiguration(JNIEnv* env, jobject clazz,
683 AssetManager* am = assetManagerForJavaObject(env, clazz);
691 const char* locale8 = locale != NULL ? env->GetStringUTFChars(locale, NULL) : NULL;
723 if (locale != NULL) env->ReleaseStringUTFChars(locale, locale8);
726 static jint android_content_AssetManager_getResourceIdentifier(JNIEnv* env, jobject clazz,
731 ScopedStringChars name16(env, name);
736 AssetManager* am = assetManagerForJavaObject(env, clazz);
742 ? reinterpret_cast<const char16_t*>(env->GetStringChars(defType, NULL))
745 ? env->GetStringLength(defType) : 0;
747 ? reinterpret_cast<const char16_t*>(env->GetStringChars(defPackage,
751 ? env->GetStringLength(defPackage) : 0;
758 env->ReleaseStringChars(defPackage,
762 env->ReleaseStringChars(defType,
769 static jstring android_content_AssetManager_getResourceName(JNIEnv* env, jobject clazz,
772 AssetManager* am = assetManagerForJavaObject(env, clazz);
809 return env->NewString((const jchar*)str.string(), str.size());
812 static jstring android_content_AssetManager_getResourcePackageName(JNIEnv* env, jobject clazz,
815 AssetManager* am = assetManagerForJavaObject(env, clazz);
826 return env->NewString((const jchar*)name.package, name.packageLen);
832 static jstring android_content_AssetManager_getResourceTypeName(JNIEnv* env, jobject clazz,
835 AssetManager* am = assetManagerForJavaObject(env, clazz);
846 return env->NewStringUTF(name.type8);
850 return env->NewString((const jchar*)name.type, name.typeLen);
856 static jstring android_content_AssetManager_getResourceEntryName(JNIEnv* env, jobject clazz,
859 AssetManager* am = assetManagerForJavaObject(env, clazz);
870 return env->NewStringUTF(name.name8);
874 return env->NewString((const jchar*)name.name, name.nameLen);
880 static jint android_content_AssetManager_loadResourceValue(JNIEnv* env, jobject clazz,
887 jniThrowNullPointerException(env, "outValue");
890 AssetManager* am = assetManagerForJavaObject(env, clazz);
902 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
911 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
917 return copyValue(env, outValue, &res, value, ref, block, typeSpecFlags, &config);
923 static jint android_content_AssetManager_loadResourceBagValue(JNIEnv* env, jobject clazz,
927 AssetManager* am = assetManagerForJavaObject(env, clazz);
962 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
968 return copyValue(env, outValue, &res, value, ref, block, typeSpecFlags);
974 static jint android_content_AssetManager_getStringBlockCount(JNIEnv* env, jobject clazz)
976 AssetManager* am = assetManagerForJavaObject(env, clazz);
983 static jlong android_content_AssetManager_getNativeStringBlock(JNIEnv* env, jobject clazz,
986 AssetManager* am = assetManagerForJavaObject(env, clazz);
993 static jstring android_content_AssetManager_getCookieName(JNIEnv* env, jobject clazz,
996 AssetManager* am = assetManagerForJavaObject(env, clazz);
1002 jniThrowException(env, "java/lang/IndexOutOfBoundsException", "Empty cookie name");
1005 jstring str = env->NewStringUTF(name.string());
1009 static jobject android_content_AssetManager_getAssignedPackageIdentifiers(JNIEnv* env, jobject clazz)
1011 AssetManager* am = assetManagerForJavaObject(env, clazz);
1018 jobject sparseArray = env->NewObject(gSparseArrayOffsets.classObject,
1023 env->CallVoidMethod(
1026 env->NewString(reinterpret_cast<const jchar*>(name.string()),
1032 static jlong android_content_AssetManager_newTheme(JNIEnv* env, jobject clazz)
1034 AssetManager* am = assetManagerForJavaObject(env, clazz);
1041 static void android_content_AssetManager_deleteTheme(JNIEnv* env, jobject clazz,
1048 static void android_content_AssetManager_applyThemeStyle(JNIEnv* env, jobject clazz,
1057 static void android_content_AssetManager_copyTheme(JNIEnv* env, jobject clazz,
1065 static void android_content_AssetManager_clearTheme(JNIEnv* env, jobject clazz, jlong themeHandle)
1072 JNIEnv* env, jobject clazz, jlong themeHandle, jint ident, jobject outValue, jboolean resolve)
1086 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
1091 return block >= 0 ? copyValue(env, outValue, &res, value, ref, block, typeSpecFlags) : block;
1094 static jint android_content_AssetManager_getThemeChangingConfigurations(JNIEnv* env, jobject clazz,
1101 static void android_content_AssetManager_dumpTheme(JNIEnv* env, jobject clazz,
1137 static jboolean android_content_AssetManager_resolveAttrs(JNIEnv* env, jobject clazz,
1147 jniThrowNullPointerException(env, "theme token");
1151 jniThrowNullPointerException(env, "attrs");
1155 jniThrowNullPointerException(env, "out values");
1169 const jsize NI = env->GetArrayLength(attrs);
1170 const jsize NV = env->GetArrayLength(outValues);
1172 jniThrowException(env, "java/lang/IndexOutOfBoundsException", "out values too small");
1176 jint* src = (jint*)env->GetPrimitiveArrayCritical(attrs, 0);
1181 jint* srcValues = (jint*)env->GetPrimitiveArrayCritical(inValues, 0);
1182 const jsize NSV = srcValues == NULL ? 0 : env->GetArrayLength(inValues);
1184 jint* baseDest = (jint*)env->GetPrimitiveArrayCritical(outValues, 0);
1187 env->ReleasePrimitiveArrayCritical(attrs, src, 0);
1194 if (env->GetArrayLength(outIndices) > NI) {
1195 indices = (jint*)env->GetPrimitiveArrayCritical(outIndices, 0);
1284 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
1331 env->ReleasePrimitiveArrayCritical(outIndices, indices, 0);
1333 env->ReleasePrimitiveArrayCritical(outValues, baseDest, 0);
1334 env->ReleasePrimitiveArrayCritical(inValues, srcValues, 0);
1335 env->ReleasePrimitiveArrayCritical(attrs, src, 0);
1340 static jboolean android_content_AssetManager_applyStyle(JNIEnv* env, jobject clazz,
1350 jniThrowNullPointerException(env, "theme token");
1354 jniThrowNullPointerException(env, "attrs");
1358 jniThrowNullPointerException(env, "out values");
1374 const jsize NI = env->GetArrayLength(attrs);
1375 const jsize NV = env->GetArrayLength(outValues);
1377 jniThrowException(env, "java/lang/IndexOutOfBoundsException", "out values too small");
1381 jint* src = (jint*)env->GetPrimitiveArrayCritical(attrs, 0);
1386 jint* baseDest = (jint*)env->GetPrimitiveArrayCritical(outValues, 0);
1389 env->ReleasePrimitiveArrayCritical(attrs, src, 0);
1396 if (env->GetArrayLength(outIndices) > NI) {
1397 indices = (jint*)env->GetPrimitiveArrayCritical(outIndices, 0);
1536 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
1586 env->ReleasePrimitiveArrayCritical(outIndices, indices, 0);
1588 env->ReleasePrimitiveArrayCritical(outValues, baseDest, 0);
1589 env->ReleasePrimitiveArrayCritical(attrs, src, 0);
1594 static jboolean android_content_AssetManager_retrieveAttributes(JNIEnv* env, jobject clazz,
1601 jniThrowNullPointerException(env, "xmlParserToken");
1605 jniThrowNullPointerException(env, "attrs");
1609 jniThrowNullPointerException(env, "out values");
1613 AssetManager* am = assetManagerForJavaObject(env, clazz);
1622 const jsize NI = env->GetArrayLength(attrs);
1623 const jsize NV = env->GetArrayLength(outValues);
1625 jniThrowException(env, "java/lang/IndexOutOfBoundsException", "out values too small");
1629 jint* src = (jint*)env->GetPrimitiveArrayCritical(attrs, 0);
1634 jint* baseDest = (jint*)env->GetPrimitiveArrayCritical(outValues, 0);
1637 env->ReleasePrimitiveArrayCritical(attrs, src, 0);
1644 if (env->GetArrayLength(outIndices) > NI) {
1645 indices = (jint*)env->GetPrimitiveArrayCritical(outIndices, 0);
1694 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
1730 env->ReleasePrimitiveArrayCritical(outIndices, indices, 0);
1733 env->ReleasePrimitiveArrayCritical(outValues, baseDest, 0);
1734 env->ReleasePrimitiveArrayCritical(attrs, src, 0);
1739 static jint android_content_AssetManager_getArraySize(JNIEnv* env, jobject clazz,
1742 AssetManager* am = assetManagerForJavaObject(env, clazz);
1756 static jint android_content_AssetManager_retrieveArray(JNIEnv* env, jobject clazz,
1761 jniThrowNullPointerException(env, "out values");
1765 AssetManager* am = assetManagerForJavaObject(env, clazz);
1774 const jsize NV = env->GetArrayLength(outValues);
1776 jint* baseDest = (jint*)env->GetPrimitiveArrayCritical(outValues, 0);
1779 jniThrowException(env, "java/lang/OutOfMemoryError", "");
1808 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
1839 env->ReleasePrimitiveArrayCritical(outValues, baseDest, 0);
1844 static jlong android_content_AssetManager_openXmlAssetNative(JNIEnv* env, jobject clazz,
1848 AssetManager* am = assetManagerForJavaObject(env, clazz);
1855 ScopedUtfChars fileName8(env, fileName);
1866 jniThrowException(env, "java/io/FileNotFoundException", fileName8.c_str());
1878 jniThrowException(env, "java/io/FileNotFoundException", "Corrupt XML binary file");
1885 static jintArray android_content_AssetManager_getArrayStringInfo(JNIEnv* env, jobject clazz,
1888 AssetManager* am = assetManagerForJavaObject(env, clazz);
1900 jintArray array = env->NewIntArray(N * 2);
1921 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
1929 env->SetIntArrayRegion(array, j, 1, &stringBlock);
1930 env->SetIntArrayRegion(array, j + 1, 1, &stringIndex);
1937 static jobjectArray android_content_AssetManager_getArrayStringResource(JNIEnv* env, jobject clazz,
1940 AssetManager* am = assetManagerForJavaObject(env, clazz);
1952 jobjectArray array = env->NewObjectArray(N, g_stringClass, NULL);
1953 if (env->ExceptionCheck()) {
1969 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
1977 str = env->NewStringUTF(str8);
1980 str = env->NewString(reinterpret_cast<const jchar*>(str16),
1986 if (env->ExceptionCheck()) {
1991 env->SetObjectArrayElement(array, i, str);
1996 env->DeleteLocalRef(str);
2003 static jintArray android_content_AssetManager_getArrayIntResource(JNIEnv* env, jobject clazz,
2006 AssetManager* am = assetManagerForJavaObject(env, clazz);
2018 jintArray array = env->NewIntArray(N);
2033 jniThrowException(env, "java/lang/IllegalStateException", "Bad resource!");
2040 env->SetIntArrayRegion(array, i, 1, &intVal);
2047 static jintArray android_content_AssetManager_getStyleAttributes(JNIEnv* env, jobject clazz,
2050 AssetManager* am = assetManagerForJavaObject(env, clazz);
2062 jintArray array = env->NewIntArray(N);
2071 env->SetIntArrayRegion(array, i, 1, &resourceId);
2077 static void android_content_AssetManager_init(JNIEnv* env, jobject clazz, jboolean isSystem)
2084 jniThrowException(env, "java/lang/OutOfMemoryError", "");
2091 env->SetLongField(clazz, gAssetManagerOffsets.mObject, reinterpret_cast<jlong>(am));
2094 static void android_content_AssetManager_destroy(JNIEnv* env, jobject clazz)
2097 (env->GetLongField(clazz, gAssetManagerOffsets.mObject));
2101 env->SetLongField(clazz, gAssetManagerOffsets.mObject, 0);
2105 static jint android_content_AssetManager_getGlobalAssetCount(JNIEnv* env, jobject clazz)
2110 static jobject android_content_AssetManager_getAssetAllocations(JNIEnv* env, jobject clazz)
2117 jstring str = env->NewStringUTF(alloc.string());
2121 static jint android_content_AssetManager_getGlobalAssetManagerCount(JNIEnv* env, jobject clazz)
2251 int register_android_content_AssetManager(JNIEnv* env)
2253 jclass typedValue = FindClassOrDie(env, "android/util/TypedValue");
2254 gTypedValueOffsets.mType = GetFieldIDOrDie(env, typedValue, "type", "I");
2255 gTypedValueOffsets.mData = GetFieldIDOrDie(env, typedValue, "data", "I");
2256 gTypedValueOffsets.mString = GetFieldIDOrDie(env, typedValue, "string",
2258 gTypedValueOffsets.mAssetCookie = GetFieldIDOrDie(env, typedValue, "assetCookie", "I");
2259 gTypedValueOffsets.mResourceId = GetFieldIDOrDie(env, typedValue, "resourceId", "I");
2260 gTypedValueOffsets.mChangingConfigurations = GetFieldIDOrDie(env, typedValue,
2262 gTypedValueOffsets.mDensity = GetFieldIDOrDie(env, typedValue, "density", "I");
2264 jclass assetFd = FindClassOrDie(env, "android/content/res/AssetFileDescriptor");
2265 gAssetFileDescriptorOffsets.mFd = GetFieldIDOrDie(env, assetFd, "mFd",
2267 gAssetFileDescriptorOffsets.mStartOffset = GetFieldIDOrDie(env, assetFd, "mStartOffset", "J");
2268 gAssetFileDescriptorOffsets.mLength = GetFieldIDOrDie(env, assetFd, "mLength", "J");
2270 jclass assetManager = FindClassOrDie(env, "android/content/res/AssetManager");
2271 gAssetManagerOffsets.mObject = GetFieldIDOrDie(env, assetManager, "mObject", "J");
2273 jclass stringClass = FindClassOrDie(env, "java/lang/String");
2274 g_stringClass = MakeGlobalRefOrDie(env, stringClass);
2276 jclass sparseArrayClass = FindClassOrDie(env, "android/util/SparseArray");
2277 gSparseArrayOffsets.classObject = MakeGlobalRefOrDie(env, sparseArrayClass);
2278 gSparseArrayOffsets.constructor = GetMethodIDOrDie(env, gSparseArrayOffsets.classObject,
2280 gSparseArrayOffsets.put = GetMethodIDOrDie(env, gSparseArrayOffsets.classObject, "put",
2283 jclass configurationClass = FindClassOrDie(env, "android/content/res/Configuration");
2284 gConfigurationOffsets.classObject = MakeGlobalRefOrDie(env, configurationClass);
2285 gConfigurationOffsets.constructor = GetMethodIDOrDie(env, configurationClass,
2287 gConfigurationOffsets.mSmallestScreenWidthDpOffset = GetFieldIDOrDie(env, configurationClass,
2289 gConfigurationOffsets.mScreenWidthDpOffset = GetFieldIDOrDie(env, configurationClass,
2291 gConfigurationOffsets.mScreenHeightDpOffset = GetFieldIDOrDie(env, configurationClass,
2294 return RegisterMethodsOrDie(env, "android/content/res/AssetManager", gAssetManagerMethods,