summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Daichi Hirono <hirono@google.com> 2016-07-07 10:57:47 +0900
committer Daichi Hirono <hirono@google.com> 2016-07-11 10:15:41 +0900
commitf1d69ee247e551210f5ee56908581c6e0aa10da8 (patch)
treea41bf5854f299b37f52c97f1eddf17d2902c1a63
parentae76412b9918ee6845b3a1c7910a354071e8f0fb (diff)
Add onTerminate runner to MtpServer.
The CL adds onTerminate runner to MtpServer constructor's arguments to know when MtpServer stops its thread. BUG=29971895 Change-Id: I685ad6bc663f76e04ae3837129cbe12805d2093c
-rw-r--r--media/java/android/mtp/MtpServer.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/media/java/android/mtp/MtpServer.java b/media/java/android/mtp/MtpServer.java
index 61fbfb902d0d..99f93e412b11 100644
--- a/media/java/android/mtp/MtpServer.java
+++ b/media/java/android/mtp/MtpServer.java
@@ -16,6 +16,8 @@
package android.mtp;
+import com.android.internal.util.Preconditions;
+
/**
* Java wrapper for MTP/PTP support as USB responder.
* {@hide}
@@ -24,13 +26,15 @@ public class MtpServer implements Runnable {
private long mNativeContext; // accessed by native methods
private final MtpDatabase mDatabase;
+ private final Runnable mOnTerminate;
static {
System.loadLibrary("media_jni");
}
- public MtpServer(MtpDatabase database, boolean usePtp) {
- mDatabase = database;
+ public MtpServer(MtpDatabase database, boolean usePtp, Runnable onTerminate) {
+ mDatabase = Preconditions.checkNotNull(database);
+ mOnTerminate = Preconditions.checkNotNull(onTerminate);
native_setup(database, usePtp);
database.setServer(this);
}
@@ -45,6 +49,7 @@ public class MtpServer implements Runnable {
native_run();
native_cleanup();
mDatabase.close();
+ mOnTerminate.run();
}
public void sendObjectAdded(int handle) {