59 Commits

Author SHA1 Message Date
Jerry Zhang
13bb2f4dda Add support for MTP perceived device type property.
Property value is based on the particular device.
This allows some hosts (windows) to apply a device
specific icon in file explorer.

Test: Connect device to windows, verify new icon
Bug: 25360563
Change-Id: I9d3468ca8c01a6f0d42ad543aef11ed265b6c825
2017-01-19 11:26:35 -08:00
Insun Kang
b3f8a968e2 Merge "ExifInterface: Fix a bug to return only a JPEG-compressed thumbnail" into nyc-dev
am: 801d416

* commit '801d4161dd9e872bec73d855d21d030ba39a8b91':
  ExifInterface: Fix a bug to return only a JPEG-compressed thumbnail

Change-Id: I4ab59b2b7ced0cf9449fdc780692cfcb707d8df4
2016-04-20 21:11:41 +00:00
Insun Kang
82c2ce1d16 ExifInterface: Fix a bug to return only a JPEG-compressed thumbnail
Bug: 26923978
Change-Id: I929802ae7ff878a80a43058d3c6fa922c706edf6
2016-04-19 17:56:10 +09:00
Jaesung Chung
2129b9cc17 Merge "ExifInterface: return only a JPEG-compressed thumbnail of RAW images" into nyc-dev
am: 02f9e23

* commit '02f9e23525bd3ae97528041bc0eaf25d43d8fc53':
  ExifInterface: return only a JPEG-compressed thumbnail of RAW images

Change-Id: If826f5f7612e06d94c0cf17505bf468851d96faa
2016-04-15 00:29:09 +00:00
Jaesung Chung
742e89f67d ExifInterface: return only a JPEG-compressed thumbnail of RAW images
Bug: 26923978
Change-Id: I120723c9e28a24d6fb3b7034892e0196484ee5e4
2016-04-14 01:54:45 +09:00
Jaesung Chung
288d70f79b Merge "Fix build" into nyc-dev
am: 5905bf7

* commit '5905bf738c175edfc63bf2e5ee28a43d83977e2d':
  Fix build

Change-Id: Icabf911c0eb4a96e88032312fd6fb6785b043932
2016-04-06 12:55:34 +00:00
Jaesung Chung
fd3446e0aa Fix build
Change-Id: I38aa2f70fef3cb5b4a6fe42a3e4aa8e0a16e6fe0
2016-04-06 21:44:13 +09:00
Marco Nelissen
7a83ee9a32 Merge "Fix MTP_TYPE_UINT128 data conversion issue" am: ba23e45
am: 287dfa1

* commit '287dfa10cd6d5c6eb7cb39e20e1b6532c320927c':
  Fix MTP_TYPE_UINT128 data conversion issue

Change-Id: I72aa6c2bcd009a2e0607832c44dc4b96c5da6b1f
2016-04-05 18:11:26 +00:00
Wanwu Peng
8937f1aa8b Fix MTP_TYPE_UINT128 data conversion issue
If type is MTP_TYPE_UINT128, use MtpDataPacket.putUInt128()
not MtpDataPacket.putInt128() to write data to the packet.

Change-Id: Icb9994e24ac216f3bb07d0a2b3cd7ccf3f8c6f3f
2016-03-30 16:32:11 +02:00
Daichi Hirono
486ad2e73c Fix argument type in MtpDatabase#getObjectPropertyValue.
In MTP code, we use jint for ID (e.g. object handle) and code (property
code). But getObjectPropertyValue takes jlong and it causes missing
property values in Java code. Previously we passed the long value to
Map<Integer, MtpPropertyGroup>#get(Integer) and the compiler somehow
accepted the code. However it actually takes Long at runtime, so the
properties are never found.

BUG=26437284
Change-Id: I79defd325ea5d20c4dce84d891d984e24abcacc5
2016-03-01 16:49:08 +09:00
Jaesung Chung
8409c0691f Enable reading a thumbnail from RAW image files in MtpDatabase
Also introduce new supported RAW image file formats, PEF and SRW.

RAW image file formats are not defined in PTP 1.2 specification except
for DNG. They are mostly built on top of TIFF or TIFF/EP. (Fuji's RAF
is the exception).

In this CL, image file formats are classified newly as below:

DNG: dng
TIFF: cr2, nrw, arw, rw2, orf, pef, srw
TIFF/EP: nef
Unknown Image Formats(FORMAT_DEFINED): wbmap, webp, raf

I referred to the following documents for defining MTP formats of RAW
images:

* http://www.rags-int-inc.com/PhotoTechStuff/RawStandards/RawSummary.html
* https://en.wikipedia.org/wiki/Raw_image_format

Bug: 26552863, Bug: 26626825
Change-Id: Ia218f6320c4c1ff051a23ca0060ceac46134b0d7
2016-01-27 18:40:36 +09:00
Daniel Micay
76f6a86de2 constify JNINativeMethod function pointer tables
Change-Id: I4036c924958221cbc644724f8eb01c5de3cd7954
2015-09-22 17:10:35 -04:00
Mike Lockwood
2d1e078ac4 am 5ac22aa6: am 2b144a16: Merge "MTP: Fix partial implementation of 5 new audio specific properties" into lmp-mr1-dev
* commit '5ac22aa60f773917981f42e64fbc28615871fd3e':
  MTP: Fix partial implementation of 5 new audio specific properties
2015-01-26 19:10:44 +00:00
Mike Lockwood
7182774810 MTP: Fix partial implementation of 5 new audio specific properties
In change Ic5b3fb75309893caae1a4f4b56068a543847f1f7, we added partial
support for the MTP properties:

MTP_PROPERTY_AUDIO_WAVE_CODE,
MTP_PROPERTY_BITRATE_TYPE
MTP_PROPERTY_AUDIO_BITRATE
MTP_PROPERTY_NUMBER_OF_CHANNELS
MTP_PROPERTY_SAMPLE_RATE

However we were not returning any values for these properties in the result
of the MTP GetObjectPropList command. Strangely, this triggers a nasty bug
in Windows 7 that results in data loss.  When copying a directory containing
several MP3 files from one location on the device to another, Windows will
copy only some of the files to the new location, but delete all of the originals.
Finishing the implementation of these new object properties for some unknown
reason stops this bad behavior in Windows 7.

Bug: 19018427
Change-Id: I5fd3b91a89b31827d3100686445cef6795fe0f3f
2015-01-23 10:58:38 -08:00
chh
d7572b84ef am 3ec380d3: am fc545733: Merge "Remove unused variables and functions, don\'t warn about unused parameters"
* commit '3ec380d365cbe5fac23ff19897512cf492a7a8a4':
  Remove unused variables and functions, don't warn about unused parameters
2014-11-25 19:04:05 +00:00
Bernhard Rosenkränzer
4048a4bcb1 Remove unused variables and functions, don't warn about unused parameters
Remove unused variables and static functions clang complains about,
disable warnings about unused parameters (needed for clang and for gcc
with -Wextra enabled)

Change-Id: I76a22cd0158b3c7375c54e3d4d15bc1ac448591e
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-11-23 22:24:32 +01:00
Dan Albert
582bdf9a59 am d8c169fe: am 0c437fd3: Merge "Add appropriate casts for char16_t."
* commit 'd8c169fedf883491e46b354484909694fd52cfaf':
  Add appropriate casts for char16_t.
2014-11-20 23:00:56 +00:00
Dan Albert
6698749dd4 Add appropriate casts for char16_t.
C++11 defines a real char16_t, which is not implicitly convertible to
uint16_t (and by extension jchar). Add casts as needed.

Bug: 18300613
Change-Id: I00752002ef2e938bdb57f70947e8fd53ec103293
2014-11-20 11:47:40 -08:00
Mike Lockwood
b8cb45fddf am 01816640: am eb205b88: Merge "MTP: Update JNI for new packet getters" into lmp-mr1-dev
* commit '0181664081db2149aa465332c33c5cb413a4348c':
  MTP: Update JNI for new packet getters
2014-11-13 18:01:55 +00:00
Mike Lockwood
9c803fa526 MTP: Update JNI for new packet getters
Bug:18113092
Change-Id: I5d7473af1b57235fbc078c297a309e4a301c9fbd
2014-11-13 09:40:42 -08:00
Andreas Gampe
cba06c2272 resolved conflicts for merge of 6957369d to lmp-mr1-dev-plus-aosp
Change-Id: Ie3bd0e24c69c0c7ae500b8eb4a1198650e993a19
2014-11-10 19:41:52 -08:00
Andreas Gampe
5a15d0d31b Frameworks/base: Wall Werror in media/jni
Turn on -Wall -Werror in media/jni. Fix warnings.

Change-Id: I9da54ad379d8172ee535b52ee2b0637a2533f4e3
2014-11-10 18:19:40 -08:00
Mike Lockwood
63ffd78aaa MtpDatabase: Increase size of string buffer in JNI code
Fixes problems handling files that have full path length > 255 characters

Bug: 17383223
Change-Id: I2a1ebedee8dd86b3060f14c2d1af636fc9bc95cb
2014-10-03 17:54:18 +00:00
Mike Lockwood
9dc96cf0fc am a0183b02: am 8868d129: am 1c725866: Merge "MtpDatabase JNI: Fixed incorrect method name in ALOGE."
* commit 'a0183b02e4c6f53587519b445a546192b4a20146':
  MtpDatabase JNI: Fixed incorrect method name in ALOGE.
2014-06-02 18:32:26 +00:00
Mike Lockwood
307a37c2af am 1ac54ec6: am 750e78bb: am 27eb205e: Merge "MtpDatabase JNI: Fixed a memory-leak in getObjectPropertyValue()."
* commit '1ac54ec69bfcda2638b05c7daa4300ec5749e7b8':
  MtpDatabase JNI: Fixed a memory-leak in getObjectPropertyValue().
2014-06-02 18:32:20 +00:00
Mike Lockwood
a0183b02e4 am 8868d129: am 1c725866: Merge "MtpDatabase JNI: Fixed incorrect method name in ALOGE."
* commit '8868d1290afd96997fef671f4a7a4c7bbf94fa1a':
  MtpDatabase JNI: Fixed incorrect method name in ALOGE.
2014-06-02 18:28:51 +00:00
Mike Lockwood
1ac54ec69b am 750e78bb: am 27eb205e: Merge "MtpDatabase JNI: Fixed a memory-leak in getObjectPropertyValue()."
* commit '750e78bb7626e2e0d5c8feed4a6e4fbe7fe9b5da':
  MtpDatabase JNI: Fixed a memory-leak in getObjectPropertyValue().
2014-06-02 18:28:42 +00:00
Mike Lockwood
8868d1290a am 1c725866: Merge "MtpDatabase JNI: Fixed incorrect method name in ALOGE."
* commit '1c725866da02c3e1f62fb416ea3450caed406f2a':
  MtpDatabase JNI: Fixed incorrect method name in ALOGE.
2014-06-02 18:25:35 +00:00
Mike Lockwood
750e78bb76 am 27eb205e: Merge "MtpDatabase JNI: Fixed a memory-leak in getObjectPropertyValue()."
* commit '27eb205e21e7715764084085f382d690e0406c63':
  MtpDatabase JNI: Fixed a memory-leak in getObjectPropertyValue().
2014-06-02 18:25:28 +00:00
Martin Blumenstingl
986b46d179 MtpDatabase JNI: Fixed incorrect method name in ALOGE.
Change-Id: I46688cf79f1e7554b28162df2347c4dcb571b8a9
2014-05-31 16:17:11 +02:00
Martin Blumenstingl
17a24c58bb MtpDatabase JNI: Fixed a memory-leak in getObjectPropertyValue().
The jstring "stringValue" was not never freed.
In the case where "str" was NULL the whole cleanup part (see "goto out")
was even skipped.
This patch makes getObjectPropertyValue() behave like
getObjectPropertyList().

Change-Id: I5a7ec3611036f5253a054b00064999bcd1d1c29e
2014-05-31 16:17:11 +02:00
Bill Yi
293513a59d Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD 2014-04-29 16:07:29 -07:00
Mike Lockwood
3fafb4ebf2 am f82c83a8: am eaabdce0: am ca1f8f6d: am c4367721: MTP: Fix getThumbnail
* commit 'f82c83a8debb468027921e4b479bf80fe7f04ee1':
  MTP: Fix getThumbnail
2014-04-21 16:47:41 +00:00
Mike Lockwood
f82c83a8de am eaabdce0: am ca1f8f6d: am c4367721: MTP: Fix getThumbnail
* commit 'eaabdce0ad556a91ccf731d042edfd9c5f249f5e':
  MTP: Fix getThumbnail
2014-04-21 16:44:49 +00:00
Mike Lockwood
eaabdce0ad am ca1f8f6d: am c4367721: MTP: Fix getThumbnail
* commit 'ca1f8f6d14a144dde64112cd471df5e9539ad521':
  MTP: Fix getThumbnail
2014-04-21 16:40:18 +00:00
Mike Lockwood
c436772120 MTP: Fix getThumbnail
The thumbnail size was not being passed to the MTP stack so getThumbnail
was returning zero length data.

Bug: 13747419

Change-Id: I309d35b5c46ab5f631c0dcb5981f7896bb5a2ed5
2014-04-21 08:54:45 -07:00
Mark Salyzyn
0046b16ec7 am 959bce3e: am 4e3abafc: am 5daf51c0: Merge "jni: 64-bit compile issue"
* commit '959bce3e69b4eb5dcba9ec48d92f21002f9c13b3':
  jni: 64-bit compile issue
2014-03-26 20:08:00 +00:00
Mark Salyzyn
959bce3e69 am 4e3abafc: am 5daf51c0: Merge "jni: 64-bit compile issue"
* commit '4e3abafc9400eed38a1e76897b79e923acfaf8ed':
  jni: 64-bit compile issue
2014-03-26 20:00:13 +00:00
Mark Salyzyn
aeb75fc5a3 jni: 64-bit compile issue
- switch to PRId64
- some unused parameter warning suppression

Change-Id: Ia36bd1a247bb6e866a6b1050ab1362ebc9d31786
2014-03-26 11:28:45 -07:00
Mike Lockwood
92b53bc2dd MTP: Add support for some audio specific object properties
This stops Windows 7 from putting up the
"Your device might not be able to play or view this file" dialog
when copying MP3 files to the device.

Bug: 3195286
Change-Id: Ic5b3fb75309893caae1a4f4b56068a543847f1f7
2014-03-13 15:15:26 -07:00
Mike Lockwood
56c85244b9 MTP: Add support for battery level device property
Bug: 7342482

Change-Id: I810e55fe9695e2206816f57334ad14f65e9c641d
2014-03-12 08:46:47 -07:00
Marco Nelissen
efae1ff25d am ac875878: am 9823a170: Merge "Make MtpDatabase use libexif instead of libjhead" into klp-dev
* commit 'ac87587875f1dfade5e06a82ccc009d0f0170569':
  Make MtpDatabase use libexif instead of libjhead
2014-03-08 06:22:44 +00:00
Marco Nelissen
3442519699 am ac875878: am 9823a170: Merge "Make MtpDatabase use libexif instead of libjhead" into klp-dev
* commit 'ac87587875f1dfade5e06a82ccc009d0f0170569':
  Make MtpDatabase use libexif instead of libjhead
2014-03-07 21:18:52 +00:00
Marco Nelissen
aefa427c27 Make MtpDatabase use libexif instead of libjhead
b/12203995

Change-Id: I0e0e6209be7a9d3e493abdcee8619cae6d4b9501
2014-03-07 10:30:23 -08:00
Marco Nelissen
0937eed32f Check that the exif bits are actually there
b/12663599

Change-Id: If2af0ab20f29ab3264a8c6c8c4abf0ebeff6616c
2014-01-22 15:10:57 -08:00
Marco Nelissen
3cd393c505 Make MtpDatabase use libexif instead of libjhead
b/12203995

Change-Id: I0e0e6209be7a9d3e493abdcee8619cae6d4b9501
2014-01-10 10:39:27 -08:00
Ashok Bhat
e2e59326f1 AArch64: Use long for pointers in MTP classes
For storing pointers, long is used in MTP classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: I67805547251722e7b77611d47d0bb632a64d3e6d
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-07 12:52:57 +00:00
Ruben Brunk
87eac99a21 Remove dependency on JNIHelp header side effects.
Bug: 10680559
Change-Id: I47870d6c48906e0a420c52b7bc5945ffe29c68a2
2013-09-10 20:47:43 -07:00
Mike Lockwood
1341f1eee3 MTP: Implement date created field in GetObjectInfo
Bug: 8293874

Change-Id: I3e50ea1049f63e2ed3a1f849fef74a2fbf206fe8
2013-04-01 10:54:22 -07:00
Mike Lockwood
f6f1661457 MtpDatabase: Use actual file size instead of media database size column
Fixes problems with file transfer from device to host that can occur
if the database size value is wrong.

Bug: 6954446

Change-Id: I03c3dd4b75267d1f4613f0b588c8899ded9a70be
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-09-12 15:50:59 -07:00