static void android_view_ThreadedRenderer_setProgramAtlas(JNIEnv* env, jobject clazz, jlong proxyPtr, jobject fileDescriptor, jint length, jlongArray programMap, jint programCount) { if (!fileDescriptor || programCount <= 0) { ALOGW("Failed to initialize program atlas, invalid program count: %d", programCount); return; } int fd = jniGetFDFromFileDescriptor(env, fileDescriptor); int64_t* pmap = new int64_t[programCount]; env->GetLongArrayRegion(programMap, 0, programCount, pmap); RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr); proxy->setProgramAtlas(fd, length, pmap, programCount); }