MTP: Include current property value in GetDevicePropDesc

Change-Id: I05125c79ad58b6f75734fcedcc8af9b689fa9ff3
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/media/jni/android_media_MtpDatabase.cpp b/media/jni/android_media_MtpDatabase.cpp
index 227ee92..b5f4856 100644
--- a/media/jni/android_media_MtpDatabase.cpp
+++ b/media/jni/android_media_MtpDatabase.cpp
@@ -456,7 +456,6 @@
 
 MtpResponseCode MyMtpDatabase::getDevicePropertyValue(MtpDeviceProperty property,
                                             MtpDataPacket& packet) {
-
     int         type;
 
     if (!getDevicePropertyInfo(property, type))
@@ -782,10 +781,25 @@
     switch (property) {
         case MTP_DEVICE_PROPERTY_SYNCHRONIZATION_PARTNER:
         case MTP_DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME:
+        {
             // writeable string properties
             result = new MtpProperty(property, MTP_TYPE_STR, true);
-            // FIXME - set current value here!
+
+            // set current value
+            JNIEnv* env = AndroidRuntime::getJNIEnv();
+            jint ret = env->CallIntMethod(mDatabase, method_getDeviceProperty,
+                        (jint)property, mLongBuffer, mStringBuffer);
+            if (ret == MTP_RESPONSE_OK) {
+                jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
+                result->setCurrentValue(str);
+                env->ReleaseCharArrayElements(mStringBuffer, str, 0);
+            } else {
+                LOGE("unable to read device property, response: %04X", ret);
+            }
+
+            checkAndClearExceptionFromCallback(env, __FUNCTION__);
             break;
+        }
     }
 
     return result;