MTP: Add support for PTP variant of GetDeviceInfo result.
Change-Id: I09f86fda768b7697665e401adb9516588859bf59
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/media/jni/android_mtp_MtpServer.cpp b/media/jni/android_mtp_MtpServer.cpp
index e36e6db..aaf85c3 100644
--- a/media/jni/android_mtp_MtpServer.cpp
+++ b/media/jni/android_mtp_MtpServer.cpp
@@ -68,13 +68,15 @@
class MtpThread : public Thread {
private:
MtpDatabase* mDatabase;
+ bool mPtp;
MtpServer* mServer;
MtpStorageList mStorageList;
int mFd;
public:
- MtpThread(MtpDatabase* database)
+ MtpThread(MtpDatabase* database, bool usePtp)
: mDatabase(database),
+ mPtp(usePtp),
mServer(NULL),
mFd(-1)
{
@@ -113,7 +115,7 @@
mFd = open("/dev/mtp_usb", O_RDWR);
if (mFd >= 0) {
- mServer = new MtpServer(mFd, mDatabase, AID_MEDIA_RW, 0664, 0775);
+ mServer = new MtpServer(mFd, mDatabase, mPtp, AID_MEDIA_RW, 0664, 0775);
for (size_t i = 0; i < mStorageList.size(); i++) {
mServer->addStorage(mStorageList[i]);
}
@@ -156,11 +158,11 @@
#endif // HAVE_ANDROID_OS
static void
-android_mtp_MtpServer_setup(JNIEnv *env, jobject thiz, jobject javaDatabase)
+android_mtp_MtpServer_setup(JNIEnv *env, jobject thiz, jobject javaDatabase, jboolean usePtp)
{
#ifdef HAVE_ANDROID_OS
// create the thread and assign it to the smart pointer
- sThread = new MtpThread(getMtpDatabase(env, javaDatabase));
+ sThread = new MtpThread(getMtpDatabase(env, javaDatabase), usePtp);
#endif
}
@@ -263,7 +265,7 @@
// ----------------------------------------------------------------------------
static JNINativeMethod gMethods[] = {
- {"native_setup", "(Landroid/mtp/MtpDatabase;)V",
+ {"native_setup", "(Landroid/mtp/MtpDatabase;Z)V",
(void *)android_mtp_MtpServer_setup},
{"native_start", "()V", (void *)android_mtp_MtpServer_start},
{"native_stop", "()V", (void *)android_mtp_MtpServer_stop},