diff options
author | Mike Lockwood <lockwood@google.com> | 2014-03-07 13:29:59 -0800 |
---|---|---|
committer | Mike Lockwood <lockwood@google.com> | 2014-03-11 15:06:39 -0700 |
commit | 0fa848d780cf990a2860637f40432d28594c85a3 (patch) | |
tree | f2a205d5d14cffd5b164fb8cedc65d6dad59a915 /media/mtp | |
parent | 3a06522fd0e74934acb4bacaf1e90209bc7e9aa8 (diff) | |
download | frameworks_av-0fa848d780cf990a2860637f40432d28594c85a3.zip frameworks_av-0fa848d780cf990a2860637f40432d28594c85a3.tar.gz frameworks_av-0fa848d780cf990a2860637f40432d28594c85a3.tar.bz2 |
MTP: Add support for device property changed events
Also fixed bug in MtpProperty::write() for device properties
Bug: 7342482
Change-Id: If0099095d101409d131564e55b1939895c69c202
Diffstat (limited to 'media/mtp')
-rw-r--r-- | media/mtp/MtpProperty.cpp | 4 | ||||
-rw-r--r-- | media/mtp/MtpServer.cpp | 6 | ||||
-rw-r--r-- | media/mtp/MtpServer.h | 1 |
3 files changed, 9 insertions, 2 deletions
diff --git a/media/mtp/MtpProperty.cpp b/media/mtp/MtpProperty.cpp index 375ed9a..3838ce8 100644 --- a/media/mtp/MtpProperty.cpp +++ b/media/mtp/MtpProperty.cpp @@ -190,9 +190,9 @@ void MtpProperty::write(MtpDataPacket& packet) { if (deviceProp) writeValue(packet, mCurrentValue); } - packet.putUInt32(mGroupCode); if (!deviceProp) - packet.putUInt8(mFormFlag); + packet.putUInt32(mGroupCode); + packet.putUInt8(mFormFlag); if (mFormFlag == kFormRange) { writeValue(packet, mMinimumValue); writeValue(packet, mMaximumValue); diff --git a/media/mtp/MtpServer.cpp b/media/mtp/MtpServer.cpp index df87db4..dadfb54 100644 --- a/media/mtp/MtpServer.cpp +++ b/media/mtp/MtpServer.cpp @@ -93,6 +93,7 @@ static const MtpEventCode kSupportedEventCodes[] = { MTP_EVENT_OBJECT_REMOVED, MTP_EVENT_STORE_ADDED, MTP_EVENT_STORE_REMOVED, + MTP_EVENT_DEVICE_PROP_CHANGED, }; MtpServer::MtpServer(int fd, MtpDatabase* database, bool ptp, @@ -261,6 +262,11 @@ void MtpServer::sendStoreRemoved(MtpStorageID id) { sendEvent(MTP_EVENT_STORE_REMOVED, id); } +void MtpServer::sendDevicePropertyChanged(MtpDeviceProperty property) { + ALOGV("sendDevicePropertyChanged %d\n", property); + sendEvent(MTP_EVENT_DEVICE_PROP_CHANGED, property); +} + void MtpServer::sendEvent(MtpEventCode code, uint32_t param1) { if (mSessionOpen) { mEvent.setEventCode(code); diff --git a/media/mtp/MtpServer.h b/media/mtp/MtpServer.h index dfa8258..b3a11e0 100644 --- a/media/mtp/MtpServer.h +++ b/media/mtp/MtpServer.h @@ -104,6 +104,7 @@ public: void sendObjectAdded(MtpObjectHandle handle); void sendObjectRemoved(MtpObjectHandle handle); + void sendDevicePropertyChanged(MtpDeviceProperty property); private: void sendStoreAdded(MtpStorageID id); |