diff options
author | 2016-12-22 12:00:24 -0800 | |
---|---|---|
committer | 2016-12-22 12:00:24 -0800 | |
commit | f271c6d266f37d600b65ada8e4e4a32d5044a49a (patch) | |
tree | 4869bc6ef8a2d8030de2bd74b84399de86a367a8 | |
parent | dfd504924642c23ac105c2f75a1531eaceda22bc (diff) | |
parent | b53d98413261c22e26d5bde635ac52012b78b8cf (diff) |
resolve merge conflicts of b53d984 to master
Change-Id: I3fe63a5c0193c720b8ec4ca53834096de8433f26
-rw-r--r-- | media/java/android/mtp/MtpServer.java | 25 | ||||
-rw-r--r-- | media/jni/android_mtp_MtpServer.cpp | 30 |
2 files changed, 49 insertions, 6 deletions
diff --git a/media/java/android/mtp/MtpServer.java b/media/java/android/mtp/MtpServer.java index 9801949916bb..f2b110680af1 100644 --- a/media/java/android/mtp/MtpServer.java +++ b/media/java/android/mtp/MtpServer.java @@ -32,10 +32,23 @@ public class MtpServer implements Runnable { System.loadLibrary("media_jni"); } - public MtpServer(MtpDatabase database, boolean usePtp, Runnable onTerminate) { + public MtpServer( + MtpDatabase database, + boolean usePtp, + Runnable onTerminate, + String deviceInfoManufacturer, + String deviceInfoModel, + String deviceInfoDeviceVersion, + String deviceInfoSerialNumber) { mDatabase = Preconditions.checkNotNull(database); mOnTerminate = Preconditions.checkNotNull(onTerminate); - native_setup(database, usePtp); + native_setup( + database, + usePtp, + deviceInfoManufacturer, + deviceInfoModel, + deviceInfoDeviceVersion, + deviceInfoSerialNumber); database.setServer(this); } @@ -77,7 +90,13 @@ public class MtpServer implements Runnable { } public static native final void native_configure(boolean usePtp); - private native final void native_setup(MtpDatabase database, boolean usePtp); + private native final void native_setup( + MtpDatabase database, + boolean usePtp, + String deviceInfoManufacturer, + String deviceInfoModel, + String deviceInfoDeviceVersion, + String deviceInfoSerialNumber); private native final void native_run(); private native final void native_cleanup(); private native final void native_send_object_added(int handle); diff --git a/media/jni/android_mtp_MtpServer.cpp b/media/jni/android_mtp_MtpServer.cpp index afd3082ec51b..c325f4ef078b 100644 --- a/media/jni/android_mtp_MtpServer.cpp +++ b/media/jni/android_mtp_MtpServer.cpp @@ -61,10 +61,34 @@ static void android_mtp_configure(JNIEnv *, jobject, jboolean usePtp) { } static void -android_mtp_MtpServer_setup(JNIEnv *env, jobject thiz, jobject javaDatabase, jboolean usePtp) +android_mtp_MtpServer_setup(JNIEnv *env, jobject thiz, jobject javaDatabase, jboolean usePtp, + jstring deviceInfoManufacturer, + jstring deviceInfoModel, + jstring deviceInfoDeviceVersion, + jstring deviceInfoSerialNumber) { + const char *deviceInfoManufacturerStr = env->GetStringUTFChars(deviceInfoManufacturer, NULL); + const char *deviceInfoModelStr = env->GetStringUTFChars(deviceInfoModel, NULL); + const char *deviceInfoDeviceVersionStr = env->GetStringUTFChars(deviceInfoDeviceVersion, NULL); + const char *deviceInfoSerialNumberStr = env->GetStringUTFChars(deviceInfoSerialNumber, NULL); MtpServer* server = new MtpServer(getMtpDatabase(env, javaDatabase), - usePtp, AID_MEDIA_RW, 0664, 0775); + usePtp, AID_MEDIA_RW, 0664, 0775, + MtpString((deviceInfoManufacturerStr != NULL) ? deviceInfoManufacturerStr : ""), + MtpString((deviceInfoModelStr != NULL) ? deviceInfoModelStr : ""), + MtpString((deviceInfoDeviceVersionStr != NULL) ? deviceInfoDeviceVersionStr : ""), + MtpString((deviceInfoSerialNumberStr != NULL) ? deviceInfoSerialNumberStr : "")); + if (deviceInfoManufacturerStr != NULL) { + env->ReleaseStringUTFChars(deviceInfoManufacturer, deviceInfoManufacturerStr); + } + if (deviceInfoModelStr != NULL) { + env->ReleaseStringUTFChars(deviceInfoModel, deviceInfoModelStr); + } + if (deviceInfoDeviceVersionStr != NULL) { + env->ReleaseStringUTFChars(deviceInfoDeviceVersion, deviceInfoDeviceVersionStr); + } + if (deviceInfoSerialNumberStr != NULL) { + env->ReleaseStringUTFChars(deviceInfoSerialNumber, deviceInfoSerialNumberStr); + } env->SetLongField(thiz, field_MtpServer_nativeContext, (jlong)server); } @@ -180,7 +204,7 @@ android_mtp_MtpServer_remove_storage(JNIEnv *env, jobject thiz, jint storageId) static const JNINativeMethod gMethods[] = { {"native_configure", "(Z)V", (void *)android_mtp_configure}, - {"native_setup", "(Landroid/mtp/MtpDatabase;Z)V", + {"native_setup", "(Landroid/mtp/MtpDatabase;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", (void *)android_mtp_MtpServer_setup}, {"native_run", "()V", (void *)android_mtp_MtpServer_run}, {"native_cleanup", "()V", (void *)android_mtp_MtpServer_cleanup}, |