diff options
author | Amith Yamasani <yamasani@google.com> | 2013-09-23 11:16:28 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2013-09-23 13:35:46 -0700 |
commit | c2be0d61830dd867f3092923e149e0cc251cdfc5 (patch) | |
tree | 75cde786c895c2d55bc1a53fd68667eeb24a4810 /core/java/android/app/ApplicationThreadNative.java | |
parent | 562ce888af21fc18d1610545ff6373ee2ecbbb13 (diff) | |
download | frameworks_base-c2be0d61830dd867f3092923e149e0cc251cdfc5.zip frameworks_base-c2be0d61830dd867f3092923e149e0cc251cdfc5.tar.gz frameworks_base-c2be0d61830dd867f3092923e149e0cc251cdfc5.tar.bz2 |
Unmarshall PFDs properly when hand-crafting interface stubs
ParcelFileDescriptors now carry an optional socket fd to communicate
close events. So, make sure that the correct creator is called when
reconstructing parceled PFDs.
Bug: 10759966
Change-Id: Ic6b9ffb8cb7af5f3a12440def595f74682231866
Diffstat (limited to 'core/java/android/app/ApplicationThreadNative.java')
-rw-r--r-- | core/java/android/app/ApplicationThreadNative.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/core/java/android/app/ApplicationThreadNative.java b/core/java/android/app/ApplicationThreadNative.java index 876bf78..e40a04b 100644 --- a/core/java/android/app/ApplicationThreadNative.java +++ b/core/java/android/app/ApplicationThreadNative.java @@ -143,7 +143,7 @@ public abstract class ApplicationThreadNative extends Binder boolean isForward = data.readInt() != 0; String profileName = data.readString(); ParcelFileDescriptor profileFd = data.readInt() != 0 - ? data.readFileDescriptor() : null; + ? ParcelFileDescriptor.CREATOR.createFromParcel(data) : null; boolean autoStopProfiler = data.readInt() != 0; scheduleLaunchActivity(intent, b, ident, info, curConfig, compatInfo, procState, state, ri, pi, notResumed, isForward, profileName, profileFd, autoStopProfiler); @@ -267,7 +267,7 @@ public abstract class ApplicationThreadNative extends Binder ? new ComponentName(data) : null; String profileName = data.readString(); ParcelFileDescriptor profileFd = data.readInt() != 0 - ? data.readFileDescriptor() : null; + ? ParcelFileDescriptor.CREATOR.createFromParcel(data) : null; boolean autoStopProfiler = data.readInt() != 0; Bundle testArgs = data.readBundle(); IBinder binder = data.readStrongBinder(); @@ -418,7 +418,7 @@ public abstract class ApplicationThreadNative extends Binder int profileType = data.readInt(); String path = data.readString(); ParcelFileDescriptor fd = data.readInt() != 0 - ? data.readFileDescriptor() : null; + ? ParcelFileDescriptor.CREATOR.createFromParcel(data) : null; profilerControl(start, path, fd, profileType); return true; } @@ -473,7 +473,7 @@ public abstract class ApplicationThreadNative extends Binder boolean managed = data.readInt() != 0; String path = data.readString(); ParcelFileDescriptor fd = data.readInt() != 0 - ? data.readFileDescriptor() : null; + ? ParcelFileDescriptor.CREATOR.createFromParcel(data) : null; dumpHeap(managed, path, fd); return true; } |