diff options
author | 2016-07-07 10:57:47 +0900 | |
---|---|---|
committer | 2016-07-11 10:15:41 +0900 | |
commit | f1d69ee247e551210f5ee56908581c6e0aa10da8 (patch) | |
tree | a41bf5854f299b37f52c97f1eddf17d2902c1a63 | |
parent | ae76412b9918ee6845b3a1c7910a354071e8f0fb (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.java | 9 |
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) { |