summaryrefslogtreecommitdiffstats
path: root/media/jni/android_media_MtpDatabase.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move MTP Java classes to android.mtp.* package.Mike Lockwood2010-12-301-1243/+0
| | | | | Change-Id: Ib18bcaabf314241a95e517d0b93be5845d988e2c Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Check for null string before calling GetStringUTFChars() in MtpDatabase JNIMike Lockwood2010-12-111-1/+1
| | | | | | | BUG: 3274649 Change-Id: I5a3c8fcebf71ed453a121ca5a1345e39895d3bf3 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Improve argument checking in SendObjectInfoMike Lockwood2010-12-081-6/+9
| | | | | | | | 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>
* MTP: pass format back as default value in GetObjectPropDesc for format propertyMike Lockwood2010-12-071-0/+3
| | | | | Change-Id: Icc4071af16763a613c9fb31e87dc716f1516c7d8 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Implement MTP_DEVICE_PROPERTY_IMAGE_SIZE device property.Mike Lockwood2010-12-071-10/+15
| | | | | | | Return screen size as preferred maximum image size. Change-Id: I8dc4afb0e49fe45f6925a35aa443d3fc30211453 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Add support for multiple properties in GetObjectPropList commandMike Lockwood2010-12-021-12/+19
| | | | | Change-Id: Ib469a6c8141937aaa3e811345056195117abb4b2 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Use DateTime form in GetObjectPropDesc for date/time properties.Mike Lockwood2010-11-231-3/+6
| | | | | Change-Id: I5a3c0b07a9f2958b86947256606e6a824dbe93a6 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Fixes to allow file transfers > 4 gigabytesMike Lockwood2010-11-171-3/+4
| | | | | | | BUG: 3198248 Change-Id: I6f11c79a19d7bdd63718a7370939124b1262d221 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Fix time values returned via GetObjectPropValue and GetObjectPropListMike Lockwood2010-11-151-0/+14
| | | | | Change-Id: If9bb8b4b19ed6c8d57736e5d1af948fcc946af0e Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Partial implementation of the GetObjectPropList commandMike Lockwood2010-11-151-79/+265
| | | | | | | | | | 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>
* MTP: allow renaming directoriesMike Lockwood2010-10-121-3/+2
| | | | | Change-Id: I90849e7924f33a2f39dae400968f2eda64710beb Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Add support for renaming filesMike Lockwood2010-10-121-1/+5
| | | | | Change-Id: I679d674eb4dae88f60165ab2850cc20eec7ceee3 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Fix local reference leaks.Mike Lockwood2010-09-271-2/+19
| | | | | | | | We cannot rely on the VM automatically freeing local references for us in a timely manner in JNI code that is not called directly from Java. Change-Id: I6ee8a9a97cb557b9d3b2ace4e4d20467b436fb9c Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Implement extra object properties for audio, video and image filesMike Lockwood2010-09-271-2/+31
| | | | | | | | | Read-only support at this point. BUG: 2869730 Change-Id: I424ba760c8f5f4af394bd65276f19438fa6da6cb Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Include current property value in GetDevicePropDescMike Lockwood2010-09-251-2/+16
| | | | | Change-Id: I05125c79ad58b6f75734fcedcc8af9b689fa9ff3 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Reenable GetObjectPropValue and SetObjectPropValueMike Lockwood2010-09-231-6/+11
| | | | | | | | | 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>
* MTP: Implement support for getting/setting device propertiesMike Lockwood2010-09-021-15/+226
| | | | | | | | Added support for the "device friendly name" and "synchonization partner" properties, which are required by Microsoft. Change-Id: Ic0443333d75f7d98a2d902a790b9d505a56d4eef Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Send an Intent after an MTP session that resulted in media database ↵Mike Lockwood2010-08-311-0/+30
| | | | | | | modifications Change-Id: Ib2796e9155350c67769502935a73cf98d6ae9c08 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: work in progress on expanded property supportMike Lockwood2010-08-251-5/+91
| | | | | | | | GetObjectPropValue and SetObjectPropValue are disabled until I figure out why Windows doesn't like what I have done. Change-Id: I74e945ef3ea031f6d46f4ebaa8df815da0a5c3ed Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Check and clear exceptions after calling into Java in MtpDatabaseMike Lockwood2010-08-241-27/+61
| | | | | Change-Id: I805858c66fe57208c06aa624d16b72966555e005 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Push queries for supported formats and properties up to Java.Mike Lockwood2010-08-101-0/+91
| | | | | Change-Id: I4f117090340e3916afda3d194521a6092a672ddc Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Fix some typosMike Lockwood2010-08-091-1/+1
| | | | | Change-Id: Ib31708c3a925e3c0ab8eea6922ab09e02b740936 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Add support for syncing MTP playlistsMike Lockwood2010-08-031-0/+48
| | | | | | | | MTP playlists now correspond to playlists in the media provider (like those created by the Music app). Change-Id: I085cb3cff003037ad62f0e297fb0cfd3047cb3a2 Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Implement GetNumObjectsMike Lockwood2010-08-021-4/+19
| | | | | Change-Id: Iccc3a445f9a1eab7bb76eddd567c6a3a8f155b2b Signed-off-by: Mike Lockwood <lockwood@android.com>
* Clean up MtpDatabase API.Mike Lockwood2010-08-021-36/+11
| | | | | | | | Return MTP response codes instead of booleans for success or failure. Remove some unused code. Change-Id: I82ce80a4d7779233264e3caf139ebd0cece12f5c Signed-off-by: Mike Lockwood <lockwood@android.com>
* Exclude MTP implementation from simulator buildMike Lockwood2010-07-151-0/+7
| | | | | Change-Id: I93364c74c26ba6e2bf6b08f1bd82802b966c8dfb Signed-off-by: Mike Lockwood <lockwood@android.com>
* Integrate host to device file transfer with the media provider.Mike Lockwood2010-07-121-7/+25
| | | | | | | | | | | | | | | | | | | | | MTP file transfers happen in two stages. The SendObjectInfo command sends some information about the file and reserves an ObjectHandle for the new file. The file transfer is then performed using the SendObject command. To support this in the media provider, MtpDatabase.beginSendObject receives the information from SendObjectInfo and creates an row for it in the MTP objects table for the new file. After the file transfer has completed, then MtpDatabase.endSendObject is called. In endSendObject, we run the media scanner on the new file, which will add a row to the images, audio, video or audio playlist table. To avoid the media scanner creating a second row for the file in the MTP objects table, we pass the ObjectHandle created in beginSendObject to the media scanner, which then passes it to the media provider via the content values when it performs its insert. Change-Id: I1ebcc63d6bd4404b0d3a93c703a9d3c097381d3a Signed-off-by: Mike Lockwood <lockwood@android.com>
* Remove some scafolding and test code that is no longer worth maintaining.Mike Lockwood2010-07-091-13/+0
| | | | | Change-Id: I9ee62d2463d8df1246a84774e8ac7e674778279a Signed-off-by: Mike Lockwood <lockwood@android.com>
* MTP: Use media provider database to implement MTP device support.Mike Lockwood2010-07-081-0/+451
Uses a new "MTP objects" table in the media provider to support basic enumeration of the external storage file system. Support for accessing audio, video and image metadata in the existing media provider tables will be added in a later commit. The C++ MtpDatabase class is now abstract, to support a proxy subclass that calls through JNI to the Java MtpDatabase class in the media provider. Change-Id: I90f0db5f3acc5d35ae78c27a8507edff16d14305 Signed-off-by: Mike Lockwood <lockwood@android.com>