summaryrefslogtreecommitdiffstats
path: root/core/jni/android
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2011-04-13 10:17:46 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-04-13 10:17:46 -0700
commite9cf71dfd01f3e2006462de99d5c423038e20b65 (patch)
tree5987d4f4c4023b1c33a39fbb820a84b69644106c /core/jni/android
parentfda06c0cd9bf1db78adcddf11d374785c6737b61 (diff)
parentcf6f7a0f006c0fcf59bb634cbe79f2a8500fd92a (diff)
downloadframeworks_base-e9cf71dfd01f3e2006462de99d5c423038e20b65.zip
frameworks_base-e9cf71dfd01f3e2006462de99d5c423038e20b65.tar.gz
frameworks_base-e9cf71dfd01f3e2006462de99d5c423038e20b65.tar.bz2
Merge "Don't allocate a raw object then call its constructor manually..."
Diffstat (limited to 'core/jni/android')
-rw-r--r--core/jni/android/graphics/Graphics.cpp37
-rw-r--r--core/jni/android/graphics/Movie.cpp7
2 files changed, 13 insertions, 31 deletions
diff --git a/core/jni/android/graphics/Graphics.cpp b/core/jni/android/graphics/Graphics.cpp
index 6c28e65..64bd207 100644
--- a/core/jni/android/graphics/Graphics.cpp
+++ b/core/jni/android/graphics/Graphics.cpp
@@ -350,14 +350,10 @@ jobject GraphicsJNI::createBitmap(JNIEnv* env, SkBitmap* bitmap, jbyteArray buff
SkASSERT(bitmap);
SkASSERT(bitmap->pixelRef());
- jobject obj = env->AllocObject(gBitmap_class);
- if (obj) {
- env->CallVoidMethod(obj, gBitmap_constructorMethodID,
- (jint)bitmap, buffer, isMutable, ninepatch, density);
- if (hasException(env)) {
- obj = NULL;
- }
- }
+ jobject obj = env->NewObject(gBitmap_class, gBitmap_constructorMethodID,
+ static_cast<jint>(reinterpret_cast<uintptr_t>(bitmap)),
+ buffer, isMutable, ninepatch, density);
+ hasException(env); // For the side effect of logging.
return obj;
}
@@ -372,30 +368,19 @@ jobject GraphicsJNI::createBitmapRegionDecoder(JNIEnv* env, SkBitmapRegionDecode
{
SkASSERT(bitmap != NULL);
- jobject obj = env->AllocObject(gBitmapRegionDecoder_class);
- if (hasException(env)) {
- obj = NULL;
- return obj;
- }
- if (obj) {
- env->CallVoidMethod(obj, gBitmapRegionDecoder_constructorMethodID, (jint)bitmap);
- if (hasException(env)) {
- obj = NULL;
- }
- }
+ jobject obj = env->NewObject(gBitmapRegionDecoder_class,
+ gBitmapRegionDecoder_constructorMethodID,
+ static_cast<jint>(reinterpret_cast<uintptr_t>(bitmap)));
+ hasException(env); // For the side effect of logging.
return obj;
}
jobject GraphicsJNI::createRegion(JNIEnv* env, SkRegion* region)
{
SkASSERT(region != NULL);
- jobject obj = env->AllocObject(gRegion_class);
- if (obj) {
- env->CallVoidMethod(obj, gRegion_constructorMethodID, (jint)region, 0);
- if (hasException(env)) {
- obj = NULL;
- }
- }
+ jobject obj = env->NewObject(gRegion_class, gRegion_constructorMethodID,
+ static_cast<jint>(reinterpret_cast<uintptr_t>(region)), 0);
+ hasException(env); // For the side effect of logging.
return obj;
}
diff --git a/core/jni/android/graphics/Movie.cpp b/core/jni/android/graphics/Movie.cpp
index 7145433..c112423 100644
--- a/core/jni/android/graphics/Movie.cpp
+++ b/core/jni/android/graphics/Movie.cpp
@@ -23,11 +23,8 @@ jobject create_jmovie(JNIEnv* env, SkMovie* moov) {
if (NULL == moov) {
return NULL;
}
- jobject obj = env->AllocObject(gMovie_class);
- if (obj) {
- env->CallVoidMethod(obj, gMovie_constructorMethodID, (jint)moov);
- }
- return obj;
+ return env->NewObject(gMovie_class, gMovie_constructorMethodID,
+ static_cast<jint>(reinterpret_cast<uintptr_t>(moov)));
}
static SkMovie* J2Movie(JNIEnv* env, jobject movie) {