113 Commits

Author SHA1 Message Date
Mike Lockwood
467ca0de6d MTP: Add support for dynamically adding and removing storage units
BUG: 3402847

Change-Id: I7da266061d949abcb6bb11c6faaa47b5e4a2a977
2011-02-22 13:57:23 -08:00
Mike Lockwood
8c553b9003 MTP host: disable some test code
Change-Id: I2237ad88f73b03a2c324f17267c52cc42b8a0d5b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-15 14:55:51 -05:00
Mike Lockwood
321aa99762 MTP host: Use usb_device_bulk_transfer for synchronous transfers
Change-Id: Icf42ea0e5a848cee1565da49713ee9ad0db9f1a6
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-14 08:17:44 -05:00
Kenny Root
3d384f8edb Fix some memory leaks found in static analysis
Change-Id: Icd630009793c51acfaed45763ef50489ead40024
2011-02-02 14:07:10 -08:00
Mike Lockwood
4639532261 MTP: Use ro.product.manufacturer system property value for MTP manufacturer name
Previously it was hard coded to "Google, Inc."

BUG: 3405965

Change-Id: I5f962d474814c22e990c39b501c0f01da9e8dc6d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-31 17:11:24 -05:00
Mike Lockwood
1fce24b241 Add support for synchronous bulk USB transfers
Change-Id: Id5de49e4d728a702fa1583ecc24f83f36cc57d21
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-27 16:22:15 -08:00
Mike Lockwood
82cb6731a0 am bd65c065: am a13732e1: Merge "MTP: Fix month off by one error in date parsing and formatting code" into honeycomb
* commit 'bd65c065b2dcb54dde563a8a21c9f92da947c7dd':
  MTP: Fix month off by one error in date parsing and formatting code
2011-01-26 15:34:15 -08:00
Mike Lockwood
2107d23fc9 MTP: Fix month off by one error in date parsing and formatting code
BUG: 3379100

Change-Id: Ib386f0def9d611529ce0528b8159cef48df9cd85
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-26 15:11:48 -08:00
Mike Lockwood
47063a859a Merge "New APIs for MTP and PTP host support" 2011-01-22 15:59:28 -08:00
Mike Lockwood
8182e72479 New APIs for MTP and PTP host support
This replaces the previous ContentProvider based interface

Change-Id: I4cea2544854adb9fdcc04345e4d73d8ef05380f3
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-22 15:56:09 -08:00
Mike Lockwood
f26a586c86 Remove MTP related log spam
Change-Id: I9de1792cbeec07fa5ab42ff9a10813f0c3d30fc1
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-21 21:00:54 -08:00
Mike Lockwood
7a0bd17bce MTP: Fix problems with modification dates for folders and non-media files
Also removed an unnecessary parameter to MtpDatabase.endSendobject()

BUG: 3352142

Change-Id: I6fd812dcba4814956bc8bc1cbd6bd5c868197790
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-18 11:07:11 -08:00
Mike Lockwood
27480cd494 Remove support for obsolete PTP content provider
This will be replaced by a new PTP host API in an upcoming commit.

Change-Id: Ib914194e332b5c090cb8e34ed35bd691bc9f85d1
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-06 11:47:56 -05:00
Mike Lockwood
215b682b8a MTP: changes to use new usb_request support in libusbhost
Change-Id: Ic091eab166a66efcde0395dcebbbc513f2322fca
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-06 11:46:55 -05:00
Mike Lockwood
da03aaad78 Change libusbhost and libmtp from static to shared libraries
Change-Id: Iccc67db32400cdeb88aa33261c9e0cf73db992ca
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-29 09:12:15 -05:00
Mike Lockwood
bafca214ea MTP: check for replacing existing files via the database instead of the file system
Change-Id: I283dab48f24d2836e48fab8e49764a9cdf13de55
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-13 21:50:09 -08:00
Mike Lockwood
7f36b19b6b MTP: Add support for reserve storage setting to avoid low storage situations.
Set resource config_mtpReserveSpaceMegabytes to number of megabytes to reserve.
If MTP has dedicated storage this value should be zero, but if MTP is
sharing storage with the rest of the system, set this to a positive value
to ensure that MTP activity does not result in the storage being
too close to full.

BUG: 3250924

Change-Id: I881c87240da268bad1ea1b99ad03673ab85ffdbf
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-12 12:17:43 -08:00
Mike Lockwood
bfd1d72a1a MTP host: Handle receiving a response packet instead of data packet.
This will happen if the device needs to report an error rather than returning the data.

Change-Id: I477512b3676c2f0518a85a4135832ed4475fbc2d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-09 18:34:18 -08:00
Mike Lockwood
365e03e494 MTP: Improve argument checking in SendObjectInfo
In particular, make sure the parent is a folder and make sure file
does not already exist.

Change-Id: Ifa870faba3285f03a92025d9e82f93fed78a761c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-08 16:09:37 -08:00
Mike Lockwood
a194cc7d8b MTP: Support format argument in host GetObjectPropDesc command
Change-Id: Ic14313c0f95bea1d1d475cc6a001b256fccb91c8
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-07 18:53:04 -08:00
Mike Lockwood
bf1dbd1938 MTP: Read property code before calling isDeviceProperty in MtpProperty::read()
Change-Id: I0b1493f3af5d9caac08327f9ffba91ee255d3d55
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-07 17:16:20 -08:00
Mike Lockwood
e4880e421f MTP: Improve MtpProperty logging support
Change-Id: I46800b99763edcc5e994d912941f9f5e9b1c94d2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-07 17:13:12 -08:00
Mike Lockwood
5768f1089b MTP: Host support for GetObjectPropsSupported and GetObjectPropDesc
Change-Id: I6fd23587597fc68227dfb61118b097eda3e3e1d5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-07 10:58:56 -08:00
Mike Lockwood
4cb956cc58 MTP: Use correct return type for getSupportedObjectProperties
Change-Id: I6d5bd63fecaa3384dfa1b97dbc0d89ea5668981f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-07 10:51:20 -08:00
Mike Lockwood
87626b1d01 Revert "MTP: Remove static library build for linux host."
This reverts commit d46c683f0e13ad9341ba83453835f6658ae5ad15.

Change-Id: I7e56760c92bad1d66d4a1f2415328a4d2138de84
2010-12-07 10:45:22 -08:00
Mike Lockwood
7d7fb63071 MTP: Add support for multiple properties in GetObjectPropList command
Change-Id: Ib469a6c8141937aaa3e811345056195117abb4b2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-02 08:16:12 -05:00
Mike Lockwood
9dfc7de2cc MTP: Make sure buffer is big enough before reading the data packet
Fixes buffer overflow when transferring large playlists.

Change-Id: I1b7feaf9e56d849e5b6609f0f68a6aa5a3ae1ea8
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-30 12:19:41 -05:00
Mike Lockwood
e3634c3a80 MTP: Fix typo in MtpServer::doGetObjectPropList
Change-Id: Ia5fec45a238c49a6797a4ac55457ddb5d6521408
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-23 18:45:25 -05:00
Mike Lockwood
44e82ddaec MTP: Implement GetPartialObject command
Allows host to read partial contents of files on the device

Change-Id: I74927f7394224d674e1d150a4b72a51d9358459b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-23 18:45:01 -05:00
Mike Lockwood
5b19af05f2 MTP: Use DateTime form in GetObjectPropDesc for date/time properties.
Change-Id: I5a3c0b07a9f2958b86947256606e6a824dbe93a6
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-23 18:38:55 -05:00
Mike Lockwood
5a2755d0c9 Rename MtpCursor to PtpCursor
Change-Id: I8ce257641388b195f3e17995d323355b19355dc1
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-23 12:25:49 -05:00
Mike Lockwood
d46c683f0e MTP: Remove static library build for linux host.
Change-Id: Iefdd386b91dba0579ca952aca40b7114535e1d4e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-23 10:30:31 -05:00
Mike Lockwood
929b3da2fc PTP: Fix permissions problems with files imported via PTP
Change-Id: I630a89c67e5b3d6d0c29e6c257f84e1909fa4de2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-19 13:55:22 -05:00
Mike Lockwood
954c267725 PTP: Improve performance and reliability of file importing
Now the file copy is done completely within the media process
rather than pushing data to the client via ContProvider.openFile().

File system writes are now interleaved with USB reads, which allows us
to copy the data faster and prevents the camera from timing out during transfer.

File is automatically inserted in the media provider after a successful import
and a Uri is returned to the client.

BUG: 2994234

Change-Id: Ie75c63da76f623343d3d966c6a707aa1ae871972
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-19 11:30:10 -05:00
Mike Lockwood
413577d860 MTP: Fixes to allow file transfers > 4 gigabytes
BUG: 3198248

Change-Id: I6f11c79a19d7bdd63718a7370939124b1262d221
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-17 16:43:24 -05:00
Mike Lockwood
0b58c19840 MTP: Set correct format for abstract audio playlists
Fixes a bad interaction with the media scanner that could result in
playlists getting duplicated or deleted after rebooting.

BUG: 3175649

Change-Id: I970234e86b24ac17d069aca085683d988abc7881
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-17 15:42:09 -05:00
Mike Lockwood
e2ad6ec171 MTP: Partial implementation of the GetObjectPropList command
In this initial implementation we only support fetching one property at a time.
Support depth = 0 (single object) or depth = 1 (all objects in a directory)
Reimplemented GetObjectPropValue on top of GetObjectPropList, since the former
is a special case of the latter.

Change-Id: Ia76ee61741d6ee3902b5c5d9fc094cf86dfaf650
Signed-off-by: Mike Lockwood <lockwood@google.com>
2010-11-15 11:46:51 -05:00
Mike Lockwood
a108b2fdc1 MTP: Add missing call to closedir() in recursive delete code
BUG: 3185660

Change-Id: I3744d2cb193829d20a689af2aea50e8516779631
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-11 11:22:32 -05:00
Mike Lockwood
83cff86dcd MTP: Don't dump data packets twice in debug output.
Change-Id: I49b383d39aea101a58ae6902952ba91b44e7dc3b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-10 12:49:36 -05:00
Mike Lockwood
4a65e281fa Add support for range and enum forms in MTP ObjectPropDescs
Change-Id: I70809401e37a1cfb82f5dbf86947be7d9500ccf1
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-10 12:48:39 -05:00
Mike Lockwood
db7743128b MTP: Include size of 12 byte header in packet size for GetObject data packet
Fixes file transfer from device to host with libmtp.

Change-Id: Ifb304c1f106e94b2710ee5c11816b83cf5f25478
Signed-off-by: Mike Lockwood <lockwood@google.com>
2010-10-11 17:33:52 -04:00
Mike Lockwood
e11eba3c8a MtpCursor: Fix long to int truncation bug
BUG: 2978335

Change-Id: I2491a2ce3b65afa272540090cabace52067b8534
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-28 09:14:50 -04:00
Mike Lockwood
ac745c1c6b MTP: Fix some warnings
Change-Id: I1302cacd1df885c770332cecaaea9f7c8ab97b88
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-25 21:38:13 -04:00
Mike Lockwood
a2a2128423 MTP: Include current property value in GetDevicePropDesc
Change-Id: I05125c79ad58b6f75734fcedcc8af9b689fa9ff3
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-25 21:21:05 -04:00
Mike Lockwood
564ff84321 MTP: Fix reading and writing device property descriptors
Change-Id: I8d9653ceedfed688addd6c4194c097d7090c3468
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-25 08:37:59 -04:00
Mike Lockwood
d3bfecb0c9 MTP: Reenable GetObjectPropValue and SetObjectPropValue
Windows no longer chokes now that we implement the minimum set of properties

BUG: 2869730

Change-Id: Ie8bd9107610b9b38f060ad8a2f05334a3b4aff9b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-23 23:04:28 -04:00
Mike Lockwood
9f67924862 MTP: Minor debug output cleanup
Change-Id: I1065179aa64f43c7d8067ccda249319a016840ab
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-23 22:32:05 -04:00
Mike Lockwood
ba7655432c MTP: Fix problems with signed ints in MtpCursor.cpp
BUG: 2978335

Change-Id: Ie9f3dea3b88b00a555e1ca3232f196e83ee7a6da
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-23 22:08:16 -04:00
Mike Lockwood
88fc2b85cb MTP: Fix typo that resulted in the MTP provider returning thumb format for object format
BUG: 2994234

Change-Id: I99574043d3e0b310b9b7246f89b5b4a1e14fb5a6
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-20 18:29:59 -04:00
Mike Lockwood
ccb6e96194 MTP: Delete all files and subdirectories when deleting directories.
Children are now recursively deleted from the database and filesystem.

Change-Id: Ifd9b48cbc34b84b8f5073f2493dfe9735fae5492
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-14 10:37:27 -04:00