diff options
-rw-r--r-- | core/java/android/os/MemoryFile.java | 13 | ||||
-rw-r--r-- | core/jni/android_os_MemoryFile.cpp | 8 | ||||
-rw-r--r-- | graphics/java/android/graphics/BitmapFactory.java | 2 |
3 files changed, 10 insertions, 13 deletions
diff --git a/core/java/android/os/MemoryFile.java b/core/java/android/os/MemoryFile.java index 03542dd..9742b05 100644 --- a/core/java/android/os/MemoryFile.java +++ b/core/java/android/os/MemoryFile.java @@ -52,7 +52,7 @@ public class MemoryFile private static native void native_write(FileDescriptor fd, int address, byte[] buffer, int srcOffset, int destOffset, int count, boolean isUnpinned) throws IOException; private static native void native_pin(FileDescriptor fd, boolean pin) throws IOException; - private static native int native_get_mapped_size(FileDescriptor fd) throws IOException; + private static native int native_get_size(FileDescriptor fd) throws IOException; private FileDescriptor mFD; // ashmem file descriptor private int mAddress; // address of ashmem memory @@ -300,20 +300,19 @@ public class MemoryFile * @hide */ public static boolean isMemoryFile(FileDescriptor fd) throws IOException { - return (native_get_mapped_size(fd) >= 0); + return (native_get_size(fd) >= 0); } /** - * Returns the size of the memory file, rounded up to a page boundary, that - * the file descriptor refers to, or -1 if the file descriptor does not - * refer to a memory file. + * Returns the size of the memory file that the file descriptor refers to, + * or -1 if the file descriptor does not refer to a memory file. * * @throws IOException If <code>fd</code> is not a valid file descriptor. * * @hide */ - public static int getMappedSize(FileDescriptor fd) throws IOException { - return native_get_mapped_size(fd); + public static int getSize(FileDescriptor fd) throws IOException { + return native_get_size(fd); } /** diff --git a/core/jni/android_os_MemoryFile.cpp b/core/jni/android_os_MemoryFile.cpp index 1ae3ec7..ee8d836 100644 --- a/core/jni/android_os_MemoryFile.cpp +++ b/core/jni/android_os_MemoryFile.cpp @@ -30,8 +30,6 @@ static jobject android_os_MemoryFile_open(JNIEnv* env, jobject clazz, jstring na { const char* namestr = (name ? env->GetStringUTFChars(name, NULL) : NULL); - // round up length to page boundary - length = (((length - 1) / getpagesize()) + 1) * getpagesize(); int result = ashmem_create_region(namestr, length); if (name) @@ -118,7 +116,7 @@ static void android_os_MemoryFile_pin(JNIEnv* env, jobject clazz, jobject fileDe } } -static jint android_os_MemoryFile_get_mapped_size(JNIEnv* env, jobject clazz, +static jint android_os_MemoryFile_get_size(JNIEnv* env, jobject clazz, jobject fileDescriptor) { int fd = jniGetFDFromFileDescriptor(env, fileDescriptor); // Use ASHMEM_GET_SIZE to find out if the fd refers to an ashmem region. @@ -146,8 +144,8 @@ static const JNINativeMethod methods[] = { {"native_read", "(Ljava/io/FileDescriptor;I[BIIIZ)I", (void*)android_os_MemoryFile_read}, {"native_write", "(Ljava/io/FileDescriptor;I[BIIIZ)V", (void*)android_os_MemoryFile_write}, {"native_pin", "(Ljava/io/FileDescriptor;Z)V", (void*)android_os_MemoryFile_pin}, - {"native_get_mapped_size", "(Ljava/io/FileDescriptor;)I", - (void*)android_os_MemoryFile_get_mapped_size} + {"native_get_size", "(Ljava/io/FileDescriptor;)I", + (void*)android_os_MemoryFile_get_size} }; static const char* const kClassPathName = "android/os/MemoryFile"; diff --git a/graphics/java/android/graphics/BitmapFactory.java b/graphics/java/android/graphics/BitmapFactory.java index f60a7be..3c03eed 100644 --- a/graphics/java/android/graphics/BitmapFactory.java +++ b/graphics/java/android/graphics/BitmapFactory.java @@ -532,7 +532,7 @@ public class BitmapFactory { public static Bitmap decodeFileDescriptor(FileDescriptor fd, Rect outPadding, Options opts) { try { if (MemoryFile.isMemoryFile(fd)) { - int mappedlength = MemoryFile.getMappedSize(fd); + int mappedlength = MemoryFile.getSize(fd); MemoryFile file = new MemoryFile(fd, mappedlength, "r"); InputStream is = file.getInputStream(); Bitmap bm = decodeStream(is, outPadding, opts); |