summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorSandeep Siddhartha <sansid@google.com>2014-07-25 18:37:29 -0700
committerSandeep Siddhartha <sansid@google.com>2014-07-28 11:10:32 -0700
commit39c12fab49075b715c253c68c84b5c10c3150197 (patch)
treebcb5cff2b35c50575cb8e4b60ea35e8a635b16e7 /core/jni
parente0b8c378b7b4881396346116a9c1d633d1a4eb9f (diff)
downloadframeworks_base-39c12fab49075b715c253c68c84b5c10c3150197.zip
frameworks_base-39c12fab49075b715c253c68c84b5c10c3150197.tar.gz
frameworks_base-39c12fab49075b715c253c68c84b5c10c3150197.tar.bz2
Use blob (shared memory) for large data in sound model/recognition event/config
Also add a missing null check in writeBlob Bug: 16516353 Change-Id: Ie702f8daae541cab7c2cee6e13d49e7fc84c84e1
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android_os_Parcel.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/jni/android_os_Parcel.cpp b/core/jni/android_os_Parcel.cpp
index 3ba481e..44863cc 100644
--- a/core/jni/android_os_Parcel.cpp
+++ b/core/jni/android_os_Parcel.cpp
@@ -194,6 +194,14 @@ static void android_os_Parcel_writeBlob(JNIEnv* env, jclass clazz, jlong nativeP
return;
}
+ if (data == NULL) {
+ const status_t err = parcel->writeInt32(-1);
+ if (err != NO_ERROR) {
+ signalExceptionForError(env, clazz, err);
+ }
+ return;
+ }
+
const status_t err = parcel->writeInt32(length);
if (err != NO_ERROR) {
signalExceptionForError(env, clazz, err);