diff options
author | Andreas Huber <andih@google.com> | 2012-05-10 11:42:15 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-05-10 11:42:15 -0700 |
commit | 1bc1b8a5b8a0c5fbcd670d1963235de27a5ccec4 (patch) | |
tree | 8fd291c45e23c97af3533d11f5722b1f9ef7638e /media | |
parent | 4fe5ebcc962ad7edb205bf988dd463854dea1044 (diff) | |
parent | b842599e51e2d3611503c3c7db1111358f99186d (diff) | |
download | frameworks_base-1bc1b8a5b8a0c5fbcd670d1963235de27a5ccec4.zip frameworks_base-1bc1b8a5b8a0c5fbcd670d1963235de27a5ccec4.tar.gz frameworks_base-1bc1b8a5b8a0c5fbcd670d1963235de27a5ccec4.tar.bz2 |
Merge "Make sure crop rect information is visible from java." into jb-dev
Diffstat (limited to 'media')
-rw-r--r-- | media/jni/android_media_Utils.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/media/jni/android_media_Utils.cpp b/media/jni/android_media_Utils.cpp index a4d88ff..e35ace3 100644 --- a/media/jni/android_media_Utils.cpp +++ b/media/jni/android_media_Utils.cpp @@ -125,6 +125,19 @@ static jobject makeByteBufferObject( return byteBufObj; } +static void SetMapInt32( + JNIEnv *env, jobject hashMapObj, jmethodID hashMapPutID, + const char *key, int32_t value) { + jstring keyObj = env->NewStringUTF(key); + jobject valueObj = makeIntegerObject(env, value); + + jobject res = env->CallObjectMethod( + hashMapObj, hashMapPutID, keyObj, valueObj); + + env->DeleteLocalRef(valueObj); valueObj = NULL; + env->DeleteLocalRef(keyObj); keyObj = NULL; +} + status_t ConvertMessageToMap( JNIEnv *env, const sp<AMessage> &msg, jobject *map) { jclass hashMapClazz = env->FindClass("java/util/HashMap"); @@ -205,6 +218,41 @@ status_t ConvertMessageToMap( break; } + case AMessage::kTypeRect: + { + int32_t left, top, right, bottom; + CHECK(msg->findRect(key, &left, &top, &right, &bottom)); + + SetMapInt32( + env, + hashMap, + hashMapPutID, + StringPrintf("%s-left", key).c_str(), + left); + + SetMapInt32( + env, + hashMap, + hashMapPutID, + StringPrintf("%s-top", key).c_str(), + top); + + SetMapInt32( + env, + hashMap, + hashMapPutID, + StringPrintf("%s-right", key).c_str(), + right); + + SetMapInt32( + env, + hashMap, + hashMapPutID, + StringPrintf("%s-bottom", key).c_str(), + bottom); + break; + } + default: break; } |