summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2014-08-29 06:52:54 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-29 06:52:55 +0000
commitc62f2e1bb76d3e7ff9e4504fdaa86cfa2ca849a3 (patch)
tree61ab85879316b4abf193b98d3255d97d7d964754
parentf8a823b05a9db8b307817461b58bc0dda896241b (diff)
parent9a1507aa10577badabcbe00396613a967302e456 (diff)
downloadframeworks_base-c62f2e1bb76d3e7ff9e4504fdaa86cfa2ca849a3.zip
frameworks_base-c62f2e1bb76d3e7ff9e4504fdaa86cfa2ca849a3.tar.gz
frameworks_base-c62f2e1bb76d3e7ff9e4504fdaa86cfa2ca849a3.tar.bz2
Merge "FileBridge needs to keep strong reference to PFD." into lmp-dev
-rw-r--r--core/java/android/content/pm/PackageInstaller.java2
-rw-r--r--core/java/android/os/FileBridge.java6
2 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java
index c928a18..44e24b1 100644
--- a/core/java/android/content/pm/PackageInstaller.java
+++ b/core/java/android/content/pm/PackageInstaller.java
@@ -623,7 +623,7 @@ public class PackageInstaller {
try {
final ParcelFileDescriptor clientSocket = mSession.openWrite(name,
offsetBytes, lengthBytes);
- return new FileBridge.FileBridgeOutputStream(clientSocket.getFileDescriptor());
+ return new FileBridge.FileBridgeOutputStream(clientSocket);
} catch (RuntimeException e) {
ExceptionUtils.maybeUnwrapIOException(e);
throw e;
diff --git a/core/java/android/os/FileBridge.java b/core/java/android/os/FileBridge.java
index bf8d15c..3784225 100644
--- a/core/java/android/os/FileBridge.java
+++ b/core/java/android/os/FileBridge.java
@@ -131,11 +131,13 @@ public class FileBridge extends Thread {
}
public static class FileBridgeOutputStream extends OutputStream {
+ private final ParcelFileDescriptor mClientPfd;
private final FileDescriptor mClient;
private final byte[] mTemp = new byte[MSG_LENGTH];
- public FileBridgeOutputStream(FileDescriptor client) {
- mClient = client;
+ public FileBridgeOutputStream(ParcelFileDescriptor clientPfd) {
+ mClientPfd = clientPfd;
+ mClient = clientPfd.getFileDescriptor();
}
@Override