summaryrefslogtreecommitdiffstats
path: root/media/mtp/MtpProperty.cpp
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2010-08-09 14:49:28 -0400
committerMike Lockwood <lockwood@android.com>2010-08-09 14:49:28 -0400
commit2bb8c0e7c4e4093f4161ff5e98cef51c87193859 (patch)
tree0109f904c489ee6404d00b3e721b7772539a9d93 /media/mtp/MtpProperty.cpp
parenta1825afa98dcb8fe2e44750072eaa04f7638623f (diff)
downloadframeworks_av-2bb8c0e7c4e4093f4161ff5e98cef51c87193859.zip
frameworks_av-2bb8c0e7c4e4093f4161ff5e98cef51c87193859.tar.gz
frameworks_av-2bb8c0e7c4e4093f4161ff5e98cef51c87193859.tar.bz2
MTP: Fix reading and writing property descriptors
We were missing support for the group code, resulting in an off by 4 bytes problem. Change-Id: I4a640c67b8d36e1bd658b6185178a71966d4b0b6 Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'media/mtp/MtpProperty.cpp')
-rw-r--r--media/mtp/MtpProperty.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/media/mtp/MtpProperty.cpp b/media/mtp/MtpProperty.cpp
index d6beb8a..932ad6a 100644
--- a/media/mtp/MtpProperty.cpp
+++ b/media/mtp/MtpProperty.cpp
@@ -31,6 +31,7 @@ MtpProperty::MtpProperty()
mDefaultArrayValues(NULL),
mCurrentArrayLength(0),
mCurrentArrayValues(NULL),
+ mGroupCode(0),
mFormFlag(kFormNone),
mEnumLength(0),
mEnumValues(NULL)
@@ -52,6 +53,7 @@ MtpProperty::MtpProperty(MtpPropertyCode propCode,
mDefaultArrayValues(NULL),
mCurrentArrayLength(0),
mCurrentArrayValues(NULL),
+ mGroupCode(0),
mFormFlag(kFormNone),
mEnumLength(0),
mEnumValues(NULL)
@@ -142,6 +144,7 @@ void MtpProperty::read(MtpDataPacket& packet, bool deviceProp) {
if (deviceProp)
readValue(packet, mCurrentValue);
}
+ mGroupCode = packet.getUInt32();
mFormFlag = packet.getUInt8();
if (mFormFlag == kFormRange) {
@@ -178,6 +181,7 @@ void MtpProperty::write(MtpDataPacket& packet) {
default:
writeValue(packet, mDefaultValue);
}
+ packet.putUInt32(mGroupCode);
packet.putUInt8(mFormFlag);
if (mFormFlag == kFormRange) {
writeValue(packet, mMinimumValue);