Loading core/java/android/hardware/camera2/impl/CameraMetadataNative.java +0 −5 Original line number Diff line number Diff line Loading @@ -1097,7 +1097,6 @@ public class CameraMetadataNative implements Parcelable { throws IllegalArgumentException; private static native int nativeGetTypeFromTag(int tag) throws IllegalArgumentException; private static native void nativeClassInit(); /** * <p>Perform a 0-copy swap of the internal metadata with another object.</p> Loading Loading @@ -1289,10 +1288,6 @@ public class CameraMetadataNative implements Parcelable { } static { /* * We use a class initializer to allow the native code to cache some field offsets */ nativeClassInit(); registerAllMarshalers(); } } core/java/android/hardware/camera2/marshal/impl/MarshalQueryableString.java +6 −4 Original line number Diff line number Diff line Loading @@ -33,7 +33,9 @@ public class MarshalQueryableString implements MarshalQueryable<String> { private static final String TAG = MarshalQueryableString.class.getSimpleName(); private static final boolean DEBUG = false; private static final Charset UTF8_CHARSET = Charset.forName("UTF-8"); private static class PreloadHolder { public static final Charset UTF8_CHARSET = Charset.forName("UTF-8"); } private static final byte NUL = (byte)'\0'; // used as string terminator private class MarshalerString extends Marshaler<String> { Loading @@ -44,7 +46,7 @@ public class MarshalQueryableString implements MarshalQueryable<String> { @Override public void marshal(String value, ByteBuffer buffer) { byte[] arr = value.getBytes(UTF8_CHARSET); byte[] arr = value.getBytes(PreloadHolder.UTF8_CHARSET); buffer.put(arr); buffer.put(NUL); // metadata strings are NUL-terminated Loading @@ -52,7 +54,7 @@ public class MarshalQueryableString implements MarshalQueryable<String> { @Override public int calculateMarshalSize(String value) { byte[] arr = value.getBytes(UTF8_CHARSET); byte[] arr = value.getBytes(PreloadHolder.UTF8_CHARSET); return arr.length + 1; // metadata strings are NUL-terminated } Loading Loading @@ -88,7 +90,7 @@ public class MarshalQueryableString implements MarshalQueryable<String> { buffer.get(strBytes, /*dstOffset*/0, stringLength + 1); // including null character // not including null character return new String(strBytes, /*offset*/0, stringLength, UTF8_CHARSET); return new String(strBytes, /*offset*/0, stringLength, PreloadHolder.UTF8_CHARSET); } @Override Loading core/jni/android_hardware_camera2_CameraMetadata.cpp +3 −49 Original line number Diff line number Diff line Loading @@ -161,7 +161,6 @@ struct Helpers { extern "C" { static void CameraMetadata_classInit(JNIEnv *env, jobject thiz); static jobject CameraMetadata_getAllVendorKeys(JNIEnv* env, jobject thiz, jclass keyType); static jint CameraMetadata_getTagFromKey(JNIEnv *env, jobject thiz, jstring keyName); static jint CameraMetadata_getTypeFromTag(JNIEnv *env, jobject thiz, jint tag); Loading Loading @@ -529,9 +528,6 @@ static void CameraMetadata_writeToParcel(JNIEnv *env, jobject thiz, jobject parc static const JNINativeMethod gCameraMetadataMethods[] = { // static methods { "nativeClassInit", "()V", (void *)CameraMetadata_classInit }, { "nativeGetAllVendorKeys", "(Ljava/lang/Class;)Ljava/util/ArrayList;", (void *)CameraMetadata_getAllVendorKeys}, Loading Loading @@ -581,35 +577,6 @@ static const JNINativeMethod gCameraMetadataMethods[] = { (void *)CameraMetadata_writeToParcel }, }; struct field { const char *class_name; const char *field_name; const char *field_type; jfieldID *jfield; }; static int find_fields(JNIEnv *env, field *fields, int count) { for (int i = 0; i < count; i++) { field *f = &fields[i]; jclass clazz = env->FindClass(f->class_name); if (clazz == NULL) { ALOGE("Can't find %s", f->class_name); return -1; } jfieldID field = env->GetFieldID(clazz, f->field_name, f->field_type); if (field == NULL) { ALOGE("Can't find %s.%s", f->class_name, f->field_name); return -1; } *(f->jfield) = field; } return 0; } // Get all the required offsets in java class and register native functions int register_android_hardware_camera2_CameraMetadata(JNIEnv *env) { Loading Loading @@ -651,6 +618,9 @@ int register_android_hardware_camera2_CameraMetadata(JNIEnv *env) gMetadataOffsets.mArrayListAdd = GetMethodIDOrDie(env, gMetadataOffsets.mArrayList, "add", "(Ljava/lang/Object;)Z"); jclass cameraMetadataClazz = FindClassOrDie(env, CAMERA_METADATA_CLASS_NAME); fields.metadata_ptr = GetFieldIDOrDie(env, cameraMetadataClazz, "mMetadataPtr", "J"); // Register native functions return RegisterMethodsOrDie(env, CAMERA_METADATA_CLASS_NAME, Loading @@ -660,22 +630,6 @@ int register_android_hardware_camera2_CameraMetadata(JNIEnv *env) extern "C" { static void CameraMetadata_classInit(JNIEnv *env, jobject thiz) { // XX: Why do this separately instead of doing it in the register function? ALOGV("%s", __FUNCTION__); field fields_to_find[] = { { CAMERA_METADATA_CLASS_NAME, "mMetadataPtr", "J", &fields.metadata_ptr }, }; // Do this here instead of in register_native_methods, // since otherwise it will fail to find the fields. if (find_fields(env, fields_to_find, NELEM(fields_to_find)) < 0) return; env->FindClass(CAMERA_METADATA_CLASS_NAME); } static jobject CameraMetadata_getAllVendorKeys(JNIEnv* env, jobject thiz, jclass keyType) { // Get all vendor tags Loading Loading
core/java/android/hardware/camera2/impl/CameraMetadataNative.java +0 −5 Original line number Diff line number Diff line Loading @@ -1097,7 +1097,6 @@ public class CameraMetadataNative implements Parcelable { throws IllegalArgumentException; private static native int nativeGetTypeFromTag(int tag) throws IllegalArgumentException; private static native void nativeClassInit(); /** * <p>Perform a 0-copy swap of the internal metadata with another object.</p> Loading Loading @@ -1289,10 +1288,6 @@ public class CameraMetadataNative implements Parcelable { } static { /* * We use a class initializer to allow the native code to cache some field offsets */ nativeClassInit(); registerAllMarshalers(); } }
core/java/android/hardware/camera2/marshal/impl/MarshalQueryableString.java +6 −4 Original line number Diff line number Diff line Loading @@ -33,7 +33,9 @@ public class MarshalQueryableString implements MarshalQueryable<String> { private static final String TAG = MarshalQueryableString.class.getSimpleName(); private static final boolean DEBUG = false; private static final Charset UTF8_CHARSET = Charset.forName("UTF-8"); private static class PreloadHolder { public static final Charset UTF8_CHARSET = Charset.forName("UTF-8"); } private static final byte NUL = (byte)'\0'; // used as string terminator private class MarshalerString extends Marshaler<String> { Loading @@ -44,7 +46,7 @@ public class MarshalQueryableString implements MarshalQueryable<String> { @Override public void marshal(String value, ByteBuffer buffer) { byte[] arr = value.getBytes(UTF8_CHARSET); byte[] arr = value.getBytes(PreloadHolder.UTF8_CHARSET); buffer.put(arr); buffer.put(NUL); // metadata strings are NUL-terminated Loading @@ -52,7 +54,7 @@ public class MarshalQueryableString implements MarshalQueryable<String> { @Override public int calculateMarshalSize(String value) { byte[] arr = value.getBytes(UTF8_CHARSET); byte[] arr = value.getBytes(PreloadHolder.UTF8_CHARSET); return arr.length + 1; // metadata strings are NUL-terminated } Loading Loading @@ -88,7 +90,7 @@ public class MarshalQueryableString implements MarshalQueryable<String> { buffer.get(strBytes, /*dstOffset*/0, stringLength + 1); // including null character // not including null character return new String(strBytes, /*offset*/0, stringLength, UTF8_CHARSET); return new String(strBytes, /*offset*/0, stringLength, PreloadHolder.UTF8_CHARSET); } @Override Loading
core/jni/android_hardware_camera2_CameraMetadata.cpp +3 −49 Original line number Diff line number Diff line Loading @@ -161,7 +161,6 @@ struct Helpers { extern "C" { static void CameraMetadata_classInit(JNIEnv *env, jobject thiz); static jobject CameraMetadata_getAllVendorKeys(JNIEnv* env, jobject thiz, jclass keyType); static jint CameraMetadata_getTagFromKey(JNIEnv *env, jobject thiz, jstring keyName); static jint CameraMetadata_getTypeFromTag(JNIEnv *env, jobject thiz, jint tag); Loading Loading @@ -529,9 +528,6 @@ static void CameraMetadata_writeToParcel(JNIEnv *env, jobject thiz, jobject parc static const JNINativeMethod gCameraMetadataMethods[] = { // static methods { "nativeClassInit", "()V", (void *)CameraMetadata_classInit }, { "nativeGetAllVendorKeys", "(Ljava/lang/Class;)Ljava/util/ArrayList;", (void *)CameraMetadata_getAllVendorKeys}, Loading Loading @@ -581,35 +577,6 @@ static const JNINativeMethod gCameraMetadataMethods[] = { (void *)CameraMetadata_writeToParcel }, }; struct field { const char *class_name; const char *field_name; const char *field_type; jfieldID *jfield; }; static int find_fields(JNIEnv *env, field *fields, int count) { for (int i = 0; i < count; i++) { field *f = &fields[i]; jclass clazz = env->FindClass(f->class_name); if (clazz == NULL) { ALOGE("Can't find %s", f->class_name); return -1; } jfieldID field = env->GetFieldID(clazz, f->field_name, f->field_type); if (field == NULL) { ALOGE("Can't find %s.%s", f->class_name, f->field_name); return -1; } *(f->jfield) = field; } return 0; } // Get all the required offsets in java class and register native functions int register_android_hardware_camera2_CameraMetadata(JNIEnv *env) { Loading Loading @@ -651,6 +618,9 @@ int register_android_hardware_camera2_CameraMetadata(JNIEnv *env) gMetadataOffsets.mArrayListAdd = GetMethodIDOrDie(env, gMetadataOffsets.mArrayList, "add", "(Ljava/lang/Object;)Z"); jclass cameraMetadataClazz = FindClassOrDie(env, CAMERA_METADATA_CLASS_NAME); fields.metadata_ptr = GetFieldIDOrDie(env, cameraMetadataClazz, "mMetadataPtr", "J"); // Register native functions return RegisterMethodsOrDie(env, CAMERA_METADATA_CLASS_NAME, Loading @@ -660,22 +630,6 @@ int register_android_hardware_camera2_CameraMetadata(JNIEnv *env) extern "C" { static void CameraMetadata_classInit(JNIEnv *env, jobject thiz) { // XX: Why do this separately instead of doing it in the register function? ALOGV("%s", __FUNCTION__); field fields_to_find[] = { { CAMERA_METADATA_CLASS_NAME, "mMetadataPtr", "J", &fields.metadata_ptr }, }; // Do this here instead of in register_native_methods, // since otherwise it will fail to find the fields. if (find_fields(env, fields_to_find, NELEM(fields_to_find)) < 0) return; env->FindClass(CAMERA_METADATA_CLASS_NAME); } static jobject CameraMetadata_getAllVendorKeys(JNIEnv* env, jobject thiz, jclass keyType) { // Get all vendor tags Loading