From: Daichi Hirono Date: Thu, 7 Jul 2016 01:57:47 +0000 (+0900) Subject: Add onTerminate runner to MtpServer. X-Git-Tag: android-x86-8.1-r1~13601^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=f1d69ee247e551210f5ee56908581c6e0aa10da8;p=android-x86%2Fframeworks-base.git 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 --- 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) {